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

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

Inheritance diagram for Slic3r::GUI::SendModeSwitchButton:
Collaboration diagram for Slic3r::GUI::SendModeSwitchButton:

Public Member Functions

 SendModeSwitchButton (wxWindow *parent, wxString mode, bool sel)
 ~SendModeSwitchButton ()
void msw_rescale ()
void setSelected (bool selected)
bool isSelected ()

Private Member Functions

void OnPaint (wxPaintEvent &event)
void render (wxDC &dc)
void on_left_down (wxMouseEvent &evt)
void doRender (wxDC &dc)

Private Attributes

bool is_selected {false}
ScalableBitmap m_img_selected
ScalableBitmap m_img_unselected
ScalableBitmap m_img_selected_tag
ScalableBitmap m_img_unselected_tag

Detailed Description

Constructor & Destructor Documentation

◆ SendModeSwitchButton()

Slic3r::GUI::SendModeSwitchButton::SendModeSwitchButton ( wxWindow * parent,
wxString mode,
bool sel )
6890 : wxPanel(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize)
6891 {
6892#ifdef __WINDOWS__
6893 SetDoubleBuffered(true);
6894#endif //__WINDOWS__
6895
6896 is_selected = sel;
6897 SetLabel(mode);
6898 Bind(wxEVT_PAINT, &SendModeSwitchButton::OnPaint, this);
6899 Bind(wxEVT_ENTER_WINDOW, [this](auto &e) { SetCursor(wxCURSOR_HAND); });
6900 Bind(wxEVT_LEAVE_WINDOW, [this](auto &e) { SetCursor(wxCURSOR_ARROW); });
6901
6902 SetBackgroundColour(*wxWHITE);
6903 static Slic3r::GUI::BitmapCache cache;
6904 m_img_selected = ScalableBitmap(this, "switch_send_mode_on", 28);
6905 m_img_unselected = ScalableBitmap(this, "switch_send_mode_off", 28);
6906 m_img_selected_tag = ScalableBitmap(this, "switch_send_mode_tag_on", 16);
6907 m_img_unselected_tag = ScalableBitmap(this, "switch_send_mode_tag_off", 16);
6908
6909 auto tagSize = wxSize(FromDIP(185), FromDIP(28));
6910
6911 SetMinSize(tagSize);
6912 SetMaxSize(tagSize);
6913 wxGetApp().UpdateDarkUIWin(this);
6914 }
void OnPaint(wxPaintEvent &event)
Definition SelectMachine.cpp:6916
ScalableBitmap m_img_selected
Definition SelectMachine.hpp:304
bool is_selected
Definition SelectMachine.hpp:303
ScalableBitmap m_img_unselected
Definition SelectMachine.hpp:305
ScalableBitmap m_img_unselected_tag
Definition SelectMachine.hpp:307
ScalableBitmap m_img_selected_tag
Definition SelectMachine.hpp:306

References is_selected, m_img_selected, m_img_selected_tag, m_img_unselected, m_img_unselected_tag, and OnPaint().

Here is the call graph for this function:

◆ ~SendModeSwitchButton()

Slic3r::GUI::SendModeSwitchButton::~SendModeSwitchButton ( )
inline
289{};

Member Function Documentation

◆ doRender()

void Slic3r::GUI::SendModeSwitchButton::doRender ( wxDC & dc)
private
6944{
6945 dc.SetPen(wxPen(*wxTRANSPARENT_PEN));
6946 dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
6947
6948 auto size = GetSize();
6949 auto textSize = dc.GetTextExtent(GetLabel());
6950 auto left =(size.x - textSize.x - m_img_selected_tag.GetBmpSize().x - FromDIP(8)) / 2;
6951
6952 dc.SetFont(::Label::Head_14);
6953
6954 if (is_selected) {
6955 dc.DrawBitmap(m_img_selected.bmp(), wxPoint(0, 0));
6956 dc.DrawBitmap(m_img_selected_tag.bmp(), wxPoint(left, (size.y - m_img_selected_tag.GetBmpSize().y) / 2));
6957 dc.SetTextForeground("#009688");
6958 }else {
6959 dc.DrawBitmap(m_img_unselected.bmp(), wxPoint(0, 0));
6960 dc.DrawBitmap(m_img_unselected_tag.bmp(), wxPoint(left, (size.y - m_img_selected_tag.GetBmpSize().y) / 2));
6961 dc.SetTextForeground(0x5C5C5C);
6962 }
6963 dc.DrawText(GetLabel(), left + m_img_selected_tag.GetBmpSize().x + FromDIP(8), (size.y - textSize.y) / 2);
6964}
static wxFont Head_14
Definition Label.hpp:45
@ left
Definition MarchingSquares.hpp:188

