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

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

Inheritance diagram for Slic3r::GUI::FanControlNewSwitchPanel:
Collaboration diagram for Slic3r::GUI::FanControlNewSwitchPanel:

Public Member Functions

 FanControlNewSwitchPanel (wxWindow *parent, const wxString &title, const wxString &tips, bool on=true)
bool IsSwitchOn () const
void SetSwitchOn (bool on)

Private Member Functions

void on_left_down (wxMouseEvent &event)

Private Attributes

bool switch_state_on = false
wxStaticBitmap * m_switch_btn { nullptr }
ScalableBitmap * m_bitmap_toggle_off { nullptr }
ScalableBitmap * m_bitmap_toggle_on { nullptr }

Detailed Description

Constructor & Destructor Documentation

◆ FanControlNewSwitchPanel()

Slic3r::GUI::FanControlNewSwitchPanel::FanControlNewSwitchPanel ( wxWindow * parent,
const wxString & title,
const wxString & tips,
bool on = true )
1085 : wxWindow(parent, wxID_ANY), switch_state_on(on)
1086{
1087 Label* label = new Label(this);
1088 label->SetBackgroundColour(wxColour(248, 248, 248));
1089 label->SetLabelText(title);
1090
1091 m_bitmap_toggle_off = new ScalableBitmap(this, "toggle_off", 19);
1092 m_bitmap_toggle_on = new ScalableBitmap(this, "toggle_on", 19);
1093 if (switch_state_on) {
1094 m_switch_btn = new wxStaticBitmap(this, wxID_ANY, m_bitmap_toggle_on->bmp());
1095 } else {
1096 m_switch_btn = new wxStaticBitmap(this, wxID_ANY, m_bitmap_toggle_off->bmp());
1097 }
1098 m_switch_btn->Bind(wxEVT_LEFT_DOWN, &FanControlNewSwitchPanel::on_left_down, this);
1099
1100 wxSizer* m_label_sizer = new wxBoxSizer(wxHORIZONTAL);
1101 m_label_sizer->Add(label, 0, wxALIGN_LEFT, 0);
1102 m_label_sizer->AddSpacer(FromDIP(10));
1103 m_label_sizer->Add(0, 1, wxEXPAND, FromDIP(10));
1104 m_label_sizer->Add(m_switch_btn, 0, wxALIGN_RIGHT, 0);
1105
1106 Label* tips_label = new Label(this);
1107 tips_label->SetBackgroundColour(wxColour(248, 248, 248));
1108 tips_label->SetLabelText(tips);
1109 tips_label->Wrap(FromDIP(400));
1110
1111 wxSizer* m_sizer_main = new wxBoxSizer(wxVERTICAL);
1112 m_sizer_main->Add(m_label_sizer, 0, wxALL | wxALIGN_LEFT, FromDIP(5));
1113 m_sizer_main->Add(tips_label, 0, wxALL | wxALIGN_LEFT, FromDIP(5));
1114 SetSizer(m_sizer_main);
1115
1116 SetBackgroundColour(wxColour(248, 248, 248));
1117 Layout();
1118
1119 wxGetApp().UpdateDarkUIWin(this);
1120}
void Wrap(int width)
Definition Label.cpp:366
void on_left_down(wxMouseEvent &event)
Definition FanControl.cpp:1131
ScalableBitmap * m_bitmap_toggle_on
Definition FanControl.hpp:200
wxStaticBitmap * m_switch_btn
Definition FanControl.hpp:198
bool switch_state_on
Definition FanControl.hpp:197
ScalableBitmap * m_bitmap_toggle_off
Definition FanControl.hpp:199

References m_bitmap_toggle_off, m_bitmap_toggle_on, m_switch_btn, on_left_down(), switch_state_on, and Label::Wrap().

Here is the call graph for this function:

Member Function Documentation

◆ IsSwitchOn()

bool Slic3r::GUI::FanControlNewSwitchPanel::IsSwitchOn ( ) const
inline
206{ return switch_state_on; }

References switch_state_on.

◆ on_left_down()

void Slic3r::GUI::FanControlNewSwitchPanel::on_left_down ( wxMouseEvent & event)
private
1131 {
1133 switch_state_on ? m_switch_btn->SetBitmap(m_bitmap_toggle_on->bmp()) : m_switch_btn->SetBitmap(m_bitmap_toggle_off->bmp());
1134 event.Skip();
1135
1136 wxCommandEvent evt(EVT_FANCTRL_SWITCH);
1137 wxPostEvent(this, evt);
1138 evt.Skip();
1139}

References m_bitmap_toggle_off, m_bitmap_toggle_on, m_switch_btn, switch_state_on, and Slic3r::GUI::wxMouseEvent.

Referenced by FanControlNewSwitchPanel().

Here is the caller graph for this function:

◆ SetSwitchOn()

void Slic3r::GUI::FanControlNewSwitchPanel::SetSwitchOn ( bool on)
1123{
1124 if (switch_state_on != on) {
1125 switch_state_on = on;
1126 switch_state_on ? m_switch_btn->SetBitmap(m_bitmap_toggle_on->bmp()) : m_switch_btn->SetBitmap(m_bitmap_toggle_off->bmp());
1127 Refresh();
1128 }
1129}

References m_bitmap_toggle_off, m_bitmap_toggle_on, m_switch_btn, and switch_state_on.

Member Data Documentation

◆ m_bitmap_toggle_off

ScalableBitmap* Slic3r::GUI::FanControlNewSwitchPanel::m_bitmap_toggle_off { nullptr }
private
199{ nullptr };

Referenced by FanControlNewSwitchPanel(), on_left_down(), and SetSwitchOn().

◆ m_bitmap_toggle_on

ScalableBitmap* Slic3r::GUI::FanControlNewSwitchPanel::m_bitmap_toggle_on { nullptr }
private
200{ nullptr };

Referenced by FanControlNewSwitchPanel(), on_left_down(), and SetSwitchOn().

◆ m_switch_btn

wxStaticBitmap* Slic3r::GUI::FanControlNewSwitchPanel::m_switch_btn { nullptr }
private
198{ nullptr };

Referenced by FanControlNewSwitchPanel(), on_left_down(), and SetSwitchOn().

◆ switch_state_on

bool Slic3r::GUI::FanControlNewSwitchPanel::switch_state_on = false
private

The documentation for this class was generated from the following files:
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/Widgets/FanControl.hpp
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/Widgets/FanControl.cpp