mirror of
https://github.com/QIDITECH/QIDISlicer.git
synced 2026-02-02 08:58:43 +03:00
Prusa 2.7.1
This commit is contained in:
@@ -101,58 +101,31 @@ public:
|
||||
|
||||
wxString get_wraped_wxString(const wxString& text_in, size_t line_len = 80);
|
||||
|
||||
#ifdef _WIN32
|
||||
// Generic static line, used intead of wxStaticLine
|
||||
class StaticLine: public wxTextCtrl
|
||||
{
|
||||
public:
|
||||
StaticLine( wxWindow* parent,
|
||||
wxWindowID id = wxID_ANY,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxLI_HORIZONTAL,
|
||||
const wxString& name = wxString::FromAscii(wxTextCtrlNameStr))
|
||||
: wxTextCtrl(parent, id, wxEmptyString, pos, size!=wxDefaultSize ? size : (style == wxLI_HORIZONTAL ? wxSize(10, 1) : wxSize(1, 10)), wxSIMPLE_BORDER, wxDefaultValidator, name)
|
||||
{
|
||||
this->Enable(false);
|
||||
}
|
||||
~StaticLine() {}
|
||||
};
|
||||
|
||||
// Generic message dialog, used intead of wxMessageDialog
|
||||
class MessageDialog : public MsgDialog
|
||||
{
|
||||
public:
|
||||
// NOTE! Don't change a signature of contsrucor. It have to be tha same as for wxMessageDialog
|
||||
MessageDialog( wxWindow *parent,
|
||||
const wxString& message,
|
||||
const wxString& caption = wxEmptyString,
|
||||
long style = wxOK);
|
||||
MessageDialog(MessageDialog&&) = delete;
|
||||
MessageDialog(const MessageDialog&) = delete;
|
||||
MessageDialog &operator=(MessageDialog&&) = delete;
|
||||
MessageDialog &operator=(const MessageDialog&) = delete;
|
||||
virtual ~MessageDialog() = default;
|
||||
};
|
||||
|
||||
// Generic rich message dialog, used intead of wxRichMessageDialog
|
||||
class RichMessageDialog : public MsgDialog
|
||||
class RichMessageDialogBase : public MsgDialog
|
||||
{
|
||||
// Using CheckBox causes some weird sizer-related issues on Linux and macOS. To get around the problem before
|
||||
// we find a better fix, we will fallback to wxCheckBox in this dialog. This makes little difference for most dialogs,
|
||||
// We currently only use this class as a base for HtmlCapableRichMessageDialog on Linux and macOS. The normal
|
||||
// RichMessageDialog is just an alias for wxRichMessageDialog on these platforms.
|
||||
#ifdef _WIN32
|
||||
CheckBox* m_checkBox{ nullptr };
|
||||
#else
|
||||
wxCheckBox* m_checkBox{ nullptr };
|
||||
#endif
|
||||
wxString m_checkBoxText;
|
||||
bool m_checkBoxValue{ false };
|
||||
|
||||
public:
|
||||
// NOTE! Don't change a signature of contsrucor. It have to be tha same as for wxRichMessageDialog
|
||||
RichMessageDialog( wxWindow *parent,
|
||||
const wxString& message,
|
||||
const wxString& caption = wxEmptyString,
|
||||
long style = wxOK);
|
||||
RichMessageDialog(RichMessageDialog&&) = delete;
|
||||
RichMessageDialog(const RichMessageDialog&) = delete;
|
||||
RichMessageDialog &operator=(RichMessageDialog&&) = delete;
|
||||
RichMessageDialog &operator=(const RichMessageDialog&) = delete;
|
||||
virtual ~RichMessageDialog() = default;
|
||||
RichMessageDialogBase(wxWindow* parent, const wxString& message, const wxString& caption = wxEmptyString, long style = wxOK);
|
||||
RichMessageDialogBase(wxWindow* parent, const HtmlContent& content, const wxString& caption = wxEmptyString, long style = wxOK);
|
||||
RichMessageDialogBase(RichMessageDialogBase&&) = delete;
|
||||
RichMessageDialogBase(const RichMessageDialogBase&) = delete;
|
||||
RichMessageDialogBase &operator=(RichMessageDialogBase&&) = delete;
|
||||
RichMessageDialogBase &operator=(const RichMessageDialogBase&) = delete;
|
||||
virtual ~RichMessageDialogBase() = default;
|
||||
|
||||
int ShowModal() override;
|
||||
|
||||
@@ -273,7 +246,44 @@ private:
|
||||
m_ok,
|
||||
m_cancel,
|
||||
m_help;
|
||||
HtmlContent m_content;
|
||||
};
|
||||
|
||||
|
||||
#ifdef _WIN32
|
||||
// Generic static line, used intead of wxStaticLine
|
||||
class StaticLine: public wxTextCtrl
|
||||
{
|
||||
public:
|
||||
StaticLine( wxWindow* parent,
|
||||
wxWindowID id = wxID_ANY,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxLI_HORIZONTAL,
|
||||
const wxString& name = wxString::FromAscii(wxTextCtrlNameStr))
|
||||
: wxTextCtrl(parent, id, wxEmptyString, pos, size!=wxDefaultSize ? size : (style == wxLI_HORIZONTAL ? wxSize(10, 1) : wxSize(1, 10)), wxSIMPLE_BORDER, wxDefaultValidator, name)
|
||||
{
|
||||
this->Enable(false);
|
||||
}
|
||||
~StaticLine() {}
|
||||
};
|
||||
|
||||
// Generic message dialog, used intead of wxMessageDialog
|
||||
class MessageDialog : public MsgDialog
|
||||
{
|
||||
public:
|
||||
// NOTE! Don't change a signature of contsrucor. It have to be tha same as for wxMessageDialog
|
||||
MessageDialog(wxWindow *parent,
|
||||
const wxString& message,
|
||||
const wxString& caption = wxEmptyString,
|
||||
long style = wxOK);
|
||||
MessageDialog(MessageDialog &&) = delete;
|
||||
MessageDialog(const MessageDialog &) = delete;
|
||||
MessageDialog &operator=(MessageDialog &&) = delete;
|
||||
MessageDialog &operator=(const MessageDialog &) = delete;
|
||||
virtual ~MessageDialog() = default;
|
||||
};
|
||||
using RichMessageDialog = RichMessageDialogBase;
|
||||
#else
|
||||
// just a wrapper for wxStaticLine to use the same code on all platforms
|
||||
class StaticLine : public wxStaticLine
|
||||
@@ -315,6 +325,15 @@ public:
|
||||
};
|
||||
#endif
|
||||
|
||||
class HtmlCapableRichMessageDialog : public RichMessageDialogBase
|
||||
{
|
||||
public:
|
||||
HtmlCapableRichMessageDialog(wxWindow *parent, const wxString &msg, const wxString& caption, long style, const std::function<void(const std::string &)> &on_link_clicked);
|
||||
~HtmlCapableRichMessageDialog() {}
|
||||
|
||||
private:
|
||||
HtmlContent m_content;
|
||||
};
|
||||
// Generic info dialog, used for displaying exceptions
|
||||
class InfoDialog : public MsgDialog
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user