References Label::Head_14, is_selected, m_img_selected, m_img_selected_tag, m_img_unselected, and m_img_unselected_tag.

Referenced by OnPaint(), and render().

Here is the caller graph for this function:

◆ isSelected()

bool Slic3r::GUI::SendModeSwitchButton::isSelected ( )
inline
294{return is_selected;};

References is_selected.

Referenced by Slic3r::GUI::FanControlPopupNew::on_mode_changed().

Here is the caller graph for this function:

◆ msw_rescale()

void Slic3r::GUI::SendModeSwitchButton::msw_rescale ( )
6972{
6973 m_img_selected.msw_rescale();
6974 m_img_unselected.msw_rescale();
6975 m_img_selected_tag.msw_rescale();
6976 m_img_unselected_tag.msw_rescale();
6977 Refresh();
6978}

References m_img_selected, m_img_selected_tag, m_img_unselected, and m_img_unselected_tag.

◆ on_left_down()

void Slic3r::GUI::SendModeSwitchButton::on_left_down ( wxMouseEvent & evt)
private
6967{
6969}
void setSelected(bool selected)
Definition SelectMachine.cpp:6980

References is_selected, setSelected(), and Slic3r::GUI::wxMouseEvent.

Here is the call graph for this function:

◆ OnPaint()

void Slic3r::GUI::SendModeSwitchButton::OnPaint ( wxPaintEvent & event)
private
6917{
6918 wxPaintDC dc(this);
6919 doRender(dc);
6920}
void doRender(wxDC &dc)
Definition SelectMachine.cpp:6943

References doRender().

Referenced by SendModeSwitchButton().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ render()

void Slic3r::GUI::SendModeSwitchButton::render ( wxDC & dc)
private
6923{
6924#ifdef __WXMSW__
6925 wxSize size = GetSize();
6926 wxMemoryDC memdc;
6927 wxBitmap bmp(size.x, size.y);
6928 memdc.SelectObject(bmp);
6929 memdc.Blit({0, 0}, size, &dc, {0, 0});
6930
6931 {
6932 wxGCDC dc2(memdc);
6933 doRender(dc2);
6934 }
6935
6936 memdc.SelectObject(wxNullBitmap);
6937 dc.DrawBitmap(bmp, 0, 0);
6938#else
6939 doRender(dc);
6940#endif
6941}

References doRender().

Here is the call graph for this function:

◆ setSelected()

void Slic3r::GUI::SendModeSwitchButton::setSelected ( bool selected)
6981{
6982 if (is_selected != selected)
6983 {
6984 is_selected = selected;
6985 Refresh();
6986 }
6987}

References is_selected.

Referenced by on_left_down().

Here is the caller graph for this function:

Member Data Documentation

◆ is_selected

bool Slic3r::GUI::SendModeSwitchButton::is_selected {false}
private

◆ m_img_selected

ScalableBitmap Slic3r::GUI::SendModeSwitchButton::m_img_selected
private

◆ m_img_selected_tag

ScalableBitmap Slic3r::GUI::SendModeSwitchButton::m_img_selected_tag
private

◆ m_img_unselected

ScalableBitmap Slic3r::GUI::SendModeSwitchButton::m_img_unselected
private

◆ m_img_unselected_tag

ScalableBitmap Slic3r::GUI::SendModeSwitchButton::m_img_unselected_tag
private

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