OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::GUI::MultiMachinePage Class Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/MultiMachinePage.hpp>

Inheritance diagram for Slic3r::GUI::MultiMachinePage:
Collaboration diagram for Slic3r::GUI::MultiMachinePage:

Public Member Functions

 MultiMachinePage (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
 ~MultiMachinePage ()
void jump_to_send_page ()
void on_sys_color_changed ()
void msw_rescale ()
bool Show (bool show)
void init_tabpanel ()
void init_timer ()
void on_timer (wxTimerEvent &event)
void clear_page ()

Static Public Member Functions

static MultiMachinePage * if_built ()
static MultiMachinePage * ensure ()
static void when_built (std::function< void(MultiMachinePage &)> fn)

Private Attributes

wxTimer * m_refresh_timer = nullptr
wxSizer * m_main_sizer { nullptr }
LocalTaskManagerPage * m_local_task_manager { nullptr }
CloudTaskManagerPage * m_cloud_task_manager { nullptr }
MultiMachineManagerPage * m_machine_manager { nullptr }
Tabbook * m_tabpanel { nullptr }

Static Private Attributes

static Lazy< MultiMachinePage > * s_lazy

Detailed Description

Constructor & Destructor Documentation

◆ MultiMachinePage()

Slic3r::GUI::MultiMachinePage::MultiMachinePage ( wxWindow * parent,
wxWindowID id = wxID_ANY,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize,
long style = wxTAB_TRAVERSAL )
36 : wxPanel(parent, id, pos, size, style)
37{
38 SetBackgroundColour(*wxWHITE);
40 m_main_sizer = new wxBoxSizer(wxHORIZONTAL);
41 m_main_sizer->Add(m_tabpanel, 1, wxEXPAND | wxLEFT, 0);
42 SetSizerAndFit(m_main_sizer);
43 Layout();
44 Fit();
45
46 wxGetApp().UpdateDarkUIWin(this);
47
48 init_timer();
49 Bind(wxEVT_TIMER, &MultiMachinePage::on_timer, this);
50}
#define style
Definition WipeTowerDialog.cpp:101
wxSizer * m_main_sizer
Definition MultiMachinePage.hpp:40
Tabbook * m_tabpanel
Definition MultiMachinePage.hpp:44
void init_timer()
Definition MultiMachinePage.cpp:119
void init_tabpanel()
Definition MultiMachinePage.cpp:101
void on_timer(wxTimerEvent &event)
Definition MultiMachinePage.cpp:127

References init_tabpanel(), init_timer(), m_main_sizer, m_tabpanel, on_timer(), and style.

Here is the call graph for this function:

◆ ~MultiMachinePage()

Slic3r::GUI::MultiMachinePage::~MultiMachinePage ( )
53{
55 m_refresh_timer->Stop();
56 delete m_refresh_timer;
57}
wxTimer * m_refresh_timer
Definition MultiMachinePage.hpp:39

References m_refresh_timer.

Member Function Documentation

◆ clear_page()

void Slic3r::GUI::MultiMachinePage::clear_page ( )
135{
136 m_local_task_manager->refresh_user_device(true);
137 m_cloud_task_manager->refresh_user_device(true);
138 m_machine_manager->refresh_user_device(true);
139}
LocalTaskManagerPage * m_local_task_manager
Definition MultiMachinePage.hpp:41
MultiMachineManagerPage * m_machine_manager
Definition MultiMachinePage.hpp:43
CloudTaskManagerPage * m_cloud_task_manager
Definition MultiMachinePage.hpp:42

References m_cloud_task_manager, m_local_task_manager, and m_machine_manager.

◆ ensure()

MultiMachinePage * Slic3r::GUI::LazyInstance< MultiMachinePage >::ensure ( )
inlinestaticinherited
186{ return s_lazy ? s_lazy->ensure() : nullptr; }
Definition Lazy.hpp:180
static Self * ensure()
Definition Lazy.hpp:186

◆ if_built()

MultiMachinePage * Slic3r::GUI::LazyInstance< MultiMachinePage >::if_built ( )
inlinestaticinherited
183{ return s_lazy ? s_lazy->get() : nullptr; }

Referenced by Slic3r::GUI::MainFrame::update_side_preset_ui().

Here is the caller graph for this function:

◆ init_tabpanel()

void Slic3r::GUI::MultiMachinePage::init_tabpanel ( )
102{
103 auto m_side_tools = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(220), FromDIP(18)));
104 wxBoxSizer* sizer_side_tools = new wxBoxSizer(wxHORIZONTAL);
105 sizer_side_tools->Add(m_side_tools, 1, wxEXPAND, 0);
106 m_tabpanel = new Tabbook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, sizer_side_tools, wxNB_LEFT | wxTAB_TRAVERSAL | wxNB_NOPAGETHEME);
107 m_tabpanel->SetBackgroundColour(wxColour("#FEFFFF"));
108 m_tabpanel->Bind(wxEVT_BOOKCTRL_PAGE_CHANGED, [](wxBookCtrlEvent& e) {; });
109
110 m_local_task_manager = new LocalTaskManagerPage(m_tabpanel);
111 m_cloud_task_manager = new CloudTaskManagerPage(m_tabpanel);
112 m_machine_manager = new MultiMachineManagerPage(m_tabpanel);
113
114 m_tabpanel->AddPage(m_machine_manager, _L("Device"), true);
115 m_tabpanel->AddPage(m_local_task_manager, _L("Task Sending"), false);
116 m_tabpanel->AddPage(m_cloud_task_manager, _L("Task Sent"), false);
117}
#define _L(s)
Definition OBJ.cpp:34

