Added wxExtDialog and sample.
Tried to make defs.h slightly more readable, also found some wrong flags then. Updated testconf. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -57,6 +57,7 @@ wx_include_HEADERS = \
|
|||||||
dynlib.h \
|
dynlib.h \
|
||||||
event.h \
|
event.h \
|
||||||
expr.h \
|
expr.h \
|
||||||
|
extdlg.h \
|
||||||
file.h \
|
file.h \
|
||||||
fileconf.h \
|
fileconf.h \
|
||||||
filedlg.h \
|
filedlg.h \
|
||||||
|
@@ -372,6 +372,39 @@ WXDLLEXPORT_DATA(extern const bool) wxFalse;
|
|||||||
// Callback function type definition
|
// Callback function type definition
|
||||||
typedef void (*wxFunction) (wxObject&, wxEvent&);
|
typedef void (*wxFunction) (wxObject&, wxEvent&);
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// OS mnemonics -- Identify the running OS (useful for Windows)
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Not all platforms are currently available or supported
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
wxUNKNOWN_PLATFORM,
|
||||||
|
wxCURSES, // Text-only CURSES
|
||||||
|
wxXVIEW_X, // Sun's XView OpenLOOK toolkit
|
||||||
|
wxMOTIF_X, // OSF Motif 1.x.x
|
||||||
|
wxCOSE_X, // OSF Common Desktop Environment
|
||||||
|
wxNEXTSTEP, // NeXTStep
|
||||||
|
wxMACINTOSH, // Apple System 7
|
||||||
|
wxGTK, // GTK on X
|
||||||
|
wxGTK_WIN32, // GTK on Win32
|
||||||
|
wxGTK_OS2, // GTK on OS/2
|
||||||
|
wxGTK_BEOS, // GTK on BeOS
|
||||||
|
wxQT, // Qt
|
||||||
|
wxGEOS, // GEOS
|
||||||
|
wxOS2_PM, // OS/2 Workplace
|
||||||
|
wxWINDOWS, // Windows or WfW
|
||||||
|
wxPENWINDOWS, // Windows for Pen Computing
|
||||||
|
wxWINDOWS_NT, // Windows NT
|
||||||
|
wxWIN32S, // Windows 32S API
|
||||||
|
wxWIN95, // Windows 95
|
||||||
|
wxWIN386, // Watcom 32-bit supervisor modus
|
||||||
|
wxMGL_UNIX, // MGL with direct hardware access
|
||||||
|
wxMGL_X, // MGL on X
|
||||||
|
wxMGL_WIN32, // MGL on Win32
|
||||||
|
wxMGL_OS2, // MGL on OS/2
|
||||||
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// machine specific settings
|
// machine specific settings
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -411,10 +444,11 @@ typedef int unsigned wxUint32;
|
|||||||
|
|
||||||
#if !defined(__WXMSW__) && !defined(__WXMAC__) && !defined(__WXOS2__)
|
#if !defined(__WXMSW__) && !defined(__WXMAC__) && !defined(__WXOS2__)
|
||||||
#if defined(SIZEOF_INT)
|
#if defined(SIZEOF_INT)
|
||||||
typedef short signed wxInt16;
|
/* well, this shouldn't happen... */
|
||||||
typedef short unsigned wxUint16;
|
typedef short signed wxInt16;
|
||||||
typedef int signed wxInt32;
|
typedef short unsigned wxUint16;
|
||||||
typedef int unsigned wxUint32;
|
typedef int signed wxInt32;
|
||||||
|
typedef int unsigned wxUint32;
|
||||||
#else
|
#else
|
||||||
typedef short signed wxInt16;
|
typedef short signed wxInt16;
|
||||||
typedef short unsigned wxUint16;
|
typedef short unsigned wxUint16;
|
||||||
@@ -506,27 +540,27 @@ typedef wxUint16 wxWord;
|
|||||||
/*
|
/*
|
||||||
* Window (Frame/dialog/subwindow/panel item) style flags
|
* Window (Frame/dialog/subwindow/panel item) style flags
|
||||||
*/
|
*/
|
||||||
#define wxVSCROLL 0x80000000
|
#define wxVSCROLL 0x80000000
|
||||||
#define wxHSCROLL 0x40000000
|
#define wxHSCROLL 0x40000000
|
||||||
#define wxCAPTION 0x20000000
|
#define wxCAPTION 0x20000000
|
||||||
|
|
||||||
// New styles
|
// New styles
|
||||||
#define wxDOUBLE_BORDER 0x10000000
|
#define wxDOUBLE_BORDER 0x10000000
|
||||||
#define wxSUNKEN_BORDER 0x08000000
|
#define wxSUNKEN_BORDER 0x08000000
|
||||||
#define wxRAISED_BORDER 0x04000000
|
#define wxRAISED_BORDER 0x04000000
|
||||||
#define wxBORDER 0x02000000
|
#define wxBORDER 0x02000000
|
||||||
#define wxSIMPLE_BORDER wxBORDER
|
#define wxSIMPLE_BORDER wxBORDER
|
||||||
#define wxSTATIC_BORDER 0x01000000
|
#define wxSTATIC_BORDER 0x01000000
|
||||||
#define wxTRANSPARENT_WINDOW 0x00100000
|
#define wxTRANSPARENT_WINDOW 0x00100000
|
||||||
#define wxNO_BORDER 0x00200000
|
#define wxNO_BORDER 0x00200000
|
||||||
|
|
||||||
#define wxUSER_COLOURS 0x00800000
|
#define wxUSER_COLOURS 0x00800000
|
||||||
// Override CTL3D etc. control colour processing to
|
// Override CTL3D etc. control colour processing to
|
||||||
// allow own background colour
|
// allow own background colour
|
||||||
// OBSOLETE - use wxNO_3D instead
|
// OBSOLETE - use wxNO_3D instead
|
||||||
#define wxNO_3D 0x00800000
|
#define wxNO_3D 0x00800000
|
||||||
// Override CTL3D or native 3D styles for children
|
// Override CTL3D or native 3D styles for children
|
||||||
#define wxCLIP_CHILDREN 0x00400000
|
#define wxCLIP_CHILDREN 0x00400000
|
||||||
// Clip children when painting, which reduces flicker in
|
// Clip children when painting, which reduces flicker in
|
||||||
// e.g. frames and splitter windows, but can't be used in
|
// e.g. frames and splitter windows, but can't be used in
|
||||||
// a panel where a static box must be 'transparent' (panel
|
// a panel where a static box must be 'transparent' (panel
|
||||||
@@ -534,24 +568,18 @@ typedef wxUint16 wxWord;
|
|||||||
|
|
||||||
// Add this style to a panel to get tab traversal working
|
// Add this style to a panel to get tab traversal working
|
||||||
// outside of dialogs.
|
// outside of dialogs.
|
||||||
#define wxTAB_TRAVERSAL 0x00080000
|
#define wxTAB_TRAVERSAL 0x00080000
|
||||||
|
|
||||||
// Add this style if the control wants to get all keyboard messages (under
|
// Add this style if the control wants to get all keyboard messages (under
|
||||||
// Windows, it won't normally get the dialog navigation key events)
|
// Windows, it won't normally get the dialog navigation key events)
|
||||||
#define wxWANTS_CHARS 0x00040000
|
#define wxWANTS_CHARS 0x00040000
|
||||||
|
|
||||||
// Orientations
|
// Make window retained (mostly Motif, I think)
|
||||||
enum wxOrientation
|
#define wxRETAINED 0x0002000
|
||||||
{
|
#define wxBACKINGSTORE wxRETAINED
|
||||||
wxHORIZONTAL = 0x01,
|
|
||||||
wxVERTICAL = 0x02,
|
|
||||||
wxBOTH = (wxVERTICAL | wxHORIZONTAL)
|
|
||||||
};
|
|
||||||
|
|
||||||
#define wxCENTER_FRAME 0x04 /* centering into frame rather than screen */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Frame/dialog style flags
|
* wxFrame/wxDialog style flags
|
||||||
*/
|
*/
|
||||||
#define wxSTAY_ON_TOP 0x8000
|
#define wxSTAY_ON_TOP 0x8000
|
||||||
#define wxICONIZE 0x4000
|
#define wxICONIZE 0x4000
|
||||||
@@ -567,7 +595,7 @@ enum wxOrientation
|
|||||||
#define wxRESIZE_BORDER 0x0040
|
#define wxRESIZE_BORDER 0x0040
|
||||||
#define wxDIALOG_MODAL 0x0020
|
#define wxDIALOG_MODAL 0x0020
|
||||||
#define wxDIALOG_MODELESS 0x0000
|
#define wxDIALOG_MODELESS 0x0000
|
||||||
/* Add for normal Windows frame behaviour */
|
// Add for normal Windows frame behaviour
|
||||||
#define wxFRAME_FLOAT_ON_PARENT 0x0020
|
#define wxFRAME_FLOAT_ON_PARENT 0x0020
|
||||||
|
|
||||||
|
|
||||||
@@ -575,7 +603,8 @@ enum wxOrientation
|
|||||||
#define wxDEFAULT_FRAME wxDEFAULT_FRAME_STYLE
|
#define wxDEFAULT_FRAME wxDEFAULT_FRAME_STYLE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define wxDEFAULT_FRAME_STYLE (wxSYSTEM_MENU|wxRESIZE_BORDER | wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxTHICK_FRAME | wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN)
|
#define wxDEFAULT_FRAME_STYLE \
|
||||||
|
(wxSYSTEM_MENU | wxRESIZE_BORDER | wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxTHICK_FRAME | wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN)
|
||||||
|
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
# define wxDEFAULT_DIALOG_STYLE (wxSYSTEM_MENU|wxCAPTION|wxTHICK_FRAME)
|
# define wxDEFAULT_DIALOG_STYLE (wxSYSTEM_MENU|wxCAPTION|wxTHICK_FRAME)
|
||||||
@@ -585,25 +614,30 @@ enum wxOrientation
|
|||||||
# define wxDEFAULT_DIALOG_STYLE (wxCAPTION)
|
# define wxDEFAULT_DIALOG_STYLE (wxCAPTION)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Subwindow style flags
|
* wxExtDialog style flags
|
||||||
*/
|
*/
|
||||||
#define wxRETAINED 0x0001
|
#define wxED_CLIENT_MARGIN 0x0004
|
||||||
#define wxBACKINGSTORE wxRETAINED
|
#define wxED_BUTTONS_BOTTOM 0x0000 // has no effect
|
||||||
// wxCanvas or wxPanel can optionally have a thick frame under MS Windows.
|
#define wxED_BUTTONS_RIGHT 0x0002
|
||||||
// #define wxTHICK_FRAME 0x1000
|
#define wxED_STATIC_LINE 0x0001
|
||||||
|
|
||||||
|
#if defined(__WXMSW__) || defined(__WXMAC__)
|
||||||
|
# define wxEXT_DIALOG_STYLE (wxDEFAULT_DIALOG_STYLE|wxED_CLIENT_MARGIN)
|
||||||
|
#else
|
||||||
|
# define wxEXT_DIALOG_STYLE (wxDEFAULT_DIALOG_STYLE|wxED_CLIENT_MARGIN|wxED_STATIC_LINE)
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wxToolBar style flags
|
* wxToolBar style flags
|
||||||
*/
|
*/
|
||||||
#define wxTB_3DBUTTONS 0x8000
|
#define wxTB_3DBUTTONS 0x8000
|
||||||
#define wxTB_HORIZONTAL 0x0002
|
#define wxTB_HORIZONTAL 0x0002
|
||||||
#define wxTB_VERTICAL 0x0004
|
#define wxTB_VERTICAL 0x0004
|
||||||
// Flatbar/Coolbar under Win98/ GTK 1.2
|
// Flatbar/Coolbar under Win98/ GTK 1.2
|
||||||
#define wxTB_FLAT 0x0008
|
#define wxTB_FLAT 0x0008
|
||||||
// use native docking under GTK
|
// use native docking under GTK
|
||||||
#define wxTB_DOCKABLE 0x0010
|
#define wxTB_DOCKABLE 0x0010
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wxMenuBar style flags
|
* wxMenuBar style flags
|
||||||
@@ -665,9 +699,8 @@ enum wxOrientation
|
|||||||
/*
|
/*
|
||||||
* wxRadioBox/wxRadioButton style flags
|
* wxRadioBox/wxRadioButton style flags
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// New, more intuitive names to specify majorDim argument
|
// New, more intuitive names to specify majorDim argument
|
||||||
|
|
||||||
// Same as wxRA_HORIZONTAL
|
// Same as wxRA_HORIZONTAL
|
||||||
#define wxRA_SPECIFY_COLS 0x0001
|
#define wxRA_SPECIFY_COLS 0x0001
|
||||||
// Same as wxRA_VERTICAL
|
// Same as wxRA_VERTICAL
|
||||||
@@ -684,7 +717,7 @@ enum wxOrientation
|
|||||||
#define wxGA_PROGRESSBAR 0x0004
|
#define wxGA_PROGRESSBAR 0x0004
|
||||||
#define wxGA_HORIZONTAL wxHORIZONTAL
|
#define wxGA_HORIZONTAL wxHORIZONTAL
|
||||||
#define wxGA_VERTICAL wxVERTICAL
|
#define wxGA_VERTICAL wxVERTICAL
|
||||||
/* Windows only */
|
// Windows only
|
||||||
#define wxGA_SMOOTH 0x0008
|
#define wxGA_SMOOTH 0x0008
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -759,7 +792,6 @@ enum wxOrientation
|
|||||||
/*
|
/*
|
||||||
* wxSpinButton flags
|
* wxSpinButton flags
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define wxSP_VERTICAL 0x0004
|
#define wxSP_VERTICAL 0x0004
|
||||||
#define wxSP_HORIZONTAL 0x0008
|
#define wxSP_HORIZONTAL 0x0008
|
||||||
#define wxSP_ARROW_KEYS 0x0010
|
#define wxSP_ARROW_KEYS 0x0010
|
||||||
@@ -768,7 +800,6 @@ enum wxOrientation
|
|||||||
/*
|
/*
|
||||||
* wxSplitterWindow flags
|
* wxSplitterWindow flags
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define wxSP_NOBORDER 0x0000
|
#define wxSP_NOBORDER 0x0000
|
||||||
#define wxSP_3D 0x0004
|
#define wxSP_3D 0x0004
|
||||||
#define wxSP_BORDER 0x0008
|
#define wxSP_BORDER 0x0008
|
||||||
@@ -778,49 +809,181 @@ enum wxOrientation
|
|||||||
/*
|
/*
|
||||||
* wxFrame extra flags
|
* wxFrame extra flags
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// No title on taskbar
|
// No title on taskbar
|
||||||
#define wxFRAME_TOOL_WINDOW 0x0004
|
#define wxFRAME_TOOL_WINDOW 0x0004
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wxTabCtrl flags
|
* wxTabCtrl flags
|
||||||
*/
|
*/
|
||||||
|
#define wxTC_MULTILINE 0x0000
|
||||||
#define wxTC_MULTILINE 0x0000
|
#define wxTC_RIGHTJUSTIFY 0x0004
|
||||||
#define wxTC_RIGHTJUSTIFY 0x0004
|
#define wxTC_FIXEDWIDTH 0x0008
|
||||||
#define wxTC_FIXEDWIDTH 0x0008
|
#define wxTC_OWNERDRAW 0x0010
|
||||||
#define wxTC_OWNERDRAW 0x0010
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wxNotebook flags
|
* wxNotebook flags
|
||||||
*/
|
*/
|
||||||
#define wxNB_FIXEDWIDTH 0x0008
|
#define wxNB_FIXEDWIDTH 0x0008
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wxStatusBar95 flags
|
* wxStatusBar95 flags
|
||||||
*/
|
*/
|
||||||
|
#define wxST_SIZEGRIP 0x0002
|
||||||
#define wxST_SIZEGRIP 0x0002
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wxStaticLine flags
|
* wxStaticLine flags
|
||||||
*/
|
*/
|
||||||
#define wxLI_HORIZONTAL wxHORIZONTAL
|
#define wxLI_HORIZONTAL wxHORIZONTAL
|
||||||
#define wxLI_VERTICAL wxVERTICAL
|
#define wxLI_VERTICAL wxVERTICAL
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wxProgressDialog flags
|
* wxProgressDialog flags
|
||||||
*/
|
*/
|
||||||
#define wxPD_CAN_ABORT 0x0001
|
#define wxPD_CAN_ABORT 0x0001
|
||||||
#define wxPD_APP_MODAL 0x0002
|
#define wxPD_APP_MODAL 0x0002
|
||||||
#define wxPD_AUTO_HIDE 0x0004
|
#define wxPD_AUTO_HIDE 0x0004
|
||||||
#define wxPD_ELAPSED_TIME 0x0008
|
#define wxPD_ELAPSED_TIME 0x0008
|
||||||
#define wxPD_ESTIMATED_TIME 0x0010
|
#define wxPD_ESTIMATED_TIME 0x0010
|
||||||
#define wxPD_REMAINING_TIME 0x0020
|
#define wxPD_REMAINING_TIME 0x0020
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GDI descriptions
|
* extended dialog specifiers. these values are stored in a different
|
||||||
|
* flag and thus do not overlap with other style flags. note that these
|
||||||
|
* values do not correspond to the return values of the dialogs (for
|
||||||
|
* those values, look at the wxID_XXX defines).
|
||||||
*/
|
*/
|
||||||
|
#define wxOK 0x00000001
|
||||||
|
#define wxYES_NO 0x00000002
|
||||||
|
#define wxCANCEL 0x00000004
|
||||||
|
#define wxYES 0x00000008
|
||||||
|
#define wxNO 0x00000010
|
||||||
|
#define wxNO_DEFAULT 0x00000020
|
||||||
|
#define wxYES_DEFAULT 0x00000000 // has no effect
|
||||||
|
|
||||||
|
#define wxICON_EXCLAMATION 0x00000040
|
||||||
|
#define wxICON_HAND 0x00000080
|
||||||
|
#define wxICON_QUESTION 0x00000100
|
||||||
|
#define wxICON_INFORMATION 0x00000200
|
||||||
|
#define wxICON_STOP wxICON_HAND
|
||||||
|
#define wxICON_ASTERISK wxICON_INFORMATION
|
||||||
|
#define wxICON_MASK (0x00000040|0x00000080|0x00000100|0x00000200)
|
||||||
|
|
||||||
|
#define wxCENTRE 0x00000400
|
||||||
|
#define wxCENTER wxCENTRE
|
||||||
|
|
||||||
|
#define wxFORWARD 0x00000800
|
||||||
|
#define wxBACKWARD 0x00001000
|
||||||
|
#define wxRESET 0x00002000
|
||||||
|
#define wxHELP 0x00004000
|
||||||
|
#define wxMORE 0x00008000
|
||||||
|
#define wxSETUP 0x00010000
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// standard IDs
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Standard menu IDs
|
||||||
|
#define wxID_LOWEST 4999
|
||||||
|
|
||||||
|
#define wxID_OPEN 5000
|
||||||
|
#define wxID_CLOSE 5001
|
||||||
|
#define wxID_NEW 5002
|
||||||
|
#define wxID_SAVE 5003
|
||||||
|
#define wxID_SAVEAS 5004
|
||||||
|
#define wxID_REVERT 5005
|
||||||
|
#define wxID_EXIT 5006
|
||||||
|
#define wxID_UNDO 5007
|
||||||
|
#define wxID_REDO 5008
|
||||||
|
#define wxID_HELP 5009
|
||||||
|
#define wxID_PRINT 5010
|
||||||
|
#define wxID_PRINT_SETUP 5011
|
||||||
|
#define wxID_PREVIEW 5012
|
||||||
|
#define wxID_ABOUT 5013
|
||||||
|
#define wxID_HELP_CONTENTS 5014
|
||||||
|
#define wxID_HELP_COMMANDS 5015
|
||||||
|
#define wxID_HELP_PROCEDURES 5016
|
||||||
|
#define wxID_HELP_CONTEXT 5017
|
||||||
|
|
||||||
|
#define wxID_CUT 5030
|
||||||
|
#define wxID_COPY 5031
|
||||||
|
#define wxID_PASTE 5032
|
||||||
|
#define wxID_CLEAR 5033
|
||||||
|
#define wxID_FIND 5034
|
||||||
|
#define wxID_DUPLICATE 5035
|
||||||
|
#define wxID_SELECTALL 5036
|
||||||
|
|
||||||
|
#define wxID_FILE1 5050
|
||||||
|
#define wxID_FILE2 5051
|
||||||
|
#define wxID_FILE3 5052
|
||||||
|
#define wxID_FILE4 5053
|
||||||
|
#define wxID_FILE5 5054
|
||||||
|
#define wxID_FILE6 5055
|
||||||
|
#define wxID_FILE7 5056
|
||||||
|
#define wxID_FILE8 5057
|
||||||
|
#define wxID_FILE9 5058
|
||||||
|
|
||||||
|
// Standard button IDs
|
||||||
|
#define wxID_OK 5100
|
||||||
|
#define wxID_CANCEL 5101
|
||||||
|
#define wxID_APPLY 5102
|
||||||
|
#define wxID_YES 5103
|
||||||
|
#define wxID_NO 5104
|
||||||
|
#define wxID_STATIC 5105
|
||||||
|
#define wxID_FORWARD 5106
|
||||||
|
#define wxID_BACKWARD 5107
|
||||||
|
#define wxID_DEFAULT 5108
|
||||||
|
#define wxID_MORE 5109
|
||||||
|
#define wxID_SETUP 5110
|
||||||
|
#define wxID_RESET 5111
|
||||||
|
|
||||||
|
#define wxID_HIGHEST 5999
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// Orientations and directions
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
enum wxOrientation
|
||||||
|
{
|
||||||
|
wxHORIZONTAL = 0x0001,
|
||||||
|
wxVERTICAL = 0x0002,
|
||||||
|
wxBOTH = (wxVERTICAL | wxHORIZONTAL)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum wxDirection
|
||||||
|
{
|
||||||
|
wxLEFT = 0x0010,
|
||||||
|
wxRIGHT = 0x0020,
|
||||||
|
wxUP = 0x0040,
|
||||||
|
wxDOWN = 0x0080
|
||||||
|
};
|
||||||
|
|
||||||
|
// wxCENTRE = 0x0400 (defined above)
|
||||||
|
|
||||||
|
// centering into frame rather than screen
|
||||||
|
#define wxCENTER_FRAME 0x0004
|
||||||
|
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// Possible SetSize flags
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Use internally-calculated width if -1
|
||||||
|
#define wxSIZE_AUTO_WIDTH 0x0001
|
||||||
|
// Use internally-calculated height if -1
|
||||||
|
#define wxSIZE_AUTO_HEIGHT 0x0002
|
||||||
|
// Use internally-calculated width and height if each is -1
|
||||||
|
#define wxSIZE_AUTO (wxSIZE_AUTO_WIDTH|wxSIZE_AUTO_HEIGHT)
|
||||||
|
// Ignore missing (-1) dimensions (use existing).
|
||||||
|
// For readability only: test for wxSIZE_AUTO_WIDTH/HEIGHT in code.
|
||||||
|
#define wxSIZE_USE_EXISTING 0x0000
|
||||||
|
// Allow -1 as a valid position
|
||||||
|
#define wxSIZE_ALLOW_MINUS_ONE 0x0004
|
||||||
|
// Don't do parent client adjustments (for implementation only)
|
||||||
|
#define wxSIZE_NO_ADJUSTMENTS 0x0008
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// GDI descriptions
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
// Text font families
|
// Text font families
|
||||||
@@ -898,56 +1061,20 @@ typedef enum
|
|||||||
wxSRC_AND // source _bitmap_ AND destination
|
wxSRC_AND // source _bitmap_ AND destination
|
||||||
} form_ops_t;
|
} form_ops_t;
|
||||||
|
|
||||||
// Flood styles
|
/* Flood styles */
|
||||||
#define wxFLOOD_SURFACE 1
|
#define wxFLOOD_SURFACE 1
|
||||||
#define wxFLOOD_BORDER 2
|
#define wxFLOOD_BORDER 2
|
||||||
|
|
||||||
// Polygon filling mode
|
/* Polygon filling mode */
|
||||||
#define wxODDEVEN_RULE 1
|
#define wxODDEVEN_RULE 1
|
||||||
#define wxWINDING_RULE 2
|
#define wxWINDING_RULE 2
|
||||||
|
|
||||||
// ToolPanel in wxFrame
|
/* ToolPanel in wxFrame */
|
||||||
#define wxTOOL_TOP 1
|
#define wxTOOL_TOP 1
|
||||||
#define wxTOOL_BOTTOM 2
|
#define wxTOOL_BOTTOM 2
|
||||||
#define wxTOOL_LEFT 3
|
#define wxTOOL_LEFT 3
|
||||||
#define wxTOOL_RIGHT 4
|
#define wxTOOL_RIGHT 4
|
||||||
|
|
||||||
// Dialog specifiers/return values
|
|
||||||
|
|
||||||
#define wxOK 0x0001
|
|
||||||
#define wxYES_NO 0x0002
|
|
||||||
#define wxCANCEL 0x0004
|
|
||||||
#define wxYES 0x0008
|
|
||||||
#define wxNO 0x0010
|
|
||||||
#define wxNO_DEFAULT 0x0020
|
|
||||||
#define wxYES_DEFAULT 0x0000 // has no effect
|
|
||||||
#define wxICON_EXCLAMATION 0x0040
|
|
||||||
#define wxICON_HAND 0x0080
|
|
||||||
#define wxICON_QUESTION 0x0100
|
|
||||||
#define wxICON_INFORMATION 0x0200
|
|
||||||
|
|
||||||
#define wxICON_STOP wxICON_HAND
|
|
||||||
#define wxICON_ASTERISK wxICON_INFORMATION
|
|
||||||
#define wxICON_MASK (0x0040|0x0080|0x0100|0x0200)
|
|
||||||
|
|
||||||
#define wxCENTRE 0x0200
|
|
||||||
#define wxCENTER wxCENTRE
|
|
||||||
|
|
||||||
// Possible SetSize flags
|
|
||||||
|
|
||||||
// Use internally-calculated width if -1
|
|
||||||
#define wxSIZE_AUTO_WIDTH 0x0001
|
|
||||||
// Use internally-calculated height if -1
|
|
||||||
#define wxSIZE_AUTO_HEIGHT 0x0002
|
|
||||||
// Use internally-calculated width and height if each is -1
|
|
||||||
#define wxSIZE_AUTO (wxSIZE_AUTO_WIDTH|wxSIZE_AUTO_HEIGHT)
|
|
||||||
// Ignore missing (-1) dimensions (use existing).
|
|
||||||
// For readability only: test for wxSIZE_AUTO_WIDTH/HEIGHT in code.
|
|
||||||
#define wxSIZE_USE_EXISTING 0x0000
|
|
||||||
// Allow -1 as a valid position
|
|
||||||
#define wxSIZE_ALLOW_MINUS_ONE 0x0004
|
|
||||||
// Don't do parent client adjustments (for implementation only)
|
|
||||||
#define wxSIZE_NO_ADJUSTMENTS 0x0008
|
|
||||||
|
|
||||||
enum wxDataFormatId
|
enum wxDataFormatId
|
||||||
{
|
{
|
||||||
@@ -1083,78 +1210,6 @@ enum wxKeyCode
|
|||||||
WXK_NUMPAD_DIVIDE
|
WXK_NUMPAD_DIVIDE
|
||||||
};
|
};
|
||||||
|
|
||||||
/* OS mnemonics -- Identify the running OS (useful for Windows)
|
|
||||||
* [Not all platforms are currently available or supported] */
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
wxUNKNOWN_PLATFORM,
|
|
||||||
wxCURSES, // Text-only CURSES
|
|
||||||
wxXVIEW_X, // Sun's XView OpenLOOK toolkit
|
|
||||||
wxMOTIF_X, // OSF Motif 1.x.x
|
|
||||||
wxCOSE_X, // OSF Common Desktop Environment
|
|
||||||
wxNEXTSTEP, // NeXTStep
|
|
||||||
wxMACINTOSH, // Apple System 7
|
|
||||||
wxGTK, // GTK
|
|
||||||
wxQT, // Qt
|
|
||||||
wxGEOS, // GEOS
|
|
||||||
wxOS2_PM, // OS/2 Workplace
|
|
||||||
wxWINDOWS, // Windows or WfW
|
|
||||||
wxPENWINDOWS, // Windows for Pen Computing
|
|
||||||
wxWINDOWS_NT, // Windows NT
|
|
||||||
wxWIN32S, // Windows 32S API
|
|
||||||
wxWIN95, // Windows 95
|
|
||||||
wxWIN386 // Watcom 32-bit supervisor modus
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Standard menu identifiers */
|
|
||||||
#define wxID_LOWEST 4999
|
|
||||||
|
|
||||||
#define wxID_OPEN 5000
|
|
||||||
#define wxID_CLOSE 5001
|
|
||||||
#define wxID_NEW 5002
|
|
||||||
#define wxID_SAVE 5003
|
|
||||||
#define wxID_SAVEAS 5004
|
|
||||||
#define wxID_REVERT 5005
|
|
||||||
#define wxID_EXIT 5006
|
|
||||||
#define wxID_UNDO 5007
|
|
||||||
#define wxID_REDO 5008
|
|
||||||
#define wxID_HELP 5009
|
|
||||||
#define wxID_PRINT 5010
|
|
||||||
#define wxID_PRINT_SETUP 5011
|
|
||||||
#define wxID_PREVIEW 5012
|
|
||||||
#define wxID_ABOUT 5013
|
|
||||||
#define wxID_HELP_CONTENTS 5014
|
|
||||||
#define wxID_HELP_COMMANDS 5015
|
|
||||||
#define wxID_HELP_PROCEDURES 5016
|
|
||||||
#define wxID_HELP_CONTEXT 5017
|
|
||||||
|
|
||||||
#define wxID_CUT 5030
|
|
||||||
#define wxID_COPY 5031
|
|
||||||
#define wxID_PASTE 5032
|
|
||||||
#define wxID_CLEAR 5033
|
|
||||||
#define wxID_FIND 5034
|
|
||||||
#define wxID_DUPLICATE 5035
|
|
||||||
#define wxID_SELECTALL 5036
|
|
||||||
|
|
||||||
#define wxID_FILE1 5050
|
|
||||||
#define wxID_FILE2 5051
|
|
||||||
#define wxID_FILE3 5052
|
|
||||||
#define wxID_FILE4 5053
|
|
||||||
#define wxID_FILE5 5054
|
|
||||||
#define wxID_FILE6 5055
|
|
||||||
#define wxID_FILE7 5056
|
|
||||||
#define wxID_FILE8 5057
|
|
||||||
#define wxID_FILE9 5058
|
|
||||||
|
|
||||||
#define wxID_OK 5100
|
|
||||||
#define wxID_CANCEL 5101
|
|
||||||
#define wxID_APPLY 5102
|
|
||||||
#define wxID_YES 5103
|
|
||||||
#define wxID_NO 5104
|
|
||||||
#define wxID_STATIC 5105
|
|
||||||
|
|
||||||
#define wxID_HIGHEST 5999
|
|
||||||
|
|
||||||
// Mapping modes (as per Windows)
|
// Mapping modes (as per Windows)
|
||||||
#define wxMM_TEXT 1
|
#define wxMM_TEXT 1
|
||||||
#define wxMM_LOMETRIC 2
|
#define wxMM_LOMETRIC 2
|
||||||
@@ -1279,6 +1334,11 @@ typedef enum {
|
|||||||
wxPRINT_MODE_PRINTER = 3 // Send to printer
|
wxPRINT_MODE_PRINTER = 3 // Send to printer
|
||||||
} wxPrintMode;
|
} wxPrintMode;
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
// macros that enable wxWindows apps to be compiled in absence of the
|
||||||
|
// sytem headers, although some platform specific types are used in the
|
||||||
|
// platform specific (implementation) parts of the headers
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
// Stand-ins for Windows types, to avoid #including all of windows.h
|
// Stand-ins for Windows types, to avoid #including all of windows.h
|
||||||
|
7
include/wx/extdlg.h
Normal file
7
include/wx/extdlg.h
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#ifndef _WX_EXTDLG_H_BASE_
|
||||||
|
#define _WX_EXTDLG_H_BASE_
|
||||||
|
|
||||||
|
#include "wx/generic/extdlgg.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// _WX_EXTDLG_H_BASE_
|
@@ -11,6 +11,7 @@ wx_generic_include_HEADERS = \
|
|||||||
colrdlgg.h \
|
colrdlgg.h \
|
||||||
dcpsg.h \
|
dcpsg.h \
|
||||||
dirdlgg.h \
|
dirdlgg.h \
|
||||||
|
extdlgg.h \
|
||||||
fontdlgg.h \
|
fontdlgg.h \
|
||||||
gridg.h \
|
gridg.h \
|
||||||
helpext.h \
|
helpext.h \
|
||||||
|
96
include/wx/generic/extdlgg.h
Normal file
96
include/wx/generic/extdlgg.h
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: extdlgg.h
|
||||||
|
// Purpose: Extended Generic dialogs
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Robert Roebling
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __EXTDLGH_G__
|
||||||
|
#define __EXTDLGH_G__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "extdlgg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/setup.h"
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
#include "wx/button.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxExtDialog;
|
||||||
|
class WXDLLEXPORT wxStaticLine;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global data
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const wxChar *wxDialogNameStr;
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxExtDialog
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxExtDialog: public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxExtDialog)
|
||||||
|
|
||||||
|
public:
|
||||||
|
wxExtDialog() {}
|
||||||
|
wxExtDialog( wxWindow *parent, wxWindowID id,
|
||||||
|
const wxString& title,
|
||||||
|
long extraStyle = (wxOK|wxCANCEL|wxCENTRE),
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
long style = wxEXT_DIALOG_STYLE,
|
||||||
|
const wxString &name = wxDialogNameStr );
|
||||||
|
bool Create( wxWindow *parent, wxWindowID id,
|
||||||
|
const wxString& title,
|
||||||
|
long extraStyle = (wxOK|wxCANCEL|wxCENTRE),
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
long style = wxEXT_DIALOG_STYLE,
|
||||||
|
const wxString &name = wxDialogNameStr );
|
||||||
|
|
||||||
|
void SetClientWindow( wxWindow *clientWindow )
|
||||||
|
{ m_clientWindow = clientWindow; }
|
||||||
|
wxWindow *GetClientWindow()
|
||||||
|
{ return m_clientWindow; }
|
||||||
|
|
||||||
|
void AddButton( wxButton *button );
|
||||||
|
|
||||||
|
void SetDefaultButton( wxWindowID button );
|
||||||
|
|
||||||
|
void EnableButton( wxWindowID button, bool enable=TRUE );
|
||||||
|
bool ButtonIsEnabled( wxWindowID button );
|
||||||
|
|
||||||
|
wxSize GetButtonAreaSize();
|
||||||
|
|
||||||
|
void OnSize( wxSizeEvent &event );
|
||||||
|
|
||||||
|
void OnYes(wxCommandEvent& event);
|
||||||
|
void OnNo(wxCommandEvent& event);
|
||||||
|
void OnCancel(wxCommandEvent& event);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxWindow *m_clientWindow;
|
||||||
|
long m_extraStyle;
|
||||||
|
wxList m_buttons;
|
||||||
|
#if wxUSE_STATLINE
|
||||||
|
wxStaticLine *m_statLine;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
wxSize LayoutButtons();
|
||||||
|
|
||||||
|
private:
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
@@ -35,14 +35,6 @@
|
|||||||
#define wxGRID_DEFAULT_VERTICAL_LABEL_WIDTH 40
|
#define wxGRID_DEFAULT_VERTICAL_LABEL_WIDTH 40
|
||||||
#define wxGRID_DEFAULT_HORIZONAL_LABEL_HEIGHT 20
|
#define wxGRID_DEFAULT_HORIZONAL_LABEL_HEIGHT 20
|
||||||
|
|
||||||
#ifndef wxLEFT
|
|
||||||
#define wxLEFT 0x0400
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef wxRIGHT
|
|
||||||
#define wxRIGHT 0x0800
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define WXGENERIC_GRID_VERSION 0.5
|
#define WXGENERIC_GRID_VERSION 0.5
|
||||||
|
|
||||||
class WXDLLEXPORT wxGridEvent;
|
class WXDLLEXPORT wxGridEvent;
|
||||||
|
@@ -38,7 +38,6 @@ public:
|
|||||||
void OnCancel(wxCommandEvent& event);
|
void OnCancel(wxCommandEvent& event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxList m_buttons;
|
|
||||||
int m_dialogStyle;
|
int m_dialogStyle;
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char *info[] = {
|
static char *info_xpm[] = {
|
||||||
/* columns rows colors chars-per-pixel */
|
/* columns rows colors chars-per-pixel */
|
||||||
"48 48 478 2",
|
"48 48 478 2",
|
||||||
" c Gray0",
|
" c Gray0",
|
||||||
|
@@ -12,12 +12,12 @@
|
|||||||
#define __GTKSTATICLINEH__
|
#define __GTKSTATICLINEH__
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma interface
|
#pragma interface
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !wxUSE_STATLINE
|
#include "wx/defs.h"
|
||||||
#error "This file should only be included if wxUSE_STATLINE == 1"
|
|
||||||
#endif
|
#if wxUSE_STATLINE
|
||||||
|
|
||||||
#include "wx/object.h"
|
#include "wx/object.h"
|
||||||
#include "wx/list.h"
|
#include "wx/list.h"
|
||||||
@@ -47,4 +47,8 @@ public:
|
|||||||
long style = wxLI_HORIZONTAL, const wxString &name = wxStaticTextNameStr );
|
long style = wxLI_HORIZONTAL, const wxString &name = wxStaticTextNameStr );
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // __GTKSTATICLINEH__
|
#endif
|
||||||
|
// wxUSE_STATLINE
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __GTKSTATICLINEH__
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char *info[] = {
|
static char *info_xpm[] = {
|
||||||
/* columns rows colors chars-per-pixel */
|
/* columns rows colors chars-per-pixel */
|
||||||
"48 48 478 2",
|
"48 48 478 2",
|
||||||
" c Gray0",
|
" c Gray0",
|
||||||
|
@@ -12,12 +12,12 @@
|
|||||||
#define __GTKSTATICLINEH__
|
#define __GTKSTATICLINEH__
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma interface
|
#pragma interface
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !wxUSE_STATLINE
|
#include "wx/defs.h"
|
||||||
#error "This file should only be included if wxUSE_STATLINE == 1"
|
|
||||||
#endif
|
#if wxUSE_STATLINE
|
||||||
|
|
||||||
#include "wx/object.h"
|
#include "wx/object.h"
|
||||||
#include "wx/list.h"
|
#include "wx/list.h"
|
||||||
@@ -47,4 +47,8 @@ public:
|
|||||||
long style = wxLI_HORIZONTAL, const wxString &name = wxStaticTextNameStr );
|
long style = wxLI_HORIZONTAL, const wxString &name = wxStaticTextNameStr );
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // __GTKSTATICLINEH__
|
#endif
|
||||||
|
// wxUSE_STATLINE
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __GTKSTATICLINEH__
|
||||||
|
@@ -25,12 +25,13 @@
|
|||||||
#include "wx/wx.h"
|
#include "wx/wx.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <wx/colordlg.h>
|
#include "wx/colordlg.h"
|
||||||
#include <wx/filedlg.h>
|
#include "wx/filedlg.h"
|
||||||
#include <wx/dirdlg.h>
|
#include "wx/dirdlg.h"
|
||||||
#include <wx/fontdlg.h>
|
#include "wx/fontdlg.h"
|
||||||
#include <wx/choicdlg.h>
|
#include "wx/choicdlg.h"
|
||||||
#include <wx/tipdlg.h>
|
#include "wx/tipdlg.h"
|
||||||
|
#include "wx/extdlg.h"
|
||||||
|
|
||||||
#define wxTEST_GENERIC_DIALOGS_IN_MSW 0
|
#define wxTEST_GENERIC_DIALOGS_IN_MSW 0
|
||||||
|
|
||||||
@@ -78,6 +79,7 @@ bool MyApp::OnInit(void)
|
|||||||
file_menu->Append(DIALOGS_MESSAGE_BOX, "&Message box");
|
file_menu->Append(DIALOGS_MESSAGE_BOX, "&Message box");
|
||||||
file_menu->Append(DIALOGS_TEXT_ENTRY, "Text &entry");
|
file_menu->Append(DIALOGS_TEXT_ENTRY, "Text &entry");
|
||||||
file_menu->Append(DIALOGS_SINGLE_CHOICE, "&Single choice");
|
file_menu->Append(DIALOGS_SINGLE_CHOICE, "&Single choice");
|
||||||
|
file_menu->Append(DIALOGS_EXT_DIALOG, "&Extended dialog");
|
||||||
file_menu->AppendSeparator();
|
file_menu->AppendSeparator();
|
||||||
file_menu->Append(DIALOGS_TIP, "&Tip of the day");
|
file_menu->Append(DIALOGS_TIP, "&Tip of the day");
|
||||||
file_menu->AppendSeparator();
|
file_menu->AppendSeparator();
|
||||||
@@ -108,6 +110,42 @@ MyFrame::MyFrame(wxWindow *parent, const wxString& title, const wxPoint& pos, co
|
|||||||
wxFrame(parent, -1, title, pos, size)
|
wxFrame(parent, -1, title, pos, size)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
void MyFrame::ExtDialog(wxCommandEvent& WXUNUSED(event) )
|
||||||
|
{
|
||||||
|
// The standard flags causes this dialog to display a
|
||||||
|
// wxStaticLine under wxMotif and wxGTK, but none under
|
||||||
|
// other platforms. Also, it will not be resizable
|
||||||
|
// anywhere.
|
||||||
|
|
||||||
|
wxExtDialog dialog( this, -1, "Test 1 for wxExtDialog",
|
||||||
|
wxOK|wxFORWARD|wxBACKWARD );
|
||||||
|
|
||||||
|
dialog.SetClientWindow( new wxTextCtrl( &dialog, -1, "Test", wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE ) );
|
||||||
|
|
||||||
|
// query minimal recommended size from the buttons
|
||||||
|
dialog.SetSize( dialog.GetButtonAreaSize().x, 170 );
|
||||||
|
|
||||||
|
dialog.Centre( wxBOTH );
|
||||||
|
dialog.ShowModal();
|
||||||
|
|
||||||
|
// This dialog uses the standard dialog styles but is also
|
||||||
|
// resizable on all platforms and shows a wxStaticLine on
|
||||||
|
// all platforms.
|
||||||
|
|
||||||
|
wxExtDialog dialog2( this, -1, "Test 2 for wxExtDialog",
|
||||||
|
wxOK|wxFORWARD|wxBACKWARD|wxCANCEL, wxDefaultPosition, wxSize(400,170),
|
||||||
|
wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxED_BUTTONS_RIGHT | wxED_STATIC_LINE | wxED_CLIENT_MARGIN );
|
||||||
|
|
||||||
|
dialog2.SetClientWindow( new wxTextCtrl( &dialog2, -1, "Test", wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE ) );
|
||||||
|
|
||||||
|
// query minimal recommended size from the buttons
|
||||||
|
wxSize min_size( dialog2.GetButtonAreaSize() );
|
||||||
|
dialog2.SetSizeHints( min_size.x + 200, min_size.y );
|
||||||
|
|
||||||
|
dialog2.Centre( wxBOTH );
|
||||||
|
dialog2.ShowModal();
|
||||||
|
}
|
||||||
|
|
||||||
void MyFrame::ChooseColour(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::ChooseColour(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
wxColourData data;
|
wxColourData data;
|
||||||
@@ -326,6 +364,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
|||||||
EVT_MENU(DIALOGS_FILE_SAVE, MyFrame::FileSave)
|
EVT_MENU(DIALOGS_FILE_SAVE, MyFrame::FileSave)
|
||||||
EVT_MENU(DIALOGS_DIR_CHOOSE, MyFrame::DirChoose)
|
EVT_MENU(DIALOGS_DIR_CHOOSE, MyFrame::DirChoose)
|
||||||
EVT_MENU(DIALOGS_TIP, MyFrame::ShowTip)
|
EVT_MENU(DIALOGS_TIP, MyFrame::ShowTip)
|
||||||
|
EVT_MENU(DIALOGS_EXT_DIALOG, MyFrame::ExtDialog)
|
||||||
#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
|
#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
|
||||||
EVT_MENU(DIALOGS_CHOOSE_COLOUR_GENERIC, MyFrame::ChooseColourGeneric)
|
EVT_MENU(DIALOGS_CHOOSE_COLOUR_GENERIC, MyFrame::ChooseColourGeneric)
|
||||||
EVT_MENU(DIALOGS_CHOOSE_FONT_GENERIC, MyFrame::ChooseFontGeneric)
|
EVT_MENU(DIALOGS_CHOOSE_FONT_GENERIC, MyFrame::ChooseFontGeneric)
|
||||||
|
@@ -27,8 +27,8 @@ class MyFrame: public wxFrame
|
|||||||
MyFrame(wxWindow *parent, const wxString& title, const wxPoint& pos,
|
MyFrame(wxWindow *parent, const wxString& title, const wxPoint& pos,
|
||||||
const wxSize& size);
|
const wxSize& size);
|
||||||
|
|
||||||
void ChooseColour(wxCommandEvent& event);
|
void ChooseColour(wxCommandEvent& event);
|
||||||
void ChooseFont(wxCommandEvent& event);
|
void ChooseFont(wxCommandEvent& event);
|
||||||
void MessageBox(wxCommandEvent& event);
|
void MessageBox(wxCommandEvent& event);
|
||||||
void SingleChoice(wxCommandEvent& event);
|
void SingleChoice(wxCommandEvent& event);
|
||||||
void TextEntry(wxCommandEvent& event);
|
void TextEntry(wxCommandEvent& event);
|
||||||
@@ -36,13 +36,15 @@ class MyFrame: public wxFrame
|
|||||||
void FileSave(wxCommandEvent& event);
|
void FileSave(wxCommandEvent& event);
|
||||||
void DirChoose(wxCommandEvent& event);
|
void DirChoose(wxCommandEvent& event);
|
||||||
void ShowTip(wxCommandEvent& event);
|
void ShowTip(wxCommandEvent& event);
|
||||||
|
void ExtDialog(wxCommandEvent &event);
|
||||||
|
|
||||||
#if !defined(__WXMSW__) || wxTEST_GENERIC_DIALOGS_IN_MSW
|
#if !defined(__WXMSW__) || wxTEST_GENERIC_DIALOGS_IN_MSW
|
||||||
void ChooseColourGeneric(wxCommandEvent& event);
|
void ChooseColourGeneric(wxCommandEvent& event);
|
||||||
void ChooseFontGeneric(wxCommandEvent& event);
|
void ChooseFontGeneric(wxCommandEvent& event);
|
||||||
#endif
|
#endif
|
||||||
void OnExit(wxCommandEvent& event);
|
void OnExit(wxCommandEvent& event);
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
|
||||||
class MyCanvas: public wxScrolledWindow
|
class MyCanvas: public wxScrolledWindow
|
||||||
@@ -69,6 +71,7 @@ DECLARE_EVENT_TABLE()
|
|||||||
#define DIALOGS_FILE_SAVE 9
|
#define DIALOGS_FILE_SAVE 9
|
||||||
#define DIALOGS_DIR_CHOOSE 10
|
#define DIALOGS_DIR_CHOOSE 10
|
||||||
#define DIALOGS_TIP 11
|
#define DIALOGS_TIP 11
|
||||||
|
#define DIALOGS_EXT_DIALOG 12
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -201,15 +201,15 @@ void MyApp::DoStreamDemo(wxCommandEvent& WXUNUSED(event))
|
|||||||
file_output.SeekO( 0 );
|
file_output.SeekO( 0 );
|
||||||
wxDataOutputStream data_output( file_output );
|
wxDataOutputStream data_output( file_output );
|
||||||
|
|
||||||
wxInt32 i32 = 0xFFFFFFFF;
|
wxInt16 i16 = 0xFFFF;
|
||||||
tmp.Printf( "Signed int32: %d\n", i32 );
|
tmp.Printf( "Signed int16: %d\n", (int)i16 );
|
||||||
textCtrl.WriteText( tmp );
|
textCtrl.WriteText( tmp );
|
||||||
data_output.Write32( i32 );
|
data_output.Write16( i16 );
|
||||||
|
|
||||||
wxUint32 ui32 = 0xFFFFFFFF;
|
wxUint16 ui16 = 0xFFFF;
|
||||||
tmp.Printf( "Unsigned int32: %u\n", ui32 );
|
tmp.Printf( "Unsigned int16: %u\n", (unsigned int) ui16 );
|
||||||
textCtrl.WriteText( tmp );
|
textCtrl.WriteText( tmp );
|
||||||
data_output.Write32( ui32 );
|
data_output.Write16( ui16 );
|
||||||
|
|
||||||
d = 2.01234567890123456789;
|
d = 2.01234567890123456789;
|
||||||
tmp.Printf( "Double: %f\n", d );
|
tmp.Printf( "Double: %f\n", d );
|
||||||
@@ -228,12 +228,12 @@ void MyApp::DoStreamDemo(wxCommandEvent& WXUNUSED(event))
|
|||||||
file_input.SeekI( 0 );
|
file_input.SeekI( 0 );
|
||||||
wxDataInputStream data_input( file_input );
|
wxDataInputStream data_input( file_input );
|
||||||
|
|
||||||
i32 = data_input.Read32();
|
i16 = data_input.Read16();
|
||||||
tmp.Printf( "Signed int32: %d\n", i32 );
|
tmp.Printf( "Signed int16: %d\n", (int)i16 );
|
||||||
textCtrl.WriteText( tmp );
|
textCtrl.WriteText( tmp );
|
||||||
|
|
||||||
ui32 = data_input.Read32();
|
ui16 = data_input.Read16();
|
||||||
tmp.Printf( "Unsigned int32: %u\n", ui32 );
|
tmp.Printf( "Unsigned int16: %u\n", (unsigned int) ui16 );
|
||||||
textCtrl.WriteText( tmp );
|
textCtrl.WriteText( tmp );
|
||||||
|
|
||||||
d = data_input.ReadDouble();
|
d = data_input.ReadDouble();
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = 1.3 no-dependencies
|
||||||
|
|
||||||
SUFFIXES = .cpp
|
SUFFIXES = .cpp
|
||||||
|
|
||||||
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
|
||||||
|
360
src/generic/extdlgg.cpp
Normal file
360
src/generic/extdlgg.cpp
Normal file
@@ -0,0 +1,360 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: extdlgg.cpp
|
||||||
|
// Purpose: extended generic dialog
|
||||||
|
// Author: Robert Roebling
|
||||||
|
// Modified by:
|
||||||
|
// Created: 04/01/98
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Robert Roebling
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma implementation "extdlgg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For compilers that support precompilation, includes "wx.h".
|
||||||
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
|
#ifdef __BORLANDC__
|
||||||
|
#pragma hdrstop
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef WX_PRECOMP
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "wx/intl.h"
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
#include "wx/button.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if wxUSE_STATLINE
|
||||||
|
#include "wx/statline.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/generic/extdlgg.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxExtDialog
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#define STATIC_LINE_MARGIN 15
|
||||||
|
#define CLIENT_AREA_MARGIN 10
|
||||||
|
#define BUTTON_AREA_MARGIN 10
|
||||||
|
|
||||||
|
#if !USE_SHARED_LIBRARY
|
||||||
|
IMPLEMENT_DYNAMIC_CLASS(wxExtDialog, wxDialog)
|
||||||
|
|
||||||
|
BEGIN_EVENT_TABLE(wxExtDialog, wxDialog)
|
||||||
|
EVT_SIZE(wxExtDialog::OnSize)
|
||||||
|
EVT_BUTTON(wxID_YES, wxExtDialog::OnYes)
|
||||||
|
EVT_BUTTON(wxID_NO, wxExtDialog::OnNo)
|
||||||
|
EVT_BUTTON(wxID_CANCEL, wxExtDialog::OnCancel)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
wxExtDialog::wxExtDialog( wxWindow *parent, wxWindowID id,
|
||||||
|
const wxString& title, long extraStyle,
|
||||||
|
const wxPoint& pos, const wxSize& size,
|
||||||
|
long style, const wxString &name )
|
||||||
|
{
|
||||||
|
Create( parent, id, title, extraStyle, pos, size, style, name );
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxExtDialog::Create( wxWindow *parent, wxWindowID id,
|
||||||
|
const wxString& title, long extraStyle,
|
||||||
|
const wxPoint& pos, const wxSize& size,
|
||||||
|
long style, const wxString &name )
|
||||||
|
{
|
||||||
|
if (!wxDialog::Create( parent, id, title, pos, size, style, name ))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
m_extraStyle = extraStyle;
|
||||||
|
|
||||||
|
wxButton *ok = (wxButton *) NULL;
|
||||||
|
wxButton *cancel = (wxButton *) NULL;
|
||||||
|
wxButton *yes = (wxButton *) NULL;
|
||||||
|
wxButton *no = (wxButton *) NULL;
|
||||||
|
|
||||||
|
|
||||||
|
if (m_extraStyle & wxYES_NO)
|
||||||
|
{
|
||||||
|
yes = new wxButton( this, wxID_YES, _("Yes") );
|
||||||
|
m_buttons.Append( yes );
|
||||||
|
no = new wxButton( this, wxID_NO, _("No") );
|
||||||
|
m_buttons.Append( no );
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_extraStyle & wxYES)
|
||||||
|
{
|
||||||
|
yes = new wxButton( this, wxID_YES, _("Yes") );
|
||||||
|
m_buttons.Append( yes );
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_extraStyle & wxNO)
|
||||||
|
{
|
||||||
|
no = new wxButton( this, wxID_NO, _("No") );
|
||||||
|
m_buttons.Append( no );
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_extraStyle & wxOK)
|
||||||
|
{
|
||||||
|
ok = new wxButton( this, wxID_OK, _("OK") );
|
||||||
|
m_buttons.Append( ok );
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_extraStyle & wxFORWARD)
|
||||||
|
AddButton( new wxButton( this, wxID_FORWARD, _("Forward") ) );
|
||||||
|
|
||||||
|
if (m_extraStyle & wxBACKWARD)
|
||||||
|
AddButton( new wxButton( this, wxID_BACKWARD, _("Backward") ) );
|
||||||
|
|
||||||
|
if (m_extraStyle & wxSETUP)
|
||||||
|
AddButton( new wxButton( this, wxID_SETUP, _("Setup") ) );
|
||||||
|
|
||||||
|
if (m_extraStyle & wxMORE)
|
||||||
|
AddButton( new wxButton( this, wxID_MORE, _("More..") ) );
|
||||||
|
|
||||||
|
if (m_extraStyle & wxCANCEL)
|
||||||
|
{
|
||||||
|
cancel = new wxButton( this, wxID_CANCEL, _("Cancel") );
|
||||||
|
m_buttons.Append( cancel );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((m_extraStyle & wxNO_DEFAULT) == 0)
|
||||||
|
{
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
ok->SetDefault();
|
||||||
|
ok->SetFocus();
|
||||||
|
}
|
||||||
|
else if (yes)
|
||||||
|
{
|
||||||
|
yes->SetDefault();
|
||||||
|
yes->SetFocus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#if wxUSE_STATLINE
|
||||||
|
if (style & wxED_STATIC_LINE)
|
||||||
|
{
|
||||||
|
int line_style = wxLI_HORIZONTAL;
|
||||||
|
if (style & wxED_BUTTONS_RIGHT) line_style = wxLI_VERTICAL;
|
||||||
|
|
||||||
|
m_statLine = new wxStaticLine( this, -1, wxDefaultPosition, wxDefaultSize, line_style );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_statLine = (wxStaticLine*) NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (m_extraStyle & wxCENTRE)
|
||||||
|
Centre( wxBOTH );
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxExtDialog::AddButton( wxButton *button )
|
||||||
|
{
|
||||||
|
m_buttons.Append( button );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxExtDialog::SetDefaultButton( wxWindowID button )
|
||||||
|
{
|
||||||
|
wxNode *node = m_buttons.First();
|
||||||
|
while (node)
|
||||||
|
{
|
||||||
|
wxButton *but = (wxButton*) node->Data();
|
||||||
|
if (but->GetId() == button)
|
||||||
|
{
|
||||||
|
but->SetDefault();
|
||||||
|
but->SetFocus();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxExtDialog::EnableButton( wxWindowID button, bool enable )
|
||||||
|
{
|
||||||
|
wxNode *node = m_buttons.First();
|
||||||
|
while (node)
|
||||||
|
{
|
||||||
|
wxButton *but = (wxButton*) node->Data();
|
||||||
|
if (but->GetId() == button)
|
||||||
|
{
|
||||||
|
but->Enable(enable);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxExtDialog::ButtonIsEnabled( wxWindowID button )
|
||||||
|
{
|
||||||
|
wxNode *node = m_buttons.First();
|
||||||
|
while (node)
|
||||||
|
{
|
||||||
|
wxButton *but = (wxButton*) node->Data();
|
||||||
|
if (but->GetId() == button)
|
||||||
|
return but->IsEnabled();
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxExtDialog::OnSize( wxSizeEvent &WXUNUSED(event) )
|
||||||
|
{
|
||||||
|
wxSize client_size( GetClientSize() );
|
||||||
|
wxSize button_area( LayoutButtons() );
|
||||||
|
|
||||||
|
if (HasFlag(wxED_BUTTONS_RIGHT))
|
||||||
|
client_size.x -= button_area.x;
|
||||||
|
else
|
||||||
|
client_size.y -= button_area.y;
|
||||||
|
|
||||||
|
if (m_clientWindow)
|
||||||
|
{
|
||||||
|
if (m_windowStyle & wxED_CLIENT_MARGIN)
|
||||||
|
m_clientWindow->SetSize( CLIENT_AREA_MARGIN,
|
||||||
|
CLIENT_AREA_MARGIN,
|
||||||
|
client_size.x - 2*CLIENT_AREA_MARGIN,
|
||||||
|
client_size.y - 2*CLIENT_AREA_MARGIN );
|
||||||
|
else
|
||||||
|
m_clientWindow->SetSize( 0, 0, client_size.x, client_size.y );
|
||||||
|
|
||||||
|
if (m_clientWindow->GetAutoLayout())
|
||||||
|
m_clientWindow->Layout();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxExtDialog::OnYes(wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
EndModal( wxID_YES );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxExtDialog::OnNo(wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
EndModal( wxID_NO );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxExtDialog::OnCancel(wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
/* allow cancellation via ESC/Close button except if
|
||||||
|
only YES and NO are specified. */
|
||||||
|
if ((m_extraStyle & wxYES_NO) != wxYES_NO || (m_extraStyle & wxCANCEL))
|
||||||
|
{
|
||||||
|
EndModal( wxID_CANCEL );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
wxSize wxExtDialog::GetButtonAreaSize()
|
||||||
|
{
|
||||||
|
if (m_buttons.GetCount() == 0) return wxSize(0,0);
|
||||||
|
|
||||||
|
wxSize ret(0,0);
|
||||||
|
|
||||||
|
// this routine can be improved to measure the string length
|
||||||
|
// of the button text or the bitmap size if using wxBmpButton
|
||||||
|
// or to query the standard button size somehow.
|
||||||
|
|
||||||
|
int button_size_and_margin_x = 110;
|
||||||
|
int button_size_and_margin_y = 44;
|
||||||
|
|
||||||
|
if (m_windowStyle & wxED_BUTTONS_RIGHT)
|
||||||
|
{
|
||||||
|
ret.x = button_size_and_margin_x;
|
||||||
|
ret.y = m_buttons.GetCount()*button_size_and_margin_y + 2*BUTTON_AREA_MARGIN;
|
||||||
|
#if wxUSE_STATLINE
|
||||||
|
if (m_statLine)
|
||||||
|
ret.x += STATIC_LINE_MARGIN;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret.x = m_buttons.GetCount()*button_size_and_margin_x + 2*BUTTON_AREA_MARGIN;
|
||||||
|
ret.y = button_size_and_margin_y;
|
||||||
|
#if wxUSE_STATLINE
|
||||||
|
if (m_statLine)
|
||||||
|
ret.y += STATIC_LINE_MARGIN;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxSize wxExtDialog::LayoutButtons()
|
||||||
|
{
|
||||||
|
if (m_buttons.GetCount() == 0) return wxSize(0,0);
|
||||||
|
|
||||||
|
wxSize area_used( GetButtonAreaSize() );
|
||||||
|
wxSize client_area( GetClientSize() );
|
||||||
|
|
||||||
|
if (m_windowStyle & wxED_BUTTONS_RIGHT)
|
||||||
|
{
|
||||||
|
area_used.y = client_area.y;
|
||||||
|
|
||||||
|
int space_for_each_button = (client_area.y-2*BUTTON_AREA_MARGIN) / m_buttons.GetCount();
|
||||||
|
int n = 0;
|
||||||
|
wxNode *node = m_buttons.First();
|
||||||
|
while (node)
|
||||||
|
{
|
||||||
|
wxButton *button = (wxButton*)node->Data();
|
||||||
|
|
||||||
|
wxSize button_size( button->GetSize() );
|
||||||
|
if (button_size.x < 80) button_size.x = 80;
|
||||||
|
|
||||||
|
int center_of_button_y = n*space_for_each_button + space_for_each_button/2;
|
||||||
|
int button_y = BUTTON_AREA_MARGIN + center_of_button_y - button_size.y/2;
|
||||||
|
|
||||||
|
int center_of_button_x = client_area.x - area_used.x/2;
|
||||||
|
int button_x = center_of_button_x - button_size.x/2;
|
||||||
|
|
||||||
|
button->SetSize( button_x, button_y, button_size.x, button_size.y );
|
||||||
|
|
||||||
|
node = node->Next();
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if wxUSE_STATLINE
|
||||||
|
if (m_statLine)
|
||||||
|
m_statLine->SetSize( client_area.x - area_used.x,
|
||||||
|
0,
|
||||||
|
wxStaticLine::GetDefaultSize(),
|
||||||
|
client_area.y );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
area_used.x = client_area.x;
|
||||||
|
|
||||||
|
int space_for_each_button = (client_area.x-2*BUTTON_AREA_MARGIN) / m_buttons.GetCount();
|
||||||
|
int n = 0;
|
||||||
|
wxNode *node = m_buttons.First();
|
||||||
|
while (node)
|
||||||
|
{
|
||||||
|
wxButton *button = (wxButton*)node->Data();
|
||||||
|
|
||||||
|
wxSize button_size( button->GetSize() );
|
||||||
|
if (button_size.x < 80) button_size.x = 80;
|
||||||
|
|
||||||
|
int center_of_button_x = n*space_for_each_button + space_for_each_button/2;
|
||||||
|
int button_x = BUTTON_AREA_MARGIN + center_of_button_x - button_size.x/2;
|
||||||
|
|
||||||
|
int center_of_button_y = client_area.y - area_used.y/2;
|
||||||
|
int button_y = center_of_button_y - button_size.y/2;
|
||||||
|
|
||||||
|
button->SetSize( button_x, button_y, button_size.x, button_size.y );
|
||||||
|
|
||||||
|
node = node->Next();
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if wxUSE_STATLINE
|
||||||
|
if (m_statLine)
|
||||||
|
m_statLine->SetSize( 0,
|
||||||
|
client_area.y - area_used.y,
|
||||||
|
client_area.x,
|
||||||
|
wxStaticLine::GetDefaultSize() );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
return area_used;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@@ -108,6 +108,7 @@ libwx_gtk_la_SOURCES = \
|
|||||||
colrdlgg.cpp \
|
colrdlgg.cpp \
|
||||||
dcpsg.cpp \
|
dcpsg.cpp \
|
||||||
dirdlgg.cpp \
|
dirdlgg.cpp \
|
||||||
|
extdlgg.cpp \
|
||||||
fontdlgg.cpp \
|
fontdlgg.cpp \
|
||||||
gridg.cpp \
|
gridg.cpp \
|
||||||
helpext.cpp \
|
helpext.cpp \
|
||||||
|
@@ -108,6 +108,7 @@ libwx_gtk_la_SOURCES = \
|
|||||||
colrdlgg.cpp \
|
colrdlgg.cpp \
|
||||||
dcpsg.cpp \
|
dcpsg.cpp \
|
||||||
dirdlgg.cpp \
|
dirdlgg.cpp \
|
||||||
|
extdlgg.cpp \
|
||||||
fontdlgg.cpp \
|
fontdlgg.cpp \
|
||||||
gridg.cpp \
|
gridg.cpp \
|
||||||
helpext.cpp \
|
helpext.cpp \
|
||||||
|
Reference in New Issue
Block a user