2020-07-24 14:34:25 +00:00
|
|
|
#ifndef slic3r_PhysicalPrinterDialog_hpp_
|
|
|
|
#define slic3r_PhysicalPrinterDialog_hpp_
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include <wx/gdicmn.h>
|
|
|
|
|
|
|
|
#include "libslic3r/Preset.hpp"
|
|
|
|
#include "GUI_Utils.hpp"
|
|
|
|
|
|
|
|
class wxString;
|
|
|
|
class wxTextCtrl;
|
|
|
|
class wxStaticText;
|
|
|
|
class ScalableButton;
|
|
|
|
class wxBoxSizer;
|
|
|
|
|
|
|
|
namespace Slic3r {
|
|
|
|
|
|
|
|
namespace GUI {
|
|
|
|
|
|
|
|
class PresetComboBox;
|
|
|
|
|
|
|
|
//------------------------------------------
|
|
|
|
// PresetForPrinter
|
|
|
|
//------------------------------------------
|
|
|
|
//static std::string g_info_string = " (modified)";
|
|
|
|
class PhysicalPrinterDialog;
|
|
|
|
class PresetForPrinter
|
|
|
|
{
|
|
|
|
PhysicalPrinterDialog* m_parent { nullptr };
|
|
|
|
|
|
|
|
PresetComboBox* m_presets_list { nullptr };
|
|
|
|
ScalableButton* m_delete_preset_btn { nullptr };
|
|
|
|
wxStaticText* m_info_line { nullptr };
|
|
|
|
wxStaticText* m_full_printer_name { nullptr };
|
|
|
|
|
|
|
|
wxBoxSizer* m_sizer { nullptr };
|
|
|
|
|
|
|
|
void DeletePreset(wxEvent& event);
|
|
|
|
|
|
|
|
public:
|
|
|
|
PresetForPrinter(PhysicalPrinterDialog* parent, const std::string& preset_name = "");
|
|
|
|
~PresetForPrinter();
|
|
|
|
|
|
|
|
wxBoxSizer* sizer() { return m_sizer; }
|
|
|
|
void update_full_printer_name();
|
|
|
|
std::string get_preset_name();
|
|
|
|
void SuppressDelete();
|
|
|
|
void AllowDelete();
|
|
|
|
|
|
|
|
void msw_rescale();
|
|
|
|
void on_sys_color_changed() {};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
//------------------------------------------
|
|
|
|
// PhysicalPrinterDialog
|
|
|
|
//------------------------------------------
|
|
|
|
|
|
|
|
class ConfigOptionsGroup;
|
|
|
|
class PhysicalPrinterDialog : public DPIDialog
|
|
|
|
{
|
|
|
|
PhysicalPrinter m_printer;
|
|
|
|
wxString m_default_name;
|
|
|
|
DynamicPrintConfig* m_config { nullptr };
|
|
|
|
|
|
|
|
wxTextCtrl* m_printer_name { nullptr };
|
|
|
|
std::vector<PresetForPrinter*> m_presets;
|
|
|
|
|
|
|
|
ConfigOptionsGroup* m_optgroup { nullptr };
|
|
|
|
|
|
|
|
ScalableButton* m_add_preset_btn {nullptr};
|
|
|
|
ScalableButton* m_printhost_browse_btn {nullptr};
|
|
|
|
ScalableButton* m_printhost_test_btn {nullptr};
|
|
|
|
ScalableButton* m_printhost_cafile_browse_btn {nullptr};
|
2020-10-28 08:51:05 +00:00
|
|
|
ScalableButton* m_printhost_port_browse_btn {nullptr};
|
2020-07-24 14:34:25 +00:00
|
|
|
|
|
|
|
wxBoxSizer* m_presets_sizer {nullptr};
|
|
|
|
|
|
|
|
void build_printhost_settings(ConfigOptionsGroup* optgroup);
|
|
|
|
void OnOK(wxEvent& event);
|
|
|
|
void AddPreset(wxEvent& event);
|
|
|
|
|
|
|
|
public:
|
|
|
|
PhysicalPrinterDialog(wxString printer_name);
|
|
|
|
~PhysicalPrinterDialog();
|
|
|
|
|
|
|
|
void update();
|
2020-10-28 08:51:05 +00:00
|
|
|
void update_printers();
|
2020-07-24 14:34:25 +00:00
|
|
|
wxString get_printer_name();
|
|
|
|
void update_full_printer_names();
|
|
|
|
PhysicalPrinter* get_printer() {return &m_printer; }
|
|
|
|
void set_printer_technology(PrinterTechnology pt);
|
|
|
|
PrinterTechnology get_printer_technology();
|
|
|
|
|
|
|
|
void DeletePreset(PresetForPrinter* preset_for_printer);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void on_dpi_changed(const wxRect& suggested_rect) override;
|
|
|
|
void on_sys_color_changed() override {};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
} // namespace GUI
|
|
|
|
} // namespace Slic3r
|
|
|
|
|
|
|
|
#endif
|