Reworked dialogs sample in the direction of fully working in not fully specified setup.h. Dedicated mainly for all those hard working on various port. Be happy with always working dialogs sample.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
// Name: dialogs.cpp
|
// Name: dialogs.cpp
|
||||||
// Purpose: Common dialogs demo
|
// Purpose: Common dialogs demo
|
||||||
// Author: Julian Smart
|
// Author: Julian Smart
|
||||||
// Modified by:
|
// Modified by: ABX (2004) - adjustementd for conditional building
|
||||||
// Created: 04/01/98
|
// Created: 04/01/98
|
||||||
// RCS-ID: $Id$
|
// RCS-ID: $Id$
|
||||||
// Copyright: (c) Julian Smart
|
// Copyright: (c) Julian Smart
|
||||||
@@ -25,69 +25,131 @@
|
|||||||
#include "wx/wx.h"
|
#include "wx/wx.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __WXWINCE__
|
|
||||||
#include "wx/msw/wince/time.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "wx/numdlg.h"
|
|
||||||
#include "wx/colordlg.h"
|
|
||||||
#include "wx/filedlg.h"
|
|
||||||
#include "wx/dirdlg.h"
|
|
||||||
#include "wx/fontdlg.h"
|
|
||||||
#include "wx/choicdlg.h"
|
|
||||||
#include "wx/tipdlg.h"
|
|
||||||
#include "wx/progdlg.h"
|
|
||||||
#include "wx/fdrepdlg.h"
|
|
||||||
#include "wx/busyinfo.h"
|
|
||||||
#include "wx/image.h"
|
#include "wx/image.h"
|
||||||
|
|
||||||
#define wxTEST_GENERIC_DIALOGS_IN_MSW 0
|
#if wxUSE_COLOURDLG
|
||||||
|
#include "wx/colordlg.h"
|
||||||
|
#endif // wxUSE_COLOURDLG
|
||||||
|
|
||||||
#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
|
#if wxUSE_CHOICEDLG
|
||||||
#include "wx/generic/colrdlgg.h"
|
#include "wx/choicdlg.h"
|
||||||
#include "wx/generic/fontdlgg.h"
|
#endif // wxUSE_CHOICEDLG
|
||||||
#endif
|
|
||||||
|
|
||||||
#define wxUSE_DIRDLGG 0
|
#if wxUSE_STARTUP_TIPS
|
||||||
|
#include "wx/tipdlg.h"
|
||||||
|
#endif // wxUSE_STARTUP_TIPS
|
||||||
|
|
||||||
#if !(defined(__WXMSW__) || defined(__WXMAC__)) || wxUSE_DIRDLGG
|
#if wxUSE_PROGRESSDLG
|
||||||
#include "wx/generic/dirdlgg.h"
|
#include "wx/progdlg.h"
|
||||||
#endif
|
#endif // wxUSE_PROGRESSDLG
|
||||||
|
|
||||||
|
#if wxUSE_BUSYINFO
|
||||||
|
#include "wx/busyinfo.h"
|
||||||
|
#endif // wxUSE_BUSYINFO
|
||||||
|
|
||||||
|
#if wxUSE_NUMBERDLG
|
||||||
|
#include "wx/numdlg.h"
|
||||||
|
#endif // wxUSE_NUMBERDLG
|
||||||
|
|
||||||
|
#if wxUSE_FILEDLG
|
||||||
|
#include "wx/filedlg.h"
|
||||||
|
#endif // wxUSE_FILEDLG
|
||||||
|
|
||||||
|
#if wxUSE_DIRDLG
|
||||||
|
#include "wx/dirdlg.h"
|
||||||
|
#endif // wxUSE_DIRDLG
|
||||||
|
|
||||||
|
#if wxUSE_FONTDLG
|
||||||
|
#include "wx/fontdlg.h"
|
||||||
|
#endif // wxUSE_FONTDLG
|
||||||
|
|
||||||
|
#if wxUSE_FINDREPLDLG
|
||||||
|
#include "wx/fdrepdlg.h"
|
||||||
|
#endif // wxUSE_FINDREPLDLG
|
||||||
|
|
||||||
#include "dialogs.h"
|
#include "dialogs.h"
|
||||||
|
|
||||||
|
#if USE_COLOURDLG_GENERIC
|
||||||
|
#include "wx/generic/colrdlgg.h"
|
||||||
|
#endif // USE_COLOURDLG_GENERIC
|
||||||
|
|
||||||
|
#if USE_FONTDLG_GENERIC
|
||||||
|
#include "wx/generic/fontdlgg.h"
|
||||||
|
#endif // USE_FONTDLG_GENERIC
|
||||||
|
|
||||||
|
#if USE_DIRDLG_GENERIC
|
||||||
|
#include "wx/generic/dirdlgg.h"
|
||||||
|
#endif // USE_DIRDLG_GENERIC
|
||||||
|
|
||||||
IMPLEMENT_APP(MyApp)
|
IMPLEMENT_APP(MyApp)
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
|
BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
|
||||||
EVT_PAINT(MyCanvas::OnPaint)
|
EVT_PAINT(MyCanvas::OnPaint)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||||
EVT_MENU(DIALOGS_CHOOSE_COLOUR, MyFrame::ChooseColour)
|
|
||||||
EVT_MENU(DIALOGS_CHOOSE_FONT, MyFrame::ChooseFont)
|
|
||||||
EVT_MENU(DIALOGS_LOG_DIALOG, MyFrame::LogDialog)
|
|
||||||
EVT_MENU(DIALOGS_MESSAGE_BOX, MyFrame::MessageBox)
|
EVT_MENU(DIALOGS_MESSAGE_BOX, MyFrame::MessageBox)
|
||||||
|
|
||||||
|
#if wxUSE_COLOURDLG
|
||||||
|
EVT_MENU(DIALOGS_CHOOSE_COLOUR, MyFrame::ChooseColour)
|
||||||
|
#endif // wxUSE_COLOURDLG
|
||||||
|
|
||||||
|
#if wxUSE_FONTDLG
|
||||||
|
EVT_MENU(DIALOGS_CHOOSE_FONT, MyFrame::ChooseFont)
|
||||||
|
#endif // wxUSE_FONTDLG
|
||||||
|
|
||||||
|
#if wxUSE_LOG_DIALOG
|
||||||
|
EVT_MENU(DIALOGS_LOG_DIALOG, MyFrame::LogDialog)
|
||||||
|
#endif // wxUSE_LOG_DIALOG
|
||||||
|
|
||||||
|
#if wxUSE_TEXTDLG
|
||||||
EVT_MENU(DIALOGS_TEXT_ENTRY, MyFrame::TextEntry)
|
EVT_MENU(DIALOGS_TEXT_ENTRY, MyFrame::TextEntry)
|
||||||
EVT_MENU(DIALOGS_PASSWORD_ENTRY, MyFrame::PasswordEntry)
|
EVT_MENU(DIALOGS_PASSWORD_ENTRY, MyFrame::PasswordEntry)
|
||||||
|
#endif // wxUSE_TEXTDLG
|
||||||
|
|
||||||
|
#if wxUSE_NUMBERDLG
|
||||||
EVT_MENU(DIALOGS_NUM_ENTRY, MyFrame::NumericEntry)
|
EVT_MENU(DIALOGS_NUM_ENTRY, MyFrame::NumericEntry)
|
||||||
|
#endif // wxUSE_NUMBERDLG
|
||||||
|
|
||||||
|
#if wxUSE_CHOICEDLG
|
||||||
EVT_MENU(DIALOGS_SINGLE_CHOICE, MyFrame::SingleChoice)
|
EVT_MENU(DIALOGS_SINGLE_CHOICE, MyFrame::SingleChoice)
|
||||||
EVT_MENU(DIALOGS_MULTI_CHOICE, MyFrame::MultiChoice)
|
EVT_MENU(DIALOGS_MULTI_CHOICE, MyFrame::MultiChoice)
|
||||||
|
#endif // wxUSE_CHOICEDLG
|
||||||
|
|
||||||
|
#if wxUSE_FILEDLG
|
||||||
EVT_MENU(DIALOGS_FILE_OPEN, MyFrame::FileOpen)
|
EVT_MENU(DIALOGS_FILE_OPEN, MyFrame::FileOpen)
|
||||||
EVT_MENU(DIALOGS_FILE_OPEN2, MyFrame::FileOpen2)
|
EVT_MENU(DIALOGS_FILE_OPEN2, MyFrame::FileOpen2)
|
||||||
EVT_MENU(DIALOGS_FILES_OPEN, MyFrame::FilesOpen)
|
EVT_MENU(DIALOGS_FILES_OPEN, MyFrame::FilesOpen)
|
||||||
EVT_MENU(DIALOGS_FILE_SAVE, MyFrame::FileSave)
|
EVT_MENU(DIALOGS_FILE_SAVE, MyFrame::FileSave)
|
||||||
|
#endif // wxUSE_FILEDLG
|
||||||
|
|
||||||
|
#if wxUSE_DIRDLG
|
||||||
EVT_MENU(DIALOGS_DIR_CHOOSE, MyFrame::DirChoose)
|
EVT_MENU(DIALOGS_DIR_CHOOSE, MyFrame::DirChoose)
|
||||||
EVT_MENU(DIALOGS_DIRNEW_CHOOSE, MyFrame::DirChooseNew)
|
EVT_MENU(DIALOGS_DIRNEW_CHOOSE, MyFrame::DirChooseNew)
|
||||||
#if defined(__WXMSW__) || defined(__WXMAC__)
|
#endif // wxUSE_DIRDLG
|
||||||
EVT_MENU(DIALOGS_GENERIC_DIR_CHOOSE, MyFrame::GenericDirChoose)
|
|
||||||
#endif // wxMSW || wxMAC
|
#if USE_MODAL_PRESENTATION
|
||||||
EVT_MENU(DIALOGS_MODAL, MyFrame::ModalDlg)
|
EVT_MENU(DIALOGS_MODAL, MyFrame::ModalDlg)
|
||||||
EVT_MENU(DIALOGS_MODELESS, MyFrame::ModelessDlg)
|
EVT_MENU(DIALOGS_MODELESS, MyFrame::ModelessDlg)
|
||||||
|
#endif // USE_MODAL
|
||||||
|
|
||||||
|
#if wxUSE_STARTUP_TIPS
|
||||||
EVT_MENU(DIALOGS_TIP, MyFrame::ShowTip)
|
EVT_MENU(DIALOGS_TIP, MyFrame::ShowTip)
|
||||||
#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
|
#endif // wxUSE_STARTUP_TIPS
|
||||||
EVT_MENU(DIALOGS_CHOOSE_COLOUR_GENERIC, MyFrame::ChooseColourGeneric)
|
|
||||||
|
#if USE_FONTDLG_GENERIC
|
||||||
EVT_MENU(DIALOGS_CHOOSE_FONT_GENERIC, MyFrame::ChooseFontGeneric)
|
EVT_MENU(DIALOGS_CHOOSE_FONT_GENERIC, MyFrame::ChooseFontGeneric)
|
||||||
#endif
|
#endif // USE_FONTDLG_GENERIC
|
||||||
|
|
||||||
|
#if USE_DIRDLG_GENERIC
|
||||||
|
EVT_MENU(DIALOGS_GENERIC_DIR_CHOOSE, MyFrame::GenericDirChoose)
|
||||||
|
#endif // wxMSW || wxMAC
|
||||||
|
|
||||||
|
#if USE_COLOURDLG_GENERIC
|
||||||
|
EVT_MENU(DIALOGS_CHOOSE_COLOUR_GENERIC, MyFrame::ChooseColourGeneric)
|
||||||
|
#endif // USE_COLOURDLG_GENERIC
|
||||||
|
|
||||||
#if wxUSE_PROGRESSDLG
|
#if wxUSE_PROGRESSDLG
|
||||||
EVT_MENU(DIALOGS_PROGRESS, MyFrame::ShowProgress)
|
EVT_MENU(DIALOGS_PROGRESS, MyFrame::ShowProgress)
|
||||||
@@ -101,24 +163,28 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
|||||||
EVT_MENU(DIALOGS_FIND, MyFrame::ShowFindDialog)
|
EVT_MENU(DIALOGS_FIND, MyFrame::ShowFindDialog)
|
||||||
EVT_MENU(DIALOGS_REPLACE, MyFrame::ShowReplaceDialog)
|
EVT_MENU(DIALOGS_REPLACE, MyFrame::ShowReplaceDialog)
|
||||||
|
|
||||||
EVT_FIND(-1, MyFrame::OnFindDialog)
|
EVT_FIND(wxID_ANY, MyFrame::OnFindDialog)
|
||||||
EVT_FIND_NEXT(-1, MyFrame::OnFindDialog)
|
EVT_FIND_NEXT(wxID_ANY, MyFrame::OnFindDialog)
|
||||||
EVT_FIND_REPLACE(-1, MyFrame::OnFindDialog)
|
EVT_FIND_REPLACE(wxID_ANY, MyFrame::OnFindDialog)
|
||||||
EVT_FIND_REPLACE_ALL(-1, MyFrame::OnFindDialog)
|
EVT_FIND_REPLACE_ALL(wxID_ANY, MyFrame::OnFindDialog)
|
||||||
EVT_FIND_CLOSE(-1, MyFrame::OnFindDialog)
|
EVT_FIND_CLOSE(wxID_ANY, MyFrame::OnFindDialog)
|
||||||
#endif // wxUSE_FINDREPLDLG
|
#endif // wxUSE_FINDREPLDLG
|
||||||
|
|
||||||
EVT_MENU(wxID_EXIT, MyFrame::OnExit)
|
EVT_MENU(wxID_EXIT, MyFrame::OnExit)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(MyModalDialog, wxDialog)
|
#if USE_MODAL_PRESENTATION
|
||||||
EVT_BUTTON(-1, MyModalDialog::OnButton)
|
|
||||||
END_EVENT_TABLE()
|
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(MyModelessDialog, wxDialog)
|
BEGIN_EVENT_TABLE(MyModalDialog, wxDialog)
|
||||||
EVT_BUTTON(DIALOGS_MODELESS_BTN, MyModelessDialog::OnButton)
|
EVT_BUTTON(wxID_ANY, MyModalDialog::OnButton)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
EVT_CLOSE(MyModelessDialog::OnClose)
|
BEGIN_EVENT_TABLE(MyModelessDialog, wxDialog)
|
||||||
END_EVENT_TABLE()
|
EVT_BUTTON(DIALOGS_MODELESS_BTN, MyModelessDialog::OnButton)
|
||||||
|
EVT_CLOSE(MyModelessDialog::OnClose)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
#endif // USE_MODAL_PRESENTATION
|
||||||
|
|
||||||
MyCanvas *myCanvas = (MyCanvas *) NULL;
|
MyCanvas *myCanvas = (MyCanvas *) NULL;
|
||||||
|
|
||||||
@@ -130,110 +196,180 @@ bool MyApp::OnInit()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__WXGTK__) && defined(wxUSE_UNICODE)
|
#if defined(__WXGTK__) && defined(wxUSE_UNICODE)
|
||||||
wxConvCurrent = &wxConvLibc;
|
wxConvCurrent = &wxConvLibc;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
m_canvasTextColour = wxColour(_T("BLACK"));
|
m_canvasTextColour = wxColour(_T("BLACK"));
|
||||||
m_canvasFont = *wxNORMAL_FONT;
|
m_canvasFont = *wxNORMAL_FONT;
|
||||||
|
|
||||||
// Create the main frame window
|
// Create the main frame window
|
||||||
MyFrame *frame = new MyFrame((wxFrame *) NULL, _T("wxWidgets dialogs example"), wxPoint(20, 20), wxSize(400, 300));
|
MyFrame *frame = new MyFrame((wxFrame *) NULL, _T("wxWidgets dialogs example"));
|
||||||
|
|
||||||
// Make a menubar
|
// Make a menubar
|
||||||
wxMenu *file_menu = new wxMenu;
|
wxMenu *file_menu = new wxMenu;
|
||||||
|
|
||||||
file_menu->Append(DIALOGS_CHOOSE_COLOUR, _T("&Choose colour"));
|
file_menu->Append(DIALOGS_MESSAGE_BOX, _T("&Message box\tCtrl-M"));
|
||||||
|
|
||||||
#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
|
|
||||||
file_menu->Append(DIALOGS_CHOOSE_COLOUR_GENERIC, _T("Choose colour (&generic)"));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
file_menu->AppendSeparator();
|
#if wxUSE_COLOURDLG || wxUSE_FONTDLG || wxUSE_CHOICEDLG
|
||||||
file_menu->Append(DIALOGS_CHOOSE_FONT, _T("Choose &font"));
|
|
||||||
|
|
||||||
#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
|
wxMenu *choices_menu = new wxMenu;
|
||||||
file_menu->Append(DIALOGS_CHOOSE_FONT_GENERIC, _T("Choose f&ont (generic)"));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
file_menu->AppendSeparator();
|
#if wxUSE_COLOURDLG
|
||||||
file_menu->Append(DIALOGS_LOG_DIALOG, _T("&Log dialog\tCtrl-L"));
|
choices_menu->Append(DIALOGS_CHOOSE_COLOUR, _T("&Choose colour"));
|
||||||
file_menu->Append(DIALOGS_MESSAGE_BOX, _T("&Message box\tCtrl-M"));
|
#endif // wxUSE_COLOURDLG
|
||||||
file_menu->Append(DIALOGS_TEXT_ENTRY, _T("Text &entry\tCtrl-E"));
|
|
||||||
file_menu->Append(DIALOGS_PASSWORD_ENTRY, _T("&Password entry\tCtrl-P"));
|
|
||||||
file_menu->Append(DIALOGS_NUM_ENTRY, _T("&Numeric entry\tCtrl-N"));
|
|
||||||
file_menu->Append(DIALOGS_SINGLE_CHOICE, _T("&Single choice\tCtrl-C"));
|
|
||||||
file_menu->Append(DIALOGS_MULTI_CHOICE, _T("M&ultiple choice\tCtrl-U"));
|
|
||||||
file_menu->AppendSeparator();
|
|
||||||
file_menu->Append(DIALOGS_TIP, _T("&Tip of the day\tCtrl-T"));
|
|
||||||
file_menu->AppendSeparator();
|
|
||||||
file_menu->Append(DIALOGS_FILE_OPEN, _T("&Open file\tCtrl-O"));
|
|
||||||
file_menu->Append(DIALOGS_FILE_OPEN2, _T("&Second open file\tCtrl-2"));
|
|
||||||
file_menu->Append(DIALOGS_FILES_OPEN, _T("Open &files\tCtrl-Q"));
|
|
||||||
file_menu->Append(DIALOGS_FILE_SAVE, _T("Sa&ve file\tCtrl-S"));
|
|
||||||
file_menu->Append(DIALOGS_DIR_CHOOSE, _T("&Choose a directory\tCtrl-D"));
|
|
||||||
file_menu->Append(DIALOGS_DIRNEW_CHOOSE, _T("Choose a directory (with \"Ne&w\" button)\tShift-Ctrl-D"));
|
|
||||||
#if defined(__WXMSW__) || defined(__WXMAC__)
|
|
||||||
file_menu->Append(DIALOGS_GENERIC_DIR_CHOOSE, _T("&Choose a directory (generic implementation)"));
|
|
||||||
#endif // wxMSW || wxMAC
|
|
||||||
file_menu->AppendSeparator();
|
|
||||||
|
|
||||||
#if wxUSE_PROGRESSDLG
|
#if USE_COLOURDLG_GENERIC
|
||||||
file_menu->Append(DIALOGS_PROGRESS, _T("Pro&gress dialog\tCtrl-G"));
|
choices_menu->Append(DIALOGS_CHOOSE_COLOUR_GENERIC, _T("&Choose colour (generic)"));
|
||||||
#endif // wxUSE_PROGRESSDLG
|
#endif // USE_COLOURDLG_GENERIC
|
||||||
#if wxUSE_BUSYINFO
|
|
||||||
file_menu->Append(DIALOGS_BUSYINFO, _T("&Busy info dialog\tCtrl-B"));
|
|
||||||
#endif // wxUSE_BUSYINFO
|
|
||||||
#if wxUSE_FINDREPLDLG
|
|
||||||
file_menu->Append(DIALOGS_FIND, _T("&Find dialog\tCtrl-F"), _T(""), TRUE);
|
|
||||||
file_menu->Append(DIALOGS_REPLACE, _T("Find and &replace dialog\tShift-Ctrl-F"), _T(""), TRUE);
|
|
||||||
#endif // wxUSE_FINDREPLDLG
|
|
||||||
file_menu->AppendSeparator();
|
|
||||||
|
|
||||||
file_menu->Append(DIALOGS_MODAL, _T("Mo&dal dialog\tCtrl-W"));
|
#if wxUSE_FONTDLG
|
||||||
file_menu->Append(DIALOGS_MODELESS, _T("Modeless &dialog\tCtrl-Z"), _T(""), TRUE);
|
choices_menu->Append(DIALOGS_CHOOSE_FONT, _T("Choose &font"));
|
||||||
file_menu->AppendSeparator();
|
#endif // wxUSE_FONTDLG
|
||||||
|
|
||||||
file_menu->Append(wxID_EXIT, _T("E&xit\tAlt-X"));
|
#if USE_FONTDLG_GENERIC
|
||||||
wxMenuBar *menu_bar = new wxMenuBar;
|
choices_menu->Append(DIALOGS_CHOOSE_FONT_GENERIC, _T("Choose &font (generic)"));
|
||||||
menu_bar->Append(file_menu, _T("&File"));
|
#endif // USE_FONTDLG_GENERIC
|
||||||
frame->SetMenuBar(menu_bar);
|
|
||||||
|
|
||||||
myCanvas = new MyCanvas(frame);
|
#if wxUSE_CHOICEDLG
|
||||||
myCanvas->SetBackgroundColour(*wxWHITE);
|
choices_menu->Append(DIALOGS_SINGLE_CHOICE, _T("&Single choice\tCtrl-C"));
|
||||||
|
choices_menu->Append(DIALOGS_MULTI_CHOICE, _T("M&ultiple choice\tCtrl-U"));
|
||||||
|
#endif // wxUSE_CHOICEDLG
|
||||||
|
|
||||||
frame->Centre(wxBOTH);
|
file_menu->Append(wxID_ANY,_T("Choices and selectors"),choices_menu);
|
||||||
|
|
||||||
// Show the frame
|
#endif // wxUSE_COLOURDLG || wxUSE_FONTDLG || wxUSE_CHOICEDLG
|
||||||
frame->Show(TRUE);
|
|
||||||
|
|
||||||
SetTopWindow(frame);
|
|
||||||
|
|
||||||
return TRUE;
|
#if wxUSE_TEXTDLG || wxUSE_NUMBERDLG
|
||||||
|
|
||||||
|
wxMenu *entry_menu = new wxMenu;
|
||||||
|
|
||||||
|
#if wxUSE_TEXTDLG
|
||||||
|
entry_menu->Append(DIALOGS_TEXT_ENTRY, _T("Text &entry\tCtrl-E"));
|
||||||
|
entry_menu->Append(DIALOGS_PASSWORD_ENTRY, _T("&Password entry\tCtrl-P"));
|
||||||
|
#endif // wxUSE_TEXTDLG
|
||||||
|
|
||||||
|
#if wxUSE_NUMBERDLG
|
||||||
|
entry_menu->Append(DIALOGS_NUM_ENTRY, _T("&Numeric entry\tCtrl-N"));
|
||||||
|
#endif // wxUSE_NUMBERDLG
|
||||||
|
|
||||||
|
file_menu->Append(wxID_ANY,_T("Entry dialogs"),entry_menu);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if wxUSE_FILEDLG
|
||||||
|
|
||||||
|
wxMenu *filedlg_menu = new wxMenu;
|
||||||
|
filedlg_menu->Append(DIALOGS_FILE_OPEN, _T("&Open file\tCtrl-O"));
|
||||||
|
filedlg_menu->Append(DIALOGS_FILE_OPEN2, _T("&Second open file\tCtrl-2"));
|
||||||
|
filedlg_menu->Append(DIALOGS_FILES_OPEN, _T("Open &files\tCtrl-Q"));
|
||||||
|
filedlg_menu->Append(DIALOGS_FILE_SAVE, _T("Sa&ve file\tCtrl-S"));
|
||||||
|
file_menu->Append(wxID_ANY,_T("File operations"),filedlg_menu);
|
||||||
|
|
||||||
|
#endif // wxUSE_FILEDLG
|
||||||
|
|
||||||
|
#if wxUSE_DIRDLG
|
||||||
|
wxMenu *dir_menu = new wxMenu;
|
||||||
|
|
||||||
|
dir_menu->Append(DIALOGS_DIR_CHOOSE, _T("&Choose a directory\tCtrl-D"));
|
||||||
|
|
||||||
|
#if USE_DIRDLG_GENERIC
|
||||||
|
dir_menu->Append(DIALOGS_GENERIC_DIR_CHOOSE, _T("&Choose a directory (generic)"));
|
||||||
|
#endif // USE_DIRDLG_GENERIC
|
||||||
|
|
||||||
|
dir_menu->Append(DIALOGS_DIRNEW_CHOOSE, _T("Choose a directory (with \"Ne&w\" button)\tShift-Ctrl-D"));
|
||||||
|
file_menu->Append(wxID_ANY,_T("Directory operations"),dir_menu);
|
||||||
|
|
||||||
|
#endif // wxUSE_DIRDLG
|
||||||
|
|
||||||
|
|
||||||
|
#if wxUSE_STARTUP_TIPS || wxUSE_PROGRESSDLG || wxUSE_BUSYINFO || wxUSE_LOG_DIALOG
|
||||||
|
|
||||||
|
wxMenu *info_menu = new wxMenu;
|
||||||
|
|
||||||
|
#if wxUSE_STARTUP_TIPS
|
||||||
|
info_menu->Append(DIALOGS_TIP, _T("&Tip of the day\tCtrl-T"));
|
||||||
|
#endif // wxUSE_STARTUP_TIPS
|
||||||
|
|
||||||
|
#if wxUSE_PROGRESSDLG
|
||||||
|
info_menu->Append(DIALOGS_PROGRESS, _T("Pro&gress dialog\tCtrl-G"));
|
||||||
|
#endif // wxUSE_PROGRESSDLG
|
||||||
|
|
||||||
|
#if wxUSE_BUSYINFO
|
||||||
|
info_menu->Append(DIALOGS_BUSYINFO, _T("&Busy info dialog\tCtrl-B"));
|
||||||
|
#endif // wxUSE_BUSYINFO
|
||||||
|
|
||||||
|
#if wxUSE_LOG_DIALOG
|
||||||
|
info_menu->Append(DIALOGS_LOG_DIALOG, _T("&Log dialog\tCtrl-L"));
|
||||||
|
#endif // wxUSE_LOG_DIALOG
|
||||||
|
|
||||||
|
file_menu->Append(wxID_ANY,_T("Informative dialogs"),info_menu);
|
||||||
|
|
||||||
|
#endif // wxUSE_STARTUP_TIPS || wxUSE_PROGRESSDLG || wxUSE_BUSYINFO || wxUSE_LOG_DIALOG
|
||||||
|
|
||||||
|
|
||||||
|
#if wxUSE_FINDREPLDLG
|
||||||
|
wxMenu *find_menu = new wxMenu;
|
||||||
|
find_menu->Append(DIALOGS_FIND, _T("&Find dialog\tCtrl-F"), _T(""), true);
|
||||||
|
find_menu->Append(DIALOGS_REPLACE, _T("Find and &replace dialog\tShift-Ctrl-F"), _T(""), true);
|
||||||
|
file_menu->Append(wxID_ANY,_T("Searching"),find_menu);
|
||||||
|
#endif // wxUSE_FINDREPLDLG
|
||||||
|
|
||||||
|
#if USE_MODAL_PRESENTATION
|
||||||
|
wxMenu *modal_menu = new wxMenu;
|
||||||
|
modal_menu->Append(DIALOGS_MODAL, _T("Mo&dal dialog\tCtrl-W"));
|
||||||
|
modal_menu->Append(DIALOGS_MODELESS, _T("Modeless &dialog\tCtrl-Z"), _T(""), true);
|
||||||
|
file_menu->Append(wxID_ANY,_T("Modal/Modeless"),modal_menu);
|
||||||
|
#endif // USE_MODAL_PRESENTATION
|
||||||
|
|
||||||
|
file_menu->AppendSeparator();
|
||||||
|
file_menu->Append(wxID_EXIT, _T("E&xit\tAlt-X"));
|
||||||
|
|
||||||
|
wxMenuBar *menu_bar = new wxMenuBar;
|
||||||
|
menu_bar->Append(file_menu, _T("&File"));
|
||||||
|
frame->SetMenuBar(menu_bar);
|
||||||
|
|
||||||
|
myCanvas = new MyCanvas(frame);
|
||||||
|
myCanvas->SetBackgroundColour(*wxWHITE);
|
||||||
|
|
||||||
|
frame->Centre(wxBOTH);
|
||||||
|
|
||||||
|
// Show the frame
|
||||||
|
frame->Show(true);
|
||||||
|
|
||||||
|
SetTopWindow(frame);
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// My frame constructor
|
// My frame constructor
|
||||||
MyFrame::MyFrame(wxWindow *parent,
|
MyFrame::MyFrame(wxWindow *parent,
|
||||||
const wxString& title,
|
const wxString& title)
|
||||||
const wxPoint& pos,
|
: wxFrame(parent, wxID_ANY, title)
|
||||||
const wxSize& size)
|
|
||||||
: wxFrame(parent, -1, title, pos, size)
|
|
||||||
{
|
{
|
||||||
|
#if USE_MODAL_PRESENTATION
|
||||||
m_dialog = (MyModelessDialog *)NULL;
|
m_dialog = (MyModelessDialog *)NULL;
|
||||||
|
#endif // USE_MODAL_PRESENTATION
|
||||||
|
|
||||||
#if wxUSE_FINDREPLDLG
|
#if wxUSE_FINDREPLDLG
|
||||||
m_dlgFind =
|
m_dlgFind =
|
||||||
m_dlgReplace = NULL;
|
m_dlgReplace = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if wxUSE_COLOURDLG
|
||||||
m_clrData.SetChooseFull(true);
|
m_clrData.SetChooseFull(true);
|
||||||
for (int i = 0; i < 16; i++)
|
for (int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
m_clrData.SetCustomColour(i, wxColour(i*16, i*16, i*16));
|
m_clrData.SetCustomColour(i, wxColour(i*16, i*16, i*16));
|
||||||
}
|
}
|
||||||
|
#endif // wxUSE_COLOURDLG
|
||||||
|
|
||||||
CreateStatusBar();
|
CreateStatusBar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if wxUSE_COLOURDLG
|
||||||
void MyFrame::ChooseColour(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::ChooseColour(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
m_clrData.SetColour(myCanvas->GetBackgroundColour());
|
m_clrData.SetColour(myCanvas->GetBackgroundColour());
|
||||||
@@ -248,7 +384,9 @@ void MyFrame::ChooseColour(wxCommandEvent& WXUNUSED(event) )
|
|||||||
myCanvas->Refresh();
|
myCanvas->Refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif // wxUSE_COLOURDLG
|
||||||
|
|
||||||
|
#if wxUSE_FONTDLG
|
||||||
void MyFrame::ChooseFont(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::ChooseFont(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
wxFontData data;
|
wxFontData data;
|
||||||
@@ -271,48 +409,51 @@ void MyFrame::ChooseFont(wxCommandEvent& WXUNUSED(event) )
|
|||||||
}
|
}
|
||||||
//else: cancelled by the user, don't change the font
|
//else: cancelled by the user, don't change the font
|
||||||
}
|
}
|
||||||
|
#endif // wxUSE_FONTDLG
|
||||||
|
|
||||||
#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
|
#if USE_COLOURDLG_GENERIC
|
||||||
void MyFrame::ChooseColourGeneric(wxCommandEvent& WXUNUSED(event))
|
void MyFrame::ChooseColourGeneric(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
wxColourData data;
|
wxColourData data;
|
||||||
data.SetChooseFull(TRUE);
|
data.SetChooseFull(true);
|
||||||
for (int i = 0; i < 16; i++)
|
for (int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
wxColour colour(i*16, i*16, i*16);
|
wxColour colour(i*16, i*16, i*16);
|
||||||
data.SetCustomColour(i, colour);
|
data.SetCustomColour(i, colour);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxGenericColourDialog *dialog = new wxGenericColourDialog(this, &data);
|
wxGenericColourDialog *dialog = new wxGenericColourDialog(this, &data);
|
||||||
if (dialog->ShowModal() == wxID_OK)
|
if (dialog->ShowModal() == wxID_OK)
|
||||||
{
|
{
|
||||||
wxColourData retData = dialog->GetColourData();
|
wxColourData retData = dialog->GetColourData();
|
||||||
wxColour col = retData.GetColour();
|
wxColour col = retData.GetColour();
|
||||||
// wxBrush *brush = wxTheBrushList->FindOrCreateBrush(&col, wxSOLID);
|
// wxBrush *brush = wxTheBrushList->FindOrCreateBrush(&col, wxSOLID);
|
||||||
myCanvas->SetBackgroundColour(col);
|
myCanvas->SetBackgroundColour(col);
|
||||||
myCanvas->ClearBackground();
|
myCanvas->ClearBackground();
|
||||||
myCanvas->Refresh();
|
myCanvas->Refresh();
|
||||||
}
|
}
|
||||||
dialog->Destroy();
|
dialog->Destroy();
|
||||||
}
|
}
|
||||||
|
#endif // USE_COLOURDLG_GENERIC
|
||||||
|
|
||||||
|
#if USE_FONTDLG_GENERIC
|
||||||
void MyFrame::ChooseFontGeneric(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::ChooseFontGeneric(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
wxFontData data;
|
wxFontData data;
|
||||||
data.SetInitialFont(wxGetApp().m_canvasFont);
|
data.SetInitialFont(wxGetApp().m_canvasFont);
|
||||||
data.SetColour(wxGetApp().m_canvasTextColour);
|
data.SetColour(wxGetApp().m_canvasTextColour);
|
||||||
|
|
||||||
wxGenericFontDialog *dialog = new wxGenericFontDialog(this, &data);
|
wxGenericFontDialog *dialog = new wxGenericFontDialog(this, &data);
|
||||||
if (dialog->ShowModal() == wxID_OK)
|
if (dialog->ShowModal() == wxID_OK)
|
||||||
{
|
{
|
||||||
wxFontData retData = dialog->GetFontData();
|
wxFontData retData = dialog->GetFontData();
|
||||||
wxGetApp().m_canvasFont = retData.GetChosenFont();
|
wxGetApp().m_canvasFont = retData.GetChosenFont();
|
||||||
wxGetApp().m_canvasTextColour = retData.GetColour();
|
wxGetApp().m_canvasTextColour = retData.GetColour();
|
||||||
myCanvas->Refresh();
|
myCanvas->Refresh();
|
||||||
}
|
}
|
||||||
dialog->Destroy();
|
dialog->Destroy();
|
||||||
}
|
}
|
||||||
#endif // wxTEST_GENERIC_DIALOGS_IN_MSW
|
#endif // USE_FONTDLG_GENERIC
|
||||||
|
|
||||||
void MyFrame::LogDialog(wxCommandEvent& WXUNUSED(event))
|
void MyFrame::LogDialog(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
@@ -338,28 +479,29 @@ void MyFrame::LogDialog(wxCommandEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
void MyFrame::MessageBox(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::MessageBox(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
wxMessageDialog dialog( NULL, _T("This is a message box\nA long, long string to test out the message box properly"),
|
wxMessageDialog dialog( NULL, _T("This is a message box\nA long, long string to test out the message box properly"),
|
||||||
_T("Message box text"), wxNO_DEFAULT|wxYES_NO|wxCANCEL|wxICON_INFORMATION);
|
_T("Message box text"), wxNO_DEFAULT|wxYES_NO|wxCANCEL|wxICON_INFORMATION);
|
||||||
|
|
||||||
switch ( dialog.ShowModal() )
|
switch ( dialog.ShowModal() )
|
||||||
{
|
{
|
||||||
case wxID_YES:
|
case wxID_YES:
|
||||||
wxLogStatus(wxT("You pressed \"Yes\""));
|
wxLogStatus(wxT("You pressed \"Yes\""));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxID_NO:
|
case wxID_NO:
|
||||||
wxLogStatus(wxT("You pressed \"No\""));
|
wxLogStatus(wxT("You pressed \"No\""));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxID_CANCEL:
|
case wxID_CANCEL:
|
||||||
wxLogStatus(wxT("You pressed \"Cancel\""));
|
wxLogStatus(wxT("You pressed \"Cancel\""));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
wxLogError(wxT("Unexpected wxMessageDialog return code!"));
|
wxLogError(wxT("Unexpected wxMessageDialog return code!"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if wxUSE_NUMBERDLG
|
||||||
void MyFrame::NumericEntry(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::NumericEntry(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
long res = wxGetNumberFromUser( _T("This is some text, actually a lot of text.\n")
|
long res = wxGetNumberFromUser( _T("This is some text, actually a lot of text.\n")
|
||||||
@@ -382,7 +524,9 @@ void MyFrame::NumericEntry(wxCommandEvent& WXUNUSED(event) )
|
|||||||
|
|
||||||
wxMessageBox(msg, _T("Numeric test result"), wxOK | icon, this);
|
wxMessageBox(msg, _T("Numeric test result"), wxOK | icon, this);
|
||||||
}
|
}
|
||||||
|
#endif // wxUSE_NUMBERDLG
|
||||||
|
|
||||||
|
#if wxUSE_TEXTDLG
|
||||||
void MyFrame::PasswordEntry(wxCommandEvent& WXUNUSED(event))
|
void MyFrame::PasswordEntry(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
wxString pwd = wxGetPasswordFromUser(_T("Enter password:"),
|
wxString pwd = wxGetPasswordFromUser(_T("Enter password:"),
|
||||||
@@ -398,20 +542,22 @@ void MyFrame::PasswordEntry(wxCommandEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
void MyFrame::TextEntry(wxCommandEvent& WXUNUSED(event))
|
void MyFrame::TextEntry(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
wxTextEntryDialog dialog(this,
|
wxTextEntryDialog dialog(this,
|
||||||
_T("This is a small sample\n")
|
_T("This is a small sample\n")
|
||||||
_T("A long, long string to test out the text entrybox"),
|
_T("A long, long string to test out the text entrybox"),
|
||||||
_T("Please enter a string"),
|
_T("Please enter a string"),
|
||||||
_T("Default value"),
|
_T("Default value"),
|
||||||
wxOK | wxCANCEL);
|
wxOK | wxCANCEL);
|
||||||
|
|
||||||
if (dialog.ShowModal() == wxID_OK)
|
if (dialog.ShowModal() == wxID_OK)
|
||||||
{
|
{
|
||||||
wxMessageDialog dialog2(this, dialog.GetValue(), _T("Got string"));
|
wxMessageDialog dialog2(this, dialog.GetValue(), _T("Got string"));
|
||||||
dialog2.ShowModal();
|
dialog2.ShowModal();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif // wxUSE_TEXTDLG
|
||||||
|
|
||||||
|
#if wxUSE_CHOICEDLG
|
||||||
void MyFrame::SingleChoice(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::SingleChoice(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
const wxString choices[] = { _T("One"), _T("Two"), _T("Three"), _T("Four"), _T("Five") } ;
|
const wxString choices[] = { _T("One"), _T("Two"), _T("Three"), _T("Four"), _T("Five") } ;
|
||||||
@@ -461,7 +607,9 @@ void MyFrame::MultiChoice(wxCommandEvent& WXUNUSED(event) )
|
|||||||
}
|
}
|
||||||
//else: cancelled or nothing selected
|
//else: cancelled or nothing selected
|
||||||
}
|
}
|
||||||
|
#endif // wxUSE_CHOICEDLG
|
||||||
|
|
||||||
|
#if wxUSE_FILEDLG
|
||||||
void MyFrame::FileOpen(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::FileOpen(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
wxFileDialog dialog
|
wxFileDialog dialog
|
||||||
@@ -571,7 +719,9 @@ void MyFrame::FileSave(wxCommandEvent& WXUNUSED(event) )
|
|||||||
dialog.GetPath().c_str(), dialog.GetFilterIndex());
|
dialog.GetPath().c_str(), dialog.GetFilterIndex());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif // wxUSE_FILEDLG
|
||||||
|
|
||||||
|
#if wxUSE_DIRDLG
|
||||||
void MyFrame::DoDirChoose(int style)
|
void MyFrame::DoDirChoose(int style)
|
||||||
{
|
{
|
||||||
// pass some initial dir to wxDirDialog
|
// pass some initial dir to wxDirDialog
|
||||||
@@ -595,12 +745,11 @@ void MyFrame::DirChooseNew(wxCommandEvent& WXUNUSED(event) )
|
|||||||
{
|
{
|
||||||
DoDirChoose(wxDD_DEFAULT_STYLE | wxDD_NEW_DIR_BUTTON);
|
DoDirChoose(wxDD_DEFAULT_STYLE | wxDD_NEW_DIR_BUTTON);
|
||||||
}
|
}
|
||||||
|
#endif // wxUSE_DIRDLG
|
||||||
|
|
||||||
#if defined(__WXMSW__) || defined(__WXMAC__)
|
#if USE_DIRDLG_GENERIC
|
||||||
|
|
||||||
void MyFrame::GenericDirChoose(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::GenericDirChoose(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
#if !(defined(__WXMSW__) || defined(__WXMAC__)) || wxUSE_DIRDLGG
|
|
||||||
// pass some initial dir to wxDirDialog
|
// pass some initial dir to wxDirDialog
|
||||||
wxString dirHome;
|
wxString dirHome;
|
||||||
wxGetHomeDir(&dirHome);
|
wxGetHomeDir(&dirHome);
|
||||||
@@ -612,14 +761,10 @@ void MyFrame::GenericDirChoose(wxCommandEvent& WXUNUSED(event) )
|
|||||||
wxMessageDialog dialog2(this, dialog.GetPath(), _T("Selected path"));
|
wxMessageDialog dialog2(this, dialog.GetPath(), _T("Selected path"));
|
||||||
dialog2.ShowModal();
|
dialog2.ShowModal();
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
wxLogError(wxT("Sorry, generic dir dialog not available:\n")
|
|
||||||
wxT("set wxUSE_DIRDLGG to 1 and recompile"));
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif // USE_DIRDLG_GENERIC
|
||||||
|
|
||||||
#endif // wxMSW || wxMAC
|
#if USE_MODAL_PRESENTATION
|
||||||
|
|
||||||
void MyFrame::ModalDlg(wxCommandEvent& WXUNUSED(event))
|
void MyFrame::ModalDlg(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
MyModalDialog dlg(this);
|
MyModalDialog dlg(this);
|
||||||
@@ -637,17 +782,18 @@ void MyFrame::ModelessDlg(wxCommandEvent& event)
|
|||||||
m_dialog = new MyModelessDialog(this);
|
m_dialog = new MyModelessDialog(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_dialog->Show(TRUE);
|
m_dialog->Show(true);
|
||||||
}
|
}
|
||||||
else // hide
|
else // hide
|
||||||
{
|
{
|
||||||
m_dialog->Hide();
|
m_dialog->Hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif // USE_MODAL_PRESENTATION
|
||||||
|
|
||||||
|
#if wxUSE_STARTUP_TIPS
|
||||||
void MyFrame::ShowTip(wxCommandEvent& WXUNUSED(event))
|
void MyFrame::ShowTip(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
#if wxUSE_STARTUP_TIPS
|
|
||||||
static size_t s_index = (size_t)-1;
|
static size_t s_index = (size_t)-1;
|
||||||
|
|
||||||
if ( s_index == (size_t)-1 )
|
if ( s_index == (size_t)-1 )
|
||||||
@@ -671,12 +817,12 @@ void MyFrame::ShowTip(wxCommandEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
s_index = tipProvider->GetCurrentTip();
|
s_index = tipProvider->GetCurrentTip();
|
||||||
delete tipProvider;
|
delete tipProvider;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif // wxUSE_STARTUP_TIPS
|
||||||
|
|
||||||
void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
Close(TRUE);
|
Close(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxUSE_PROGRESSDLG
|
#if wxUSE_PROGRESSDLG
|
||||||
@@ -696,7 +842,7 @@ void MyFrame::ShowProgress( wxCommandEvent& WXUNUSED(event) )
|
|||||||
wxPD_ESTIMATED_TIME |
|
wxPD_ESTIMATED_TIME |
|
||||||
wxPD_REMAINING_TIME);
|
wxPD_REMAINING_TIME);
|
||||||
|
|
||||||
bool cont = TRUE;
|
bool cont = true;
|
||||||
for ( int i = 0; i <= max; i++ )
|
for ( int i = 0; i <= max; i++ )
|
||||||
{
|
{
|
||||||
wxSleep(1);
|
wxSleep(1);
|
||||||
@@ -775,7 +921,7 @@ void MyFrame::ShowReplaceDialog( wxCommandEvent& WXUNUSED(event) )
|
|||||||
wxFR_REPLACEDIALOG
|
wxFR_REPLACEDIALOG
|
||||||
);
|
);
|
||||||
|
|
||||||
m_dlgReplace->Show(TRUE);
|
m_dlgReplace->Show(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -797,7 +943,7 @@ void MyFrame::ShowFindDialog( wxCommandEvent& WXUNUSED(event) )
|
|||||||
wxFR_NOWHOLEWORD
|
wxFR_NOWHOLEWORD
|
||||||
);
|
);
|
||||||
|
|
||||||
m_dlgFind->Show(TRUE);
|
m_dlgFind->Show(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -853,16 +999,16 @@ void MyFrame::OnFindDialog(wxFindDialogEvent& event)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
txt = _T("Unknown");
|
txt = _T("Unknown");
|
||||||
idMenu = -1;
|
idMenu = wxID_ANY;
|
||||||
|
|
||||||
wxFAIL_MSG( _T("unexpected event") );
|
wxFAIL_MSG( _T("unexpected event") );
|
||||||
}
|
}
|
||||||
|
|
||||||
wxLogMessage(wxT("%s dialog is being closed."), txt);
|
wxLogMessage(wxT("%s dialog is being closed."), txt);
|
||||||
|
|
||||||
if ( idMenu != -1 )
|
if ( idMenu != wxID_ANY )
|
||||||
{
|
{
|
||||||
GetMenuBar()->Check(idMenu, FALSE);
|
GetMenuBar()->Check(idMenu, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
dlg->Destroy();
|
dlg->Destroy();
|
||||||
@@ -893,18 +1039,18 @@ void MyCanvas::OnPaint(wxPaintEvent& WXUNUSED(event) )
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
MyModelessDialog::MyModelessDialog(wxWindow *parent)
|
MyModelessDialog::MyModelessDialog(wxWindow *parent)
|
||||||
: wxDialog(parent, -1, wxString(_T("Modeless dialog")))
|
: wxDialog(parent, wxID_ANY, wxString(_T("Modeless dialog")))
|
||||||
{
|
{
|
||||||
wxBoxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
wxButton *btn = new wxButton(this, DIALOGS_MODELESS_BTN, _T("Press me"));
|
wxButton *btn = new wxButton(this, DIALOGS_MODELESS_BTN, _T("Press me"));
|
||||||
wxCheckBox *check = new wxCheckBox(this, -1, _T("Should be disabled"));
|
wxCheckBox *check = new wxCheckBox(this, wxID_ANY, _T("Should be disabled"));
|
||||||
check->Disable();
|
check->Disable();
|
||||||
|
|
||||||
sizerTop->Add(btn, 1, wxEXPAND | wxALL, 5);
|
sizerTop->Add(btn, 1, wxEXPAND | wxALL, 5);
|
||||||
sizerTop->Add(check, 1, wxEXPAND | wxALL, 5);
|
sizerTop->Add(check, 1, wxEXPAND | wxALL, 5);
|
||||||
|
|
||||||
SetAutoLayout(TRUE);
|
SetAutoLayout(true);
|
||||||
SetSizer(sizerTop);
|
SetSizer(sizerTop);
|
||||||
|
|
||||||
sizerTop->SetSizeHints(this);
|
sizerTop->SetSizeHints(this);
|
||||||
@@ -934,13 +1080,13 @@ void MyModelessDialog::OnClose(wxCloseEvent& event)
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
MyModalDialog::MyModalDialog(wxWindow *parent)
|
MyModalDialog::MyModalDialog(wxWindow *parent)
|
||||||
: wxDialog(parent, -1, wxString(_T("Modal dialog")))
|
: wxDialog(parent, wxID_ANY, wxString(_T("Modal dialog")))
|
||||||
{
|
{
|
||||||
wxBoxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
|
||||||
m_btnModal = new wxButton(this, -1, _T("&Modal dialog..."));
|
m_btnModal = new wxButton(this, wxID_ANY, _T("&Modal dialog..."));
|
||||||
m_btnModeless = new wxButton(this, -1, _T("Mode&less dialog"));
|
m_btnModeless = new wxButton(this, wxID_ANY, _T("Mode&less dialog"));
|
||||||
m_btnDelete = new wxButton(this, -1, _T("&Delete button"));
|
m_btnDelete = new wxButton(this, wxID_ANY, _T("&Delete button"));
|
||||||
|
|
||||||
wxButton *btnOk = new wxButton(this, wxID_CANCEL, _T("&Close"));
|
wxButton *btnOk = new wxButton(this, wxID_CANCEL, _T("&Close"));
|
||||||
sizerTop->Add(m_btnModal, 0, wxALIGN_CENTER | wxALL, 5);
|
sizerTop->Add(m_btnModal, 0, wxALIGN_CENTER | wxALL, 5);
|
||||||
@@ -948,7 +1094,7 @@ MyModalDialog::MyModalDialog(wxWindow *parent)
|
|||||||
sizerTop->Add(m_btnDelete, 0, wxALIGN_CENTER | wxALL, 5);
|
sizerTop->Add(m_btnDelete, 0, wxALIGN_CENTER | wxALL, 5);
|
||||||
sizerTop->Add(btnOk, 0, wxALIGN_CENTER | wxALL, 5);
|
sizerTop->Add(btnOk, 0, wxALIGN_CENTER | wxALL, 5);
|
||||||
|
|
||||||
SetAutoLayout(TRUE);
|
SetAutoLayout(true);
|
||||||
SetSizer(sizerTop);
|
SetSizer(sizerTop);
|
||||||
|
|
||||||
sizerTop->SetSizeHints(this);
|
sizerTop->SetSizeHints(this);
|
||||||
@@ -969,9 +1115,13 @@ void MyModalDialog::OnButton(wxCommandEvent& event)
|
|||||||
}
|
}
|
||||||
else if ( event.GetEventObject() == m_btnModal )
|
else if ( event.GetEventObject() == m_btnModal )
|
||||||
{
|
{
|
||||||
|
#if wxUSE_TEXTDLG
|
||||||
wxGetTextFromUser(_T("Dummy prompt"),
|
wxGetTextFromUser(_T("Dummy prompt"),
|
||||||
_T("Modal dialog called from dialog"),
|
_T("Modal dialog called from dialog"),
|
||||||
_T(""), this);
|
_T(""), this);
|
||||||
|
#else
|
||||||
|
wxMessageBox(_T("Modal dialog called from dialog"));
|
||||||
|
#endif // wxUSE_TEXTDLG
|
||||||
}
|
}
|
||||||
else if ( event.GetEventObject() == m_btnModeless )
|
else if ( event.GetEventObject() == m_btnModeless )
|
||||||
{
|
{
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
// Name: dialogs.h
|
// Name: dialogs.h
|
||||||
// Purpose: Common dialogs demo
|
// Purpose: Common dialogs demo
|
||||||
// Author: Julian Smart
|
// Author: Julian Smart
|
||||||
// Modified by:
|
// Modified by: ABX (2004) - adjustementd for conditional building
|
||||||
// Created: 04/01/98
|
// Created: 04/01/98
|
||||||
// RCS-ID: $Id$
|
// RCS-ID: $Id$
|
||||||
// Copyright: (c) Julian Smart
|
// Copyright: (c) Julian Smart
|
||||||
@@ -12,6 +12,25 @@
|
|||||||
#ifndef __DIALOGSH__
|
#ifndef __DIALOGSH__
|
||||||
#define __DIALOGSH__
|
#define __DIALOGSH__
|
||||||
|
|
||||||
|
#define USE_COLOURDLG_GENERIC \
|
||||||
|
( \
|
||||||
|
wxUSE_COLOURDLG && \
|
||||||
|
( defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXGTK20__) ) && \
|
||||||
|
!defined(__WXUNIVERSAL__) \
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#define USE_FONTDLG_GENERIC \
|
||||||
|
( \
|
||||||
|
wxUSE_FONTDLG && \
|
||||||
|
( defined(__WXMSW__) || defined(__WXGTK__) || defined(__WXPM__) ) && \
|
||||||
|
!defined(__WXUNIVERSAL__) \
|
||||||
|
)
|
||||||
|
|
||||||
|
#define USE_DIRDLG_GENERIC 0
|
||||||
|
|
||||||
|
#define USE_MODAL_PRESENTATION 1
|
||||||
|
|
||||||
// Define a new application type
|
// Define a new application type
|
||||||
class MyApp: public wxApp
|
class MyApp: public wxApp
|
||||||
{
|
{
|
||||||
@@ -55,52 +74,93 @@ private:
|
|||||||
class MyFrame: public wxFrame
|
class MyFrame: public wxFrame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MyFrame(wxWindow *parent, const wxString& title,
|
MyFrame(wxWindow *parent, const wxString& title);
|
||||||
const wxPoint& pos, const wxSize& size);
|
|
||||||
|
|
||||||
void ChooseColour(wxCommandEvent& event);
|
|
||||||
void ChooseFont(wxCommandEvent& event);
|
|
||||||
void LogDialog(wxCommandEvent& event);
|
|
||||||
void MessageBox(wxCommandEvent& event);
|
void MessageBox(wxCommandEvent& event);
|
||||||
|
|
||||||
|
#if wxUSE_COLOURDLG
|
||||||
|
void ChooseColour(wxCommandEvent& event);
|
||||||
|
#endif // wxUSE_COLOURDLG
|
||||||
|
|
||||||
|
#if wxUSE_FONTDLG
|
||||||
|
void ChooseFont(wxCommandEvent& event);
|
||||||
|
#endif // wxUSE_FONTDLG
|
||||||
|
|
||||||
|
#if wxUSE_LOG_DIALOG
|
||||||
|
void LogDialog(wxCommandEvent& event);
|
||||||
|
#endif // wxUSE_LOG_DIALOG
|
||||||
|
|
||||||
|
#if wxUSE_CHOICEDLG
|
||||||
void SingleChoice(wxCommandEvent& event);
|
void SingleChoice(wxCommandEvent& event);
|
||||||
void MultiChoice(wxCommandEvent& event);
|
void MultiChoice(wxCommandEvent& event);
|
||||||
|
#endif // wxUSE_CHOICEDLG
|
||||||
|
|
||||||
|
#if wxUSE_TEXTDLG
|
||||||
void TextEntry(wxCommandEvent& event);
|
void TextEntry(wxCommandEvent& event);
|
||||||
void PasswordEntry(wxCommandEvent& event);
|
void PasswordEntry(wxCommandEvent& event);
|
||||||
|
#endif // wxUSE_TEXTDLG
|
||||||
|
|
||||||
|
#if wxUSE_NUMBERDLG
|
||||||
void NumericEntry(wxCommandEvent& event);
|
void NumericEntry(wxCommandEvent& event);
|
||||||
|
#endif // wxUSE_NUMBERDLG
|
||||||
|
|
||||||
|
#if wxUSE_FILEDLG
|
||||||
void FileOpen(wxCommandEvent& event);
|
void FileOpen(wxCommandEvent& event);
|
||||||
void FileOpen2(wxCommandEvent& event);
|
void FileOpen2(wxCommandEvent& event);
|
||||||
void FilesOpen(wxCommandEvent& event);
|
void FilesOpen(wxCommandEvent& event);
|
||||||
void FileSave(wxCommandEvent& event);
|
void FileSave(wxCommandEvent& event);
|
||||||
|
#endif // wxUSE_FILEDLG
|
||||||
|
|
||||||
|
#if wxUSE_DIRDLG
|
||||||
void DirChoose(wxCommandEvent& event);
|
void DirChoose(wxCommandEvent& event);
|
||||||
void DirChooseNew(wxCommandEvent& event);
|
void DirChooseNew(wxCommandEvent& event);
|
||||||
|
#endif // wxUSE_DIRDLG
|
||||||
|
|
||||||
|
#if USE_DIRDLG_GENERIC
|
||||||
void GenericDirChoose(wxCommandEvent& event);
|
void GenericDirChoose(wxCommandEvent& event);
|
||||||
|
#endif // USE_DIRDLG_GENERIC
|
||||||
|
|
||||||
|
#if wxUSE_STARTUP_TIPS
|
||||||
void ShowTip(wxCommandEvent& event);
|
void ShowTip(wxCommandEvent& event);
|
||||||
|
#endif // wxUSE_STARTUP_TIPS
|
||||||
|
|
||||||
|
#if USE_MODAL_PRESENTATION
|
||||||
void ModalDlg(wxCommandEvent& event);
|
void ModalDlg(wxCommandEvent& event);
|
||||||
void ModelessDlg(wxCommandEvent& event);
|
void ModelessDlg(wxCommandEvent& event);
|
||||||
|
#endif // USE_MODAL_PRESENTATION
|
||||||
|
|
||||||
#if wxUSE_PROGRESSDLG
|
#if wxUSE_PROGRESSDLG
|
||||||
void ShowProgress(wxCommandEvent& event);
|
void ShowProgress(wxCommandEvent& event);
|
||||||
#endif // wxUSE_PROGRESSDLG
|
#endif // wxUSE_PROGRESSDLG
|
||||||
|
|
||||||
#if wxUSE_BUSYINFO
|
#if wxUSE_BUSYINFO
|
||||||
void ShowBusyInfo(wxCommandEvent& event);
|
void ShowBusyInfo(wxCommandEvent& event);
|
||||||
#endif // wxUSE_BUSYINFO
|
#endif // wxUSE_BUSYINFO
|
||||||
|
|
||||||
#if wxUSE_FINDREPLDLG
|
#if wxUSE_FINDREPLDLG
|
||||||
void ShowFindDialog(wxCommandEvent& event);
|
void ShowFindDialog(wxCommandEvent& event);
|
||||||
void ShowReplaceDialog(wxCommandEvent& event);
|
void ShowReplaceDialog(wxCommandEvent& event);
|
||||||
|
|
||||||
void OnFindDialog(wxFindDialogEvent& event);
|
void OnFindDialog(wxFindDialogEvent& event);
|
||||||
#endif // wxUSE_FINDREPLDLG
|
#endif // wxUSE_FINDREPLDLG
|
||||||
|
|
||||||
#if !defined(__WXMSW__) || wxTEST_GENERIC_DIALOGS_IN_MSW
|
#if USE_COLOURDLG_GENERIC
|
||||||
void ChooseColourGeneric(wxCommandEvent& event);
|
void ChooseColourGeneric(wxCommandEvent& event);
|
||||||
|
#endif // USE_COLOURDLG_GENERIC
|
||||||
|
|
||||||
|
#if USE_FONTDLG_GENERIC
|
||||||
void ChooseFontGeneric(wxCommandEvent& event);
|
void ChooseFontGeneric(wxCommandEvent& event);
|
||||||
#endif
|
#endif // USE_FONTDLG_GENERIC
|
||||||
|
|
||||||
void OnExit(wxCommandEvent& event);
|
void OnExit(wxCommandEvent& event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
#if wxUSE_DIRDLG
|
||||||
void DoDirChoose(int style);
|
void DoDirChoose(int style);
|
||||||
|
#endif // wxUSE_DIRDLG
|
||||||
|
|
||||||
|
#if USE_MODAL_PRESENTATION
|
||||||
MyModelessDialog *m_dialog;
|
MyModelessDialog *m_dialog;
|
||||||
|
#endif // USE_MODAL_PRESENTATION
|
||||||
|
|
||||||
#if wxUSE_FINDREPLDLG
|
#if wxUSE_FINDREPLDLG
|
||||||
wxFindReplaceData m_findData;
|
wxFindReplaceData m_findData;
|
||||||
@@ -118,7 +178,7 @@ class MyCanvas: public wxScrolledWindow
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MyCanvas(wxWindow *parent) :
|
MyCanvas(wxWindow *parent) :
|
||||||
wxScrolledWindow(parent,-1,wxDefaultPosition,wxDefaultSize,wxNO_FULL_REPAINT_ON_RESIZE) { }
|
wxScrolledWindow(parent,wxID_ANY,wxDefaultPosition,wxDefaultSize,wxNO_FULL_REPAINT_ON_RESIZE) { }
|
||||||
|
|
||||||
void OnPaint(wxPaintEvent& event);
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
|
||||||
@@ -129,7 +189,7 @@ public:
|
|||||||
// Menu IDs
|
// Menu IDs
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
DIALOGS_CHOOSE_COLOUR = 1,
|
DIALOGS_CHOOSE_COLOUR = wxID_HIGHEST,
|
||||||
DIALOGS_CHOOSE_COLOUR_GENERIC,
|
DIALOGS_CHOOSE_COLOUR_GENERIC,
|
||||||
DIALOGS_CHOOSE_FONT,
|
DIALOGS_CHOOSE_FONT,
|
||||||
DIALOGS_CHOOSE_FONT_GENERIC,
|
DIALOGS_CHOOSE_FONT_GENERIC,
|
||||||
|
Reference in New Issue
Block a user