References _L, m_cloud_task_manager, m_local_task_manager, m_machine_manager, and m_tabpanel.

Referenced by MultiMachinePage().

Here is the caller graph for this function:

◆ init_timer()

void Slic3r::GUI::MultiMachinePage::init_timer ( )
120{
121 m_refresh_timer = new wxTimer();
122 //m_refresh_timer->SetOwner(this);
123 //m_refresh_timer->Start(8000);
124 //wxPostEvent(this, wxTimerEvent(*m_refresh_timer));
125}

References m_refresh_timer.

Referenced by MultiMachinePage().

Here is the caller graph for this function:

◆ jump_to_send_page()

void Slic3r::GUI::MultiMachinePage::jump_to_send_page ( )
60{
61 m_tabpanel->SetSelection(1);
62}

References m_tabpanel.

◆ msw_rescale()

void Slic3r::GUI::MultiMachinePage::msw_rescale ( )
69{
70 m_tabpanel->Rescale();
72 m_local_task_manager->msw_rescale();
74 m_cloud_task_manager->msw_rescale();
76 m_machine_manager->msw_rescale();
77
78 this->Fit();
79 this->Layout();
80 this->Refresh();
81}

References m_cloud_task_manager, m_local_task_manager, m_machine_manager, and m_tabpanel.

Referenced by Slic3r::GUI::MainFrame::on_dpi_changed().

Here is the caller graph for this function:

◆ on_sys_color_changed()

void Slic3r::GUI::MultiMachinePage::on_sys_color_changed ( )
65{
66}

◆ on_timer()

void Slic3r::GUI::MultiMachinePage::on_timer ( wxTimerEvent & event)
128{
129 m_local_task_manager->update_page();
130 m_cloud_task_manager->update_page();
131 m_machine_manager->update_page();
132}

References m_cloud_task_manager, m_local_task_manager, and m_machine_manager.

Referenced by MultiMachinePage().

Here is the caller graph for this function:

◆ Show()

bool Slic3r::GUI::MultiMachinePage::Show ( bool show)
84{
85 if (show) {
86 m_refresh_timer->Stop();
87 m_refresh_timer->SetOwner(this);
88 m_refresh_timer->Start(2000);
89 wxPostEvent(this, wxTimerEvent(*m_refresh_timer));
90 }
91 else {
92 m_refresh_timer->Stop();
93 }
94
95 auto page = m_tabpanel->GetCurrentPage();
96 if (page)
97 page->Show(show);
98 return wxPanel::Show(show);
99}

References m_refresh_timer, and m_tabpanel.

◆ when_built()

void Slic3r::GUI::LazyInstance< MultiMachinePage >::when_built ( std::function< void(MultiMachinePage &)> fn)
inlinestaticinherited
189 {
190 if (s_lazy)
192 }
static void when_built(std::function< void(Self &)> fn)
Definition Lazy.hpp:188

Referenced by Slic3r::GUI::MainFrame::on_dpi_changed().

Here is the caller graph for this function:

Member Data Documentation

◆ m_cloud_task_manager

CloudTaskManagerPage* Slic3r::GUI::MultiMachinePage::m_cloud_task_manager { nullptr }
private
42{ nullptr };

Referenced by clear_page(), init_tabpanel(), msw_rescale(), and on_timer().

◆ m_local_task_manager

LocalTaskManagerPage* Slic3r::GUI::MultiMachinePage::m_local_task_manager { nullptr }
private
41{ nullptr };

Referenced by clear_page(), init_tabpanel(), msw_rescale(), and on_timer().

◆ m_machine_manager

MultiMachineManagerPage* Slic3r::GUI::MultiMachinePage::m_machine_manager { nullptr }
private
43{ nullptr };

Referenced by clear_page(), init_tabpanel(), msw_rescale(), and on_timer().

◆ m_main_sizer

wxSizer* Slic3r::GUI::MultiMachinePage::m_main_sizer { nullptr }
private
40{ nullptr };

Referenced by MultiMachinePage().

◆ m_refresh_timer

wxTimer* Slic3r::GUI::MultiMachinePage::m_refresh_timer = nullptr
private

Referenced by ~MultiMachinePage(), init_timer(), and Show().

◆ m_tabpanel

Tabbook* Slic3r::GUI::MultiMachinePage::m_tabpanel { nullptr }
private

◆ s_lazy

Lazy<MultiMachinePage>* Slic3r::GUI::LazyInstance< MultiMachinePage >::s_lazy
inlinestaticprivateinherited
196{ nullptr };

The documentation for this class was generated from the following files: