Merge branch 'dpi-textctrl' of https://github.com/MaartenBent/wxWidgets
Improvements for wxTextCtrl, wxSearchCtrl, wxButton when using non-default DPI. See https://github.com/wxWidgets/wxWidgets/pull/1634
This commit is contained in:
@@ -111,9 +111,6 @@ protected:
|
||||
// (re)create the wxButton
|
||||
void CreateButton();
|
||||
|
||||
// add m_button to m_sizerButton using current value of m_chkFit
|
||||
void AddButtonToSizer();
|
||||
|
||||
// helper function: create a bitmap for wxBitmapButton
|
||||
wxBitmap CreateBitmap(const wxString& label, const wxArtID& type);
|
||||
|
||||
@@ -315,7 +312,7 @@ void ButtonWidgetsPage::CreateContent()
|
||||
sizerLeft->AddSpacer(5);
|
||||
|
||||
wxButton *btn = new wxButton(this, ButtonPage_Reset, "&Reset");
|
||||
sizerLeft->Add(btn, wxSizerFlags().CentreHorizontal().Border(wxALL, 15));
|
||||
sizerLeft->Add(btn, wxSizerFlags().CentreHorizontal().TripleBorder(wxALL));
|
||||
|
||||
// middle pane
|
||||
wxStaticBox *box2 = new wxStaticBox(this, wxID_ANY, "&Operations");
|
||||
@@ -340,15 +337,15 @@ void ButtonWidgetsPage::CreateContent()
|
||||
|
||||
// right pane
|
||||
m_sizerButton = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_sizerButton->SetMinSize(150, 0);
|
||||
m_sizerButton->SetMinSize(FromDIP(150), 0);
|
||||
|
||||
// the 3 panes panes compose the window
|
||||
sizerTop->Add(sizerLeft,
|
||||
wxSizerFlags(0).Expand().Border((wxALL & ~wxLEFT), 10));
|
||||
wxSizerFlags(0).Expand().DoubleBorder(wxALL & ~wxLEFT));
|
||||
sizerTop->Add(sizerMiddle,
|
||||
wxSizerFlags(1).Expand().Border(wxALL, 10));
|
||||
wxSizerFlags(1).Expand().DoubleBorder(wxALL));
|
||||
sizerTop->Add(m_sizerButton,
|
||||
wxSizerFlags(1).Expand().Border((wxALL & ~wxRIGHT), 10));
|
||||
wxSizerFlags(1).Expand().DoubleBorder((wxALL & ~wxRIGHT)));
|
||||
|
||||
// do create the main control
|
||||
Reset();
|
||||
@@ -364,7 +361,7 @@ void ButtonWidgetsPage::CreateContent()
|
||||
void ButtonWidgetsPage::Reset()
|
||||
{
|
||||
m_chkBitmapOnly->SetValue(false);
|
||||
m_chkFit->SetValue(true);
|
||||
m_chkFit->SetValue(false);
|
||||
m_chkAuthNeeded->SetValue(false);
|
||||
m_chkTextAndBitmap->SetValue(false);
|
||||
m_chkDefault->SetValue(false);
|
||||
@@ -453,6 +450,11 @@ void ButtonWidgetsPage::CreateButton()
|
||||
break;
|
||||
}
|
||||
|
||||
if ( m_chkFit->GetValue() )
|
||||
{
|
||||
flags |= wxBU_EXACTFIT;
|
||||
}
|
||||
|
||||
bool showsBitmap = false;
|
||||
if ( m_chkBitmapOnly->GetValue() )
|
||||
{
|
||||
@@ -557,25 +559,13 @@ void ButtonWidgetsPage::CreateButton()
|
||||
|
||||
m_button->Enable(!m_chkDisable->IsChecked());
|
||||
|
||||
AddButtonToSizer();
|
||||
m_sizerButton->AddStretchSpacer();
|
||||
m_sizerButton->Add(m_button, wxSizerFlags().Centre().Border());
|
||||
m_sizerButton->AddStretchSpacer();
|
||||
|
||||
m_sizerButton->Layout();
|
||||
}
|
||||
|
||||
void ButtonWidgetsPage::AddButtonToSizer()
|
||||
{
|
||||
if ( m_chkFit->GetValue() )
|
||||
{
|
||||
m_sizerButton->AddStretchSpacer(1);
|
||||
m_sizerButton->Add(m_button, wxSizerFlags(0).Centre().Border());
|
||||
m_sizerButton->AddStretchSpacer(1);
|
||||
}
|
||||
else // take up the entire space
|
||||
{
|
||||
m_sizerButton->Add(m_button, wxSizerFlags(1).Expand().Border());
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// event handlers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
@@ -156,13 +156,13 @@ void SearchCtrlWidgetsPage::CreateContent()
|
||||
|
||||
m_searchBtnCheck->SetValue(true);
|
||||
|
||||
box->Add(m_searchBtnCheck, 0, wxALL, 5);
|
||||
box->Add(m_cancelBtnCheck, 0, wxALL, 5);
|
||||
box->Add(m_menuBtnCheck, 0, wxALL, 5);
|
||||
box->Add(m_searchBtnCheck, wxSizerFlags().Border());
|
||||
box->Add(m_cancelBtnCheck, wxSizerFlags().Border());
|
||||
box->Add(m_menuBtnCheck, wxSizerFlags().Border());
|
||||
|
||||
wxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
sizer->Add(box, 0, wxALL|wxEXPAND, 15);
|
||||
sizer->Add(m_srchCtrl, 0, wxALL|wxALIGN_CENTER, 15);
|
||||
sizer->Add(box, wxSizerFlags().Expand().TripleBorder());
|
||||
sizer->Add(m_srchCtrl, wxSizerFlags().Centre().TripleBorder());
|
||||
|
||||
SetSizer(sizer);
|
||||
}
|
||||
|
Reference in New Issue
Block a user