Ember
Loading...
Searching...
No Matches
ScalableDialog.cpp
Go to the documentation of this file.
2
3namespace EmberUI {
4
5ScalableDialog::ScalableDialog(wxWindow *parent, wxWindowID id, const wxString &title, const wxSize &logicalSize,
6 long style)
7 : wxDialog(parent, id, title, wxDefaultPosition,
8 logicalSize == wxDefaultSize ? wxDefaultSize : FromDIP(logicalSize), style) {
9 if (logicalSize != wxDefaultSize) {
10 SetMinSize(FromDIP(wxSize(Layout::DIALOG_MIN_WIDTH, Layout::DIALOG_MIN_HEIGHT)));
11 }
12}
13
14int ScalableDialog::Scaled(int px) const { return FromDIP(px); }
15
16wxSize ScalableDialog::Scaled(const wxSize &size) const { return FromDIP(size); }
17
18int ScalableDialog::Margin() const { return FromDIP(Layout::MARGIN); }
19
20int ScalableDialog::Spacing() const { return FromDIP(Layout::SPACING); }
21
22int ScalableDialog::Padding() const { return FromDIP(Layout::PADDING); }
23
24wxStaticBoxSizer *ScalableDialog::CreateGroup(wxWindow *parent, const wxString &title) {
25 return new wxStaticBoxSizer(wxVERTICAL, parent, title);
26}
27
28wxBoxSizer *ScalableDialog::CreateLabeledRow(wxWindow *parent, const wxString &label, wxWindow *control,
29 int logicalLabelWidth) {
30 wxBoxSizer *row = new wxBoxSizer(wxHORIZONTAL);
31 wxStaticText *lbl = new wxStaticText(parent, wxID_ANY, label);
32 lbl->SetMinSize(FromDIP(wxSize(logicalLabelWidth, -1)));
33 row->Add(lbl, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, FromDIP(Layout::MARGIN));
34 row->Add(control, 0, wxALIGN_CENTER_VERTICAL);
35 return row;
36}
37
38} // namespace EmberUI
int Padding() const
Returns the standard padding in physical pixels.
int Margin() const
Returns the standard margin in physical pixels.
ScalableDialog(wxWindow *parent, wxWindowID id, const wxString &title, const wxSize &logicalSize=wxDefaultSize, long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
Constructs the dialog with logical size for DPI scaling.
wxBoxSizer * CreateLabeledRow(wxWindow *parent, const wxString &label, wxWindow *control, int logicalLabelWidth=Layout::LABEL_WIDTH)
Creates a row with a label and control.
int Spacing() const
Returns the standard spacing in physical pixels.
int Scaled(int px) const
Scales a logical pixel value to physical pixels.
wxStaticBoxSizer * CreateGroup(wxWindow *parent, const wxString &title)
Creates a grouped section with a title.
constexpr int DIALOG_MIN_WIDTH
Minimum dialog width.
constexpr int PADDING
Internal padding within controls.
constexpr int DIALOG_MIN_HEIGHT
Minimum dialog height.
constexpr int MARGIN
Default margin around controls.
constexpr int SPACING
Spacing between controls.
Definition Panel.h:8