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

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

Inheritance diagram for Slic3r::GUI::CaliPageCaption:
Collaboration diagram for Slic3r::GUI::CaliPageCaption:

Public Member Functions

 CaliPageCaption (wxWindow *parent, CalibMode cali_mode, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
void show_prev_btn (bool show=true)
void show_help_icon (bool show=true)
void on_sys_color_changed ()
void msw_rescale ()

Protected Attributes

ScalableButton * m_prev_btn
ScalableButton * m_help_btn

Private Member Functions

void init_bitmaps ()
void create_wiki (wxWindow *parent)

Private Attributes

Button * m_wiki_text
wxString m_wiki_url
ScalableBitmap m_prev_bmp_normal
ScalableBitmap m_prev_bmp_hover
ScalableBitmap m_help_bmp_normal
ScalableBitmap m_help_bmp_hover

Detailed Description

Constructor & Destructor Documentation

◆ CaliPageCaption()

Slic3r::GUI::CaliPageCaption::CaliPageCaption ( wxWindow * parent,
CalibMode cali_mode,
wxWindowID id = wxID_ANY,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize,
long style = wxTAB_TRAVERSAL )
415 : wxPanel(parent, id, pos, size, style)
416{
417 init_bitmaps();
418
419 SetBackgroundColour(*wxWHITE);
420
421 auto top_sizer = new wxBoxSizer(wxVERTICAL);
422 auto caption_sizer = new wxBoxSizer(wxHORIZONTAL);
423 m_prev_btn = new ScalableButton(this, wxID_ANY, "cali_page_caption_prev",
424 wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true, 30);
425 m_prev_btn->SetBackgroundColour(*wxWHITE);
426 caption_sizer->Add(m_prev_btn, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(10));
427
428 wxString title = get_cali_mode_caption_string(cali_mode);
429 Label* title_text = new Label(this, title);
430 title_text->SetFont(Label::Head_20);
431 title_text->Wrap(-1);
432 caption_sizer->Add(title_text, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(10));
433
434 m_help_btn = new ScalableButton(this, wxID_ANY, "cali_page_caption_help",
435 wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true, 30);
436 m_help_btn->Hide();
437 m_help_btn->SetBackgroundColour(*wxWHITE);
438 caption_sizer->Add(m_help_btn, 0, wxALIGN_CENTER);
439
440 caption_sizer->AddStretchSpacer();
441
443 create_wiki(this);
444 caption_sizer->Add(m_wiki_text, 0);
445
446 top_sizer->Add(caption_sizer, 1, wxEXPAND);
447 top_sizer->AddSpacer(FromDIP(35));
448 this->SetSizer(top_sizer);
449 top_sizer->Fit(this);
450
451 // hover effect
452 //m_prev_btn->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {
453 // m_prev_btn->SetBitmap(m_prev_bmp_hover.bmp());
454 //});
455
456 //m_prev_btn->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {
457 // m_prev_btn->SetBitmap(m_prev_bmp_normal.bmp());
458 //});
459
460 // hover effect
461 //m_help_btn->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {
462 // m_help_btn->SetBitmap(m_help_bmp_hover.bmp());
463 // });
464
465 //m_help_btn->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {
466 // m_help_btn->SetBitmap(m_help_bmp_normal.bmp());
467 // });
468
469 // send event
470 m_prev_btn->Bind(wxEVT_BUTTON, [this](auto& e) {
471 wxCommandEvent event(EVT_CALI_ACTION);
472 event.SetEventObject(m_parent);
473 event.SetInt((int)(CaliPageActionType::CALI_ACTION_GO_HOME));
474 wxPostEvent(m_parent, event);
475 });
476
477#ifdef __linux__
478 wxGetApp().CallAfter([this, title_text]() {
479 title_text->SetMinSize(title_text->GetSize() + wxSize{ FromDIP(150), title_text->GetCharHeight() / 2 });
480 Layout();
481 Fit();
482 });
483#endif
484}
#define style
Definition WipeTowerDialog.cpp:101
void Wrap(int width)
Definition Label.cpp:366
static wxFont Head_20
Definition Label.hpp:41
ScalableButton * m_help_btn
Definition CalibrationWizardPage.hpp:151
ScalableButton * m_prev_btn
Definition CalibrationWizardPage.hpp:150
void create_wiki(wxWindow *parent)
Definition CalibrationWizardPage.cpp:493
Button * m_wiki_text
Definition CalibrationWizardPage.hpp:157
void init_bitmaps()
Definition CalibrationWizardPage.cpp:486
wxString m_wiki_url
Definition CalibrationWizardPage.hpp:158
wxString get_calibration_wiki_page(CalibMode cali_mode)
Definition CalibrationWizardPage.cpp:63
@ CALI_ACTION_GO_HOME
Definition CalibrationWizardPage.hpp:238
wxString get_cali_mode_caption_string(CalibMode mode)
Definition CalibrationWizardPage.cpp:52

References Slic3r::GUI::CALI_ACTION_GO_HOME, create_wiki(), Slic3r::GUI::get_cali_mode_caption_string(), Slic3r::GUI::get_calibration_wiki_page(), Label::Head_20, init_bitmaps(), m_help_btn, m_prev_btn, m_wiki_text, m_wiki_url, style, and Label::Wrap().

Here is the call graph for this function:

Member Function Documentation

◆ create_wiki()

void Slic3r::GUI::CaliPageCaption::create_wiki ( wxWindow * parent)
private
494{
495 // ORCA standardized HyperLink
496 m_wiki_text = new Button(parent, "", "toolbar_wiki", 0, 15);
497 m_wiki_text->SetToolTip(_L("Wiki Guide"));
499 m_wiki_text->SetCanFocus(false);
500 m_wiki_text->Bind(wxEVT_LEFT_UP, [this](wxMouseEvent& e) {
501 if (!m_wiki_url.empty())
502 wxLaunchDefaultBrowser(m_wiki_url);
503 });
504}
@ Confirm
Definition Button.hpp:25
@ Circle
Definition Button.hpp:37
#define _L(s)
Definition OBJ.cpp:34
wxMouseEvent
Definition CameraPopup.cpp:47

References _L, Circle, Confirm, m_wiki_text, m_wiki_url, and Slic3r::GUI::wxMouseEvent.

Referenced by CaliPageCaption().

Here is the caller graph for this function:

◆ init_bitmaps()

void Slic3r::GUI::CaliPageCaption::init_bitmaps ( )
private
486 {
487 m_prev_bmp_normal = ScalableBitmap(this, "cali_page_caption_prev", 30);
488 m_prev_bmp_hover = ScalableBitmap(this, "cali_page_caption_prev_hover", 30);
489 m_help_bmp_normal = ScalableBitmap(this, "cali_page_caption_help", 30);
490 m_help_bmp_hover = ScalableBitmap(this, "cali_page_caption_help_hover", 30);
491}
ScalableBitmap m_help_bmp_hover
Definition CalibrationWizardPage.hpp:162
ScalableBitmap m_help_bmp_normal
Definition CalibrationWizardPage.hpp:161
ScalableBitmap m_prev_bmp_hover
Definition CalibrationWizardPage.hpp:160
ScalableBitmap m_prev_bmp_normal
Definition CalibrationWizardPage.hpp:159

References m_help_bmp_hover, m_help_bmp_normal, m_prev_bmp_hover, and m_prev_bmp_normal.

Referenced by CaliPageCaption().

Here is the caller graph for this function:

◆ msw_rescale()

void Slic3r::GUI::CaliPageCaption::msw_rescale ( )
523{
524 m_prev_btn->msw_rescale();
525}

References m_prev_btn.

◆ on_sys_color_changed()

void Slic3r::GUI::CaliPageCaption::on_sys_color_changed ( )
518{
519 m_prev_btn->msw_rescale();
520}

References m_prev_btn.

◆ show_help_icon()

void Slic3r::GUI::CaliPageCaption::show_help_icon ( bool show = true)
512{
513 //m_help_btn->Show(show);
514 m_help_btn->Hide();
515}

References m_help_btn.

◆ show_prev_btn()

void Slic3r::GUI::CaliPageCaption::show_prev_btn ( bool show = true)
507{
508 m_prev_btn->Show(show);
509}

References m_prev_btn.

Member Data Documentation

◆ m_help_bmp_hover

ScalableBitmap Slic3r::GUI::CaliPageCaption::m_help_bmp_hover
private

Referenced by init_bitmaps().

◆ m_help_bmp_normal

ScalableBitmap Slic3r::GUI::CaliPageCaption::m_help_bmp_normal
private

Referenced by init_bitmaps().

◆ m_help_btn

ScalableButton* Slic3r::GUI::CaliPageCaption::m_help_btn
protected

Referenced by CaliPageCaption(), and show_help_icon().

◆ m_prev_bmp_hover

ScalableBitmap Slic3r::GUI::CaliPageCaption::m_prev_bmp_hover
private

Referenced by init_bitmaps().

◆ m_prev_bmp_normal

ScalableBitmap Slic3r::GUI::CaliPageCaption::m_prev_bmp_normal
private

Referenced by init_bitmaps().

◆ m_prev_btn

ScalableButton* Slic3r::GUI::CaliPageCaption::m_prev_btn
protected

◆ m_wiki_text

Button* Slic3r::GUI::CaliPageCaption::m_wiki_text
private

Referenced by CaliPageCaption(), and create_wiki().

◆ m_wiki_url

wxString Slic3r::GUI::CaliPageCaption::m_wiki_url
private

Referenced by CaliPageCaption(), and create_wiki().


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