void CBOINCBaseFrame::ShowNotCurrentlyConnectedAlert() { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); CMainDocument* pDoc = wxGetApp().GetDocument(); wxString strConnectedCompter = wxEmptyString; wxString strDialogTitle = wxEmptyString; wxString strDialogMessage = wxEmptyString; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxASSERT(pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowNotCurrentlyConnectedAlert - Function Begin")); // Did BOINC crash on local computer? If so restart it and reconnect. pDoc->GetConnectedComputerName(strConnectedCompter); if (pDoc->IsComputerNameLocal(strConnectedCompter)) { if (pDoc->m_pClientManager->AutoRestart()) { boinc_sleep(0.5); // Allow time for Client to restart if (pDoc->m_pClientManager->IsBOINCCoreRunning()) { pDoc->Reconnect(); return; } } else { // Don't ask whether to reconnect to local client if it is not running if (!pDoc->m_pClientManager->IsBOINCCoreRunning()) { return; } } } // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogTitle.Printf( _("%s - Connection Status"), pSkinAdvanced->GetApplicationName().c_str() ); // 1st %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' // 2nd %s is the project name // i.e. 'BOINC', 'GridRepublic' // 3nd %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s is not currently connected to a %s client.\nPlease use the 'Advanced\\Select Computer...' menu option to connect up to a %s client.\nTo connect up to your local computer please use 'localhost' as the host name."), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str() ); ShowAlert( strDialogTitle, strDialogMessage, wxOK | wxICON_ERROR ); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowNotCurrentlyConnectedAlert - Function End")); }
bool CDlgAbout::Create(wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style) { ////@begin CDlgAbout member initialisation m_AboutBOINCTitleCtrl = NULL; m_AboutBOINCLogoCtrl = NULL; m_AboutBOINCSloganCtrl = NULL; m_AboutBOINCURLCtrl = NULL; #if defined(_WIN64) && defined(_M_X64) m_strVersion.Printf(wxT("%s (x64)"), wxT(BOINC_VERSION_STRING)); #elif defined(__ppc__) m_strVersion.Printf(wxT("%s (PowerPC)"), wxT(BOINC_VERSION_STRING)); #else m_strVersion.Printf(wxT("%s (x86)"), wxT(BOINC_VERSION_STRING)); #endif m_strWidgetsVersion.Printf(wxT("%d.%d.%d"), wxMAJOR_VERSION, wxMINOR_VERSION, wxRELEASE_NUMBER); ////@end CDlgAbout member initialisation CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); wxDialog::Create( parent, id, caption, pos, size, style ); CreateControls(); // Change the various dialog items for the branded manager // wxString buf = wxEmptyString; buf.Printf( _("About %s"), pSkinAdvanced->GetApplicationName().c_str() ); SetTitle(buf); buf.Printf( _("%s"), pSkinAdvanced->GetApplicationName().c_str() ); m_AboutBOINCTitleCtrl->SetLabel(buf); m_AboutBOINCLogoCtrl->SetBitmap(wxBitmap(*(pSkinAdvanced->GetApplicationLogo()))); m_AboutBOINCSloganCtrl->SetLabel(wxEmptyString); m_AboutBOINCURLCtrl->SetLabel( pSkinAdvanced->GetOrganizationWebsite().c_str() ); GetSizer()->Fit(this); GetSizer()->SetSizeHints(this); Centre(); return TRUE; }
AsyncRPCDlg::AsyncRPCDlg() : wxDialog( NULL, wxID_ANY, wxT(""), wxDefaultPosition ) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString exit_label; wxASSERT(pSkinAdvanced); wxString message = wxString(_("Communicating with BOINC client. Please wait ...")); #ifdef __WXMAC__ exit_label.Printf(_("&Quit %s"), pSkinAdvanced->GetApplicationName().c_str()); #else exit_label.Printf(_("E&xit %s"), pSkinAdvanced->GetApplicationName().c_str()); #endif wxString strCaption; strCaption.Printf(_("%s - Communication"), pSkinAdvanced->GetApplicationName().c_str()); SetTitle(strCaption.c_str()); wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer *icon_text = new wxBoxSizer( wxHORIZONTAL ); icon_text->Add( CreateTextSizer( message ), 0, wxALIGN_CENTER | wxLEFT, 10 ); topsizer->Add( icon_text, 1, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 ); wxStdDialogButtonSizer *sizerBtn = CreateStdDialogButtonSizer(0); wxButton* exitbutton = new wxButton; exitbutton->Create( this, wxID_EXIT, exit_label, wxDefaultPosition, wxDefaultSize, 0 ); sizerBtn->Add(exitbutton, 0, wxLEFT|wxRIGHT|wxALL, 5); wxButton* cancelbutton = new wxButton; cancelbutton->Create( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); sizerBtn->Add(cancelbutton, 0, wxLEFT|wxRIGHT|wxALL, 5); if ( sizerBtn ) topsizer->Add(sizerBtn, 0, wxEXPAND | wxALL, 10 ); SetAutoLayout( true ); SetSizer( topsizer ); topsizer->SetSizeHints( this ); topsizer->Fit( this ); wxSize size( GetSize() ); if (size.x < size.y*3/2) { size.x = size.y*3/2; SetSize( size ); } Centre( wxBOTH | wxCENTER_FRAME); }
bool CDlgExitMessage::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) { wxString strCaption = caption; if (strCaption.IsEmpty()) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); strCaption.Printf(_("%s - Exit Confirmation"), pSkinAdvanced->GetApplicationName().c_str()); } ////@begin CDlgExitMessage member initialisation m_DialogExitMessage = NULL; m_DialogShutdownCoreClient = NULL; m_DialogDisplay = NULL; ////@end CDlgExitMessage member initialisation ////@begin CDlgExitMessage creation SetExtraStyle(GetExtraStyle() | wxWS_EX_BLOCK_EVENTS); wxDialog::Create( parent, id, strCaption, pos, size, style ); CreateControls(); GetSizer()->Fit(this); GetSizer()->SetSizeHints(this); Centre(); ////@end CDlgExitMessage creation return true; }
void CBOINCBaseFrame::ShowDaemonStartFailedAlert() { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString strDialogTitle = wxEmptyString; wxString strDialogMessage = wxEmptyString; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowDaemonStartFailedAlert - Function Begin")); // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogTitle.Printf( _("%s - Daemon Start Failed"), pSkinAdvanced->GetApplicationName().c_str() ); // 1st %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' // 2st %s is the project name // i.e. 'BOINC', 'GridRepublic' #ifdef __WXMSW__ strDialogMessage.Printf( _("%s is not able to start a %s client.\nPlease launch the Control Panel->Administative Tools->Services applet and start the BOINC service."), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str() ); #else strDialogMessage.Printf( _("%s is not able to start a %s client.\nPlease start the daemon and try again."), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str() ); #endif ShowAlert( strDialogTitle, strDialogMessage, wxOK | wxICON_ERROR ); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowDaemonStartFailedAlert - Function End")); }
void CSimpleFrame::OnReloadSkin(CFrameEvent& WXUNUSED(event)) { wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::OnReloadSkin - Function Start")); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); m_pBackgroundPanel->ReskinInterface(); SetTitle(pSkinAdvanced->GetApplicationName()); SetIcon(pSkinAdvanced->GetApplicationIcon()->GetIcon(wxDefaultSize)); wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::OnReloadSkin - Function End")); }
ClientCrashDlg::ClientCrashDlg(double timeDiff) : wxDialog( NULL, wxID_ANY, wxT(""), wxDefaultPosition ) { wxString strDialogTitle = wxEmptyString; wxString strDialogMessage = wxEmptyString; int minutes = wxMax((int)((timeDiff + 59.) / 60.), 2); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogTitle.Printf( _("%s - Unexpected Exit"), pSkinAdvanced->GetApplicationName().c_str() ); SetTitle(strDialogTitle.c_str()); // 1st %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' // 2st %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("The %s client has exited unexpectedly 3 times within the last %d minutes.\nWould you like to restart it again?"), pSkinAdvanced->GetApplicationShortName().c_str(), minutes ); wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer *icon_text = new wxBoxSizer( wxHORIZONTAL ); icon_text->Add( CreateTextSizer( strDialogMessage ), 0, wxALIGN_CENTER | wxLEFT, 10 ); topsizer->Add( icon_text, 1, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 ); wxStdDialogButtonSizer *sizerBtn = CreateStdDialogButtonSizer(wxYES | wxNO | wxHELP); SetEscapeId(wxID_NO); // Changes return value of NO button to wxID_CANCEL if ( sizerBtn ) topsizer->Add(sizerBtn, 0, wxEXPAND | wxALL, 10 ); SetAutoLayout( true ); SetSizer( topsizer ); topsizer->SetSizeHints( this ); topsizer->Fit( this ); wxSize size( GetSize() ); if (size.x < size.y*3/2) { size.x = size.y*3/2; SetSize( size ); } Centre( wxBOTH | wxCENTER_FRAME); }
bool CDlgOptions::Create(wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style) { ////@begin CDlgOptions member initialisation m_LanguageSelectionCtrl = NULL; m_ReminderFrequencyCtrl = NULL; m_EnableBOINCManagerAutoStartCtrl = NULL; m_EnableBOINCManagerExitMessageCtrl = NULL; m_DialupStaticBoxCtrl = NULL; #if defined(__WXMSW__) m_DialupConnectionsCtrl = NULL; m_DialupSetDefaultCtrl = NULL; m_DialupClearDefaultCtrl = NULL; m_DialupDefaultConnectionTextCtrl = NULL; m_DialupDefaultConnectionCtrl = NULL; #endif // __WXMSW__ m_EnableHTTPProxyCtrl = NULL; m_HTTPAddressCtrl = NULL; m_HTTPPortCtrl = NULL; m_HTTPUsernameCtrl = NULL; m_HTTPPasswordCtrl = NULL; m_EnableSOCKSProxyCtrl = NULL; m_SOCKSAddressCtrl = NULL; m_SOCKSPortCtrl = NULL; m_SOCKSUsernameCtrl = NULL; m_SOCKSPasswordCtrl = NULL; m_HTTPNoProxiesCtrl = NULL; m_SOCKSNoProxiesCtrl = NULL; ////@end CDlgOptions member initialisation m_bRetrievedProxyConfiguration = false; wxString strCaption = caption; if (strCaption.IsEmpty()) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); strCaption.Printf(_("%s - Options"), pSkinAdvanced->GetApplicationName().c_str()); } SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); wxDialog::Create( parent, id, strCaption, pos, size, style ); CreateControls(); ReadSettings(); GetSizer()->Fit(this); GetSizer()->SetSizeHints(this); Centre(); return TRUE; }
void CBOINCBaseFrame::ShowConnectionBadPasswordAlert( bool bUsedDefaultPassword, int iReadGUIRPCAuthFailure ) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString strDialogTitle = wxEmptyString; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowConnectionBadPasswordAlert - Function Begin")); // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogTitle.Printf( _("%s - Connection Error"), pSkinAdvanced->GetApplicationName().c_str() ); if ( bUsedDefaultPassword ) { #ifdef __WXMSW__ if ( EACCES == iReadGUIRPCAuthFailure || ENOENT == iReadGUIRPCAuthFailure ) { ShowAlert( strDialogTitle, _("You currently are not authorized to manage the client.\nPlease contact your administrator to add you to the 'boinc_users' local user group."), wxOK | wxICON_ERROR ); } else #endif { ShowAlert( strDialogTitle, #ifndef __WXMAC__ _("Authorization failed connecting to running client.\nMake sure you start this program in the same directory as the client."), #else _("Authorization failed connecting to running client."), #endif wxOK | wxICON_ERROR ); } } else { ShowAlert( strDialogTitle, _("The password you have provided is incorrect, please try again."), wxOK | wxICON_ERROR ); } wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowConnectionBadPasswordAlert - Function End")); }
int CBOINCDialUpManager::NotifyUserNeedConnection(bool bNotificationOnly) { CBOINCBaseFrame* pFrame = wxGetApp().GetFrame(); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxTimeSpan tsLastDialupAlertSent; wxString strDialogMessage = wxEmptyString; wxASSERT(pFrame); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pFrame, CBOINCBaseFrame)); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); tsLastDialupAlertSent = wxDateTime::Now() - m_dtLastDialupAlertSent; if ((tsLastDialupAlertSent.GetMinutes() >= pFrame->GetReminderFrequency()) && (pFrame->GetReminderFrequency() != 0)) { wxLogTrace(wxT("Function Status"), wxT("CBOINCDialUpManager::NotifyUserNeedConnection - Manager not shown, notify instead")); m_dtLastDialupAlertSent = wxDateTime::Now(); #ifdef __WXWIN__ // 1st %s is the project name // i.e. 'BOINC', 'GridRepublic' // 2st %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogMessage.Printf( _("%s needs to connect to the Internet. Please click to open %s."), pSkinAdvanced->GetApplicationShortName().c_str(), pSkinAdvanced->GetApplicationName().c_str() ); #else // %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s is unable to communicate with a project and needs an Internet connection.\n" "Please connect to the Internet, then select the 'Do network communications' " "item from the Advanced menu."), pSkinAdvanced->GetApplicationShortName().c_str() ); #endif pFrame->ShowAlert( m_strDialogTitle, strDialogMessage, wxOK | wxICON_INFORMATION, bNotificationOnly ); } return 0; }
bool CDlgPreferences::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); SetExtraStyle(GetExtraStyle()|wxDIALOG_EX_CONTEXTHELP|wxWS_EX_BLOCK_EVENTS); wxDialog::Create( parent, id, caption, pos, size, style ); // Initialize Application Title wxString strCaption = caption; if (strCaption.IsEmpty()) { strCaption.Printf(_("%s - Preferences"), pSkinAdvanced->GetApplicationName().c_str()); } SetTitle(strCaption); // Initialize Application Icon wxIconBundle icons; icons.AddIcon(*pSkinAdvanced->GetApplicationIcon()); icons.AddIcon(*pSkinAdvanced->GetApplicationIcon32()); SetIcons(icons); Freeze(); SetBackgroundStyle(wxBG_STYLE_CUSTOM); SetForegroundColour(*wxBLACK); #ifdef __WXDEBUG__ SetBackgroundColour(wxColour(255, 0, 255)); #endif m_pBackgroundPanel = new CPanelPreferences(this); wxBoxSizer* itemBoxSizer = new wxBoxSizer(wxVERTICAL); SetSizer(itemBoxSizer); itemBoxSizer->Add(m_pBackgroundPanel, 0, wxGROW, 0); GetSizer()->Fit(this); GetSizer()->SetSizeHints(this); Centre(); Thaw(); return true; }
bool CDlgMessages::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); wxDialog::Create( parent, id, caption, pos, size, style ); wxString strCaption = caption; if (strCaption.IsEmpty()) { strCaption.Printf(_("%s - Notices"), pSkinAdvanced->GetApplicationName().c_str()); } SetTitle(strCaption); // Initialize Application Icon SetIcons(*pSkinAdvanced->GetApplicationIcon()); Freeze(); SetBackgroundStyle(wxBG_STYLE_CUSTOM); #if TEST_BACKGROUND_WITH_MAGENTA_FILL SetBackgroundColour(wxColour(255, 0, 255)); #endif SetForegroundColour(*wxBLACK); CreateControls(); GetSizer()->Fit(this); GetSizer()->SetSizeHints(this); // To work properly on Mac, RestoreState() must be called _after_ // calling GetSizer()->Fit(), GetSizer()->SetSizeHints() and Center() RestoreState(); Thaw(); return true; }
bool CDlgSelectComputer::Create(wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style) { wxString strCaption = caption; if (strCaption.IsEmpty()) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); strCaption.Printf(_("%s - Select Computer"), pSkinAdvanced->GetApplicationName().c_str()); } SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); wxDialog::Create(parent, id, strCaption, pos, size, style); CreateControls(); GetSizer()->Fit(this); GetSizer()->SetSizeHints(this); Centre(); return TRUE; }
CDlgAdvPreferencesBase::CDlgAdvPreferencesBase( wxWindow* parent, int id, wxString title, wxPoint pos, wxSize size, int style ) : wxDialog( parent, id, title, pos, size, style ) { wxString strCaption = title; if (strCaption.IsEmpty()) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); strCaption.Printf(_("%s - Preferences"), pSkinAdvanced->GetApplicationName().c_str()); } this->SetExtraStyle( this->GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY ); this->Centre( wxBOTH ); this->SetTitle(strCaption); wxBoxSizer* dialogSizer = new wxBoxSizer( wxVERTICAL ); wxStaticBoxSizer* topControlsSizer = new wxStaticBoxSizer( new wxStaticBox( this, -1, wxT("") ), wxHORIZONTAL ); m_bmpWarning = new wxStaticBitmap( this, ID_DEFAULT, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); m_bmpWarning->SetMinSize( wxSize( 48,48 ) ); topControlsSizer->Add( m_bmpWarning, 0, wxALIGN_CENTER_VERTICAL|wxALL, 0 ); m_staticText321 = new wxStaticText( this, ID_DEFAULT, _("This dialog controls preferences for this computer only.\nClick OK to set preferences.\nClick Clear to restore web-based settings."), wxDefaultPosition, wxDefaultSize, 0 ); topControlsSizer->Add( m_staticText321, 1, wxALL, 1 ); m_btnClear = new wxButton( this, ID_BTN_CLEAR, _("Clear"), wxDefaultPosition, wxDefaultSize, 0 ); m_btnClear->SetToolTip( _("clear all local preferences and close the dialog") ); topControlsSizer->Add( m_btnClear, 0, wxALIGN_BOTTOM|wxALL, 1 ); dialogSizer->Add( topControlsSizer, 0, wxALL|wxEXPAND, 1 ); m_panelControls = new wxPanel( this, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); m_panelControls->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY ); wxBoxSizer* notebookSizer = new wxBoxSizer( wxVERTICAL ); m_Notebook = new wxNotebook( m_panelControls, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxNB_FLAT|wxNB_TOP ); m_Notebook->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY ); m_panelProcessor = createProcessorTab(m_Notebook); m_Notebook->AddPage( m_panelProcessor, _("processor usage"), false ); m_panelNetwork = createNetworkTab(m_Notebook); m_Notebook->AddPage( m_panelNetwork, _("network usage"), true ); m_panelDiskAndMemory = createDiskAndMemoryTab(m_Notebook); m_Notebook->AddPage( m_panelDiskAndMemory, _("disk and memory usage"), false ); notebookSizer->Add( m_Notebook, 1, wxEXPAND | wxALL, 1 ); m_panelControls->SetSizer( notebookSizer ); m_panelControls->Layout(); notebookSizer->Fit( m_panelControls ); dialogSizer->Add( m_panelControls, 1, wxALL|wxEXPAND, 1 ); m_panelButtons = new wxPanel( this, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* buttonSizer = new wxBoxSizer( wxHORIZONTAL ); m_btnOK = new wxButton( m_panelButtons, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 ); m_btnOK->SetToolTip( _("save all values and close the dialog") ); buttonSizer->Add( m_btnOK, 0, wxALL, 5 ); m_btnCancel = new wxButton( m_panelButtons, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); m_btnCancel->SetToolTip( _("close the dialog without saving") ); buttonSizer->Add( m_btnCancel, 0, wxALL, 5 ); m_btnHelp = new wxButton( m_panelButtons, wxID_HELP, _("Help"), wxDefaultPosition, wxDefaultSize, 0 ); m_btnHelp->SetToolTip( _("shows the preferences web page") ); buttonSizer->Add( m_btnHelp, 0, wxALL, 5 ); m_panelButtons->SetSizer( buttonSizer ); m_panelButtons->Layout(); buttonSizer->Fit( m_panelButtons ); dialogSizer->Add( m_panelButtons, 0, wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALL, 1 ); dialogSizer->Fit( this ); this->SetSizer( dialogSizer ); this->Layout(); }
bool CDlgEventLog::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) { ////@begin CDlgEventLog member initialisation CMainDocument* pDoc = wxGetApp().GetDocument(); wxASSERT(pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); m_iPreviousRowCount = 0; m_iTotalDocCount = 0; m_iPreviousFirstMsgSeqNum = pDoc->GetFirstMsgSeqNum(); m_iPreviousLastMsgSeqNum = m_iPreviousFirstMsgSeqNum - 1; m_iNumDeletedFilteredRows = 0; m_iTotalDeletedFilterRows = 0; if (!s_bIsFiltered) { s_strFilteredProjectName.clear(); } m_iFilteredIndexes.Clear(); m_bProcessingRefreshEvent = false; m_bWasConnected = false; m_bEventLogIsOpen = true; ////@end CDlgEventLog member initialisation CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxPoint oTempPoint; wxSize oTempSize; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); if ((pos == wxDefaultPosition) && (size == wxDefaultSize)) { // Get size and position from the previous configuration GetWindowDimensions( oTempPoint, oTempSize ); #ifdef __WXMSW__ // Windows does some crazy things if the initial position is a negative // value. oTempPoint.x = wxDefaultCoord; oTempPoint.y = wxDefaultCoord; #endif #ifdef __WXMAC__ // If the user has changed the arrangement of multiple // displays, make sure the window title bar is still on-screen. if (!IsWindowOnScreen(oTempPoint.x, oTempPoint.y, oTempSize.GetWidth(), oTempSize.GetHeight())) { oTempPoint.y = oTempPoint.x = 30; } #endif // ! __WXMAC__ } else { oTempPoint = pos; oTempSize = size; } wxDialog::Create( parent, id, caption, oTempPoint, oTempSize, style ); SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); // Initialize Application Title wxString strCaption = caption; if (strCaption.IsEmpty()) { strCaption.Printf(_("%s - Event Log"), pSkinAdvanced->GetApplicationName().c_str()); } SetTitle(strCaption); // Initialize Application Icon wxIconBundle icons; icons.AddIcon(*pSkinAdvanced->GetApplicationIcon()); icons.AddIcon(*pSkinAdvanced->GetApplicationIcon32()); SetIcons(icons); CreateControls(); // Create List Pane Items m_pList->InsertColumn(COLUMN_PROJECT, _("Project"), wxLIST_FORMAT_LEFT, 109); m_pList->InsertColumn(COLUMN_TIME, _("Time"), wxLIST_FORMAT_LEFT, 130); m_pList->InsertColumn(COLUMN_MESSAGE, _("Message"), wxLIST_FORMAT_LEFT, 378); m_pMessageInfoAttr = new wxListItemAttr( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT), wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW), wxNullFont ); m_pMessageErrorAttr = new wxListItemAttr( *wxRED, wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW), wxNullFont ); #if EVENT_LOG_STRIPES m_pMessageInfoGrayAttr = new wxListItemAttr( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT), wxColour(240, 240, 240), wxNullFont ); m_pMessageErrorGrayAttr = new wxListItemAttr(*wxRED, wxColour(240, 240, 240), wxNullFont); #else m_pMessageInfoGrayAttr = new wxListItemAttr(*m_pMessageInfoAttr); m_pMessageErrorGrayAttr = new wxListItemAttr(*m_pMessageErrorAttr); #endif SetTextColor(); RestoreState(); OnRefresh(); return true; }
void CBOINCBaseFrame::ShowConnectionFailedAlert() { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); CMainDocument* pDoc = wxGetApp().GetDocument(); wxString strConnectedCompter = wxEmptyString; wxString strDialogTitle = wxEmptyString; wxString strDialogMessage = wxEmptyString; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxASSERT(pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowConnectionFailedAlert - Function Begin")); // Did BOINC crash on local computer? If so restart it and reconnect. pDoc->GetConnectedComputerName(strConnectedCompter); if (pDoc->IsComputerNameLocal(strConnectedCompter)) { if (pDoc->m_pClientManager->AutoRestart()) { boinc_sleep(0.5); // Allow time for Client to restart if (pDoc->m_pClientManager->IsBOINCCoreRunning()) { pDoc->Reconnect(); return; } } else { // Don't ask whether to reconnect to local client if it is not running if (!pDoc->m_pClientManager->IsBOINCCoreRunning()) { return; } } } // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogTitle.Printf( _("%s - Connection Failed"), pSkinAdvanced->GetApplicationName().c_str() ); // 1st %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' // 2st %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s is not able to connect to a %s client.\nWould you like to try to connect again?"), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str() ); ShowAlert( strDialogTitle, strDialogMessage, wxYES_NO | wxICON_QUESTION, false, AlertProcessResponse ); // If we are minimized, set flag to show alert when maximized m_bShowConnectionFailedAlert = !IsShown(); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowConnectionFailedAlert - Function End")); }
void CDlgExitMessage::CreateControls() { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString strExitMessage = wxEmptyString; wxString strAlwaysExitMessage = wxEmptyString; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); ////@begin CDlgExitMessage content construction CDlgExitMessage* itemDialog1 = this; wxFlexGridSizer* itemFlexGridSizer2 = new wxFlexGridSizer(1, 2, 0, 0); itemDialog1->SetSizer(itemFlexGridSizer2); wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL); itemFlexGridSizer2->Add(itemBoxSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxFlexGridSizer* itemFlexGridSizer4 = new wxFlexGridSizer(3, 1, 0, 0); itemBoxSizer3->Add(itemFlexGridSizer4, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); #ifndef __WXMAC__ strExitMessage.Printf( _("You have requested to exit the %s,\nwhich allows you to view and manage\nthe tasks running on your computer.\n\nIf you also want to stop running the tasks,\nchoose from the following options:"), pSkinAdvanced->GetApplicationName().c_str() ); #else strExitMessage.Printf( _("This will shut down %s and its tasks until either the\n%s or the %s screen saver is run again.\n\nIn most cases, it is better just to close the %s window\nrather than to exit the application; that will allow %s to run its\ntasks at the times you selected in your preferences."), pSkinAdvanced->GetApplicationShortName().c_str(), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str(), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str() ); #endif m_DialogExitMessage = new wxStaticText; m_DialogExitMessage->Create( itemDialog1, wxID_STATIC, strExitMessage, wxDefaultPosition, wxDefaultSize, 0); itemFlexGridSizer4->Add(m_DialogExitMessage, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); itemFlexGridSizer4->Add(5, 5, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); #ifndef __WXMAC__ strAlwaysExitMessage.Printf( _("Stop running tasks when exiting the %s"), pSkinAdvanced->GetApplicationName().c_str() ); m_DialogShutdownCoreClient = new wxCheckBox; m_DialogShutdownCoreClient->Create( itemDialog1, ID_CDLGEXITMESSAGE_SHUTDOWNCORECLIENT, strAlwaysExitMessage, wxDefaultPosition, wxDefaultSize, wxCHK_2STATE ); m_DialogShutdownCoreClient->SetValue(false); itemFlexGridSizer4->Add(m_DialogShutdownCoreClient, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); #endif m_DialogDisplay = new wxCheckBox; m_DialogDisplay->Create( itemDialog1, ID_CDLGEXITMESSAGE_DISPLAY, _("Remember this decision and do not show this dialog."), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE ); m_DialogDisplay->SetValue(false); itemFlexGridSizer4->Add(m_DialogDisplay, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxFlexGridSizer* itemFlexGridSizer8 = new wxFlexGridSizer(2, 1, 0, 0); itemFlexGridSizer2->Add(itemFlexGridSizer8, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_TOP|wxALL, 5); wxButton* itemButton9 = new wxButton; itemButton9->Create( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 ); itemButton9->SetDefault(); itemFlexGridSizer8->Add(itemButton9, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxButton* itemButton10 = new wxButton; itemButton10->Create( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); itemFlexGridSizer8->Add(itemButton10, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); ////@end CDlgExitMessage content construction }
bool CDlgOptions::SaveSettings() { CMainDocument* pDoc = wxGetApp().GetDocument(); CBOINCBaseFrame* pFrame = wxGetApp().GetFrame(); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); long lBuffer = 0; wxString strBuffer = wxEmptyString; wxASSERT(pDoc); wxASSERT(pFrame); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxASSERT(wxDynamicCast(pFrame, CBOINCBaseFrame)); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); // General Tab if (pFrame->GetSelectedLanguage() != m_LanguageSelectionCtrl->GetSelection()) { wxString strDialogTitle; wxString strDialogMessage; // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogTitle.Printf( _("%s - Language Selection"), pSkinAdvanced->GetApplicationName().c_str() ); // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogMessage.Printf( _("The %s's default language has been changed, in order for this change to take affect you must restart the %s."), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationName().c_str() ); pFrame->ShowAlert( strDialogTitle, strDialogMessage, wxOK | wxICON_INFORMATION ); } pFrame->SetSelectedLanguage(m_LanguageSelectionCtrl->GetSelection()); switch(m_ReminderFrequencyCtrl->GetSelection()) { case 0: pFrame->SetReminderFrequency(1); break; case 1: pFrame->SetReminderFrequency(60); break; case 2: pFrame->SetReminderFrequency(360); break; case 3: pFrame->SetReminderFrequency(1440); break; case 4: pFrame->SetReminderFrequency(10080); break; case 5: pFrame->SetReminderFrequency(0); break; } wxGetApp().SetBOINCMGRDisplayExitMessage(m_EnableBOINCManagerExitMessageCtrl->GetValue()); #ifdef __WXMSW__ wxGetApp().SetBOINCMGRDisableAutoStart(!m_EnableBOINCManagerAutoStartCtrl->GetValue()); // Connection Tab pFrame->SetDialupConnectionName(GetDefaultDialupConnection()); #endif // Proxy Tabs if (m_bRetrievedProxyConfiguration) { pDoc->proxy_info.use_http_proxy = m_EnableHTTPProxyCtrl->GetValue(); pDoc->proxy_info.http_server_name = (const char*)m_HTTPAddressCtrl->GetValue().mb_str(); pDoc->proxy_info.http_user_name = (const char*)m_HTTPUsernameCtrl->GetValue().mb_str(); pDoc->proxy_info.http_user_passwd = (const char*)m_HTTPPasswordCtrl->GetValue().mb_str(); if(pDoc->proxy_info.use_http_proxy) { pDoc->proxy_info.noproxy_hosts = (const char*)m_HTTPNoProxiesCtrl->GetValue().mb_str(); } strBuffer = m_HTTPPortCtrl->GetValue(); strBuffer.ToLong((long*)&lBuffer); pDoc->proxy_info.http_server_port = lBuffer; pDoc->proxy_info.use_socks_proxy = m_EnableSOCKSProxyCtrl->GetValue(); pDoc->proxy_info.socks_server_name = (const char*)m_SOCKSAddressCtrl->GetValue().mb_str(); pDoc->proxy_info.socks5_user_name = (const char*)m_SOCKSUsernameCtrl->GetValue().mb_str(); pDoc->proxy_info.socks5_user_passwd = (const char*)m_SOCKSPasswordCtrl->GetValue().mb_str(); if(pDoc->proxy_info.use_socks_proxy) { pDoc->proxy_info.noproxy_hosts = (const char*)m_SOCKSNoProxiesCtrl->GetValue().mb_str(); } strBuffer = m_SOCKSPortCtrl->GetValue(); strBuffer.ToLong((long*)&lBuffer); pDoc->proxy_info.socks_server_port = lBuffer; pDoc->SetProxyConfiguration(); } return true; }
bool CDlgEventLog::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) { ////@begin CDlgEventLog member initialisation CMainDocument* pDoc = wxGetApp().GetDocument(); wxASSERT(pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); m_iPreviousRowCount = 0; m_iTotalDocCount = 0; m_iPreviousFirstMsgSeqNum = pDoc->GetFirstMsgSeqNum(); m_iPreviousLastMsgSeqNum = m_iPreviousFirstMsgSeqNum - 1; m_iNumDeletedFilteredRows = 0; m_iTotalDeletedFilterRows = 0; if (!s_bIsFiltered) { s_strFilteredProjectName.clear(); } m_iFilteredIndexes.Clear(); m_bProcessingRefreshEvent = false; m_bWasConnected = false; m_bEventLogIsOpen = true; ////@end CDlgEventLog member initialisation CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxPoint oTempPoint; wxSize oTempSize; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); if ((pos == wxDefaultPosition) && (size == wxDefaultSize)) { // Get size and position from the previous configuration GetWindowDimensions( oTempPoint, oTempSize ); #ifdef __WXMSW__ // Get the current display space for the current window int iDisplay = wxNOT_FOUND; if ( wxGetApp().GetFrame() != NULL ) iDisplay = wxDisplay::GetFromWindow(wxGetApp().GetFrame()); if ( iDisplay == wxNOT_FOUND ) iDisplay = 0; wxDisplay *display = new wxDisplay(iDisplay); wxRect rDisplay = display->GetClientArea(); // Check that the saved height and width is not larger than the displayable space. // If it is, then reduce the size. if ( oTempSize.GetWidth() > rDisplay.width ) oTempSize.SetWidth(rDisplay.width); if ( oTempSize.GetHeight() > rDisplay.height ) oTempSize.SetHeight(rDisplay.height); // Check if part of the display was going to be off the screen, if so, center the // display on that axis if ( oTempPoint.x < rDisplay.x ) { oTempPoint.x = rDisplay.x; } else if ( oTempPoint.x + oTempSize.GetWidth() > rDisplay.x + rDisplay.width ) { oTempPoint.x = rDisplay.x + rDisplay.width - oTempSize.GetWidth(); } if ( oTempPoint.y < rDisplay.y ) { oTempPoint.y = rDisplay.y; } else if ( oTempPoint.y + oTempSize.GetHeight() > rDisplay.y + rDisplay.height ) { oTempPoint.y = rDisplay.y + rDisplay.height - oTempSize.GetHeight(); } delete display; #endif #ifdef __WXMAC__ // If the user has changed the arrangement of multiple // displays, make sure the window title bar is still on-screen. if (!IsWindowOnScreen(oTempPoint.x, oTempPoint.y, oTempSize.GetWidth(), oTempSize.GetHeight())) { oTempPoint.y = oTempPoint.x = 30; } #endif // ! __WXMAC__ } else { oTempPoint = pos; oTempSize = size; } wxDialog::Create( parent, id, caption, oTempPoint, oTempSize, style ); SetSizeHints(DLGEVENTLOG_MIN_WIDTH, DLGEVENTLOG_MIN_HEIGHT); SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); // Initialize Application Title wxString strCaption = caption; if (strCaption.IsEmpty()) { strCaption.Printf(_("%s - Event Log"), pSkinAdvanced->GetApplicationName().c_str()); } SetTitle(strCaption); // Initialize Application Icon SetIcons(*pSkinAdvanced->GetApplicationIcon()); CreateControls(); // Create List Pane Items m_pList->InsertColumn(COLUMN_PROJECT, _("Project"), wxLIST_FORMAT_LEFT, 109); m_pList->InsertColumn(COLUMN_TIME, _("Time"), wxLIST_FORMAT_LEFT, 130); m_pList->InsertColumn(COLUMN_MESSAGE, _("Message"), wxLIST_FORMAT_LEFT, 378); m_pMessageInfoAttr = new wxListItemAttr( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT), wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW), wxNullFont ); m_pMessageErrorAttr = new wxListItemAttr( *wxRED, wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW), wxNullFont ); #if EVENT_LOG_STRIPES m_pMessageInfoGrayAttr = new wxListItemAttr( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT), wxColour(240, 240, 240), wxNullFont ); m_pMessageErrorGrayAttr = new wxListItemAttr(*wxRED, wxColour(240, 240, 240), wxNullFont); #else m_pMessageInfoGrayAttr = new wxListItemAttr(*m_pMessageInfoAttr); m_pMessageErrorGrayAttr = new wxListItemAttr(*m_pMessageErrorAttr); #endif SetTextColor(); RestoreState(); OnRefresh(); // Register that we had the Event Log open immediately SaveState(); m_Shortcuts[0].Set(wxACCEL_CTRL|wxACCEL_SHIFT, (int)'F', ID_SGDIAGNOSTICLOGFLAGS); m_pAccelTable = new wxAcceleratorTable(1, m_Shortcuts); SetAcceleratorTable(*m_pAccelTable); return true; }
bool CWizardAttach::Create( wxWindow* parent, wxWindowID id, const wxString& /* title */, const wxPoint& pos, long style ) { ////@begin CWizardAttach member initialisation m_ProjectInfoPage = NULL; m_ProjectPropertiesPage = NULL; m_ProjectProcessingPage = NULL; m_ProjectWelcomePage = NULL; m_AccountManagerInfoPage = NULL; m_AccountManagerPropertiesPage = NULL; m_AccountManagerProcessingPage = NULL; m_TermsOfUsePage = NULL; m_AccountInfoPage = NULL; m_CompletionPage = NULL; m_CompletionErrorPage = NULL; m_ErrNotDetectedPage = NULL; m_ErrUnavailablePage = NULL; m_ErrNoInternetConnectionPage = NULL; m_ErrNotFoundPage = NULL; m_ErrAlreadyExistsPage = NULL; m_ErrProxyInfoPage = NULL; m_ErrProxyPage = NULL; m_ErrUserDisagreesPage = NULL; ////@end CWizardAttach member initialisation // Cancel Checking m_bCancelInProgress = false; // Wizard Detection IsAttachToProjectWizard = true; IsChangeWCGApps = false; IsFirstPass = false; IsAccountManagerWizard = false; IsAccountManagerUpdateWizard = false; // Global wizard status project_config.clear(); account_in.clear(); account_out.clear(); account_created_successfully = false; attached_to_project_successfully = false; m_bCloseWhenCompleted = false; m_strProjectName.Empty(); m_strProjectUrl.Empty(); m_strProjectAuthenticator.Empty(); m_strReturnURL.Empty(); m_bCredentialsCached = false; m_bCredentialsDetected = false; m_bCookieRequired = false; m_strCookieFailureURL.Empty(); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); CSkinWizardATP* pSkinWizardATP = wxGetApp().GetSkinManager()->GetWizards()->GetWizardATP(); wxASSERT(pSkinAdvanced); wxASSERT(pSkinWizardATP); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxASSERT(wxDynamicCast(pSkinWizardATP, CSkinWizardATP)); wxString strTitle; if (!pSkinWizardATP->GetWizardTitle().IsEmpty()) { strTitle = pSkinWizardATP->GetWizardTitle(); } else { strTitle = pSkinAdvanced->GetApplicationName(); } ////@begin CWizardAttach creation CBOINCBaseWizard::Create( parent, id, strTitle, pos, style ); CreateControls(); ////@end CWizardAttach creation return TRUE; }
void CProjectInfoPage::OnPageChanging( wxWizardExEvent& event ) { if (event.GetDirection() == false) return; wxLogTrace(wxT("Function Start/End"), wxT("CProjectInfoPage::OnPageChanging - Function Begin")); CMainDocument* pDoc = wxGetApp().GetDocument(); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString strTitle; int iAnswer; wxASSERT(pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); strTitle.Printf( wxT("%s"), pSkinAdvanced->GetApplicationName().c_str() ); // Check to see if the project is supported: if ( !GetProjectSupported() ) { iAnswer = wxGetApp().SafeMessageBox( _("This project may not have work for your type of computer. Do you want to add it anyway?"), strTitle, wxCENTER | wxYES_NO | wxICON_INFORMATION ); // Project is not supported if (wxNO == iAnswer) { event.Veto(); } } else { // Check if we are already attached to that project: for (int i = 0; i < pDoc->GetProjectCount(); ++i) { PROJECT* project = pDoc->project(i); if (project) { std::string project_url = project->master_url; std::string new_project_url = (const char*)m_strProjectURL.mb_str(); canonicalize_master_url(project_url); canonicalize_master_url(new_project_url); if (project_url == new_project_url) { wxGetApp().SafeMessageBox( _("You already added this project. Please choose a different project."), strTitle, wxCENTER | wxICON_INFORMATION ); // We are already attached to that project, event.Veto(); break; } } } } wxLogTrace(wxT("Function Start/End"), wxT("CProjectInfoPage::OnPageChanging - Function End")); }
CSimpleFrame::CSimpleFrame(wxString title, wxIconBundle* icons, wxPoint position, wxSize size) : CBOINCBaseFrame((wxFrame *)NULL, ID_SIMPLEFRAME, title, position, size, wxMINIMIZE_BOX | wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN) { wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame:: - Overloaded Constructor Function Begin")); // Initialize Application SetIcons(*icons); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString strMenuName; wxString strMenuDescription; wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); // File menu wxMenu *menuFile = new wxMenu; strMenuDescription.Printf( _("Close the %s window"), pSkinAdvanced->GetApplicationName().c_str() ); strMenuName = _("&Close window"); strMenuName += wxT("\tCtrl+W"); menuFile->Append( ID_CLOSEWINDOW, strMenuName, strMenuDescription ); strMenuDescription.Printf( _("Exit %s"), pSkinAdvanced->GetApplicationName().c_str() ); strMenuName.Printf( _("Exit %s"), pSkinAdvanced->GetApplicationName().c_str() ); menuFile->Append( wxID_EXIT, strMenuName, strMenuDescription ); #ifdef __WXMAC__ // wxWidgets actually puts this in the BOINCManager menu menuFile->Append( wxID_PREFERENCES, _("Preferences...") ); #endif // Skins submenu m_pSubmenuSkins = new wxMenu; BuildSkinSubmenu(m_pSubmenuSkins); // All other skin names will be appended as radio // menu items with ID_SGFIRSTSKINSELECTOR + index // View menu wxMenu *menuView = new wxMenu; menuView->Append( ID_SGSKINSELECTOR, _("Skin"), m_pSubmenuSkins, _("Select the appearance of the user interface.") ); // Skins submenu always contains the Default entry if (m_pSubmenuSkins->GetMenuItemCount() <= 1) { menuView->Enable(ID_SGSKINSELECTOR, false); } menuView->AppendSeparator(); menuView->Append( ID_CHANGEGUI, _("Advanced View...\tCtrl+Shift+A"), _("Display the advanced graphical interface.") ); // Options menu wxMenu *menuOptions = new wxMenu; menuOptions->Append( ID_PREFERENCES, _("Computing &preferences..."), _("Configure computing preferences") ); menuOptions->Append( ID_SGOPTIONS, _("&Other options..."), _("Configure display options and proxy settings") ); // Tools menu wxMenu *menuTools = new wxMenu; menuTools->Append( ID_WIZARDATTACHPROJECT, _("&Add project..."), _("Add a project") ); menuTools->AppendSeparator(); menuTools->Append( ID_EVENTLOG, _("Event Log...\tCtrl+Shift+E"), _("Display diagnostic messages.") ); // Help menu wxMenu *menuHelp = new wxMenu; strMenuName.Printf( _("%s &help"), pSkinAdvanced->GetApplicationShortName().c_str() ); strMenuDescription.Printf( _("Show information about %s"), pSkinAdvanced->GetApplicationShortName().c_str() ); menuHelp->Append( ID_HELPBOINC, strMenuName, strMenuDescription ); strMenuName.Printf( _("&%s"), pSkinAdvanced->GetApplicationName().c_str() ); strMenuDescription.Printf( _("Show information about the %s"), pSkinAdvanced->GetApplicationName().c_str() ); menuHelp->Append( ID_HELPBOINCMANAGER, strMenuName, strMenuDescription ); menuHelp->AppendSeparator(); strMenuName.Printf( _("%s &web site"), pSkinAdvanced->GetApplicationShortName().c_str() ); strMenuDescription.Printf( _("Show information about BOINC and %s"), pSkinAdvanced->GetApplicationName().c_str() ); menuHelp->Append( ID_HELPBOINCWEBSITE, strMenuName, strMenuDescription ); menuHelp->AppendSeparator(); strMenuName.Printf( _("&About %s..."), pSkinAdvanced->GetApplicationName().c_str() ); menuHelp->Append( wxID_ABOUT, strMenuName, _("Licensing and copyright information.") ); // construct menu m_pMenubar = new wxMenuBar; m_pMenubar->Append( menuFile, _("&File") ); m_pMenubar->Append( menuView, _("&View") ); m_pMenubar->Append( menuOptions, _("&Options") ); m_pMenubar->Append( menuTools, _("&Tools") ); m_pMenubar->Append( menuHelp, _("&Help") ); wxMenuBar* m_pOldMenubar = GetMenuBar(); SetMenuBar(m_pMenubar); if (m_pOldMenubar) { delete m_pOldMenubar; } #ifdef __WXGTK__ // Force a redraw of the menu under Ubuntu's new interface SendSizeEvent(); #endif #ifdef __WXMAC__ // Mac needs a short delay to ensure that controls are // created in proper order to allow keyboard navigation m_iFrameRefreshRate = 1; // 1 millisecond m_pPeriodicRPCTimer->Start(m_iFrameRefreshRate); #endif m_Shortcuts[0].Set(wxACCEL_NORMAL, WXK_HELP, ID_HELPBOINCMANAGER); m_Shortcuts[1].Set(wxACCEL_CTRL|wxACCEL_SHIFT, (int)'E', ID_EVENTLOG); m_Shortcuts[2].Set(wxACCEL_CTRL|wxACCEL_SHIFT, (int)'F', ID_SGDIAGNOSTICLOGFLAGS); m_pAccelTable = new wxAcceleratorTable(3, m_Shortcuts); SetAcceleratorTable(*m_pAccelTable); dlgMsgsPtr = NULL; m_pBackgroundPanel = new CSimpleGUIPanel(this); RestoreState(); }
bool CDlgEventLog::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) { ////@begin CDlgEventLog member initialisation m_iPreviousRowCount = 0; m_iTotalDocCount = 0; m_iPreviousTotalDocCount = 0; if (!s_bIsFiltered) { s_strFilteredProjectName.clear(); } m_iFilteredIndexes.Clear(); m_bProcessingRefreshEvent = false; m_bEventLogIsOpen = true; ////@end CDlgEventLog member initialisation CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxPoint oTempPoint; wxSize oTempSize; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); if ((pos == wxDefaultPosition) && (size == wxDefaultSize)) { // Get size and position from the previous configuration GetWindowDimensions( oTempPoint, oTempSize ); #ifdef __WXMSW__ // Windows does some crazy things if the initial position is a negative // value. oTempPoint.x = wxDefaultCoord; oTempPoint.y = wxDefaultCoord; #endif #ifdef __WXMAC__ // If the user has changed the arrangement of multiple // displays, make sure the window title bar is still on-screen. Rect titleRect = {oTempPoint.y, oTempPoint.x, oTempPoint.y+22, oTempPoint.x+oTempSize.x }; InsetRect(&titleRect, 5, 5); // Make sure at least a 5X5 piece visible RgnHandle displayRgn = NewRgn(); CopyRgn(GetGrayRgn(), displayRgn); // Region encompassing all displays Rect menuRect = ((**GetMainDevice())).gdRect; menuRect.bottom = GetMBarHeight() + menuRect.top; RgnHandle menuRgn = NewRgn(); RectRgn(menuRgn, &menuRect); // Region hidden by menu bar DiffRgn(displayRgn, menuRgn, displayRgn); // Subtract menu bar retion if (!RectInRgn(&titleRect, displayRgn)) oTempPoint.y = oTempPoint.x = 30; DisposeRgn(menuRgn); DisposeRgn(displayRgn); #endif // ! __WXMAC__ } else { oTempPoint = pos; oTempSize = size; } wxDialog::Create( parent, id, caption, oTempPoint, oTempSize, style ); SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); // Initialize Application Title wxString strCaption = caption; if (strCaption.IsEmpty()) { strCaption.Printf(_("%s - Event Log"), pSkinAdvanced->GetApplicationName().c_str()); } SetTitle(strCaption); // Initialize Application Icon wxIconBundle icons; icons.AddIcon(*pSkinAdvanced->GetApplicationIcon()); icons.AddIcon(*pSkinAdvanced->GetApplicationIcon32()); SetIcons(icons); CreateControls(); // Create List Pane Items m_pList->InsertColumn(COLUMN_PROJECT, _("Project"), wxLIST_FORMAT_LEFT, 109); m_pList->InsertColumn(COLUMN_TIME, _("Time"), wxLIST_FORMAT_LEFT, 130); m_pList->InsertColumn(COLUMN_MESSAGE, _("Message"), wxLIST_FORMAT_LEFT, 378); m_pMessageInfoAttr = new wxListItemAttr( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT), wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW), wxNullFont ); m_pMessageErrorAttr = new wxListItemAttr( *wxRED, wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW), wxNullFont ); #if EVENT_LOG_STRIPES m_pMessageInfoGrayAttr = new wxListItemAttr( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT), wxColour(240, 240, 240), wxNullFont ); m_pMessageErrorGrayAttr = new wxListItemAttr(*wxRED, wxColour(240, 240, 240), wxNullFont); #else m_pMessageInfoGrayAttr = new wxListItemAttr(*m_pMessageInfoAttr); m_pMessageErrorGrayAttr = new wxListItemAttr(*m_pMessageErrorAttr); #endif SetTextColor(); RestoreState(); return true; }