|
From: Emilien K. <cur...@us...> - 2005-08-26 08:36:10
|
Update of /cvsroot/wxdevcenter/wxDevCenter/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8143/src Modified Files: MainFrame.cpp Application.cpp Log Message: Base of the printing system : Add standard menus. Add handle for default page setup. Index: Application.cpp =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/src/Application.cpp,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** Application.cpp 17 Aug 2005 16:33:17 -0000 1.31 --- Application.cpp 26 Aug 2005 08:35:58 -0000 1.32 *************** *** 41,44 **** --- 41,45 ---- #include <wx/datetime.h> #include <wx/cmdline.h> + #include <wx/printdlg.h> *************** *** 48,51 **** --- 49,56 ---- BEGIN_EVENT_TABLE(Application, wxApp) EVT_MENU(wxID_EXIT, Application::OnExitMenu) + + EVT_UPDATE_UI(IDM_FILE_PRINT, Application::OnUpdatePrint) + EVT_UPDATE_UI(IDM_FILE_PRINTPREVIEW, Application::OnUpdatePrint) + EVT_MENU(IDM_FILE_PRINTSETUP, Application::OnPageSetup) END_EVENT_TABLE() *************** *** 138,142 **** Application::Application(void): wxApp(), ! m_pStandardFileSystem(NULL) { ms_pTheApp = this; --- 143,148 ---- Application::Application(void): wxApp(), ! m_pStandardFileSystem(NULL), ! m_pPageSetupDialogData(NULL) { ms_pTheApp = this; *************** *** 145,148 **** --- 151,156 ---- Application::~Application(void) { + if(m_pPageSetupDialogData!=NULL) + delete m_pPageSetupDialogData; } *************** *** 447,448 **** --- 455,483 ---- } + + /*** + * Impression + ***/ + + // Retourne les infos de mise en page. + wxPageSetupDialogData* Application::GetPagesSetupDialogData() + { + if(m_pPageSetupDialogData==NULL) + m_pPageSetupDialogData = new wxPageSetupDialogData; + return m_pPageSetupDialogData; + } + + // Intercepte les évènements de mise à jour des menus d'impressions pour les annuler. + void Application::OnUpdatePrint(wxUpdateUIEvent& event) + { + if(!event.GetSetEnabled()) + event.Enable(false); + } + + // Intercepte la demande de configuration des pages. + void Application::OnPageSetup(wxCommandEvent& WXUNUSED(event)) + { + wxPageSetupDialog Dialog(NULL, GetPagesSetupDialogData()); + if(Dialog.ShowModal()==wxID_OK) + (*GetPagesSetupDialogData()) = Dialog.GetPageSetupData(); + } Index: MainFrame.cpp =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/src/MainFrame.cpp,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** MainFrame.cpp 13 Aug 2005 14:07:37 -0000 1.18 --- MainFrame.cpp 26 Aug 2005 08:35:58 -0000 1.19 *************** *** 302,305 **** --- 302,309 ---- pMenu->Append(IDM_PROJECT_CLOSE, WXDC_MENU_PROJECT_CLOSE); pMenu->AppendSeparator(); + pMenu->Append(IDM_FILE_PRINT, WXDC_MENU_FILE_PRINT); + pMenu->Append(IDM_FILE_PRINTSETUP, WXDC_MENU_FILE_PRINTSETUP); + pMenu->Append(IDM_FILE_PRINTPREVIEW, WXDC_MENU_FILE_PRINTPREVIEW); + pMenu->AppendSeparator(); pMenu->Append(wxID_EXIT, WXDC_MENU_APP_EXIT); pMenuBar->Append(pMenu, WXDC_MENU_FILES); |