An attempt to get RammingChart background colour consistent with its parent(s) on all platforms
This commit is contained in:
parent
bbbb5c9a93
commit
f49a7be90c
2 changed files with 13 additions and 0 deletions
|
@ -15,6 +15,11 @@ wxDEFINE_EVENT(EVT_WIPE_TOWER_CHART_CHANGED, wxCommandEvent);
|
||||||
|
|
||||||
void Chart::draw() {
|
void Chart::draw() {
|
||||||
wxAutoBufferedPaintDC dc(this); // unbuffered DC caused flickering on win
|
wxAutoBufferedPaintDC dc(this); // unbuffered DC caused flickering on win
|
||||||
|
|
||||||
|
dc.SetBrush(GetBackgroundColour());
|
||||||
|
dc.SetPen(GetBackgroundColour());
|
||||||
|
dc.DrawRectangle(GetClientRect()); // otherwise the background would end up black on windows
|
||||||
|
|
||||||
dc.SetPen(*wxBLACK_PEN);
|
dc.SetPen(*wxBLACK_PEN);
|
||||||
dc.SetBrush(*wxWHITE_BRUSH);
|
dc.SetBrush(*wxWHITE_BRUSH);
|
||||||
dc.DrawRectangle(m_rect);
|
dc.DrawRectangle(m_rect);
|
||||||
|
|
|
@ -14,6 +14,13 @@ RammingDialog::RammingDialog(wxWindow* parent,const std::string& parameters)
|
||||||
: wxDialog(parent, wxID_ANY, _(L("Ramming customization")), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE/* | wxRESIZE_BORDER*/)
|
: wxDialog(parent, wxID_ANY, _(L("Ramming customization")), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE/* | wxRESIZE_BORDER*/)
|
||||||
{
|
{
|
||||||
m_panel_ramming = new RammingPanel(this,parameters);
|
m_panel_ramming = new RammingPanel(this,parameters);
|
||||||
|
|
||||||
|
// Not found another way of getting the background colours of RammingDialog, RammingPanel and Chart correct than setting
|
||||||
|
// them all explicitely. Reading the parent colour yielded colour that didn't really match it, no wxSYS_COLOUR_... matched
|
||||||
|
// colour used for the dialog. Same issue (and "solution") here : https://forums.wxwidgets.org/viewtopic.php?f=1&t=39608
|
||||||
|
// Whoever can fix this, feel free to do so.
|
||||||
|
this-> SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_FRAMEBK));
|
||||||
|
m_panel_ramming->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_FRAMEBK));
|
||||||
m_panel_ramming->Show(true);
|
m_panel_ramming->Show(true);
|
||||||
this->Show();
|
this->Show();
|
||||||
|
|
||||||
|
@ -63,6 +70,7 @@ RammingPanel::RammingPanel(wxWindow* parent, const std::string& parameters)
|
||||||
buttons.push_back(std::make_pair(x, y));
|
buttons.push_back(std::make_pair(x, y));
|
||||||
|
|
||||||
m_chart = new Chart(this, wxRect(10, 10, 480, 360), buttons, ramming_speed_size, 0.25f);
|
m_chart = new Chart(this, wxRect(10, 10, 480, 360), buttons, ramming_speed_size, 0.25f);
|
||||||
|
m_chart->SetBackgroundColour(parent->GetBackgroundColour()); // see comment in RammingDialog constructor
|
||||||
sizer_chart->Add(m_chart, 0, wxALL, 5);
|
sizer_chart->Add(m_chart, 0, wxALL, 5);
|
||||||
|
|
||||||
m_widget_time = new wxSpinCtrlDouble(this,wxID_ANY,wxEmptyString,wxDefaultPosition,wxSize(75, -1),wxSP_ARROW_KEYS,0.,5.0,3.,0.5);
|
m_widget_time = new wxSpinCtrlDouble(this,wxID_ANY,wxEmptyString,wxDefaultPosition,wxSize(75, -1),wxSP_ARROW_KEYS,0.,5.0,3.,0.5);
|
||||||
|
|
Loading…
Reference in a new issue