void UseBgBitmap(bool useBgBmp) { m_useBgBmp = useBgBmp; SetBackgroundBitmap(m_useBgBmp ? GetBgBitmap() : wxBitmap()); Refresh(); }
wxLayoutWindow::~wxLayoutWindow() { delete m_memDC; // deletes bitmap automatically (?) delete m_bitmap; delete m_llist; delete m_PopupMenu; SetBackgroundBitmap(NULL); }
void CSimpleGUIPanel::ReskinInterface() { wxLogTrace(wxT("Function Start/End"), wxT("CSimpleGUIPanel::ReskinInterface - Function Start")); Freeze(); //bg color m_bmpBg = wxNullBitmap; // Deletes old bitmap via reference counting SetBackgroundBitmap(); m_taskPanel->ReskinInterface(); m_projPanel->ReskinInterface(); Thaw(); Refresh(); wxLogTrace(wxT("Function Start/End"), wxT("CSimpleGUIPanel::ReskinInterface - Function End")); }
ToasterBoxWindow::ToasterBoxWindow(wxWindow* parent, wxTimer* _parent2) : startTime(wxGetLocalTime()) , parent2(_parent2) , sleepTime(10) , pauseTime(1700) , textColor(*wxWHITE) , headerTextColor(*wxBLUE) , popupText(_T("Change Me!")) , shrink(false) { Create(parent, wxID_ANY); SetWindowStyleFlag(wxNO_BORDER | wxSTAY_ON_TOP | wxFRAME_NO_TASKBAR); count++; //the size we want the dialog to be wxSize dialogSize(150, 170); bottomRight = wxPoint(wxGetDisplaySize().GetWidth(), wxGetDisplaySize().GetHeight()); SetSize(bottomRight.x, bottomRight.y, dialogSize.GetWidth(), dialogSize.GetHeight()); ToasterBase::Connect(wxEVT_PAINT, (wxObjectEventFunction)&ToasterBoxWindow::OnPaint); SetBackgroundBitmap(charArr2wxBitmap(notif_bg_png, sizeof(notif_bg_png))); }
void SetBackgroundColours(wxColour colStart, wxColour colEnd) { if ( !colStart.IsOk() ) { // Determine the best colour(s) to use on our own. #ifdef __WXMSW__ wxUxThemeEngine* const theme = GetTooltipTheme(); if ( theme ) { wxUxThemeHandle hTheme(GetParent(), L"TOOLTIP"); COLORREF c1, c2; if ( FAILED(theme->GetThemeColor ( hTheme, TTP_BALLOONTITLE, 0, TMT_GRADIENTCOLOR1, &c1 )) || FAILED(theme->GetThemeColor ( hTheme, TTP_BALLOONTITLE, 0, TMT_GRADIENTCOLOR2, &c2 )) ) { c1 = 0xffffff; c2 = 0xf0e5e4; } colStart = wxRGBToColour(c1); colEnd = wxRGBToColour(c2); } else #endif // __WXMSW__ { colStart = wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK); } } if ( colEnd.IsOk() ) { // Use gradient-filled background bitmap. const wxSize size = GetClientSize(); wxBitmap bmp(size); { wxMemoryDC dc(bmp); dc.Clear(); dc.GradientFillLinear(size, colStart, colEnd, wxDOWN); } SetBackgroundBitmap(bmp); } else // Use solid colour. { SetBackgroundColour(colStart); } }
CSimpleGUIPanel::CSimpleGUIPanel(wxWindow* parent) : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize, wxCLIP_CHILDREN | wxBORDER_NONE) { wxLogTrace(wxT("Function Start/End"), wxT("CSimpleGUIPanel::CSimpleGUIPanel - Overloaded Constructor Function Begin")); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); m_taskPanel = NULL; m_projPanel = NULL; m_oldWorkCount = 0; m_bNewNoticeAlert = false; m_bNoticesButtonIsRed = false; m_irefreshCount = 0; checkForNewNoticesTimer = new wxTimer(this, ID_SIMPLEMESSAGECHECKTIMER); checkForNewNoticesTimer->Start(5000); dlgOpen = false; m_sSuspendString = _("Suspend"); m_sResumeString = _("Resume"); m_sSuspendButtonToolTip = _("Suspend Computing"); m_sResumeButtonToolTip = _("Resume Computing"); m_taskPanel = new CSimpleTaskPanel(this); m_projPanel = new CSimpleProjectPanel(this); // Box Sizer mainSizer = new wxBoxSizer(wxVERTICAL); mainSizer->AddSpacer(ADJUSTFORYDPI(68)); mainSizer->Add(m_taskPanel, 1, wxLEFT | wxRIGHT | wxEXPAND | wxALIGN_CENTER, SIDEMARGINS); mainSizer->AddSpacer(ADJUSTFORYDPI(8)); mainSizer->Add(m_projPanel, 0, wxLEFT | wxRIGHT | wxEXPAND | wxALIGN_CENTER, SIDEMARGINS); mainSizer->AddSpacer(ADJUSTFORYDPI(8)); wxBoxSizer* buttonsSizer; buttonsSizer = new wxBoxSizer( wxHORIZONTAL ); m_NoticesButton = new wxButton( this, ID_SGNOTICESBUTTON, _("Notices"), wxDefaultPosition, wxDefaultSize, 0 ); m_NoticesButton->SetToolTip( _("Open a window to view notices from projects or BOINC")); buttonsSizer->Add( m_NoticesButton, 0, wxEXPAND | wxALIGN_LEFT, 0 ); buttonsSizer->AddStretchSpacer(); int suspendWidth, resumeWidth, y; GetTextExtent(m_sSuspendString, &suspendWidth, &y); GetTextExtent(m_sResumeString, &resumeWidth, &y); m_bIsSuspended = suspendWidth > resumeWidth; m_SuspendResumeButton = new wxButton( this, ID_SGSUSPENDRESUMEBUTTON, m_bIsSuspended ? m_sSuspendString : m_sResumeString, wxDefaultPosition, wxDefaultSize, 0 ); m_SuspendResumeButton->SetToolTip(wxEmptyString); buttonsSizer->Add( m_SuspendResumeButton, 0, wxEXPAND | wxALIGN_RIGHT, 0 ); buttonsSizer->AddStretchSpacer(); m_HelpButton = new wxButton( this, ID_SIMPLE_HELP, _("Help"), wxDefaultPosition, wxDefaultSize, 0 ); buttonsSizer->Add( m_HelpButton, 0, wxEXPAND | wxALIGN_RIGHT, 0 ); wxString helpTip; helpTip.Printf(_("Get help with %s"), pSkinAdvanced->GetApplicationShortName().c_str()); m_HelpButton->SetToolTip(helpTip); mainSizer->Add( buttonsSizer, 0, wxLEFT | wxRIGHT | wxEXPAND, 2 * SIDEMARGINS ); mainSizer->AddSpacer(ADJUSTFORYDPI(10)); SetSizer(mainSizer); Layout(); mainSizer->Fit(GetParent()); SetBackgroundBitmap(); #ifdef __WXMAC__ // Tell accessibility aids to ignore this panel (but not its contents) HIObjectSetAccessibilityIgnored((HIObjectRef)GetHandle(), true); if (compareOSVersionTo(10, 7) >= 0) { m_iRedRingRadius = 4; } else { m_iRedRingRadius = 12; } #endif m_SuspendResumeButton->Disable(); OnFrameRender(); wxLogTrace(wxT("Function Start/End"), wxT("CSimpleGUIPanel::CSimpleGUIPanel - Overloaded Constructor Function End")); }