dynlib.h \
event.h \
expr.h \
+ extdlg.h \
file.h \
fileconf.h \
filedlg.h \
// Callback function type definition
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
// ----------------------------------------------------------------------------
#if !defined(__WXMSW__) && !defined(__WXMAC__) && !defined(__WXOS2__)
#if defined(SIZEOF_INT)
- typedef short signed wxInt16;
- typedef short unsigned wxUint16;
- typedef int signed wxInt32;
- typedef int unsigned wxUint32;
+ /* well, this shouldn't happen... */
+ typedef short signed wxInt16;
+ typedef short unsigned wxUint16;
+ typedef int signed wxInt32;
+ typedef int unsigned wxUint32;
#else
typedef short signed wxInt16;
typedef short unsigned wxUint16;
/*
* Window (Frame/dialog/subwindow/panel item) style flags
*/
-#define wxVSCROLL 0x80000000
-#define wxHSCROLL 0x40000000
-#define wxCAPTION 0x20000000
+#define wxVSCROLL 0x80000000
+#define wxHSCROLL 0x40000000
+#define wxCAPTION 0x20000000
// New styles
-#define wxDOUBLE_BORDER 0x10000000
-#define wxSUNKEN_BORDER 0x08000000
-#define wxRAISED_BORDER 0x04000000
-#define wxBORDER 0x02000000
-#define wxSIMPLE_BORDER wxBORDER
-#define wxSTATIC_BORDER 0x01000000
-#define wxTRANSPARENT_WINDOW 0x00100000
-#define wxNO_BORDER 0x00200000
-
-#define wxUSER_COLOURS 0x00800000
+#define wxDOUBLE_BORDER 0x10000000
+#define wxSUNKEN_BORDER 0x08000000
+#define wxRAISED_BORDER 0x04000000
+#define wxBORDER 0x02000000
+#define wxSIMPLE_BORDER wxBORDER
+#define wxSTATIC_BORDER 0x01000000
+#define wxTRANSPARENT_WINDOW 0x00100000
+#define wxNO_BORDER 0x00200000
+
+#define wxUSER_COLOURS 0x00800000
// Override CTL3D etc. control colour processing to
// allow own background colour
// OBSOLETE - use wxNO_3D instead
-#define wxNO_3D 0x00800000
+#define wxNO_3D 0x00800000
// Override CTL3D or native 3D styles for children
-#define wxCLIP_CHILDREN 0x00400000
+#define wxCLIP_CHILDREN 0x00400000
// Clip children when painting, which reduces flicker in
// e.g. frames and splitter windows, but can't be used in
// a panel where a static box must be 'transparent' (panel
// Add this style to a panel to get tab traversal working
// outside of dialogs.
-#define wxTAB_TRAVERSAL 0x00080000
+#define wxTAB_TRAVERSAL 0x00080000
// Add this style if the control wants to get all keyboard messages (under
// Windows, it won't normally get the dialog navigation key events)
-#define wxWANTS_CHARS 0x00040000
-
-// Orientations
-enum wxOrientation
-{
- wxHORIZONTAL = 0x01,
- wxVERTICAL = 0x02,
- wxBOTH = (wxVERTICAL | wxHORIZONTAL)
-};
+#define wxWANTS_CHARS 0x00040000
-#define wxCENTER_FRAME 0x04 /* centering into frame rather than screen */
+// Make window retained (mostly Motif, I think)
+#define wxRETAINED 0x0002000
+#define wxBACKINGSTORE wxRETAINED
/*
- * Frame/dialog style flags
+ * wxFrame/wxDialog style flags
*/
#define wxSTAY_ON_TOP 0x8000
#define wxICONIZE 0x4000
#define wxRESIZE_BORDER 0x0040
#define wxDIALOG_MODAL 0x0020
#define wxDIALOG_MODELESS 0x0000
-/* Add for normal Windows frame behaviour */
+// Add for normal Windows frame behaviour
#define wxFRAME_FLOAT_ON_PARENT 0x0020
#define wxDEFAULT_FRAME wxDEFAULT_FRAME_STYLE
#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__
# define wxDEFAULT_DIALOG_STYLE (wxSYSTEM_MENU|wxCAPTION|wxTHICK_FRAME)
# define wxDEFAULT_DIALOG_STYLE (wxCAPTION)
#endif
-
/*
- * Subwindow style flags
+ * wxExtDialog style flags
*/
-#define wxRETAINED 0x0001
-#define wxBACKINGSTORE wxRETAINED
-// wxCanvas or wxPanel can optionally have a thick frame under MS Windows.
-// #define wxTHICK_FRAME 0x1000
+#define wxED_CLIENT_MARGIN 0x0004
+#define wxED_BUTTONS_BOTTOM 0x0000 // has no effect
+#define wxED_BUTTONS_RIGHT 0x0002
+#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
*/
-#define wxTB_3DBUTTONS 0x8000
-#define wxTB_HORIZONTAL 0x0002
-#define wxTB_VERTICAL 0x0004
+#define wxTB_3DBUTTONS 0x8000
+#define wxTB_HORIZONTAL 0x0002
+#define wxTB_VERTICAL 0x0004
// Flatbar/Coolbar under Win98/ GTK 1.2
-#define wxTB_FLAT 0x0008
+#define wxTB_FLAT 0x0008
// use native docking under GTK
-#define wxTB_DOCKABLE 0x0010
+#define wxTB_DOCKABLE 0x0010
/*
* wxMenuBar style flags
/*
* wxRadioBox/wxRadioButton style flags
*/
-
+
// New, more intuitive names to specify majorDim argument
-
// Same as wxRA_HORIZONTAL
#define wxRA_SPECIFY_COLS 0x0001
// Same as wxRA_VERTICAL
#define wxGA_PROGRESSBAR 0x0004
#define wxGA_HORIZONTAL wxHORIZONTAL
#define wxGA_VERTICAL wxVERTICAL
-/* Windows only */
+// Windows only
#define wxGA_SMOOTH 0x0008
/*
/*
* wxSpinButton flags
*/
-
#define wxSP_VERTICAL 0x0004
#define wxSP_HORIZONTAL 0x0008
#define wxSP_ARROW_KEYS 0x0010
/*
* wxSplitterWindow flags
*/
-
#define wxSP_NOBORDER 0x0000
#define wxSP_3D 0x0004
#define wxSP_BORDER 0x0008
/*
* wxFrame extra flags
*/
-
// No title on taskbar
#define wxFRAME_TOOL_WINDOW 0x0004
/*
* wxTabCtrl flags
*/
-
-#define wxTC_MULTILINE 0x0000
-#define wxTC_RIGHTJUSTIFY 0x0004
-#define wxTC_FIXEDWIDTH 0x0008
-#define wxTC_OWNERDRAW 0x0010
+#define wxTC_MULTILINE 0x0000
+#define wxTC_RIGHTJUSTIFY 0x0004
+#define wxTC_FIXEDWIDTH 0x0008
+#define wxTC_OWNERDRAW 0x0010
/*
* wxNotebook flags
*/
-#define wxNB_FIXEDWIDTH 0x0008
+#define wxNB_FIXEDWIDTH 0x0008
/*
* wxStatusBar95 flags
*/
-
-#define wxST_SIZEGRIP 0x0002
+#define wxST_SIZEGRIP 0x0002
/*
* wxStaticLine flags
*/
-#define wxLI_HORIZONTAL wxHORIZONTAL
-#define wxLI_VERTICAL wxVERTICAL
+#define wxLI_HORIZONTAL wxHORIZONTAL
+#define wxLI_VERTICAL wxVERTICAL
/*
* wxProgressDialog flags
*/
-#define wxPD_CAN_ABORT 0x0001
-#define wxPD_APP_MODAL 0x0002
-#define wxPD_AUTO_HIDE 0x0004
-#define wxPD_ELAPSED_TIME 0x0008
-#define wxPD_ESTIMATED_TIME 0x0010
-#define wxPD_REMAINING_TIME 0x0020
+#define wxPD_CAN_ABORT 0x0001
+#define wxPD_APP_MODAL 0x0002
+#define wxPD_AUTO_HIDE 0x0004
+#define wxPD_ELAPSED_TIME 0x0008
+#define wxPD_ESTIMATED_TIME 0x0010
+#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 {
// Text font families
wxSRC_AND // source _bitmap_ AND destination
} form_ops_t;
-// Flood styles
+/* Flood styles */
#define wxFLOOD_SURFACE 1
#define wxFLOOD_BORDER 2
-// Polygon filling mode
+/* Polygon filling mode */
#define wxODDEVEN_RULE 1
#define wxWINDING_RULE 2
-// ToolPanel in wxFrame
+/* ToolPanel in wxFrame */
#define wxTOOL_TOP 1
#define wxTOOL_BOTTOM 2
#define wxTOOL_LEFT 3
#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
{
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)
#define wxMM_TEXT 1
#define wxMM_LOMETRIC 2
wxPRINT_MODE_PRINTER = 3 // Send to printer
} 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__
// Stand-ins for Windows types, to avoid #including all of windows.h
--- /dev/null
+#ifndef _WX_EXTDLG_H_BASE_
+#define _WX_EXTDLG_H_BASE_
+
+#include "wx/generic/extdlgg.h"
+
+#endif
+ // _WX_EXTDLG_H_BASE_
colrdlgg.h \
dcpsg.h \
dirdlgg.h \
+ extdlgg.h \
fontdlgg.h \
gridg.h \
helpext.h \
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// 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
#define wxGRID_DEFAULT_VERTICAL_LABEL_WIDTH 40
#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
class WXDLLEXPORT wxGridEvent;
void OnCancel(wxCommandEvent& event);
private:
- wxList m_buttons;
int m_dialogStyle;
DECLARE_EVENT_TABLE()
/* XPM */
-static char *info[] = {
+static char *info_xpm[] = {
/* columns rows colors chars-per-pixel */
"48 48 478 2",
" c Gray0",
#define __GTKSTATICLINEH__
#ifdef __GNUG__
- #pragma interface
+#pragma interface
#endif
-#if !wxUSE_STATLINE
- #error "This file should only be included if wxUSE_STATLINE == 1"
-#endif
+#include "wx/defs.h"
+
+#if wxUSE_STATLINE
#include "wx/object.h"
#include "wx/list.h"
long style = wxLI_HORIZONTAL, const wxString &name = wxStaticTextNameStr );
};
-#endif // __GTKSTATICLINEH__
+#endif
+ // wxUSE_STATLINE
+
+#endif
+ // __GTKSTATICLINEH__
/* XPM */
-static char *info[] = {
+static char *info_xpm[] = {
/* columns rows colors chars-per-pixel */
"48 48 478 2",
" c Gray0",
#define __GTKSTATICLINEH__
#ifdef __GNUG__
- #pragma interface
+#pragma interface
#endif
-#if !wxUSE_STATLINE
- #error "This file should only be included if wxUSE_STATLINE == 1"
-#endif
+#include "wx/defs.h"
+
+#if wxUSE_STATLINE
#include "wx/object.h"
#include "wx/list.h"
long style = wxLI_HORIZONTAL, const wxString &name = wxStaticTextNameStr );
};
-#endif // __GTKSTATICLINEH__
+#endif
+ // wxUSE_STATLINE
+
+#endif
+ // __GTKSTATICLINEH__
#include "wx/wx.h"
#endif
-#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/colordlg.h"
+#include "wx/filedlg.h"
+#include "wx/dirdlg.h"
+#include "wx/fontdlg.h"
+#include "wx/choicdlg.h"
+#include "wx/tipdlg.h"
+#include "wx/extdlg.h"
#define wxTEST_GENERIC_DIALOGS_IN_MSW 0
file_menu->Append(DIALOGS_MESSAGE_BOX, "&Message box");
file_menu->Append(DIALOGS_TEXT_ENTRY, "Text &entry");
file_menu->Append(DIALOGS_SINGLE_CHOICE, "&Single choice");
+ file_menu->Append(DIALOGS_EXT_DIALOG, "&Extended dialog");
file_menu->AppendSeparator();
file_menu->Append(DIALOGS_TIP, "&Tip of the day");
file_menu->AppendSeparator();
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) )
{
wxColourData data;
EVT_MENU(DIALOGS_FILE_SAVE, MyFrame::FileSave)
EVT_MENU(DIALOGS_DIR_CHOOSE, MyFrame::DirChoose)
EVT_MENU(DIALOGS_TIP, MyFrame::ShowTip)
+ EVT_MENU(DIALOGS_EXT_DIALOG, MyFrame::ExtDialog)
#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
EVT_MENU(DIALOGS_CHOOSE_COLOUR_GENERIC, MyFrame::ChooseColourGeneric)
EVT_MENU(DIALOGS_CHOOSE_FONT_GENERIC, MyFrame::ChooseFontGeneric)
MyFrame(wxWindow *parent, const wxString& title, const wxPoint& pos,
const wxSize& size);
- void ChooseColour(wxCommandEvent& event);
- void ChooseFont(wxCommandEvent& event);
+ void ChooseColour(wxCommandEvent& event);
+ void ChooseFont(wxCommandEvent& event);
void MessageBox(wxCommandEvent& event);
void SingleChoice(wxCommandEvent& event);
void TextEntry(wxCommandEvent& event);
void FileSave(wxCommandEvent& event);
void DirChoose(wxCommandEvent& event);
void ShowTip(wxCommandEvent& event);
+ void ExtDialog(wxCommandEvent &event);
#if !defined(__WXMSW__) || wxTEST_GENERIC_DIALOGS_IN_MSW
- void ChooseColourGeneric(wxCommandEvent& event);
- void ChooseFontGeneric(wxCommandEvent& event);
+ void ChooseColourGeneric(wxCommandEvent& event);
+ void ChooseFontGeneric(wxCommandEvent& event);
#endif
- void OnExit(wxCommandEvent& event);
-DECLARE_EVENT_TABLE()
+ void OnExit(wxCommandEvent& event);
+
+ DECLARE_EVENT_TABLE()
};
class MyCanvas: public wxScrolledWindow
#define DIALOGS_FILE_SAVE 9
#define DIALOGS_DIR_CHOOSE 10
#define DIALOGS_TIP 11
+#define DIALOGS_EXT_DIALOG 12
#endif
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
file_output.SeekO( 0 );
wxDataOutputStream data_output( file_output );
- wxInt32 i32 = 0xFFFFFFFF;
- tmp.Printf( "Signed int32: %d\n", i32 );
+ wxInt16 i16 = 0xFFFF;
+ tmp.Printf( "Signed int16: %d\n", (int)i16 );
textCtrl.WriteText( tmp );
- data_output.Write32( i32 );
+ data_output.Write16( i16 );
- wxUint32 ui32 = 0xFFFFFFFF;
- tmp.Printf( "Unsigned int32: %u\n", ui32 );
+ wxUint16 ui16 = 0xFFFF;
+ tmp.Printf( "Unsigned int16: %u\n", (unsigned int) ui16 );
textCtrl.WriteText( tmp );
- data_output.Write32( ui32 );
+ data_output.Write16( ui16 );
d = 2.01234567890123456789;
tmp.Printf( "Double: %f\n", d );
file_input.SeekI( 0 );
wxDataInputStream data_input( file_input );
- i32 = data_input.Read32();
- tmp.Printf( "Signed int32: %d\n", i32 );
+ i16 = data_input.Read16();
+ tmp.Printf( "Signed int16: %d\n", (int)i16 );
textCtrl.WriteText( tmp );
- ui32 = data_input.Read32();
- tmp.Printf( "Unsigned int32: %u\n", ui32 );
+ ui16 = data_input.Read16();
+ tmp.Printf( "Unsigned int16: %u\n", (unsigned int) ui16 );
textCtrl.WriteText( tmp );
d = data_input.ReadDouble();
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
+AUTOMAKE_OPTIONS = 1.3 no-dependencies
+
SUFFIXES = .cpp
DEFS = @DEFS@ $(TOOLKIT_DEF) $(WXDEBUG_DEFINE)
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// 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;
+}
+
+
colrdlgg.cpp \
dcpsg.cpp \
dirdlgg.cpp \
+ extdlgg.cpp \
fontdlgg.cpp \
gridg.cpp \
helpext.cpp \
colrdlgg.cpp \
dcpsg.cpp \
dirdlgg.cpp \
+ extdlgg.cpp \
fontdlgg.cpp \
gridg.cpp \
helpext.cpp \