Header changes (gtk.h etc no longer included in defs.h

but in *.cpp to speed up compilation (?) )


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1999-01-02 19:13:25 +00:00
parent 9a29912f60
commit 83624f7960
104 changed files with 1648 additions and 2454 deletions

View File

@@ -16,15 +16,6 @@
#pragma interface "defs.h" #pragma interface "defs.h"
#endif #endif
#ifdef __WXGTK__
#include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h"
#endif
#include <stddef.h> #include <stddef.h>
#include "wx/setup.h" #include "wx/setup.h"
@@ -664,7 +655,8 @@ enum {
// Logical ops // Logical ops
typedef enum { typedef enum
{
wxCLEAR, // 0 wxCLEAR, // 0
wxXOR, // src XOR dst wxXOR, // src XOR dst
wxINVERT, // NOT dst wxINVERT, // NOT dst
@@ -736,8 +728,8 @@ typedef enum {
#define wxSIZE_NO_ADJUSTMENTS 0x0008 #define wxSIZE_NO_ADJUSTMENTS 0x0008
// Data format for drag & drop and clipboard operations /* Data format for drag & drop and clipboard operations
// numbers as per winuser.h * numbers as per winuser.h */
enum wxDataFormat enum wxDataFormat
{ {
@@ -750,9 +742,10 @@ enum wxDataFormat
wxDF_PRIVATE = 20 wxDF_PRIVATE = 20
}; };
// Virtual keycodes /* Virtual keycodes */
enum wxKeyCode { enum wxKeyCode
{
WXK_BACK = 8, WXK_BACK = 8,
WXK_TAB = 9, WXK_TAB = 9,
WXK_RETURN = 13, WXK_RETURN = 13,
@@ -771,8 +764,8 @@ enum wxKeyCode {
WXK_MENU, WXK_MENU,
WXK_PAUSE, WXK_PAUSE,
WXK_CAPITAL, WXK_CAPITAL,
WXK_PRIOR, // Page up WXK_PRIOR, /* Page up */
WXK_NEXT, // Page down WXK_NEXT, /* Page down */
WXK_END, WXK_END,
WXK_HOME, WXK_HOME,
WXK_LEFT, WXK_LEFT,
@@ -831,37 +824,36 @@ enum wxKeyCode {
WXK_PAGEDOWN WXK_PAGEDOWN
}; };
// Colours - see wx_gdi.cc for database /* OS mnemonics -- Identify the running OS (useful for Windows)
* [Not all platforms are currently available or supported] */
// OS mnemonics -- Identify the running OS (useful for Windows) enum
// [Not all platforms are currently available or supported] {
enum {
wxUNKNOWN_PLATFORM, wxUNKNOWN_PLATFORM,
wxCURSES, // Text-only CURSES wxCURSES, /* Text-only CURSES */
wxXVIEW_X, // Sun's XView OpenLOOK toolkit wxXVIEW_X, /* Sun's XView OpenLOOK toolkit */
wxMOTIF_X, // OSF Motif 1.x.x wxMOTIF_X, /* OSF Motif 1.x.x */
wxCOSE_X, // OSF Common Desktop Environment wxCOSE_X, /* OSF Common Desktop Environment */
wxNEXTSTEP, // NeXTStep wxNEXTSTEP, /* NeXTStep */
wxMACINTOSH, // Apple System 7 wxMACINTOSH, /* Apple System 7 */
wxGTK, // GTK wxGTK, /* GTK */
wxQT, // Qt wxQT, /* Qt */
wxGEOS, // GEOS wxGEOS, /* GEOS */
wxOS2_PM, // OS/2 Workplace wxOS2_PM, /* OS/2 Workplace */
wxWINDOWS, // Windows or WfW wxWINDOWS, /* Windows or WfW */
wxPENWINDOWS, // Windows for Pen Computing wxPENWINDOWS, /* Windows for Pen Computing */
wxWINDOWS_NT, // Windows NT wxWINDOWS_NT, /* Windows NT */
wxWIN32S, // Windows 32S API wxWIN32S, /* Windows 32S API */
wxWIN95, // Windows 95 wxWIN95, /* Windows 95 */
wxWIN386 // Watcom 32-bit supervisor modus wxWIN386 /* Watcom 32-bit supervisor modus */
}; };
// Printing /* Printing */
#ifndef wxPORTRAIT #ifndef wxPORTRAIT
#define wxPORTRAIT 1 #define wxPORTRAIT 1
#define wxLANDSCAPE 2 #define wxLANDSCAPE 2
#endif #endif
// Standard menu identifiers /* Standard menu identifiers */
#define wxID_OPEN 5000 #define wxID_OPEN 5000
#define wxID_CLOSE 5001 #define wxID_CLOSE 5001
#define wxID_NEW 5002 #define wxID_NEW 5002
@@ -908,13 +900,12 @@ enum {
#define wxID_HIGHEST 5999 #define wxID_HIGHEST 5999
// Shortcut for easier dialog-unit-to-pixel conversion /* Shortcut for easier dialog-unit-to-pixel conversion */
#define wxDLG_UNIT(parent, pt) parent->ConvertDialogToPixels(pt) #define wxDLG_UNIT(parent, pt) parent->ConvertDialogToPixels(pt)
#ifdef __WXMSW__ #ifdef __WXMSW__
// Stand-ins for Windows types, to avoid /* Stand-ins for Windows types, to avoid
// #including all of windows.h * #including all of windows.h */
typedef unsigned long WXHWND; typedef unsigned long WXHWND;
typedef unsigned long WXHANDLE; typedef unsigned long WXHANDLE;
typedef unsigned long WXHICON; typedef unsigned long WXHICON;
@@ -956,7 +947,7 @@ typedef int (*WXFARPROC)();
#endif #endif
#ifdef __WXMOTIF__ #ifdef __WXMOTIF__
// Stand-ins for X/Xt/Motif types /* Stand-ins for X/Xt/Motif types */
typedef void* WXWindow; typedef void* WXWindow;
typedef void* WXWidget; typedef void* WXWidget;
typedef void* WXAppContext; typedef void* WXAppContext;
@@ -974,5 +965,36 @@ typedef void* WXCursor;
typedef void* WXFontList; typedef void* WXFontList;
#endif #endif
#ifdef __WXGTK__
/* Stand-ins for GLIB types */
typedef int gint;
typedef unsigned guint;
typedef unsigned long gulong;
typedef void* gpointer;
/* Stand-ins for GDK types */
typedef gulong GdkAtom;
typedef struct _GdkColor GdkColor;
typedef struct _GdkColormap GdkColormap;
typedef struct _GdkFont GdkFont;
typedef struct _GdkGC GdkGC;
typedef struct _GdkWindow GdkWindow;
typedef struct _GdkWindow GdkBitmap;
typedef struct _GdkWindow GdkPixmap;
typedef struct _GdkCursor GdkCursor;
typedef struct _GdkRegion GdkRegion;
/* Stand-ins for GTK types */
typedef struct _GtkWidget GtkWidget;
typedef struct _GtkStyle GtkStyle;
typedef struct _GtkAdjustment GtkAdjustment;
typedef struct _GtkList GtkList;
typedef struct _GtkToolbar GtkToolbar;
typedef struct _GtkNotebook GtkNotebook;
typedef struct _GtkNotebookPage GtkNotebookPage;
#endif
#endif #endif
// _WX_DEFS_H_ // _WX_DEFS_H_

View File

@@ -37,7 +37,7 @@ class wxFileDialog: public wxDialog
wxFileDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr, wxFileDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr,
const wxString& defaultDir = "", const wxString& defaultFile = "", const wxString& defaultDir = "", const wxString& defaultFile = "",
const wxString& wildCard = wxFileSelectorDefaultWildcardStr, const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0, const wxPoint& pos = wxDefaultPosition); long style = 0, const wxPoint& pos = wxDefaultPosition);
inline void SetMessage(const wxString& message) { m_message = message; } inline void SetMessage(const wxString& message) { m_message = message; }

View File

@@ -143,8 +143,8 @@ class wxToolBar: public wxControl
int m_separation; int m_separation;
wxList m_tools; wxList m_tools;
GdkColor m_fg; GdkColor *m_fg;
GdkColor m_bg; GdkColor *m_bg;
int m_xMargin; int m_xMargin;
int m_yMargin; int m_yMargin;
bool m_hasToolAlready; bool m_hasToolAlready;

View File

@@ -37,7 +37,7 @@ class wxFileDialog: public wxDialog
wxFileDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr, wxFileDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr,
const wxString& defaultDir = "", const wxString& defaultFile = "", const wxString& defaultDir = "", const wxString& defaultFile = "",
const wxString& wildCard = wxFileSelectorDefaultWildcardStr, const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0, const wxPoint& pos = wxDefaultPosition); long style = 0, const wxPoint& pos = wxDefaultPosition);
inline void SetMessage(const wxString& message) { m_message = message; } inline void SetMessage(const wxString& message) { m_message = message; }

View File

@@ -143,8 +143,8 @@ class wxToolBar: public wxControl
int m_separation; int m_separation;
wxList m_tools; wxList m_tools;
GdkColor m_fg; GdkColor *m_fg;
GdkColor m_bg; GdkColor *m_bg;
int m_xMargin; int m_xMargin;
int m_yMargin; int m_yMargin;
bool m_hasToolAlready; bool m_hasToolAlready;

View File

@@ -96,12 +96,11 @@ EXTRA_LINK = @EXTRA_LINK@
# INCLUDES # INCLUDES
WX_INCLUDES = \ WX_INCLUDES = \
$(TOOLKIT_DEF) \ $(TOOLKIT_DEF) \
-I. \
-I.. \
-I$(WXBASEDIR)/include \ -I$(WXBASEDIR)/include \
-I. \
$(GUI_TK_INCLUDE) \
-I$(WXBASEDIR)/src/zlib \ -I$(WXBASEDIR)/src/zlib \
-I$(WXBASEDIR)/src/iodbc \ -I$(WXBASEDIR)/src/iodbc \
$(GUI_TK_INCLUDE) \
$(OPENGL_INCLUDE) \ $(OPENGL_INCLUDE) \
$(X_CFLAGS) $(X_CFLAGS)

View File

@@ -25,11 +25,6 @@
#include "../png/png.h" #include "../png/png.h"
#include "wx/filefn.h" #include "wx/filefn.h"
#ifdef __WXGTK__
#include "gdk/gdkprivate.h"
#include "gdk/gdkx.h"
#endif
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxImage // wxImage
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -1247,6 +1242,10 @@ wxImage::wxImage( const wxBitmap &bitmap )
#ifdef __WXGTK__ #ifdef __WXGTK__
#include "gtk/gtk.h"
#include "gdk/gdk.h"
#include "gdk/gdkx.h"
wxBitmap wxImage::ConvertToBitmap() const wxBitmap wxImage::ConvertToBitmap() const
{ {
wxBitmap bitmap; wxBitmap bitmap;

View File

@@ -26,6 +26,11 @@
#include "unistd.h" #include "unistd.h"
#include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// global data // global data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,9 +14,11 @@
#include "wx/bitmap.h" #include "wx/bitmap.h"
#include "wx/icon.h" #include "wx/icon.h"
#include "wx/filefn.h" #include "wx/filefn.h"
#include "wx/image.h"
#include "gdk/gdk.h"
#include "gdk/gdkprivate.h" #include "gdk/gdkprivate.h"
#include "gdk/gdkx.h" #include "gdk/gdkx.h"
#include "wx/image.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxMask // wxMask

View File

@@ -13,6 +13,9 @@
#include "wx/bmpbuttn.h" #include "wx/bmpbuttn.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// classes // classes
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,8 @@
#include "wx/brush.h" #include "wx/brush.h"
#include "gdk/gdk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxBrush // wxBrush
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,9 @@
#include "wx/button.h" #include "wx/button.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// classes // classes
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/checkbox.h" #include "wx/checkbox.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,9 @@
#include "wx/checklst.h" #include "wx/checklst.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxCheckListBox // wxCheckListBox
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/choice.h" #include "wx/choice.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,10 @@
#include "wx/clipbrd.h" #include "wx/clipbrd.h"
#include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,7 @@
#include "wx/gdicmn.h" #include "wx/gdicmn.h"
#include "gdk/gdk.h"
#include "gdk/gdkprivate.h" #include "gdk/gdkprivate.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/combobox.h" #include "wx/combobox.h"
#include <wx/intl.h> #include <wx/intl.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,8 @@
#include "wx/cursor.h" #include "wx/cursor.h"
#include "gdk/gdk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxCursor // wxCursor
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -21,8 +21,7 @@
#define _MAXPATHLEN 500 #define _MAXPATHLEN 500
// Used for X resources /* Used for X resources */
#include <X11/Xlib.h> #include <X11/Xlib.h>
#include <X11/Xutil.h> #include <X11/Xutil.h>
#include <X11/Xresource.h> #include <X11/Xresource.h>
@@ -30,50 +29,49 @@
wxResourceCache *wxTheResourceCache = (wxResourceCache *) NULL; wxResourceCache *wxTheResourceCache = (wxResourceCache *) NULL;
XrmDatabase wxResourceDatabase; XrmDatabase wxResourceDatabase;
// Useful buffer, initialized in wxCommonInit /* Useful buffer, initialized in wxCommonInit */
char *wxBuffer = (char *) NULL; char *wxBuffer = (char *) NULL;
// Windows List /* Windows List */
wxList wxTopLevelWindows; wxList wxTopLevelWindows;
// List of windows pending deletion /* List of windows pending deletion */
wxList wxPendingDelete; wxList wxPendingDelete;
// Current cursor, in order to hang on to /* Current cursor, in order to hang on to
// cursor handle when setting the cursor globally * cursor handle when setting the cursor globally */
wxCursor *g_globalCursor = (wxCursor *) NULL; wxCursor *g_globalCursor = (wxCursor *) NULL;
// Don't allow event propagation during drag /* Don't allow event propagation during drag */
bool g_blockEventsOnDrag = FALSE; bool g_blockEventsOnDrag = FALSE;
// Don't allow mouse event propagation during scroll /* Don't allow mouse event propagation during scroll */
bool g_blockEventsOnScroll = FALSE; bool g_blockEventsOnScroll = FALSE;
// Message Strings for Internationalization /* Message Strings for Internationalization */
char **wx_msg_str = (char**)NULL; char **wx_msg_str = (char**)NULL;
// Custom OS version, as optionally placed in wx.ini/.wxrc /* Custom OS version, as optionally placed in wx.ini/.wxrc
// Currently this can be Win95, Windows, Win32s, WinNT. * Currently this can be Win95, Windows, Win32s, WinNT.
// For some systems, you can't tell until run-time what services you * For some systems, you can't tell until run-time what services you
// have. See wxGetOsVersion, which uses this string if present. * have. See wxGetOsVersion, which uses this string if present. */
char *wxOsVersion = (char *) NULL; char *wxOsVersion = (char *) NULL;
// For printing several pages /* For printing several pages */
int wxPageNumber; int wxPageNumber;
wxPrintPaperDatabase* wxThePrintPaperDatabase = (wxPrintPaperDatabase *) NULL; wxPrintPaperDatabase* wxThePrintPaperDatabase = (wxPrintPaperDatabase *) NULL;
// GDI Object Lists /* GDI Object Lists */
wxBrushList *wxTheBrushList = (wxBrushList *) NULL; wxBrushList *wxTheBrushList = (wxBrushList *) NULL;
wxPenList *wxThePenList = (wxPenList *) NULL; wxPenList *wxThePenList = (wxPenList *) NULL;
wxFontList *wxTheFontList = (wxFontList *) NULL; wxFontList *wxTheFontList = (wxFontList *) NULL;
wxColourDatabase *wxTheColourDatabase = (wxColourDatabase *) NULL; wxColourDatabase *wxTheColourDatabase = (wxColourDatabase *) NULL;
wxBitmapList *wxTheBitmapList = (wxBitmapList *) NULL; wxBitmapList *wxTheBitmapList = (wxBitmapList *) NULL;
/* X only font names */
// X only font names
wxFontNameDirectory *wxTheFontNameDirectory; wxFontNameDirectory *wxTheFontNameDirectory;
// Stock objects /* Stock objects */
wxFont *wxNORMAL_FONT; wxFont *wxNORMAL_FONT;
wxFont *wxSMALL_FONT; wxFont *wxSMALL_FONT;
wxFont *wxITALIC_FONT; wxFont *wxITALIC_FONT;
@@ -103,7 +101,7 @@ wxBrush *wxLIGHT_GREY_BRUSH;
wxColour *wxBLACK; wxColour *wxBLACK;
wxColour *wxWHITE; wxColour *wxWHITE;
wxColour *wxGREY; // Robert Roebling wxColour *wxGREY;
wxColour *wxRED; wxColour *wxRED;
wxColour *wxBLUE; wxColour *wxBLUE;
wxColour *wxGREEN; wxColour *wxGREEN;
@@ -114,7 +112,7 @@ wxCursor *wxSTANDARD_CURSOR = (wxCursor *) NULL;
wxCursor *wxHOURGLASS_CURSOR = (wxCursor *) NULL; wxCursor *wxHOURGLASS_CURSOR = (wxCursor *) NULL;
wxCursor *wxCROSS_CURSOR = (wxCursor *) NULL; wxCursor *wxCROSS_CURSOR = (wxCursor *) NULL;
// 'Null' objects /* 'Null' objects */
wxAcceleratorTable wxNullAcceleratorTable; wxAcceleratorTable wxNullAcceleratorTable;
wxBitmap wxNullBitmap; wxBitmap wxNullBitmap;
wxIcon wxNullIcon; wxIcon wxNullIcon;
@@ -126,7 +124,7 @@ wxColour wxNullColour;
wxPalette wxNullPalette; wxPalette wxNullPalette;
wxRegion wxNullRegion; wxRegion wxNullRegion;
// Default window names /* Default window names */
const char *wxButtonNameStr = "button"; const char *wxButtonNameStr = "button";
const char *wxCanvasNameStr = "canvas"; const char *wxCanvasNameStr = "canvas";
const char *wxCheckBoxNameStr = "check"; const char *wxCheckBoxNameStr = "check";
@@ -162,610 +160,10 @@ const char *wxFileSelectorDefaultWildcardStr = "*.*";
const char *wxInternalErrorStr = "wxWindows Internal Error"; const char *wxInternalErrorStr = "wxWindows Internal Error";
const char *wxFatalErrorStr = "wxWindows Fatal Error"; const char *wxFatalErrorStr = "wxWindows Fatal Error";
// See wx/utils.h /* See wx/utils.h */
const char *wxFloatToStringStr = "%.2f"; const char *wxFloatToStringStr = "%.2f";
const char *wxDoubleToStringStr = "%.2f"; const char *wxDoubleToStringStr = "%.2f";
#ifdef wx_msw /* Dafaults for wxWindow etc. */
const char *wxUserResourceStr = "TEXT";
#endif
#if wxUSE_SHARED_LIBRARY
/*
* For wxWindows to be made into a dynamic library (e.g. Sun),
* all IMPLEMENT_... macros must be in one place.
* But normally, the definitions are in the appropriate places.
*/
// Hand-coded IMPLEMENT... macro for wxObject (define static data)
wxClassInfo wxObject::classwxObject((char *) "wxObject", (char *) NULL, (char *) NULL, (int ) sizeof(wxObject), (wxObjectConstructorFn) NULL);
wxClassInfo *wxClassInfo::first = (wxClassInfo *) NULL;
wxHashTable wxClassInfo::classTable(wxKEY_STRING);
#include "wx/button.h"
#include "wx/bmpbuttn.h"
IMPLEMENT_DYNAMIC_CLASS(wxButton, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton)
#include "wx/checkbox.h"
IMPLEMENT_DYNAMIC_CLASS(wxCheckBox, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxBitmapCheckBox, wxCheckBox)
#include "wx/choice.h"
IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
#if wxUSE_CLIPBOARD
#include "wx/clipbrd.h"
IMPLEMENT_DYNAMIC_CLASS(wxClipboard, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxClipboardClient, wxObject)
#endif
#if wxUSE_COMBOBOX
#include "wx/combobox.h"
IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl)
#endif
#include "wx/dc.h"
#include "wx/dcmemory.h"
#include "wx/dcclient.h"
#include "wx/dcscreen.h"
IMPLEMENT_ABSTRACT_CLASS(wxDC, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxClientDC, wxDC)
IMPLEMENT_DYNAMIC_CLASS(wxWindowDC, wxDC)
IMPLEMENT_DYNAMIC_CLASS(wxPaintDC, wxDC)
IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC, wxDC)
IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
#if defined(wx_msw)
#include "wx/dcprint.h"
IMPLEMENT_CLASS(wxPrinterDC, wxDC)
#endif
#include "wx/dialog.h"
IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxWindow)
#include "wx/frame.h"
IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow)
#include "wx/mdi.h"
IMPLEMENT_DYNAMIC_CLASS(wxMDIParentFrame, wxFrame)
IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame, wxFrame)
IMPLEMENT_DYNAMIC_CLASS(wxMDIClientWindow, wxWindow)
#include "wx/cmndata.h"
IMPLEMENT_DYNAMIC_CLASS(wxColourData, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxFontData, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxPrintData, wxObject)
#include "wx/colordlg.h"
#include "wx/fontdlg.h"
#if !defined(wx_msw) || wxUSE_GENERIC_DIALOGS_IN_MSW
#include "wx/generic/colordlg.h"
#include "wx/generic/fontdlg.h"
IMPLEMENT_DYNAMIC_CLASS(wxGenericColourDialog, wxDialog)
IMPLEMENT_DYNAMIC_CLASS(wxGenericFontDialog, wxDialog)
#endif
// X defines wxColourDialog to be wxGenericColourDialog
#ifndef wx_x
IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog)
IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog)
#endif
#include "wx/gdicmn.h"
#include "wx/pen.h"
#include "wx/brush.h"
#include "wx/font.h"
#include "wx/palette.h"
#include "wx/icon.h"
#include "wx/cursor.h"
IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject)
IMPLEMENT_CLASS(wxColourDatabase, wxList)
IMPLEMENT_DYNAMIC_CLASS(wxFontList, wxList)
IMPLEMENT_DYNAMIC_CLASS(wxPenList, wxList)
IMPLEMENT_DYNAMIC_CLASS(wxBrushList, wxList)
IMPLEMENT_DYNAMIC_CLASS(wxBitmapList, wxList)
/*
#if (!USE_TYPEDEFS)
IMPLEMENT_DYNAMIC_CLASS(wxPoint, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxIntPoint, wxObject)
#endif
*/
#if defined(wx_x) || (defined(wx_msw) && wxUSE_PORTABLE_FONTS_IN_MSW)
IMPLEMENT_DYNAMIC_CLASS(wxFontNameDirectory, wxObject)
#endif
#include "wx/hash.h"
IMPLEMENT_DYNAMIC_CLASS(wxHashTable, wxObject)
#include "wx/help.h"
IMPLEMENT_DYNAMIC_CLASS(wxHelpInstance, wxClient)
IMPLEMENT_CLASS(wxHelpConnection, wxConnection)
#include "wx/list.h"
IMPLEMENT_DYNAMIC_CLASS(wxNode, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxList, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxStringList, wxList)
#if wxUSE_PRINTING_ARCHITECTURE
#include "wx/print.h"
IMPLEMENT_DYNAMIC_CLASS(wxPrintDialog, wxDialog)
IMPLEMENT_DYNAMIC_CLASS(wxPrinterBase, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxPostScriptPrinter, wxPrinterBase)
IMPLEMENT_DYNAMIC_CLASS(wxWindowsPrinter, wxPrinterBase)
IMPLEMENT_ABSTRACT_CLASS(wxPrintout, wxObject)
IMPLEMENT_CLASS(wxPreviewCanvas, wxWindow)
IMPLEMENT_CLASS(wxPreviewControlBar, wxWindow)
IMPLEMENT_CLASS(wxPreviewFrame, wxFrame)
IMPLEMENT_CLASS(wxPrintPreviewBase, wxObject)
IMPLEMENT_CLASS(wxPostScriptPrintPreview, wxPrintPreviewBase)
IMPLEMENT_CLASS(wxWindowsPrintPreview, wxPrintPreviewBase)
IMPLEMENT_CLASS(wxGenericPrintDialog, wxDialog)
IMPLEMENT_CLASS(wxGenericPrintSetupDialog, wxDialog)
#endif
#if wxUSE_POSTSCRIPT
#include "wx/postscrp.h"
IMPLEMENT_DYNAMIC_CLASS(wxPostScriptDC, wxDC)
IMPLEMENT_DYNAMIC_CLASS(wxPrintSetupData, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxPageSetupData, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxPrintPaperType, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxPrintPaperDatabase, wxList)
#endif
#if wxUSE_WX_RESOURCES
#include "wx/resource.h"
IMPLEMENT_DYNAMIC_CLASS(wxItemResource, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxResourceTable, wxHashTable)
#endif
#include "wx/event.h"
IMPLEMENT_DYNAMIC_CLASS(wxEvtHandler, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxEvent, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxCommandEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxScrollEvent, wxCommandEvent)
IMPLEMENT_DYNAMIC_CLASS(wxMouseEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxKeyEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxSizeEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxPaintEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxEraseEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxMoveEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxFocusEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxCloseEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxMenuEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxJoystickEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxDropFilesEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxActivateEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxInitDialogEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxSysColourChangedEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxIdleEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxUpdateUIEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxProcessEvent, wxEvent)
#include "wx/utils.h"
IMPLEMENT_DYNAMIC_CLASS(wxPathList, wxList)
// IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject)
#include "wx/process.h"
IMPLEMENT_DYNAMIC_CLASS(wxProcess, wxEvtHandler)
#if wxUSE_TIMEDATE
#include "wx/date.h"
IMPLEMENT_DYNAMIC_CLASS(wxDate, wxObject)
#endif
#if wxUSE_DOC_VIEW_ARCHITECTURE
#include "wx/docview.h"
//IMPLEMENT_ABSTRACT_CLASS(wxDocItem, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxDocument, wxEvtHandler)
IMPLEMENT_ABSTRACT_CLASS(wxView, wxEvtHandler)
IMPLEMENT_ABSTRACT_CLASS(wxDocTemplate, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxDocManager, wxEvtHandler)
IMPLEMENT_CLASS(wxDocChildFrame, wxFrame)
IMPLEMENT_CLASS(wxDocParentFrame, wxFrame)
#if wxUSE_PRINTING_ARCHITECTURE
IMPLEMENT_DYNAMIC_CLASS(wxDocPrintout, wxPrintout)
#endif
IMPLEMENT_CLASS(wxCommand, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxCommandProcessor, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxFileHistory, wxObject)
#endif
#if wxUSE_CONSTRAINTS
#include "wx/layout.h"
IMPLEMENT_DYNAMIC_CLASS(wxIndividualLayoutConstraint, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxLayoutConstraints, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxSizer, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxRowColSizer, wxSizer)
#endif
#if wxUSE_TOOLBAR
#include "wx/tbarbase.h"
IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxToolBarBase, wxControl)
#include "wx/tbarsmpl.h"
IMPLEMENT_DYNAMIC_CLASS(wxToolBarSimple, wxToolBarBase)
#ifdef wx_msw
#include "wx/tbarmsw.h"
IMPLEMENT_DYNAMIC_CLASS(wxToolBarMSW, wxToolBarBase)
#include "wx/tbar95.h"
IMPLEMENT_DYNAMIC_CLASS(wxToolBar95, wxToolBarBase)
#endif
#endif
#include "wx/sckaddr.h"
IMPLEMENT_DYNAMIC_CLASS(wxIPV4address, wxSockAddress)
#ifdef ENABLE_IPV6
IMPLEMENT_DYNAMIC_CLASS(wxIPV6address, wxSockAddress)
#endif
#ifndef __UNIX__
IMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress, wxSockAddress)
#endif
#include "wx/socket.h"
IMPLEMENT_CLASS(wxSocketBase, wxEvtHandler)
IMPLEMENT_CLASS(wxSocketClient, wxSocketBase)
IMPLEMENT_CLASS(wxSocketServer, wxSocketBase)
IMPLEMENT_CLASS(wxSocketHandler, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxSocketEvent, wxEvent)
#include "wx/url.h"
IMPLEMENT_CLASS(wxProtoInfo, wxObject)
IMPLEMENT_CLASS(wxURL, wxObject)
#include "wx/protocol/http.h"
IMPLEMENT_DYNAMIC_CLASS(wxHTTP, wxProtocol)
IMPLEMENT_PROTOCOL(wxHTTP, "http", "80", TRUE)
#include "wx/protocol/ftp.h"
IMPLEMENT_DYNAMIC_CLASS(wxFTP, wxProtocol)
IMPLEMENT_PROTOCOL(wxFTP, "ftp", "21", TRUE)
#include "wx/protocol/sckfile.h"
IMPLEMENT_DYNAMIC_CLASS(wxFileProto, wxProtocol)
IMPLEMENT_PROTOCOL(wxFileProto, "file", NULL, FALSE)
#include "wx/sckipc.h"
IMPLEMENT_DYNAMIC_CLASS(wxTCPServer, wxServerBase)
IMPLEMENT_DYNAMIC_CLASS(wxTCPClient, wxClientBase)
IMPLEMENT_DYNAMIC_CLASS(wxTCPConnection, wxConnectionBase)
#include "wx/statusbr.h"
IMPLEMENT_DYNAMIC_CLASS(wxStatusBar, wxWindow)
BEGIN_EVENT_TABLE(wxStatusBar, wxWindow)
EVT_PAINT(wxStatusBar::OnPaint)
EVT_SYS_COLOUR_CHANGED(wxStatusBar::OnSysColourChanged)
END_EVENT_TABLE()
#if wxUSE_TIMEDATE
#include "wx/time.h"
IMPLEMENT_DYNAMIC_CLASS(wxTime, wxObject)
#endif
#if !USE_GNU_WXSTRING
#include "wx/string.h"
IMPLEMENT_DYNAMIC_CLASS(wxString, wxObject)
#endif
#ifdef wx_motif
IMPLEMENT_DYNAMIC_CLASS(wxXColormap, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxXFont, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxXCursor, wxObject)
#endif
IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)
IMPLEMENT_DYNAMIC_CLASS(wxPalette, wxGDIObject)
IMPLEMENT_DYNAMIC_CLASS(wxPen, wxGDIObject)
IMPLEMENT_DYNAMIC_CLASS(wxBrush, wxGDIObject)
IMPLEMENT_DYNAMIC_CLASS(wxIcon, wxBitmap)
IMPLEMENT_DYNAMIC_CLASS(wxCursor, wxBitmap)
IMPLEMENT_DYNAMIC_CLASS(wxBitmap, wxGDIObject)
IMPLEMENT_DYNAMIC_CLASS(wxMask, wxObject)
// This will presumably be implemented on other platforms too
#ifdef wx_msw
IMPLEMENT_DYNAMIC_CLASS(wxBitmapHandler, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxBMPResourceHandler, wxBitmapHandler)
IMPLEMENT_DYNAMIC_CLASS(wxBMPFileHandler, wxBitmapHandler)
IMPLEMENT_DYNAMIC_CLASS(wxXPMFileHandler, wxBitmapHandler)
IMPLEMENT_DYNAMIC_CLASS(wxXPMDataHandler, wxBitmapHandler)
IMPLEMENT_DYNAMIC_CLASS(wxICOFileHandler, wxBitmapHandler)
IMPLEMENT_DYNAMIC_CLASS(wxICOResourceHandler, wxBitmapHandler)
#endif
#include "wx/statbox.h"
IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl)
#if wxUSE_IPC
#include "wx/dde.h"
IMPLEMENT_ABSTRACT_CLASS(wxDDEObject, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxDDEServer, wxDDEObject)
IMPLEMENT_DYNAMIC_CLASS(wxDDEClient, wxDDEObject)
IMPLEMENT_CLASS(wxDDEConnection, wxObject)
#endif
IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow)
#include "wx/listbox.h"
IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxApp, wxEvtHandler)
#include "wx/menu.h"
IMPLEMENT_DYNAMIC_CLASS(wxMenu, wxWindow)
IMPLEMENT_DYNAMIC_CLASS(wxMenuItem, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxMenuBar, wxWindow)
#include "wx/stattext.h"
#include "wx/statbmp.h"
IMPLEMENT_DYNAMIC_CLASS(wxStaticText, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl)
#if wxUSE_METAFILE
#include "wx/metafile.h"
IMPLEMENT_DYNAMIC_CLASS(wxMetaFile, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxMetaFileDC, wxDC)
#endif
#include "wx/radiobox.h"
#include "wx/radiobut.h"
IMPLEMENT_DYNAMIC_CLASS(wxRadioBox, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl)
// IMPLEMENT_DYNAMIC_CLASS(wxBitmapRadioButton, wxRadioButton)
#include "wx/scrolbar.h"
IMPLEMENT_DYNAMIC_CLASS(wxScrollBar, wxControl)
#if WXWIN_COMPATIBILITY
BEGIN_EVENT_TABLE(wxScrollBar, wxControl)
EVT_SCROLL(wxScrollBar::OnScroll)
END_EVENT_TABLE()
#endif
#include "wx/slider.h"
IMPLEMENT_DYNAMIC_CLASS(wxSlider, wxControl)
#if WXWIN_COMPATIBILITY
BEGIN_EVENT_TABLE(wxSlider, wxControl)
EVT_SCROLL(wxSlider::OnScroll)
END_EVENT_TABLE()
#endif
#include "wx/timer.h"
IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
#include "wx/textctrl.h"
IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxControl)
#include "wx/window.h"
IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxEvtHandler)
#include "wx/scrolwin.h"
IMPLEMENT_DYNAMIC_CLASS(wxScrolledWindow, wxWindow)
#include "wx/panel.h"
IMPLEMENT_DYNAMIC_CLASS(wxPanel, wxWindow)
#include "wx/msgbxdlg.h"
#include "wx/textdlg.h"
#include "wx/filedlg.h"
#include "wx/dirdlg.h"
#include "wx/choicdlg.h"
#if !defined(wx_msw) || wxUSE_GENERIC_DIALOGS_IN_MSW
#include "wx/generic/msgdlgg.h"
IMPLEMENT_CLASS(wxGenericMessageDialog, wxDialog)
#endif
IMPLEMENT_CLASS(wxTextEntryDialog, wxDialog)
IMPLEMENT_CLASS(wxSingleChoiceDialog, wxDialog)
IMPLEMENT_CLASS(wxFileDialog, wxDialog)
IMPLEMENT_CLASS(wxDirDialog, wxDialog)
#ifdef wx_msw
IMPLEMENT_CLASS(wxMessageDialog)
#endif
#if wxUSE_GAUGE
#ifdef wx_motif
#include "../../contrib/xmgauge/gauge.h"
#endif
#include "wx_gauge.h"
IMPLEMENT_DYNAMIC_CLASS(wxGauge, wxControl)
#endif
#include "wx/grid.h"
IMPLEMENT_DYNAMIC_CLASS(wxGenericGrid, wxPanel)
///// Event tables (also must be in one, statically-linked file for shared libraries)
// This is the base, wxEvtHandler 'bootstrap' code which is expanded manually here
const wxEventTable *wxEvtHandler::GetEventTable() const { return &wxEvtHandler::sm_eventTable; }
const wxEventTable wxEvtHandler::sm_eventTable =
{ NULL, &wxEvtHandler::sm_eventTableEntries[0] };
const wxEventTableEntry wxEvtHandler::sm_eventTableEntries[] = { { 0, 0, 0,
#ifdef __SGI_CC__
0L
#else
NULL
#endif
}
};
BEGIN_EVENT_TABLE(wxFrame, wxWindow)
EVT_SIZE(wxFrame::OnSize)
EVT_MENU_HIGHLIGHT_ALL(wxFrame::OnMenuHighlight)
EVT_SYS_COLOUR_CHANGED(wxFrame::OnSysColourChanged)
EVT_IDLE(wxFrame::OnIdle)
EVT_CLOSE(wxFrame::OnCloseWindow)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxDialog, wxPanel)
EVT_BUTTON(wxID_OK, wxDialog::OnOK)
EVT_BUTTON(wxID_APPLY, wxDialog::OnApply)
EVT_BUTTON(wxID_CANCEL, wxDialog::OnCancel)
EVT_CHAR_HOOK(wxDialog::OnCharHook)
EVT_SYS_COLOUR_CHANGED(wxDialog::OnSysColourChanged)
EVT_CLOSE(wxDialog::OnCloseWindow)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxWindow, wxEvtHandler)
EVT_CHAR(wxWindow::OnChar)
EVT_SIZE(wxWindow::Size)
EVT_ERASE_BACKGROUND(wxWindow::OnEraseBackground)
EVT_SYS_COLOUR_CHANGED(wxWindow::OnSysColourChanged)
EVT_INIT_DIALOG(wxWindow::OnInitDialog)
EVT_IDLE(wxWindow::OnIdle)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxScrolledWindow, wxWindow)
EVT_SCROLL(wxScrolledWindow::OnScroll)
EVT_SIZE(wxScrolledWindow::OnSize)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxPanel, wxWindow)
EVT_SYS_COLOUR_CHANGED(wxPanel::OnSysColourChanged)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
EVT_CHAR(wxTextCtrl::OnChar)
EVT_DROP_FILES(wxTextCtrl::OnDropFiles)
EVT_ERASE_BACKGROUND(wxTextCtrl::OnEraseBackground)
END_EVENT_TABLE()
#ifdef wx_msw
BEGIN_EVENT_TABLE(wxMDIParentWindow, wxFrame)
EVT_SIZE(wxMDIParentWindow::OnSize)
EVT_ACTIVATE(wxMDIParentWindow::OnActivate)
EVT_SYS_COLOUR_CHANGED(wxMDIParentWindow::OnSysColourChanged)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxMDIClientWindow, wxWindow)
EVT_SCROLL(wxMDIClientWindow::OnScroll)
END_EVENT_TABLE()
#endif
BEGIN_EVENT_TABLE(wxToolBarBase, wxControl)
EVT_SCROLL(wxToolBarBase::OnScroll)
EVT_SIZE(wxToolBarBase::OnSize)
EVT_IDLE(wxToolBarBase::OnIdle)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxToolBarSimple, wxToolBarBase)
EVT_SIZE(wxToolBarSimple::OnSize)
EVT_PAINT(wxToolBarSimple::OnPaint)
EVT_KILL_FOCUS(wxToolBarSimple::OnKillFocus)
EVT_MOUSE_EVENTS(wxToolBarSimple::OnMouseEvent)
END_EVENT_TABLE()
#ifdef wx_msw
BEGIN_EVENT_TABLE(wxToolBarMSW, wxToolBarBase)
EVT_SIZE(wxToolBarMSW::OnSize)
EVT_PAINT(wxToolBarMSW::OnPaint)
EVT_MOUSE_EVENTS(wxToolBarMSW::OnMouseEvent)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxToolBar95, wxToolBarBase)
EVT_SIZE(wxToolBar95::OnSize)
EVT_PAINT(wxToolBar95::OnPaint)
EVT_KILL_FOCUS(wxToolBar95::OnKillFocus)
EVT_MOUSE_EVENTS(wxToolBar95::OnMouseEvent)
EVT_SYS_COLOUR_CHANGED(wxToolBar95::OnSysColourChanged)
END_EVENT_TABLE()
#endif
BEGIN_EVENT_TABLE(wxGenericGrid, wxPanel)
EVT_SIZE(wxGenericGrid::OnSize)
EVT_PAINT(wxGenericGrid::OnPaint)
EVT_MOUSE_EVENTS(wxGenericGrid::OnMouseEvent)
EVT_TEXT(wxGRID_TEXT_CTRL, wxGenericGrid::OnText)
EVT_COMMAND_SCROLL(wxGRID_HSCROLL, wxGenericGrid::OnGridScroll)
EVT_COMMAND_SCROLL(wxGRID_VSCROLL, wxGenericGrid::OnGridScroll)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxControl, wxWindow)
EVT_ERASE_BACKGROUND(wxControl::OnEraseBackground)
END_EVENT_TABLE()
#if !defined(wx_msw) || wxUSE_GENERIC_DIALOGS_IN_MSW
BEGIN_EVENT_TABLE(wxGenericMessageDialog, wxDialog)
EVT_BUTTON(wxID_YES, wxGenericMessageDialog::OnYes)
EVT_BUTTON(wxID_NO, wxGenericMessageDialog::OnNo)
EVT_BUTTON(wxID_CANCEL, wxGenericMessageDialog::OnCancel)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxGenericColourDialog, wxDialog)
EVT_BUTTON(wxID_ADD_CUSTOM, wxGenericColourDialog::OnAddCustom)
EVT_SLIDER(wxID_RED_SLIDER, wxGenericColourDialog::OnRedSlider)
EVT_SLIDER(wxID_GREEN_SLIDER, wxGenericColourDialog::OnGreenSlider)
EVT_SLIDER(wxID_BLUE_SLIDER, wxGenericColourDialog::OnBlueSlider)
EVT_PAINT(wxGenericColourDialog::OnPaint)
EVT_MOUSE_EVENTS(wxGenericColourDialog::OnMouseEvent)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxGenericFontDialog, wxDialog)
EVT_CHECKBOX(wxID_FONT_UNDERLINE, wxGenericFontDialog::OnChangeFont)
EVT_CHOICE(wxID_FONT_STYLE, wxGenericFontDialog::OnChangeFont)
EVT_CHOICE(wxID_FONT_WEIGHT, wxGenericFontDialog::OnChangeFont)
EVT_CHOICE(wxID_FONT_FAMILY, wxGenericFontDialog::OnChangeFont)
EVT_CHOICE(wxID_FONT_COLOUR, wxGenericFontDialog::OnChangeFont)
EVT_CHOICE(wxID_FONT_SIZE, wxGenericFontDialog::OnChangeFont)
EVT_PAINT(wxGenericFontDialog::OnPaint)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxGenericPrintDialog, wxDialog)
EVT_BUTTON(wxID_OK, wxGenericPrintDialog::OnOK)
EVT_BUTTON(wxPRINTID_SETUP, wxGenericPrintDialog::OnSetup)
EVT_RADIOBOX(wxPRINTID_RANGE, wxGenericPrintDialog::OnRange)
END_EVENT_TABLE()
#endif
BEGIN_EVENT_TABLE(wxTextEntryDialog, wxDialog)
EVT_BUTTON(wxID_OK, wxTextEntryDialog::OnOK)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxSingleChoiceDialog, wxDialog)
EVT_BUTTON(wxID_OK, wxSingleChoiceDialog::OnOK)
END_EVENT_TABLE()
#include "wx/prntbase.h"
BEGIN_EVENT_TABLE(wxPrintAbortDialog, wxDialog)
EVT_BUTTON(wxID_CANCEL, wxPrintAbortDialog::OnCancel)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxPreviewControlBar, wxWindow)
EVT_BUTTON(wxID_PREVIEW_CLOSE, wxPreviewControlBar::OnClose)
EVT_BUTTON(wxID_PREVIEW_PRINT, wxPreviewControlBar::OnPrint)
EVT_BUTTON(wxID_PREVIEW_PREVIOUS, wxPreviewControlBar::OnPrevious)
EVT_BUTTON(wxID_PREVIEW_NEXT, wxPreviewControlBar::OnNext)
EVT_CHOICE(wxID_PREVIEW_ZOOM, wxPreviewControlBar::OnZoom)
END_EVENT_TABLE()
#endif
const wxSize wxDefaultSize(-1, -1); const wxSize wxDefaultSize(-1, -1);
const wxPoint wxDefaultPosition(-1, -1); const wxPoint wxDefaultPosition(-1, -1);

View File

@@ -14,6 +14,9 @@
#include "wx/dc.h" #include "wx/dc.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// constants // constants
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -16,6 +16,9 @@
#include "wx/image.h" #include "wx/image.h"
#include <math.h> #include <math.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// local data // local data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,9 @@
#include "wx/dcmemory.h" #include "wx/dcmemory.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxMemoryDC // wxMemoryDC
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -24,6 +24,9 @@
#include "wx/image.h" #include "wx/image.h"
#include "wx/log.h" #include "wx/log.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// start and end of document/page // start and end of document/page
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/dcscreen.h" #include "wx/dcscreen.h"
#include "wx/window.h" #include "wx/window.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// global data initialization // global data initialization
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/dialog.h" #include "wx/dialog.h"
#include "wx/frame.h" #include "wx/frame.h"
#include "wx/app.h" #include "wx/app.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h" #include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -18,6 +18,8 @@
#include "wx/intl.h" #include "wx/intl.h"
#include "wx/utils.h" #include "wx/utils.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "gdk/gdkprivate.h" #include "gdk/gdkprivate.h"
#include <X11/Xlib.h> #include <X11/Xlib.h>

View File

@@ -16,151 +16,156 @@
#include "wx/intl.h" #include "wx/intl.h"
#include "wx/generic/msgdlgg.h" #include "wx/generic/msgdlgg.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxFileDialog // wxFileDialog
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void gtk_filedialog_ok_callback( GtkWidget *WXUNUSED(widget), gpointer data ) void gtk_filedialog_ok_callback( GtkWidget *WXUNUSED(widget), gpointer data )
{ {
wxFileDialog *dialog = (wxFileDialog*)data; wxFileDialog *dialog = (wxFileDialog*)data;
wxCommandEvent event(wxEVT_NULL); wxCommandEvent event(wxEVT_NULL);
int style; int style;
style=dialog->GetStyle(); style = dialog->GetStyle();
if((style&wxSAVE)&&(style&wxOVERWRITE_PROMPT)) if((style&wxSAVE)&&(style&wxOVERWRITE_PROMPT))
if(wxFileExists(gtk_file_selection_get_filename(GTK_FILE_SELECTION(dialog->m_widget) ))) { {
if(wxFileExists(gtk_file_selection_get_filename(GTK_FILE_SELECTION(dialog->m_widget) )))
{
if(wxMessageBox(_("File exists. Overwrite?"), if(wxMessageBox(_("File exists. Overwrite?"),
_("Confirm"), wxYES_NO) != wxYES) _("Confirm"), wxYES_NO) != wxYES)
return; return;
} }
}
dialog->OnOK( event ); dialog->OnOK( event );
} }
void gtk_filedialog_cancel_callback( GtkWidget *WXUNUSED(widget), gpointer data ) void gtk_filedialog_cancel_callback( GtkWidget *WXUNUSED(widget), gpointer data )
{ {
wxFileDialog *dialog = (wxFileDialog*)data; wxFileDialog *dialog = (wxFileDialog*)data;
wxCommandEvent event(wxEVT_NULL); wxCommandEvent event(wxEVT_NULL);
dialog->OnCancel( event ); dialog->OnCancel( event );
} }
IMPLEMENT_DYNAMIC_CLASS(wxFileDialog,wxDialog) IMPLEMENT_DYNAMIC_CLASS(wxFileDialog,wxDialog)
wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message, wxFileDialog::wxFileDialog( wxWindow *parent, const wxString& message,
const wxString& defaultDir, const wxString& defaultFileName, const wxString& defaultDir, const wxString& defaultFileName,
const wxString& wildCard, const wxString& wildCard,
long style, const wxPoint& pos ) long style, const wxPoint& pos )
{ {
m_needParent = FALSE; m_needParent = FALSE;
PreCreation( parent, -1, pos, wxDefaultSize, style | wxDIALOG_MODAL, "filedialog" ); PreCreation( parent, -1, pos, wxDefaultSize, style | wxDIALOG_MODAL, "filedialog" );
m_message = message; m_message = message;
m_path = ""; m_path = "";
m_fileName = defaultFileName; m_fileName = defaultFileName;
m_dir = defaultDir; m_dir = defaultDir;
m_wildCard = wildCard; m_wildCard = wildCard;
m_dialogStyle = style; m_dialogStyle = style;
m_filterIndex = 1; m_filterIndex = 1;
m_widget = gtk_file_selection_new( m_message ); m_widget = gtk_file_selection_new( m_message );
int x = (gdk_screen_width () - 400) / 2; int x = (gdk_screen_width () - 400) / 2;
int y = (gdk_screen_height () - 400) / 2; int y = (gdk_screen_height () - 400) / 2;
gtk_widget_set_uposition( m_widget, x, y ); gtk_widget_set_uposition( m_widget, x, y );
GtkFileSelection *sel = GTK_FILE_SELECTION(m_widget); GtkFileSelection *sel = GTK_FILE_SELECTION(m_widget);
m_path.Append(m_dir); m_path.Append(m_dir);
if(! m_path.IsEmpty() && m_path.Last()!='/') m_path.Append('/'); if(! m_path.IsEmpty() && m_path.Last()!='/') m_path.Append('/');
m_path.Append(m_fileName); m_path.Append(m_fileName);
if(m_path.Length()>1) gtk_file_selection_set_filename(sel,m_path); if(m_path.Length()>1) gtk_file_selection_set_filename(sel,m_path);
gtk_signal_connect( GTK_OBJECT(sel->ok_button), "clicked", gtk_signal_connect( GTK_OBJECT(sel->ok_button), "clicked",
GTK_SIGNAL_FUNC(gtk_filedialog_ok_callback), (gpointer*)this ); GTK_SIGNAL_FUNC(gtk_filedialog_ok_callback), (gpointer*)this );
gtk_signal_connect( GTK_OBJECT(sel->cancel_button), "clicked", gtk_signal_connect( GTK_OBJECT(sel->cancel_button), "clicked",
GTK_SIGNAL_FUNC(gtk_filedialog_cancel_callback), (gpointer*)this ); GTK_SIGNAL_FUNC(gtk_filedialog_cancel_callback), (gpointer*)this );
} }
int wxFileDialog::ShowModal(void) int wxFileDialog::ShowModal(void)
{ {
int ret = wxDialog::ShowModal(); int ret = wxDialog::ShowModal();
if (ret == wxID_OK) if (ret == wxID_OK)
{ {
m_fileName = gtk_file_selection_get_filename( GTK_FILE_SELECTION(m_widget) ); m_fileName = gtk_file_selection_get_filename( GTK_FILE_SELECTION(m_widget) );
m_path = gtk_file_selection_get_filename( GTK_FILE_SELECTION(m_widget) ); m_path = gtk_file_selection_get_filename( GTK_FILE_SELECTION(m_widget) );
} }
return ret; return ret;
} }
char *wxFileSelector(const char *title, char *wxFileSelector( const char *title,
const char *defaultDir, const char *defaultFileName, const char *defaultDir, const char *defaultFileName,
const char *defaultExtension, const char *filter, int flags, const char *defaultExtension, const char *filter, int flags,
wxWindow *parent, int x, int y) wxWindow *parent, int x, int y )
{ {
wxString filter2(""); wxString filter2("");
if ( defaultExtension && !filter ) if ( defaultExtension && !filter )
filter2 = wxString("*.") + wxString(defaultExtension) ; filter2 = wxString("*.") + wxString(defaultExtension) ;
else if ( filter ) else if ( filter )
filter2 = filter; filter2 = filter;
wxString defaultDirString; wxString defaultDirString;
if (defaultDir) if (defaultDir)
defaultDirString = defaultDir; defaultDirString = defaultDir;
else else
defaultDirString = ""; defaultDirString = "";
wxString defaultFilenameString; wxString defaultFilenameString;
if (defaultFileName) if (defaultFileName)
defaultFilenameString = defaultFileName; defaultFilenameString = defaultFileName;
else else
defaultFilenameString = ""; defaultFilenameString = "";
wxFileDialog fileDialog( parent, title, defaultDirString, defaultFilenameString, filter2, flags, wxPoint(x, y) );
wxFileDialog fileDialog(parent, title, defaultDirString, defaultFilenameString, if ( fileDialog.ShowModal() == wxID_OK )
filter2, flags, wxPoint(x, y)); {
strcpy(wxBuffer, (const char *)fileDialog.GetPath());
if ( fileDialog.ShowModal() == wxID_OK ) return wxBuffer;
{ }
strcpy(wxBuffer, (const char *)fileDialog.GetPath()); else
return wxBuffer; {
} return (char *) NULL;
else }
return (char *) NULL;
} }
char* wxLoadFileSelector(const char *what, const char *extension, const char *default_name, char* wxLoadFileSelector( const char *what, const char *extension, const char *default_name, wxWindow *parent )
wxWindow *parent )
{ {
char *ext = (char *)extension; char *ext = (char *)extension;
char prompt[50]; char prompt[50];
wxString str = _("Load %s file"); wxString str = _("Load %s file");
sprintf(prompt, str, what); sprintf(prompt, str, what);
if (*ext == '.') ext++; if (*ext == '.') ext++;
char wild[60]; char wild[60];
sprintf(wild, "*.%s", ext); sprintf(wild, "*.%s", ext);
return wxFileSelector (prompt, (const char *) NULL, default_name, ext, wild, 0, parent); return wxFileSelector (prompt, (const char *) NULL, default_name, ext, wild, 0, parent);
} }
char* wxSaveFileSelector(const char *what, const char *extension, const char *default_name, char* wxSaveFileSelector(const char *what, const char *extension, const char *default_name,
wxWindow *parent ) wxWindow *parent )
{ {
char *ext = (char *)extension; char *ext = (char *)extension;
char prompt[50]; char prompt[50];
wxString str = _("Save %s file"); wxString str = _("Save %s file");
sprintf(prompt, str, what); sprintf(prompt, str, what);
if (*ext == '.') ext++; if (*ext == '.') ext++;
char wild[60]; char wild[60];
sprintf(wild, "*.%s", ext); sprintf(wild, "*.%s", ext);
return wxFileSelector (prompt, (const char *) NULL, default_name, ext, wild, 0, parent); return wxFileSelector (prompt, (const char *) NULL, default_name, ext, wild, 0, parent);
} }

View File

@@ -16,6 +16,8 @@
#include "wx/log.h" #include "wx/log.h"
#include <strings.h> #include <strings.h>
#include "gdk/gdk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// local data // local data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -19,6 +19,10 @@
#include "wx/toolbar.h" #include "wx/toolbar.h"
#include "wx/statusbr.h" #include "wx/statusbr.h"
#include "wx/dcclient.h" #include "wx/dcclient.h"
#include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h" #include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -12,6 +12,8 @@
#endif #endif
#include "wx/gauge.h" #include "wx/gauge.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxGauge // wxGauge

View File

@@ -18,6 +18,9 @@
#include "wx/intl.h" #include "wx/intl.h"
#include "wx/checklst.h" #include "wx/checklst.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// conditional compilation // conditional compilation
//------------------------------------------------------------------------- //-------------------------------------------------------------------------

View File

@@ -14,9 +14,13 @@
#include "wx/mdi.h" #include "wx/mdi.h"
#include "wx/dialog.h" #include "wx/dialog.h"
#include "wx/menu.h" #include "wx/menu.h"
#include "wx/gtk/win_gtk.h"
#include <wx/intl.h> #include <wx/intl.h>
#include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// constants // constants
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -35,16 +39,16 @@ extern wxList wxPendingDelete;
static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, wxWindow *win ) static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, wxWindow *win )
{ {
if ((win->m_x == alloc->x) && if ((win->m_x == alloc->x) &&
(win->m_y == alloc->y) && (win->m_y == alloc->y) &&
(win->m_width == alloc->width) && (win->m_width == alloc->width) &&
(win->m_height == alloc->height) && (win->m_height == alloc->height) &&
(win->m_sizeSet)) (win->m_sizeSet))
{ {
return; return;
} }
win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height ); win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -56,19 +60,19 @@ static void gtk_page_change_callback( GtkNotebook *WXUNUSED(widget),
gint WXUNUSED(nPage), gint WXUNUSED(nPage),
wxMDIClientWindow *client_win ) wxMDIClientWindow *client_win )
{ {
wxNode *node = client_win->m_children.First(); wxNode *node = client_win->m_children.First();
while (node) while (node)
{
wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
if (child_frame->m_page == page)
{ {
wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)client_win->m_parent; wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
mdi_frame->m_currentChild = child_frame; if (child_frame->m_page == page)
mdi_frame->SetMDIMenuBar( child_frame->m_menuBar ); {
return; wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)client_win->m_parent;
mdi_frame->m_currentChild = child_frame;
mdi_frame->SetMDIMenuBar( child_frame->m_menuBar );
return;
}
node = node->Next();
} }
node = node->Next();
}
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -82,9 +86,9 @@ END_EVENT_TABLE()
wxMDIParentFrame::wxMDIParentFrame(void) wxMDIParentFrame::wxMDIParentFrame(void)
{ {
m_clientWindow = (wxMDIClientWindow *) NULL; m_clientWindow = (wxMDIClientWindow *) NULL;
m_currentChild = (wxMDIChildFrame *) NULL; m_currentChild = (wxMDIChildFrame *) NULL;
m_parentFrameActive = TRUE; m_parentFrameActive = TRUE;
} }
wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent, wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
@@ -92,10 +96,10 @@ wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
const wxPoint& pos, const wxSize& size, const wxPoint& pos, const wxSize& size,
long style, const wxString& name ) long style, const wxString& name )
{ {
m_clientWindow = (wxMDIClientWindow *) NULL; m_clientWindow = (wxMDIClientWindow *) NULL;
m_currentChild = (wxMDIChildFrame *) NULL; m_currentChild = (wxMDIChildFrame *) NULL;
m_parentFrameActive = TRUE; m_parentFrameActive = TRUE;
Create( parent, id, title, pos, size, style, name ); Create( parent, id, title, pos, size, style, name );
} }
wxMDIParentFrame::~wxMDIParentFrame(void) wxMDIParentFrame::~wxMDIParentFrame(void)
@@ -107,75 +111,75 @@ bool wxMDIParentFrame::Create( wxWindow *parent,
const wxPoint& pos, const wxSize& size, const wxPoint& pos, const wxSize& size,
long style, const wxString& name ) long style, const wxString& name )
{ {
wxFrame::Create( parent, id, title, pos, size, style, name ); wxFrame::Create( parent, id, title, pos, size, style, name );
OnCreateClient(); OnCreateClient();
return TRUE; return TRUE;
} }
void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height ) void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height )
{ {
wxFrame::GtkOnSize( x, y, width, height ); wxFrame::GtkOnSize( x, y, width, height );
if (m_mdiMenuBar) if (m_mdiMenuBar)
{ {
m_mdiMenuBar->m_x = 0; m_mdiMenuBar->m_x = 0;
m_mdiMenuBar->m_y = 0; m_mdiMenuBar->m_y = 0;
m_mdiMenuBar->m_width = m_width; m_mdiMenuBar->m_width = m_width;
m_mdiMenuBar->m_height = wxMENU_HEIGHT; m_mdiMenuBar->m_height = wxMENU_HEIGHT;
gtk_myfixed_move( GTK_MYFIXED(m_wxwindow), m_mdiMenuBar->m_widget, 0, 0 ); gtk_myfixed_move( GTK_MYFIXED(m_wxwindow), m_mdiMenuBar->m_widget, 0, 0 );
gtk_widget_set_usize( m_mdiMenuBar->m_widget, m_width, wxMENU_HEIGHT ); gtk_widget_set_usize( m_mdiMenuBar->m_widget, m_width, wxMENU_HEIGHT );
} }
} }
void wxMDIParentFrame::SetMDIMenuBar( wxMenuBar *menu_bar ) void wxMDIParentFrame::SetMDIMenuBar( wxMenuBar *menu_bar )
{ {
if (m_mdiMenuBar) m_mdiMenuBar->Show( FALSE ); if (m_mdiMenuBar) m_mdiMenuBar->Show( FALSE );
m_mdiMenuBar = menu_bar; m_mdiMenuBar = menu_bar;
if (m_mdiMenuBar) if (m_mdiMenuBar)
{ {
m_mdiMenuBar->m_x = 0; m_mdiMenuBar->m_x = 0;
m_mdiMenuBar->m_y = 0; m_mdiMenuBar->m_y = 0;
m_mdiMenuBar->m_width = m_width; m_mdiMenuBar->m_width = m_width;
m_mdiMenuBar->m_height = wxMENU_HEIGHT; m_mdiMenuBar->m_height = wxMENU_HEIGHT;
gtk_myfixed_move( GTK_MYFIXED(m_wxwindow), m_mdiMenuBar->m_widget, 0, 0 ); gtk_myfixed_move( GTK_MYFIXED(m_wxwindow), m_mdiMenuBar->m_widget, 0, 0 );
gtk_widget_set_usize( m_mdiMenuBar->m_widget, m_width, wxMENU_HEIGHT ); gtk_widget_set_usize( m_mdiMenuBar->m_widget, m_width, wxMENU_HEIGHT );
m_mdiMenuBar->Show( TRUE ); m_mdiMenuBar->Show( TRUE );
} }
} }
void wxMDIParentFrame::GetClientSize(int *width, int *height ) const void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
{ {
wxFrame::GetClientSize( width, height ); wxFrame::GetClientSize( width, height );
} }
wxMDIChildFrame *wxMDIParentFrame::GetActiveChild(void) const wxMDIChildFrame *wxMDIParentFrame::GetActiveChild(void) const
{ {
return m_currentChild; return m_currentChild;
} }
wxMDIClientWindow *wxMDIParentFrame::GetClientWindow(void) const wxMDIClientWindow *wxMDIParentFrame::GetClientWindow(void) const
{ {
return m_clientWindow; return m_clientWindow;
} }
wxMDIClientWindow *wxMDIParentFrame::OnCreateClient(void) wxMDIClientWindow *wxMDIParentFrame::OnCreateClient(void)
{ {
m_clientWindow = new wxMDIClientWindow( this ); m_clientWindow = new wxMDIClientWindow( this );
return m_clientWindow; return m_clientWindow;
} }
void wxMDIParentFrame::ActivateNext(void) void wxMDIParentFrame::ActivateNext(void)
{ {
if (m_clientWindow) if (m_clientWindow)
gtk_notebook_next_page( GTK_NOTEBOOK(m_clientWindow->m_widget) ); gtk_notebook_next_page( GTK_NOTEBOOK(m_clientWindow->m_widget) );
} }
void wxMDIParentFrame::ActivatePrevious(void) void wxMDIParentFrame::ActivatePrevious(void)
{ {
if (m_clientWindow) if (m_clientWindow)
gtk_notebook_prev_page( GTK_NOTEBOOK(m_clientWindow->m_widget) ); gtk_notebook_prev_page( GTK_NOTEBOOK(m_clientWindow->m_widget) );
} }
void wxMDIParentFrame::OnActivate( wxActivateEvent& WXUNUSED(event) ) void wxMDIParentFrame::OnActivate( wxActivateEvent& WXUNUSED(event) )
@@ -193,13 +197,13 @@ void wxMDIParentFrame::OnSysColourChanged( wxSysColourChangedEvent& WXUNUSED(eve
IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame,wxFrame) IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame,wxFrame)
BEGIN_EVENT_TABLE(wxMDIChildFrame, wxFrame) BEGIN_EVENT_TABLE(wxMDIChildFrame, wxFrame)
EVT_ACTIVATE(wxMDIChildFrame::OnActivate) EVT_ACTIVATE(wxMDIChildFrame::OnActivate)
END_EVENT_TABLE() END_EVENT_TABLE()
wxMDIChildFrame::wxMDIChildFrame(void) wxMDIChildFrame::wxMDIChildFrame(void)
{ {
m_menuBar = (wxMenuBar *) NULL; m_menuBar = (wxMenuBar *) NULL;
m_page = (GtkNotebookPage *) NULL; m_page = (GtkNotebookPage *) NULL;
} }
wxMDIChildFrame::wxMDIChildFrame( wxMDIParentFrame *parent, wxMDIChildFrame::wxMDIChildFrame( wxMDIParentFrame *parent,
@@ -207,23 +211,23 @@ wxMDIChildFrame::wxMDIChildFrame( wxMDIParentFrame *parent,
const wxPoint& WXUNUSED(pos), const wxSize& size, const wxPoint& WXUNUSED(pos), const wxSize& size,
long style, const wxString& name ) long style, const wxString& name )
{ {
m_menuBar = (wxMenuBar *) NULL; m_menuBar = (wxMenuBar *) NULL;
m_page = (GtkNotebookPage *) NULL; m_page = (GtkNotebookPage *) NULL;
Create( parent, id, title, wxDefaultPosition, size, style, name ); Create( parent, id, title, wxDefaultPosition, size, style, name );
} }
wxMDIChildFrame::~wxMDIChildFrame(void) wxMDIChildFrame::~wxMDIChildFrame(void)
{ {
if (m_menuBar) if (m_menuBar)
{
wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
if (mdi_frame->m_currentChild == this)
{ {
mdi_frame->SetMDIMenuBar( (wxMenuBar *) NULL ); wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
mdi_frame->m_currentChild = (wxMDIChildFrame *) NULL; if (mdi_frame->m_currentChild == this)
{
mdi_frame->SetMDIMenuBar( (wxMenuBar *) NULL );
mdi_frame->m_currentChild = (wxMDIChildFrame *) NULL;
}
delete m_menuBar;
} }
delete m_menuBar;
}
} }
bool wxMDIChildFrame::Create( wxMDIParentFrame *parent, bool wxMDIChildFrame::Create( wxMDIParentFrame *parent,
@@ -231,64 +235,64 @@ bool wxMDIChildFrame::Create( wxMDIParentFrame *parent,
const wxPoint& WXUNUSED(pos), const wxSize& size, const wxPoint& WXUNUSED(pos), const wxSize& size,
long style, const wxString& name ) long style, const wxString& name )
{ {
m_title = title; m_title = title;
return wxWindow::Create( parent->GetClientWindow(), id, wxDefaultPosition, size, style, name ); return wxWindow::Create( parent->GetClientWindow(), id, wxDefaultPosition, size, style, name );
} }
void wxMDIChildFrame::GetClientSize( int *width, int *height ) const void wxMDIChildFrame::GetClientSize( int *width, int *height ) const
{ {
wxWindow::GetClientSize( width, height ); wxWindow::GetClientSize( width, height );
} }
void wxMDIChildFrame::AddChild( wxWindow *child ) void wxMDIChildFrame::AddChild( wxWindow *child )
{ {
wxWindow::AddChild( child ); wxWindow::AddChild( child );
} }
static void SetInvokingWindow( wxMenu *menu, wxWindow *win ) static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
{ {
menu->SetInvokingWindow( win ); menu->SetInvokingWindow( win );
wxNode *node = menu->m_items.First(); wxNode *node = menu->m_items.First();
while (node) while (node)
{ {
wxMenuItem *menuitem = (wxMenuItem*)node->Data(); wxMenuItem *menuitem = (wxMenuItem*)node->Data();
if (menuitem->IsSubMenu()) if (menuitem->IsSubMenu())
SetInvokingWindow( menuitem->GetSubMenu(), win ); SetInvokingWindow( menuitem->GetSubMenu(), win );
node = node->Next(); node = node->Next();
} }
} }
void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar ) void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
{ {
m_menuBar = menu_bar; m_menuBar = menu_bar;
if (m_menuBar) if (m_menuBar)
{
wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
if (m_menuBar->m_parent != this)
{ {
wxNode *node = m_menuBar->m_menus.First(); wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
while (node)
{
wxMenu *menu = (wxMenu*)node->Data();
SetInvokingWindow( menu, this );
node = node->Next();
}
m_menuBar->m_parent = mdi_frame; if (m_menuBar->m_parent != this)
{
wxNode *node = m_menuBar->m_menus.First();
while (node)
{
wxMenu *menu = (wxMenu*)node->Data();
SetInvokingWindow( menu, this );
node = node->Next();
}
m_menuBar->m_parent = mdi_frame;
}
mdi_frame->SetMDIMenuBar( m_menuBar );
gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_wxwindow),
m_menuBar->m_widget, m_menuBar->m_x, m_menuBar->m_y );
} }
mdi_frame->SetMDIMenuBar( m_menuBar );
gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_wxwindow),
m_menuBar->m_widget, m_menuBar->m_x, m_menuBar->m_y );
}
} }
wxMenuBar *wxMDIChildFrame::GetMenuBar() wxMenuBar *wxMDIChildFrame::GetMenuBar()
{ {
return m_menuBar; return m_menuBar;
} }
void wxMDIChildFrame::Activate(void) void wxMDIChildFrame::Activate(void)
@@ -305,24 +309,24 @@ void wxMDIChildFrame::OnActivate( wxActivateEvent &WXUNUSED(event) )
static void wxInsertChildInMDI( wxMDIClientWindow* parent, wxMDIChildFrame* child ) static void wxInsertChildInMDI( wxMDIClientWindow* parent, wxMDIChildFrame* child )
{ {
wxString s = child->m_title; wxString s = child->m_title;
if (s.IsNull()) s = _("MDI child"); if (s.IsNull()) s = _("MDI child");
GtkWidget *label_widget = gtk_label_new( s ); GtkWidget *label_widget = gtk_label_new( s );
gtk_misc_set_alignment( GTK_MISC(label_widget), 0.0, 0.5 ); gtk_misc_set_alignment( GTK_MISC(label_widget), 0.0, 0.5 );
gtk_signal_connect( GTK_OBJECT(child->m_widget), "size_allocate", gtk_signal_connect( GTK_OBJECT(child->m_widget), "size_allocate",
GTK_SIGNAL_FUNC(gtk_page_size_callback), (gpointer)child ); GTK_SIGNAL_FUNC(gtk_page_size_callback), (gpointer)child );
GtkNotebook *notebook = GTK_NOTEBOOK(parent->m_widget); GtkNotebook *notebook = GTK_NOTEBOOK(parent->m_widget);
gtk_notebook_append_page( notebook, child->m_widget, label_widget ); gtk_notebook_append_page( notebook, child->m_widget, label_widget );
child->m_page = (GtkNotebookPage*) (g_list_last(notebook->children)->data); child->m_page = (GtkNotebookPage*) (g_list_last(notebook->children)->data);
gtk_notebook_set_page( notebook, parent->m_children.Number()-1 ); gtk_notebook_set_page( notebook, parent->m_children.Number()-1 );
gtk_page_change_callback( (GtkNotebook *) NULL, child->m_page, 0, parent ); gtk_page_change_callback( (GtkNotebook *) NULL, child->m_page, 0, parent );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -337,7 +341,7 @@ wxMDIClientWindow::wxMDIClientWindow(void)
wxMDIClientWindow::wxMDIClientWindow( wxMDIParentFrame *parent, long style ) wxMDIClientWindow::wxMDIClientWindow( wxMDIParentFrame *parent, long style )
{ {
CreateClient( parent, style ); CreateClient( parent, style );
} }
wxMDIClientWindow::~wxMDIClientWindow(void) wxMDIClientWindow::~wxMDIClientWindow(void)
@@ -346,28 +350,28 @@ wxMDIClientWindow::~wxMDIClientWindow(void)
bool wxMDIClientWindow::CreateClient( wxMDIParentFrame *parent, long style ) bool wxMDIClientWindow::CreateClient( wxMDIParentFrame *parent, long style )
{ {
m_needParent = TRUE; m_needParent = TRUE;
m_insertCallback = (wxInsertChildFunction)wxInsertChildInMDI; m_insertCallback = (wxInsertChildFunction)wxInsertChildInMDI;
PreCreation( parent, -1, wxPoint(10,10), wxSize(100,100), style, "wxMDIClientWindow" ); PreCreation( parent, -1, wxPoint(10,10), wxSize(100,100), style, "wxMDIClientWindow" );
m_widget = gtk_notebook_new(); m_widget = gtk_notebook_new();
gtk_signal_connect( GTK_OBJECT(m_widget), "switch_page", gtk_signal_connect( GTK_OBJECT(m_widget), "switch_page",
GTK_SIGNAL_FUNC(gtk_page_change_callback), (gpointer)this ); GTK_SIGNAL_FUNC(gtk_page_change_callback), (gpointer)this );
gtk_notebook_set_scrollable( GTK_NOTEBOOK(m_widget), 1 ); gtk_notebook_set_scrollable( GTK_NOTEBOOK(m_widget), 1 );
m_parent->AddChild( this ); m_parent->AddChild( this );
(m_parent->m_insertCallback)( m_parent, this ); (m_parent->m_insertCallback)( m_parent, this );
PostCreation(); PostCreation();
Show( TRUE ); Show( TRUE );
return TRUE; return TRUE;
} }

View File

@@ -16,6 +16,9 @@
#include "wx/log.h" #include "wx/log.h"
#include "wx/intl.h" #include "wx/intl.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxMenuBar // wxMenuBar
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -24,124 +27,131 @@ IMPLEMENT_DYNAMIC_CLASS(wxMenuBar,wxWindow)
wxMenuBar::wxMenuBar() wxMenuBar::wxMenuBar()
{ {
m_needParent = FALSE; // hmmm m_needParent = FALSE; // hmmm
PreCreation( (wxWindow *) NULL, -1, wxDefaultPosition, wxDefaultSize, 0, "menu" ); PreCreation( (wxWindow *) NULL, -1, wxDefaultPosition, wxDefaultSize, 0, "menu" );
m_menus.DeleteContents( TRUE ); m_menus.DeleteContents( TRUE );
m_menubar = gtk_menu_bar_new(); m_menubar = gtk_menu_bar_new();
m_widget = GTK_WIDGET(m_menubar); m_widget = GTK_WIDGET(m_menubar);
PostCreation(); PostCreation();
Show( TRUE ); Show( TRUE );
} }
void wxMenuBar::Append( wxMenu *menu, const wxString &title ) void wxMenuBar::Append( wxMenu *menu, const wxString &title )
{ {
m_menus.Append( menu ); m_menus.Append( menu );
menu->m_title = title; // ?????? menu->m_title = title;
int pos; int pos;
do { do
pos = menu->m_title.First( '&' ); {
if (pos != -1) menu->m_title.Remove( pos, 1 ); pos = menu->m_title.First( '&' );
} while (pos != -1); if (pos != -1) menu->m_title.Remove( pos, 1 );
} while (pos != -1);
GtkWidget *root_menu; GtkWidget *root_menu;
root_menu = gtk_menu_item_new_with_label( WXSTRINGCAST(menu->m_title) ); root_menu = gtk_menu_item_new_with_label( WXSTRINGCAST(menu->m_title) );
gtk_widget_show( root_menu ); gtk_widget_show( root_menu );
gtk_menu_item_set_submenu( GTK_MENU_ITEM(root_menu), menu->m_menu ); gtk_menu_item_set_submenu( GTK_MENU_ITEM(root_menu), menu->m_menu );
gtk_menu_bar_append( GTK_MENU_BAR(m_menubar), root_menu ); gtk_menu_bar_append( GTK_MENU_BAR(m_menubar), root_menu );
} }
static int FindMenuItemRecursive( const wxMenu *menu, const wxString &menuString, const wxString &itemString ) static int FindMenuItemRecursive( const wxMenu *menu, const wxString &menuString, const wxString &itemString )
{ {
if (menu->m_title == menuString) if (menu->m_title == menuString)
{ {
int res = menu->FindItem( itemString ); int res = menu->FindItem( itemString );
if (res != -1) return res; if (res != -1) return res;
} }
wxNode *node = menu->m_items.First();
while (node) wxNode *node = menu->m_items.First();
{ while (node)
wxMenuItem *item = (wxMenuItem*)node->Data(); {
if (item->IsSubMenu()) wxMenuItem *item = (wxMenuItem*)node->Data();
return FindMenuItemRecursive(item->GetSubMenu(), menuString, itemString); if (item->IsSubMenu())
node = node->Next(); return FindMenuItemRecursive(item->GetSubMenu(), menuString, itemString);
} node = node->Next();
return -1; }
return -1;
} }
int wxMenuBar::FindMenuItem( const wxString &menuString, const wxString &itemString ) const int wxMenuBar::FindMenuItem( const wxString &menuString, const wxString &itemString ) const
{ {
wxNode *node = m_menus.First(); wxNode *node = m_menus.First();
while (node) while (node)
{ {
wxMenu *menu = (wxMenu*)node->Data(); wxMenu *menu = (wxMenu*)node->Data();
int res = FindMenuItemRecursive( menu, menuString, itemString); int res = FindMenuItemRecursive( menu, menuString, itemString);
if (res != -1) return res; if (res != -1) return res;
node = node->Next(); node = node->Next();
} }
return -1; return -1;
} }
// Find a wxMenuItem using its id. Recurses down into sub-menus /* Find a wxMenuItem using its id. Recurses down into sub-menus */
static wxMenuItem* FindMenuItemByIdRecursive(const wxMenu* menu, int id) static wxMenuItem* FindMenuItemByIdRecursive(const wxMenu* menu, int id)
{ {
wxMenuItem* result = menu->FindItem(id); wxMenuItem* result = menu->FindItem(id);
wxNode *node = menu->m_items.First(); wxNode *node = menu->m_items.First();
while ( node && result == NULL ) { while ( node && result == NULL )
wxMenuItem *item = (wxMenuItem*)node->Data(); {
if ( item->IsSubMenu() ) wxMenuItem *item = (wxMenuItem*)node->Data();
result = FindMenuItemByIdRecursive( item->GetSubMenu(), id ); if (item->IsSubMenu())
node = node->Next(); {
} result = FindMenuItemByIdRecursive( item->GetSubMenu(), id );
}
node = node->Next();
}
return result; return result;
} }
wxMenuItem* wxMenuBar::FindMenuItemById( int id ) const wxMenuItem* wxMenuBar::FindMenuItemById( int id ) const
{ {
wxMenuItem* result = 0; wxMenuItem* result = 0;
wxNode *node = m_menus.First(); wxNode *node = m_menus.First();
while (node && result == 0) while (node && result == 0)
{ {
wxMenu *menu = (wxMenu*)node->Data(); wxMenu *menu = (wxMenu*)node->Data();
result = FindMenuItemByIdRecursive( menu, id ); result = FindMenuItemByIdRecursive( menu, id );
node = node->Next(); node = node->Next();
} }
return result;
return result;
} }
void wxMenuBar::Check( int id, bool check ) void wxMenuBar::Check( int id, bool check )
{ {
wxMenuItem* item = FindMenuItemById( id ); wxMenuItem* item = FindMenuItemById( id );
if (item) item->Check(check); if (item) item->Check(check);
} }
bool wxMenuBar::Checked( int id ) const bool wxMenuBar::Checked( int id ) const
{ {
wxMenuItem* item = FindMenuItemById( id ); wxMenuItem* item = FindMenuItemById( id );
if (item) return item->IsChecked(); if (item) return item->IsChecked();
return FALSE; return FALSE;
} }
void wxMenuBar::Enable( int id, bool enable ) void wxMenuBar::Enable( int id, bool enable )
{ {
wxMenuItem* item = FindMenuItemById( id ); wxMenuItem* item = FindMenuItemById( id );
if (item) item->Enable(enable); if (item) item->Enable(enable);
} }
bool wxMenuBar::Enabled( int id ) const bool wxMenuBar::Enabled( int id ) const
{ {
wxMenuItem* item = FindMenuItemById( id ); wxMenuItem* item = FindMenuItemById( id );
if (item) return item->IsEnabled(); if (item) return item->IsEnabled();
return FALSE; return FALSE;
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -150,27 +160,27 @@ bool wxMenuBar::Enabled( int id ) const
static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu ) static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu )
{ {
int id = menu->FindMenuIdByMenuItem(widget); int id = menu->FindMenuIdByMenuItem(widget);
// should find it for normal (not popup) menu /* should find it for normal (not popup) menu */
wxASSERT( (id != -1) || (menu->GetInvokingWindow() != NULL) ); wxASSERT( (id != -1) || (menu->GetInvokingWindow() != NULL) );
if (!menu->IsEnabled(id)) return; if (!menu->IsEnabled(id)) return;
wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, id ); wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, id );
event.SetEventObject( menu ); event.SetEventObject( menu );
event.SetInt(id ); event.SetInt(id );
if (menu->m_callback) if (menu->m_callback)
{ {
(void) (*(menu->m_callback)) (*menu, event); (void) (*(menu->m_callback)) (*menu, event);
return; return;
} }
if (menu->GetEventHandler()->ProcessEvent(event)) return; if (menu->GetEventHandler()->ProcessEvent(event)) return;
wxWindow *win = menu->GetInvokingWindow(); wxWindow *win = menu->GetInvokingWindow();
if (win) win->GetEventHandler()->ProcessEvent( event ); if (win) win->GetEventHandler()->ProcessEvent( event );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -179,28 +189,29 @@ static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu )
static void gtk_menu_hilight_callback( GtkWidget *widget, wxMenu *menu ) static void gtk_menu_hilight_callback( GtkWidget *widget, wxMenu *menu )
{ {
int id = menu->FindMenuIdByMenuItem(widget); int id = menu->FindMenuIdByMenuItem(widget);
wxASSERT( id != -1 ); // should find it! wxASSERT( id != -1 ); // should find it!
if (!menu->IsEnabled(id)) return; if (!menu->IsEnabled(id)) return;
wxCommandEvent event( wxEVT_MENU_HIGHLIGHT, id ); wxCommandEvent event( wxEVT_MENU_HIGHLIGHT, id );
event.SetEventObject( menu ); event.SetEventObject( menu );
event.SetInt(id ); event.SetInt(id );
/* wxMSW doesn't call callback here either /* wxMSW doesn't call callback here either
if (menu->m_callback)
{ if (menu->m_callback)
(void) (*(menu->m_callback)) (*menu, event); {
return; (void) (*(menu->m_callback)) (*menu, event);
} return;
}
*/ */
if (menu->GetEventHandler()->ProcessEvent(event)) return; if (menu->GetEventHandler()->ProcessEvent(event)) return;
wxWindow *win = menu->GetInvokingWindow(); wxWindow *win = menu->GetInvokingWindow();
if (win) win->GetEventHandler()->ProcessEvent( event ); if (win) win->GetEventHandler()->ProcessEvent( event );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -211,276 +222,305 @@ IMPLEMENT_DYNAMIC_CLASS(wxMenuItem,wxObject)
wxMenuItem::wxMenuItem() wxMenuItem::wxMenuItem()
{ {
m_id = ID_SEPARATOR; m_id = ID_SEPARATOR;
m_isCheckMenu = FALSE; m_isCheckMenu = FALSE;
m_isChecked = FALSE; m_isChecked = FALSE;
m_isEnabled = TRUE; m_isEnabled = TRUE;
m_subMenu = (wxMenu *) NULL; m_subMenu = (wxMenu *) NULL;
m_menuItem = (GtkWidget *) NULL; m_menuItem = (GtkWidget *) NULL;
} }
// it's valid for this function to be called even if m_menuItem == NULL /* it's valid for this function to be called even if m_menuItem == NULL */
void wxMenuItem::SetName(const wxString& str) void wxMenuItem::SetName( const wxString& str )
{ {
m_text = ""; m_text = "";
for ( const char *pc = str; *pc != '\0'; pc++ ) for ( const char *pc = str; *pc != '\0'; pc++ )
{ {
if ( *pc == '&' ) if (*pc == '&') pc++; /* skip it */
pc++; // skip it m_text << *pc;
}
m_text << *pc; if (m_menuItem)
} {
GtkLabel *label = GTK_LABEL( GTK_BIN(m_menuItem)->child );
if ( m_menuItem ) gtk_label_set( label, m_text.c_str());
{ }
GtkLabel *label = GTK_LABEL( GTK_BIN(m_menuItem)->child );
gtk_label_set( label, m_text.c_str());
}
} }
void wxMenuItem::Check( bool check ) void wxMenuItem::Check( bool check )
{ {
wxCHECK_RET( m_menuItem, "invalid menu item" ); wxCHECK_RET( m_menuItem, "invalid menu item" );
wxCHECK_RET( IsCheckable(), "Can't check uncheckable item!" ) wxCHECK_RET( IsCheckable(), "Can't check uncheckable item!" )
m_isChecked = check; m_isChecked = check;
gtk_check_menu_item_set_state( (GtkCheckMenuItem*)m_menuItem, (gint)check ); gtk_check_menu_item_set_state( (GtkCheckMenuItem*)m_menuItem, (gint)check );
} }
void wxMenuItem::Enable( bool enable ) void wxMenuItem::Enable( bool enable )
{ {
wxCHECK_RET( m_menuItem, "invalid menu item" ); wxCHECK_RET( m_menuItem, "invalid menu item" );
gtk_widget_set_sensitive( m_menuItem, enable ); gtk_widget_set_sensitive( m_menuItem, enable );
m_isEnabled = enable; m_isEnabled = enable;
} }
bool wxMenuItem::IsChecked() const bool wxMenuItem::IsChecked() const
{ {
wxCHECK_MSG( m_menuItem, FALSE, "invalid menu item" ); wxCHECK_MSG( m_menuItem, FALSE, "invalid menu item" );
wxCHECK( IsCheckable(), FALSE ); // can't get state of uncheckable item! wxCHECK( IsCheckable(), FALSE ); // can't get state of uncheckable item!
bool bIsChecked = ((GtkCheckMenuItem*)m_menuItem)->active != 0; bool bIsChecked = ((GtkCheckMenuItem*)m_menuItem)->active != 0;
wxASSERT( bIsChecked == m_isChecked ); // consistency check wxASSERT( bIsChecked == m_isChecked ); // consistency check
return bIsChecked; return bIsChecked;
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxMenuItem // wxMenu
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxMenu,wxEvtHandler) IMPLEMENT_DYNAMIC_CLASS(wxMenu,wxEvtHandler)
wxMenu::wxMenu( const wxString& title, const wxFunction func ) wxMenu::wxMenu( const wxString& title, const wxFunction func )
{ {
m_title = title; m_title = title;
m_items.DeleteContents( TRUE ); m_items.DeleteContents( TRUE );
m_invokingWindow = (wxWindow *) NULL; m_invokingWindow = (wxWindow *) NULL;
m_menu = gtk_menu_new(); // Do not show! m_menu = gtk_menu_new(); // Do not show!
m_callback = func; m_callback = func;
m_eventHandler = this; m_eventHandler = this;
m_clientData = (void*) NULL; m_clientData = (void*) NULL;
if (m_title.IsNull()) m_title = ""; if (m_title.IsNull()) m_title = "";
if (m_title != "") if (m_title != "")
{ {
Append(-2, m_title); Append(-2, m_title);
AppendSeparator(); AppendSeparator();
} }
} }
void wxMenu::SetTitle( const wxString& title ) void wxMenu::SetTitle( const wxString& title )
{ {
// Waiting for something better. /* Waiting for something better. */
m_title = title; m_title = title;
} }
const wxString wxMenu::GetTitle() const const wxString wxMenu::GetTitle() const
{ {
return m_title; return m_title;
} }
void wxMenu::AppendSeparator() void wxMenu::AppendSeparator()
{ {
wxMenuItem *mitem = new wxMenuItem(); wxMenuItem *mitem = new wxMenuItem();
mitem->SetId(ID_SEPARATOR); mitem->SetId(ID_SEPARATOR);
GtkWidget *menuItem = gtk_menu_item_new(); GtkWidget *menuItem = gtk_menu_item_new();
gtk_menu_append( GTK_MENU(m_menu), menuItem ); gtk_menu_append( GTK_MENU(m_menu), menuItem );
gtk_widget_show( menuItem ); gtk_widget_show( menuItem );
mitem->SetMenuItem(menuItem); mitem->SetMenuItem(menuItem);
m_items.Append( mitem ); m_items.Append( mitem );
} }
void wxMenu::Append( int id, const wxString &item, const wxString &helpStr, bool checkable ) void wxMenu::Append( int id, const wxString &item, const wxString &helpStr, bool checkable )
{ {
wxMenuItem *mitem = new wxMenuItem(); wxMenuItem *mitem = new wxMenuItem();
mitem->SetId(id); mitem->SetId(id);
mitem->SetText(item); mitem->SetText(item);
mitem->SetHelp(helpStr); mitem->SetHelp(helpStr);
mitem->SetCheckable(checkable); mitem->SetCheckable(checkable);
const char *text = mitem->GetText(); const char *text = mitem->GetText();
GtkWidget *menuItem = checkable ? gtk_check_menu_item_new_with_label(text) GtkWidget *menuItem = checkable ? gtk_check_menu_item_new_with_label(text)
: gtk_menu_item_new_with_label(text); : gtk_menu_item_new_with_label(text);
mitem->SetMenuItem(menuItem); mitem->SetMenuItem(menuItem);
gtk_signal_connect( GTK_OBJECT(menuItem), "activate", gtk_signal_connect( GTK_OBJECT(menuItem), "activate",
GTK_SIGNAL_FUNC(gtk_menu_clicked_callback), GTK_SIGNAL_FUNC(gtk_menu_clicked_callback),
(gpointer*)this ); (gpointer*)this );
gtk_signal_connect( GTK_OBJECT(menuItem), "select", gtk_signal_connect( GTK_OBJECT(menuItem), "select",
GTK_SIGNAL_FUNC(gtk_menu_hilight_callback), GTK_SIGNAL_FUNC(gtk_menu_hilight_callback),
(gpointer*)this ); (gpointer*)this );
gtk_menu_append( GTK_MENU(m_menu), menuItem ); gtk_menu_append( GTK_MENU(m_menu), menuItem );
gtk_widget_show( menuItem ); gtk_widget_show( menuItem );
m_items.Append( mitem ); m_items.Append( mitem );
} }
void wxMenu::Append( int id, const wxString &text, wxMenu *subMenu, const wxString &helpStr ) void wxMenu::Append( int id, const wxString &text, wxMenu *subMenu, const wxString &helpStr )
{ {
wxMenuItem *mitem = new wxMenuItem(); wxMenuItem *mitem = new wxMenuItem();
mitem->SetId(id); mitem->SetId(id);
mitem->SetText(text); mitem->SetText(text);
GtkWidget *menuItem = gtk_menu_item_new_with_label(mitem->GetText()); GtkWidget *menuItem = gtk_menu_item_new_with_label(mitem->GetText());
mitem->SetHelp(helpStr); mitem->SetHelp(helpStr);
mitem->SetMenuItem(menuItem); mitem->SetMenuItem(menuItem);
mitem->SetSubMenu(subMenu); mitem->SetSubMenu(subMenu);
gtk_menu_item_set_submenu( GTK_MENU_ITEM(menuItem), subMenu->m_menu ); gtk_menu_item_set_submenu( GTK_MENU_ITEM(menuItem), subMenu->m_menu );
gtk_menu_append( GTK_MENU(m_menu), menuItem ); gtk_menu_append( GTK_MENU(m_menu), menuItem );
gtk_widget_show( menuItem ); gtk_widget_show( menuItem );
m_items.Append( mitem ); m_items.Append( mitem );
} }
int wxMenu::FindItem( const wxString itemString ) const int wxMenu::FindItem( const wxString itemString ) const
{ {
wxString s( itemString ); wxString s( itemString );
int pos; int pos;
do { do
pos = s.First( '&' ); {
if (pos != -1) s.Remove( pos, 1 ); pos = s.First( '&' );
} while (pos != -1); if (pos != -1) s.Remove( pos, 1 );
} while (pos != -1);
wxNode *node = m_items.First(); wxNode *node = m_items.First();
while (node) while (node)
{ {
wxMenuItem *item = (wxMenuItem*)node->Data(); wxMenuItem *item = (wxMenuItem*)node->Data();
if (item->GetText() == s) if (item->GetText() == s)
return item->GetId(); {
node = node->Next(); return item->GetId();
} }
node = node->Next();
}
return -1; return -1;
} }
void wxMenu::Enable( int id, bool enable ) void wxMenu::Enable( int id, bool enable )
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if ( item ) if (item)
item->Enable(enable); {
item->Enable(enable);
}
} }
bool wxMenu::IsEnabled( int id ) const bool wxMenu::IsEnabled( int id ) const
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if ( item ) if (item)
return item->IsEnabled(); {
else return item->IsEnabled();
return FALSE; }
else
{
return FALSE;
}
} }
void wxMenu::Check( int id, bool enable ) void wxMenu::Check( int id, bool enable )
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if ( item ) if (item)
item->Check(enable); {
item->Check(enable);
}
} }
bool wxMenu::IsChecked( int id ) const bool wxMenu::IsChecked( int id ) const
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if ( item ) if (item)
return item->IsChecked(); {
else return item->IsChecked();
return FALSE; }
else
{
return FALSE;
}
} }
void wxMenu::SetLabel( int id, const wxString &label ) void wxMenu::SetLabel( int id, const wxString &label )
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if (item) if (item)
item->SetText(label); {
item->SetText(label);
}
} }
wxString wxMenu::GetLabel( int id ) const wxString wxMenu::GetLabel( int id ) const
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if (item) return item->GetText(); if (item)
return ""; {
return item->GetText();
}
else
{
return "";
}
} }
void wxMenu::SetHelpString( int id, const wxString& helpString ) void wxMenu::SetHelpString( int id, const wxString& helpString )
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if (item) item->SetHelp( helpString ); if (item) item->SetHelp( helpString );
} }
wxString wxMenu::GetHelpString( int id ) const wxString wxMenu::GetHelpString( int id ) const
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if (item) return item->GetHelp(); if (item)
return ""; {
return item->GetHelp();
}
else
{
return "";
}
} }
int wxMenu::FindMenuIdByMenuItem( GtkWidget *menuItem ) const int wxMenu::FindMenuIdByMenuItem( GtkWidget *menuItem ) const
{ {
wxNode *node = m_items.First(); wxNode *node = m_items.First();
while (node) while (node)
{ {
wxMenuItem *item = (wxMenuItem*)node->Data(); wxMenuItem *item = (wxMenuItem*)node->Data();
if (item->GetMenuItem() == menuItem) if (item->GetMenuItem() == menuItem)
return item->GetId(); return item->GetId();
node = node->Next(); node = node->Next();
} }
return -1; return -1;
} }
wxMenuItem *wxMenu::FindItem(int id) const wxMenuItem *wxMenu::FindItem(int id) const
{ {
wxNode *node = m_items.First(); wxNode *node = m_items.First();
while (node) { while (node)
wxMenuItem *item = (wxMenuItem*)node->Data(); {
if ( item->GetId() == id ) wxMenuItem *item = (wxMenuItem*)node->Data();
return item; if (item->GetId() == id)
node = node->Next(); {
} return item;
}
node = node->Next();
}
// Not finding anything here can be correct /* Not finding anything here can be correct
// when search the entire menu system for * when search the entire menu system for
// an entry -> no error message. * an entry -> no error message. */
return (wxMenuItem *) NULL; return (wxMenuItem *) NULL;
} }
void wxMenu::SetInvokingWindow( wxWindow *win ) void wxMenu::SetInvokingWindow( wxWindow *win )
{ {
m_invokingWindow = win; m_invokingWindow = win;
} }
wxWindow *wxMenu::GetInvokingWindow() wxWindow *wxMenu::GetInvokingWindow()
{ {
return m_invokingWindow; return m_invokingWindow;
} }

View File

@@ -14,6 +14,10 @@
#include "wx/minifram.h" #include "wx/minifram.h"
#include "wx/dcscreen.h" #include "wx/dcscreen.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// "clicked" // "clicked"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -17,6 +17,10 @@
#include "wx/imaglist.h" #include "wx/imaglist.h"
#include "wx/intl.h" #include "wx/intl.h"
#include "wx/log.h" #include "wx/log.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h"
#include "gdk/gdkkeysyms.h" #include "gdk/gdkkeysyms.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -15,6 +15,8 @@
#include "wx/palette.h" #include "wx/palette.h"
#include "gdk/gdk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxPalette // wxPalette
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,8 @@
#include "wx/pen.h" #include "wx/pen.h"
#include "gdk/gdk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxPen // wxPen
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -15,6 +15,9 @@
#include "wx/radiobox.h" #include "wx/radiobox.h"
#include "wx/dialog.h" #include "wx/dialog.h"
#include "wx/frame.h" #include "wx/frame.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h" #include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,8 @@
#endif #endif
#include "wx/radiobut.h" #include "wx/radiobut.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data

View File

@@ -14,6 +14,9 @@
#include "wx/region.h" #include "wx/region.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxRegion // wxRegion
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -16,6 +16,9 @@
#include "wx/utils.h" #include "wx/utils.h"
#include <math.h> #include <math.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -15,6 +15,9 @@
#include "wx/settings.h" #include "wx/settings.h"
#include "wx/debug.h" #include "wx/debug.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
/* /*
#define wxSYS_COLOUR_SCROLLBAR 0 #define wxSYS_COLOUR_SCROLLBAR 0
#define wxSYS_COLOUR_BACKGROUND 1 #define wxSYS_COLOUR_BACKGROUND 1

View File

@@ -15,6 +15,9 @@
#include "wx/utils.h" #include "wx/utils.h"
#include <math.h> #include <math.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -16,6 +16,9 @@
#include "wx/utils.h" #include "wx/utils.h"
#include <math.h> #include <math.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -28,31 +31,31 @@ extern bool g_blockEventsOnDrag;
static void gtk_spinbutt_callback( GtkWidget *WXUNUSED(widget), wxSpinButton *win ) static void gtk_spinbutt_callback( GtkWidget *WXUNUSED(widget), wxSpinButton *win )
{ {
if (!win->HasVMT()) return; if (!win->HasVMT()) return;
if (g_blockEventsOnDrag) return; if (g_blockEventsOnDrag) return;
float diff = win->m_adjust->value - win->m_oldPos; float diff = win->m_adjust->value - win->m_oldPos;
if (fabs(diff) < 0.2) return; if (fabs(diff) < 0.2) return;
wxEventType command = wxEVT_NULL; wxEventType command = wxEVT_NULL;
float line_step = win->m_adjust->step_increment; float line_step = win->m_adjust->step_increment;
float page_step = win->m_adjust->page_increment; float page_step = win->m_adjust->page_increment;
if (fabs(diff-line_step) < 0.2) command = wxEVT_SCROLL_LINEDOWN; if (fabs(diff-line_step) < 0.2) command = wxEVT_SCROLL_LINEDOWN;
else if (fabs(diff+line_step) < 0.2) command = wxEVT_SCROLL_LINEUP; else if (fabs(diff+line_step) < 0.2) command = wxEVT_SCROLL_LINEUP;
else if (fabs(diff-page_step) < 0.2) command = wxEVT_SCROLL_PAGEDOWN; else if (fabs(diff-page_step) < 0.2) command = wxEVT_SCROLL_PAGEDOWN;
else if (fabs(diff+page_step) < 0.2) command = wxEVT_SCROLL_PAGEUP; else if (fabs(diff+page_step) < 0.2) command = wxEVT_SCROLL_PAGEUP;
else command = wxEVT_SCROLL_THUMBTRACK; else command = wxEVT_SCROLL_THUMBTRACK;
int value = (int)(win->m_adjust->value+0.5); int value = (int)(win->m_adjust->value+0.5);
wxSpinEvent event( command, win->GetId()); wxSpinEvent event( command, win->GetId());
event.SetPosition( value ); event.SetPosition( value );
event.SetOrientation( wxVERTICAL ); event.SetOrientation( wxVERTICAL );
event.SetEventObject( win ); event.SetEventObject( win );
win->ProcessEvent( event ); win->ProcessEvent( event );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -72,38 +75,40 @@ wxSpinButton::wxSpinButton()
bool wxSpinButton::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, bool wxSpinButton::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size,
long style, const wxString& name) long style, const wxString& name)
{ {
m_needParent = TRUE; m_needParent = TRUE;
wxSize new_size = size; wxSize new_size = size;
new_size.x = 16; new_size.x = 16;
if (new_size.y == -1) new_size.y = 30; if (new_size.y == -1) new_size.y = 30;
PreCreation( parent, id, pos, new_size, style, name ); PreCreation( parent, id, pos, new_size, style, name );
// SetValidator( validator ); // SetValidator( validator );
m_oldPos = 0.0; m_oldPos = 0.0;
m_adjust = (GtkAdjustment*) gtk_adjustment_new( 0.0, 0.0, 100.0, 1.0, 5.0, 0.0); m_adjust = (GtkAdjustment*) gtk_adjustment_new( 0.0, 0.0, 100.0, 1.0, 5.0, 0.0);
m_widget = gtk_spin_button_new( m_adjust, 0, 0 ); m_widget = gtk_spin_button_new( m_adjust, 0, 0 );
gtk_spin_button_set_wrap( GTK_SPIN_BUTTON(m_widget), (m_windowStyle & wxSP_WRAP) ); gtk_spin_button_set_wrap( GTK_SPIN_BUTTON(m_widget), (m_windowStyle & wxSP_WRAP) );
gtk_signal_connect (GTK_OBJECT (m_adjust), "value_changed", gtk_signal_connect( GTK_OBJECT (m_adjust),
(GtkSignalFunc) gtk_spinbutt_callback, (gpointer) this ); "value_changed",
(GtkSignalFunc) gtk_spinbutt_callback,
(gpointer) this );
m_parent->AddChild( this ); m_parent->AddChild( this );
(m_parent->m_insertCallback)( m_parent, this ); (m_parent->m_insertCallback)( m_parent, this );
PostCreation(); PostCreation();
SetBackgroundColour( parent->GetBackgroundColour() ); SetBackgroundColour( parent->GetBackgroundColour() );
Show( TRUE ); Show( TRUE );
return TRUE; return TRUE;
} }
wxSpinButton::~wxSpinButton() wxSpinButton::~wxSpinButton()
@@ -112,71 +117,74 @@ wxSpinButton::~wxSpinButton()
int wxSpinButton::GetMin() const int wxSpinButton::GetMin() const
{ {
wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" ); wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" );
return (int)(m_adjust->lower+0.5); return (int)(m_adjust->lower+0.5);
} }
int wxSpinButton::GetMax() const int wxSpinButton::GetMax() const
{ {
wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" ); wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" );
return (int)(m_adjust->upper+0.5); return (int)(m_adjust->upper+0.5);
} }
int wxSpinButton::GetValue() const int wxSpinButton::GetValue() const
{ {
wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" ); wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" );
return (int)(m_adjust->value+0.5); return (int)(m_adjust->value+0.5);
} }
void wxSpinButton::SetValue( int value ) void wxSpinButton::SetValue( int value )
{ {
wxCHECK_RET( (m_widget != NULL), "invalid spin button" ); wxCHECK_RET( (m_widget != NULL), "invalid spin button" );
float fpos = (float)value; float fpos = (float)value;
m_oldPos = fpos; m_oldPos = fpos;
if (fabs(fpos-m_adjust->value) < 0.2) return; if (fabs(fpos-m_adjust->value) < 0.2) return;
m_adjust->value = fpos;
m_adjust->value = fpos;
gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "value_changed" ); gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "value_changed" );
} }
void wxSpinButton::SetRange(int minVal, int maxVal) void wxSpinButton::SetRange(int minVal, int maxVal)
{ {
wxCHECK_RET( (m_widget != NULL), "invalid spin button" ); wxCHECK_RET( (m_widget != NULL), "invalid spin button" );
float fmin = (float)minVal; float fmin = (float)minVal;
float fmax = (float)maxVal; float fmax = (float)maxVal;
if ((fabs(fmin-m_adjust->lower) < 0.2) && if ((fabs(fmin-m_adjust->lower) < 0.2) &&
(fabs(fmax-m_adjust->upper) < 0.2)) (fabs(fmax-m_adjust->upper) < 0.2))
return; {
return;
}
m_adjust->lower = fmin; m_adjust->lower = fmin;
m_adjust->upper = fmax; m_adjust->upper = fmax;
gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "changed" ); gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "changed" );
} }
void wxSpinButton::OnSize( wxSizeEvent &WXUNUSED(event) ) void wxSpinButton::OnSize( wxSizeEvent &WXUNUSED(event) )
{ {
wxCHECK_RET( (m_widget != NULL), "invalid spin button" ); wxCHECK_RET( (m_widget != NULL), "invalid spin button" );
m_width = 16; m_width = 16;
gtk_widget_set_usize( m_widget, m_width, m_height ); gtk_widget_set_usize( m_widget, m_width, m_height );
} }
bool wxSpinButton::IsOwnGtkWindow( GdkWindow *window ) bool wxSpinButton::IsOwnGtkWindow( GdkWindow *window )
{ {
return GTK_SPIN_BUTTON(m_widget)->panel == window; return GTK_SPIN_BUTTON(m_widget)->panel == window;
} }
void wxSpinButton::ApplyWidgetStyle() void wxSpinButton::ApplyWidgetStyle()
{ {
SetWidgetStyle(); SetWidgetStyle();
gtk_widget_set_style( m_widget, m_widgetStyle ); gtk_widget_set_style( m_widget, m_widgetStyle );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,9 @@
#include "wx/statbmp.h" #include "wx/statbmp.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxStaticBitmap // wxStaticBitmap
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,9 @@
#include "wx/statbox.h" #include "wx/statbox.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxStaticBox // wxStaticBox
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/stattext.h" #include "wx/stattext.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxStaticText // wxStaticText
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,10 @@
#include "wx/toolbar.h" #include "wx/toolbar.h"
#include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -99,6 +103,8 @@ wxToolBar::wxToolBar( wxWindow *parent, wxWindowID id,
wxToolBar::~wxToolBar() wxToolBar::~wxToolBar()
{ {
delete m_fg;
delete m_bg;
} }
bool wxToolBar::Create( wxWindow *parent, wxWindowID id, bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
@@ -121,18 +127,20 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
m_widget = GTK_WIDGET(m_toolbar); m_widget = GTK_WIDGET(m_toolbar);
gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE ); gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE );
m_fg = new GdkColor;
m_fg->red = 0;
m_fg->green = 0;
m_fg->blue = 0;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ), m_fg );
m_fg.red = 0; m_bg = new GdkColor;
m_fg.green = 0; m_bg->red = 65535;
m_fg.blue = 0; m_bg->green = 65535;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ), &m_fg ); m_bg->blue = 50000;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ), m_bg );
m_bg.red = 65535; gtk_tooltips_set_colors( GTK_TOOLBAR(m_toolbar)->tooltips, m_bg, m_fg );
m_bg.green = 65535;
m_bg.blue = 50000;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ), &m_bg );
gtk_tooltips_set_colors( GTK_TOOLBAR(m_toolbar)->tooltips, &m_bg, &m_fg );
m_xMargin = 0; m_xMargin = 0;
m_yMargin = 0; m_yMargin = 0;

View File

@@ -20,6 +20,8 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <ctype.h> #include <ctype.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "gdk/gdkkeysyms.h" #include "gdk/gdkkeysyms.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -24,6 +24,9 @@
#include "wx/utils.h" #include "wx/utils.h"
#include "wx/log.h" #include "wx/log.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
enum thread_state enum thread_state
{ {
STATE_IDLE = 0, STATE_IDLE = 0,

View File

@@ -23,7 +23,11 @@
#include "wx/utils.h" #include "wx/utils.h"
#include "wx/log.h" #include "wx/log.h"
enum thread_state { #include "gdk/gdk.h"
#include "gtk/gtk.h"
enum thread_state
{
STATE_IDLE = 0, STATE_IDLE = 0,
STATE_RUNNING, STATE_RUNNING,
STATE_CANCELED, STATE_CANCELED,

View File

@@ -14,6 +14,8 @@
#include "wx/timer.h" #include "wx/timer.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxTimer // wxTimer
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -22,46 +24,49 @@ IMPLEMENT_ABSTRACT_CLASS(wxTimer,wxObject)
gint timeout_callback( gpointer data ) gint timeout_callback( gpointer data )
{ {
wxTimer *timer = (wxTimer*)data; wxTimer *timer = (wxTimer*)data;
timer->Notify(); timer->Notify();
if ( timer->OneShot() ) if (timer->OneShot())
timer->Stop(); {
timer->Stop();
}
return TRUE; return TRUE;
} }
wxTimer::wxTimer() wxTimer::wxTimer()
{ {
m_tag = -1; m_tag = -1;
m_time = 1000; m_time = 1000;
m_oneShot = FALSE; m_oneShot = FALSE;
} }
wxTimer::~wxTimer() wxTimer::~wxTimer()
{ {
Stop(); Stop();
} }
bool wxTimer::Start( int millisecs, bool oneShot ) bool wxTimer::Start( int millisecs, bool oneShot )
{ {
if ( millisecs != -1 ) if (millisecs != -1)
m_time = millisecs; {
m_time = millisecs;
}
m_oneShot = oneShot; m_oneShot = oneShot;
m_tag = gtk_timeout_add( millisecs, timeout_callback, this ); m_tag = gtk_timeout_add( millisecs, timeout_callback, this );
return TRUE; return TRUE;
} }
void wxTimer::Stop() void wxTimer::Stop()
{ {
if ( m_tag != -1 ) if (m_tag != -1)
{ {
gtk_timeout_remove( m_tag ); gtk_timeout_remove( m_tag );
m_tag = -1;
m_tag = -1; }
}
} }

View File

@@ -34,7 +34,10 @@
#include <X11/Xutil.h> #include <X11/Xutil.h>
#include <X11/Xresource.h> #include <X11/Xresource.h>
#include "gdk/gdkx.h" // GDK_DISPLAY #include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "gdk/gdkx.h"
#ifdef __SVR4__ #ifdef __SVR4__
#include <sys/systeminfo.h> #include <sys/systeminfo.h>

View File

@@ -28,11 +28,15 @@
#include "wx/intl.h" #include "wx/intl.h"
#include "wx/settings.h" #include "wx/settings.h"
#include "wx/log.h" #include "wx/log.h"
#include "gdk/gdkprivate.h"
#include "gdk/gdkkeysyms.h"
#include <math.h> #include <math.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "gdk/gdkprivate.h"
#include "gdk/gdkkeysyms.h"
#include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// documentation on internals // documentation on internals
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -26,6 +26,11 @@
#include "unistd.h" #include "unistd.h"
#include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// global data // global data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,9 +14,11 @@
#include "wx/bitmap.h" #include "wx/bitmap.h"
#include "wx/icon.h" #include "wx/icon.h"
#include "wx/filefn.h" #include "wx/filefn.h"
#include "wx/image.h"
#include "gdk/gdk.h"
#include "gdk/gdkprivate.h" #include "gdk/gdkprivate.h"
#include "gdk/gdkx.h" #include "gdk/gdkx.h"
#include "wx/image.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxMask // wxMask

View File

@@ -13,6 +13,9 @@
#include "wx/bmpbuttn.h" #include "wx/bmpbuttn.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// classes // classes
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,8 @@
#include "wx/brush.h" #include "wx/brush.h"
#include "gdk/gdk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxBrush // wxBrush
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,9 @@
#include "wx/button.h" #include "wx/button.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// classes // classes
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/checkbox.h" #include "wx/checkbox.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,9 @@
#include "wx/checklst.h" #include "wx/checklst.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxCheckListBox // wxCheckListBox
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/choice.h" #include "wx/choice.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,10 @@
#include "wx/clipbrd.h" #include "wx/clipbrd.h"
#include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,7 @@
#include "wx/gdicmn.h" #include "wx/gdicmn.h"
#include "gdk/gdk.h"
#include "gdk/gdkprivate.h" #include "gdk/gdkprivate.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/combobox.h" #include "wx/combobox.h"
#include <wx/intl.h> #include <wx/intl.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,8 @@
#include "wx/cursor.h" #include "wx/cursor.h"
#include "gdk/gdk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxCursor // wxCursor
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -21,8 +21,7 @@
#define _MAXPATHLEN 500 #define _MAXPATHLEN 500
// Used for X resources /* Used for X resources */
#include <X11/Xlib.h> #include <X11/Xlib.h>
#include <X11/Xutil.h> #include <X11/Xutil.h>
#include <X11/Xresource.h> #include <X11/Xresource.h>
@@ -30,50 +29,49 @@
wxResourceCache *wxTheResourceCache = (wxResourceCache *) NULL; wxResourceCache *wxTheResourceCache = (wxResourceCache *) NULL;
XrmDatabase wxResourceDatabase; XrmDatabase wxResourceDatabase;
// Useful buffer, initialized in wxCommonInit /* Useful buffer, initialized in wxCommonInit */
char *wxBuffer = (char *) NULL; char *wxBuffer = (char *) NULL;
// Windows List /* Windows List */
wxList wxTopLevelWindows; wxList wxTopLevelWindows;
// List of windows pending deletion /* List of windows pending deletion */
wxList wxPendingDelete; wxList wxPendingDelete;
// Current cursor, in order to hang on to /* Current cursor, in order to hang on to
// cursor handle when setting the cursor globally * cursor handle when setting the cursor globally */
wxCursor *g_globalCursor = (wxCursor *) NULL; wxCursor *g_globalCursor = (wxCursor *) NULL;
// Don't allow event propagation during drag /* Don't allow event propagation during drag */
bool g_blockEventsOnDrag = FALSE; bool g_blockEventsOnDrag = FALSE;
// Don't allow mouse event propagation during scroll /* Don't allow mouse event propagation during scroll */
bool g_blockEventsOnScroll = FALSE; bool g_blockEventsOnScroll = FALSE;
// Message Strings for Internationalization /* Message Strings for Internationalization */
char **wx_msg_str = (char**)NULL; char **wx_msg_str = (char**)NULL;
// Custom OS version, as optionally placed in wx.ini/.wxrc /* Custom OS version, as optionally placed in wx.ini/.wxrc
// Currently this can be Win95, Windows, Win32s, WinNT. * Currently this can be Win95, Windows, Win32s, WinNT.
// For some systems, you can't tell until run-time what services you * For some systems, you can't tell until run-time what services you
// have. See wxGetOsVersion, which uses this string if present. * have. See wxGetOsVersion, which uses this string if present. */
char *wxOsVersion = (char *) NULL; char *wxOsVersion = (char *) NULL;
// For printing several pages /* For printing several pages */
int wxPageNumber; int wxPageNumber;
wxPrintPaperDatabase* wxThePrintPaperDatabase = (wxPrintPaperDatabase *) NULL; wxPrintPaperDatabase* wxThePrintPaperDatabase = (wxPrintPaperDatabase *) NULL;
// GDI Object Lists /* GDI Object Lists */
wxBrushList *wxTheBrushList = (wxBrushList *) NULL; wxBrushList *wxTheBrushList = (wxBrushList *) NULL;
wxPenList *wxThePenList = (wxPenList *) NULL; wxPenList *wxThePenList = (wxPenList *) NULL;
wxFontList *wxTheFontList = (wxFontList *) NULL; wxFontList *wxTheFontList = (wxFontList *) NULL;
wxColourDatabase *wxTheColourDatabase = (wxColourDatabase *) NULL; wxColourDatabase *wxTheColourDatabase = (wxColourDatabase *) NULL;
wxBitmapList *wxTheBitmapList = (wxBitmapList *) NULL; wxBitmapList *wxTheBitmapList = (wxBitmapList *) NULL;
/* X only font names */
// X only font names
wxFontNameDirectory *wxTheFontNameDirectory; wxFontNameDirectory *wxTheFontNameDirectory;
// Stock objects /* Stock objects */
wxFont *wxNORMAL_FONT; wxFont *wxNORMAL_FONT;
wxFont *wxSMALL_FONT; wxFont *wxSMALL_FONT;
wxFont *wxITALIC_FONT; wxFont *wxITALIC_FONT;
@@ -103,7 +101,7 @@ wxBrush *wxLIGHT_GREY_BRUSH;
wxColour *wxBLACK; wxColour *wxBLACK;
wxColour *wxWHITE; wxColour *wxWHITE;
wxColour *wxGREY; // Robert Roebling wxColour *wxGREY;
wxColour *wxRED; wxColour *wxRED;
wxColour *wxBLUE; wxColour *wxBLUE;
wxColour *wxGREEN; wxColour *wxGREEN;
@@ -114,7 +112,7 @@ wxCursor *wxSTANDARD_CURSOR = (wxCursor *) NULL;
wxCursor *wxHOURGLASS_CURSOR = (wxCursor *) NULL; wxCursor *wxHOURGLASS_CURSOR = (wxCursor *) NULL;
wxCursor *wxCROSS_CURSOR = (wxCursor *) NULL; wxCursor *wxCROSS_CURSOR = (wxCursor *) NULL;
// 'Null' objects /* 'Null' objects */
wxAcceleratorTable wxNullAcceleratorTable; wxAcceleratorTable wxNullAcceleratorTable;
wxBitmap wxNullBitmap; wxBitmap wxNullBitmap;
wxIcon wxNullIcon; wxIcon wxNullIcon;
@@ -126,7 +124,7 @@ wxColour wxNullColour;
wxPalette wxNullPalette; wxPalette wxNullPalette;
wxRegion wxNullRegion; wxRegion wxNullRegion;
// Default window names /* Default window names */
const char *wxButtonNameStr = "button"; const char *wxButtonNameStr = "button";
const char *wxCanvasNameStr = "canvas"; const char *wxCanvasNameStr = "canvas";
const char *wxCheckBoxNameStr = "check"; const char *wxCheckBoxNameStr = "check";
@@ -162,610 +160,10 @@ const char *wxFileSelectorDefaultWildcardStr = "*.*";
const char *wxInternalErrorStr = "wxWindows Internal Error"; const char *wxInternalErrorStr = "wxWindows Internal Error";
const char *wxFatalErrorStr = "wxWindows Fatal Error"; const char *wxFatalErrorStr = "wxWindows Fatal Error";
// See wx/utils.h /* See wx/utils.h */
const char *wxFloatToStringStr = "%.2f"; const char *wxFloatToStringStr = "%.2f";
const char *wxDoubleToStringStr = "%.2f"; const char *wxDoubleToStringStr = "%.2f";
#ifdef wx_msw /* Dafaults for wxWindow etc. */
const char *wxUserResourceStr = "TEXT";
#endif
#if wxUSE_SHARED_LIBRARY
/*
* For wxWindows to be made into a dynamic library (e.g. Sun),
* all IMPLEMENT_... macros must be in one place.
* But normally, the definitions are in the appropriate places.
*/
// Hand-coded IMPLEMENT... macro for wxObject (define static data)
wxClassInfo wxObject::classwxObject((char *) "wxObject", (char *) NULL, (char *) NULL, (int ) sizeof(wxObject), (wxObjectConstructorFn) NULL);
wxClassInfo *wxClassInfo::first = (wxClassInfo *) NULL;
wxHashTable wxClassInfo::classTable(wxKEY_STRING);
#include "wx/button.h"
#include "wx/bmpbuttn.h"
IMPLEMENT_DYNAMIC_CLASS(wxButton, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton)
#include "wx/checkbox.h"
IMPLEMENT_DYNAMIC_CLASS(wxCheckBox, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxBitmapCheckBox, wxCheckBox)
#include "wx/choice.h"
IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
#if wxUSE_CLIPBOARD
#include "wx/clipbrd.h"
IMPLEMENT_DYNAMIC_CLASS(wxClipboard, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxClipboardClient, wxObject)
#endif
#if wxUSE_COMBOBOX
#include "wx/combobox.h"
IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl)
#endif
#include "wx/dc.h"
#include "wx/dcmemory.h"
#include "wx/dcclient.h"
#include "wx/dcscreen.h"
IMPLEMENT_ABSTRACT_CLASS(wxDC, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxClientDC, wxDC)
IMPLEMENT_DYNAMIC_CLASS(wxWindowDC, wxDC)
IMPLEMENT_DYNAMIC_CLASS(wxPaintDC, wxDC)
IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC, wxDC)
IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
#if defined(wx_msw)
#include "wx/dcprint.h"
IMPLEMENT_CLASS(wxPrinterDC, wxDC)
#endif
#include "wx/dialog.h"
IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxWindow)
#include "wx/frame.h"
IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow)
#include "wx/mdi.h"
IMPLEMENT_DYNAMIC_CLASS(wxMDIParentFrame, wxFrame)
IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame, wxFrame)
IMPLEMENT_DYNAMIC_CLASS(wxMDIClientWindow, wxWindow)
#include "wx/cmndata.h"
IMPLEMENT_DYNAMIC_CLASS(wxColourData, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxFontData, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxPrintData, wxObject)
#include "wx/colordlg.h"
#include "wx/fontdlg.h"
#if !defined(wx_msw) || wxUSE_GENERIC_DIALOGS_IN_MSW
#include "wx/generic/colordlg.h"
#include "wx/generic/fontdlg.h"
IMPLEMENT_DYNAMIC_CLASS(wxGenericColourDialog, wxDialog)
IMPLEMENT_DYNAMIC_CLASS(wxGenericFontDialog, wxDialog)
#endif
// X defines wxColourDialog to be wxGenericColourDialog
#ifndef wx_x
IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog)
IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog)
#endif
#include "wx/gdicmn.h"
#include "wx/pen.h"
#include "wx/brush.h"
#include "wx/font.h"
#include "wx/palette.h"
#include "wx/icon.h"
#include "wx/cursor.h"
IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject)
IMPLEMENT_CLASS(wxColourDatabase, wxList)
IMPLEMENT_DYNAMIC_CLASS(wxFontList, wxList)
IMPLEMENT_DYNAMIC_CLASS(wxPenList, wxList)
IMPLEMENT_DYNAMIC_CLASS(wxBrushList, wxList)
IMPLEMENT_DYNAMIC_CLASS(wxBitmapList, wxList)
/*
#if (!USE_TYPEDEFS)
IMPLEMENT_DYNAMIC_CLASS(wxPoint, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxIntPoint, wxObject)
#endif
*/
#if defined(wx_x) || (defined(wx_msw) && wxUSE_PORTABLE_FONTS_IN_MSW)
IMPLEMENT_DYNAMIC_CLASS(wxFontNameDirectory, wxObject)
#endif
#include "wx/hash.h"
IMPLEMENT_DYNAMIC_CLASS(wxHashTable, wxObject)
#include "wx/help.h"
IMPLEMENT_DYNAMIC_CLASS(wxHelpInstance, wxClient)
IMPLEMENT_CLASS(wxHelpConnection, wxConnection)
#include "wx/list.h"
IMPLEMENT_DYNAMIC_CLASS(wxNode, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxList, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxStringList, wxList)
#if wxUSE_PRINTING_ARCHITECTURE
#include "wx/print.h"
IMPLEMENT_DYNAMIC_CLASS(wxPrintDialog, wxDialog)
IMPLEMENT_DYNAMIC_CLASS(wxPrinterBase, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxPostScriptPrinter, wxPrinterBase)
IMPLEMENT_DYNAMIC_CLASS(wxWindowsPrinter, wxPrinterBase)
IMPLEMENT_ABSTRACT_CLASS(wxPrintout, wxObject)
IMPLEMENT_CLASS(wxPreviewCanvas, wxWindow)
IMPLEMENT_CLASS(wxPreviewControlBar, wxWindow)
IMPLEMENT_CLASS(wxPreviewFrame, wxFrame)
IMPLEMENT_CLASS(wxPrintPreviewBase, wxObject)
IMPLEMENT_CLASS(wxPostScriptPrintPreview, wxPrintPreviewBase)
IMPLEMENT_CLASS(wxWindowsPrintPreview, wxPrintPreviewBase)
IMPLEMENT_CLASS(wxGenericPrintDialog, wxDialog)
IMPLEMENT_CLASS(wxGenericPrintSetupDialog, wxDialog)
#endif
#if wxUSE_POSTSCRIPT
#include "wx/postscrp.h"
IMPLEMENT_DYNAMIC_CLASS(wxPostScriptDC, wxDC)
IMPLEMENT_DYNAMIC_CLASS(wxPrintSetupData, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxPageSetupData, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxPrintPaperType, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxPrintPaperDatabase, wxList)
#endif
#if wxUSE_WX_RESOURCES
#include "wx/resource.h"
IMPLEMENT_DYNAMIC_CLASS(wxItemResource, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxResourceTable, wxHashTable)
#endif
#include "wx/event.h"
IMPLEMENT_DYNAMIC_CLASS(wxEvtHandler, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxEvent, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxCommandEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxScrollEvent, wxCommandEvent)
IMPLEMENT_DYNAMIC_CLASS(wxMouseEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxKeyEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxSizeEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxPaintEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxEraseEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxMoveEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxFocusEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxCloseEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxMenuEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxJoystickEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxDropFilesEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxActivateEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxInitDialogEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxSysColourChangedEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxIdleEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxUpdateUIEvent, wxEvent)
IMPLEMENT_DYNAMIC_CLASS(wxProcessEvent, wxEvent)
#include "wx/utils.h"
IMPLEMENT_DYNAMIC_CLASS(wxPathList, wxList)
// IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject)
#include "wx/process.h"
IMPLEMENT_DYNAMIC_CLASS(wxProcess, wxEvtHandler)
#if wxUSE_TIMEDATE
#include "wx/date.h"
IMPLEMENT_DYNAMIC_CLASS(wxDate, wxObject)
#endif
#if wxUSE_DOC_VIEW_ARCHITECTURE
#include "wx/docview.h"
//IMPLEMENT_ABSTRACT_CLASS(wxDocItem, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxDocument, wxEvtHandler)
IMPLEMENT_ABSTRACT_CLASS(wxView, wxEvtHandler)
IMPLEMENT_ABSTRACT_CLASS(wxDocTemplate, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxDocManager, wxEvtHandler)
IMPLEMENT_CLASS(wxDocChildFrame, wxFrame)
IMPLEMENT_CLASS(wxDocParentFrame, wxFrame)
#if wxUSE_PRINTING_ARCHITECTURE
IMPLEMENT_DYNAMIC_CLASS(wxDocPrintout, wxPrintout)
#endif
IMPLEMENT_CLASS(wxCommand, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxCommandProcessor, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxFileHistory, wxObject)
#endif
#if wxUSE_CONSTRAINTS
#include "wx/layout.h"
IMPLEMENT_DYNAMIC_CLASS(wxIndividualLayoutConstraint, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxLayoutConstraints, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxSizer, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxRowColSizer, wxSizer)
#endif
#if wxUSE_TOOLBAR
#include "wx/tbarbase.h"
IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxToolBarBase, wxControl)
#include "wx/tbarsmpl.h"
IMPLEMENT_DYNAMIC_CLASS(wxToolBarSimple, wxToolBarBase)
#ifdef wx_msw
#include "wx/tbarmsw.h"
IMPLEMENT_DYNAMIC_CLASS(wxToolBarMSW, wxToolBarBase)
#include "wx/tbar95.h"
IMPLEMENT_DYNAMIC_CLASS(wxToolBar95, wxToolBarBase)
#endif
#endif
#include "wx/sckaddr.h"
IMPLEMENT_DYNAMIC_CLASS(wxIPV4address, wxSockAddress)
#ifdef ENABLE_IPV6
IMPLEMENT_DYNAMIC_CLASS(wxIPV6address, wxSockAddress)
#endif
#ifndef __UNIX__
IMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress, wxSockAddress)
#endif
#include "wx/socket.h"
IMPLEMENT_CLASS(wxSocketBase, wxEvtHandler)
IMPLEMENT_CLASS(wxSocketClient, wxSocketBase)
IMPLEMENT_CLASS(wxSocketServer, wxSocketBase)
IMPLEMENT_CLASS(wxSocketHandler, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxSocketEvent, wxEvent)
#include "wx/url.h"
IMPLEMENT_CLASS(wxProtoInfo, wxObject)
IMPLEMENT_CLASS(wxURL, wxObject)
#include "wx/protocol/http.h"
IMPLEMENT_DYNAMIC_CLASS(wxHTTP, wxProtocol)
IMPLEMENT_PROTOCOL(wxHTTP, "http", "80", TRUE)
#include "wx/protocol/ftp.h"
IMPLEMENT_DYNAMIC_CLASS(wxFTP, wxProtocol)
IMPLEMENT_PROTOCOL(wxFTP, "ftp", "21", TRUE)
#include "wx/protocol/sckfile.h"
IMPLEMENT_DYNAMIC_CLASS(wxFileProto, wxProtocol)
IMPLEMENT_PROTOCOL(wxFileProto, "file", NULL, FALSE)
#include "wx/sckipc.h"
IMPLEMENT_DYNAMIC_CLASS(wxTCPServer, wxServerBase)
IMPLEMENT_DYNAMIC_CLASS(wxTCPClient, wxClientBase)
IMPLEMENT_DYNAMIC_CLASS(wxTCPConnection, wxConnectionBase)
#include "wx/statusbr.h"
IMPLEMENT_DYNAMIC_CLASS(wxStatusBar, wxWindow)
BEGIN_EVENT_TABLE(wxStatusBar, wxWindow)
EVT_PAINT(wxStatusBar::OnPaint)
EVT_SYS_COLOUR_CHANGED(wxStatusBar::OnSysColourChanged)
END_EVENT_TABLE()
#if wxUSE_TIMEDATE
#include "wx/time.h"
IMPLEMENT_DYNAMIC_CLASS(wxTime, wxObject)
#endif
#if !USE_GNU_WXSTRING
#include "wx/string.h"
IMPLEMENT_DYNAMIC_CLASS(wxString, wxObject)
#endif
#ifdef wx_motif
IMPLEMENT_DYNAMIC_CLASS(wxXColormap, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxXFont, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxXCursor, wxObject)
#endif
IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)
IMPLEMENT_DYNAMIC_CLASS(wxPalette, wxGDIObject)
IMPLEMENT_DYNAMIC_CLASS(wxPen, wxGDIObject)
IMPLEMENT_DYNAMIC_CLASS(wxBrush, wxGDIObject)
IMPLEMENT_DYNAMIC_CLASS(wxIcon, wxBitmap)
IMPLEMENT_DYNAMIC_CLASS(wxCursor, wxBitmap)
IMPLEMENT_DYNAMIC_CLASS(wxBitmap, wxGDIObject)
IMPLEMENT_DYNAMIC_CLASS(wxMask, wxObject)
// This will presumably be implemented on other platforms too
#ifdef wx_msw
IMPLEMENT_DYNAMIC_CLASS(wxBitmapHandler, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxBMPResourceHandler, wxBitmapHandler)
IMPLEMENT_DYNAMIC_CLASS(wxBMPFileHandler, wxBitmapHandler)
IMPLEMENT_DYNAMIC_CLASS(wxXPMFileHandler, wxBitmapHandler)
IMPLEMENT_DYNAMIC_CLASS(wxXPMDataHandler, wxBitmapHandler)
IMPLEMENT_DYNAMIC_CLASS(wxICOFileHandler, wxBitmapHandler)
IMPLEMENT_DYNAMIC_CLASS(wxICOResourceHandler, wxBitmapHandler)
#endif
#include "wx/statbox.h"
IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl)
#if wxUSE_IPC
#include "wx/dde.h"
IMPLEMENT_ABSTRACT_CLASS(wxDDEObject, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxDDEServer, wxDDEObject)
IMPLEMENT_DYNAMIC_CLASS(wxDDEClient, wxDDEObject)
IMPLEMENT_CLASS(wxDDEConnection, wxObject)
#endif
IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow)
#include "wx/listbox.h"
IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxApp, wxEvtHandler)
#include "wx/menu.h"
IMPLEMENT_DYNAMIC_CLASS(wxMenu, wxWindow)
IMPLEMENT_DYNAMIC_CLASS(wxMenuItem, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxMenuBar, wxWindow)
#include "wx/stattext.h"
#include "wx/statbmp.h"
IMPLEMENT_DYNAMIC_CLASS(wxStaticText, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl)
#if wxUSE_METAFILE
#include "wx/metafile.h"
IMPLEMENT_DYNAMIC_CLASS(wxMetaFile, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxMetaFileDC, wxDC)
#endif
#include "wx/radiobox.h"
#include "wx/radiobut.h"
IMPLEMENT_DYNAMIC_CLASS(wxRadioBox, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl)
// IMPLEMENT_DYNAMIC_CLASS(wxBitmapRadioButton, wxRadioButton)
#include "wx/scrolbar.h"
IMPLEMENT_DYNAMIC_CLASS(wxScrollBar, wxControl)
#if WXWIN_COMPATIBILITY
BEGIN_EVENT_TABLE(wxScrollBar, wxControl)
EVT_SCROLL(wxScrollBar::OnScroll)
END_EVENT_TABLE()
#endif
#include "wx/slider.h"
IMPLEMENT_DYNAMIC_CLASS(wxSlider, wxControl)
#if WXWIN_COMPATIBILITY
BEGIN_EVENT_TABLE(wxSlider, wxControl)
EVT_SCROLL(wxSlider::OnScroll)
END_EVENT_TABLE()
#endif
#include "wx/timer.h"
IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
#include "wx/textctrl.h"
IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxControl)
#include "wx/window.h"
IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxEvtHandler)
#include "wx/scrolwin.h"
IMPLEMENT_DYNAMIC_CLASS(wxScrolledWindow, wxWindow)
#include "wx/panel.h"
IMPLEMENT_DYNAMIC_CLASS(wxPanel, wxWindow)
#include "wx/msgbxdlg.h"
#include "wx/textdlg.h"
#include "wx/filedlg.h"
#include "wx/dirdlg.h"
#include "wx/choicdlg.h"
#if !defined(wx_msw) || wxUSE_GENERIC_DIALOGS_IN_MSW
#include "wx/generic/msgdlgg.h"
IMPLEMENT_CLASS(wxGenericMessageDialog, wxDialog)
#endif
IMPLEMENT_CLASS(wxTextEntryDialog, wxDialog)
IMPLEMENT_CLASS(wxSingleChoiceDialog, wxDialog)
IMPLEMENT_CLASS(wxFileDialog, wxDialog)
IMPLEMENT_CLASS(wxDirDialog, wxDialog)
#ifdef wx_msw
IMPLEMENT_CLASS(wxMessageDialog)
#endif
#if wxUSE_GAUGE
#ifdef wx_motif
#include "../../contrib/xmgauge/gauge.h"
#endif
#include "wx_gauge.h"
IMPLEMENT_DYNAMIC_CLASS(wxGauge, wxControl)
#endif
#include "wx/grid.h"
IMPLEMENT_DYNAMIC_CLASS(wxGenericGrid, wxPanel)
///// Event tables (also must be in one, statically-linked file for shared libraries)
// This is the base, wxEvtHandler 'bootstrap' code which is expanded manually here
const wxEventTable *wxEvtHandler::GetEventTable() const { return &wxEvtHandler::sm_eventTable; }
const wxEventTable wxEvtHandler::sm_eventTable =
{ NULL, &wxEvtHandler::sm_eventTableEntries[0] };
const wxEventTableEntry wxEvtHandler::sm_eventTableEntries[] = { { 0, 0, 0,
#ifdef __SGI_CC__
0L
#else
NULL
#endif
}
};
BEGIN_EVENT_TABLE(wxFrame, wxWindow)
EVT_SIZE(wxFrame::OnSize)
EVT_MENU_HIGHLIGHT_ALL(wxFrame::OnMenuHighlight)
EVT_SYS_COLOUR_CHANGED(wxFrame::OnSysColourChanged)
EVT_IDLE(wxFrame::OnIdle)
EVT_CLOSE(wxFrame::OnCloseWindow)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxDialog, wxPanel)
EVT_BUTTON(wxID_OK, wxDialog::OnOK)
EVT_BUTTON(wxID_APPLY, wxDialog::OnApply)
EVT_BUTTON(wxID_CANCEL, wxDialog::OnCancel)
EVT_CHAR_HOOK(wxDialog::OnCharHook)
EVT_SYS_COLOUR_CHANGED(wxDialog::OnSysColourChanged)
EVT_CLOSE(wxDialog::OnCloseWindow)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxWindow, wxEvtHandler)
EVT_CHAR(wxWindow::OnChar)
EVT_SIZE(wxWindow::Size)
EVT_ERASE_BACKGROUND(wxWindow::OnEraseBackground)
EVT_SYS_COLOUR_CHANGED(wxWindow::OnSysColourChanged)
EVT_INIT_DIALOG(wxWindow::OnInitDialog)
EVT_IDLE(wxWindow::OnIdle)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxScrolledWindow, wxWindow)
EVT_SCROLL(wxScrolledWindow::OnScroll)
EVT_SIZE(wxScrolledWindow::OnSize)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxPanel, wxWindow)
EVT_SYS_COLOUR_CHANGED(wxPanel::OnSysColourChanged)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
EVT_CHAR(wxTextCtrl::OnChar)
EVT_DROP_FILES(wxTextCtrl::OnDropFiles)
EVT_ERASE_BACKGROUND(wxTextCtrl::OnEraseBackground)
END_EVENT_TABLE()
#ifdef wx_msw
BEGIN_EVENT_TABLE(wxMDIParentWindow, wxFrame)
EVT_SIZE(wxMDIParentWindow::OnSize)
EVT_ACTIVATE(wxMDIParentWindow::OnActivate)
EVT_SYS_COLOUR_CHANGED(wxMDIParentWindow::OnSysColourChanged)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxMDIClientWindow, wxWindow)
EVT_SCROLL(wxMDIClientWindow::OnScroll)
END_EVENT_TABLE()
#endif
BEGIN_EVENT_TABLE(wxToolBarBase, wxControl)
EVT_SCROLL(wxToolBarBase::OnScroll)
EVT_SIZE(wxToolBarBase::OnSize)
EVT_IDLE(wxToolBarBase::OnIdle)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxToolBarSimple, wxToolBarBase)
EVT_SIZE(wxToolBarSimple::OnSize)
EVT_PAINT(wxToolBarSimple::OnPaint)
EVT_KILL_FOCUS(wxToolBarSimple::OnKillFocus)
EVT_MOUSE_EVENTS(wxToolBarSimple::OnMouseEvent)
END_EVENT_TABLE()
#ifdef wx_msw
BEGIN_EVENT_TABLE(wxToolBarMSW, wxToolBarBase)
EVT_SIZE(wxToolBarMSW::OnSize)
EVT_PAINT(wxToolBarMSW::OnPaint)
EVT_MOUSE_EVENTS(wxToolBarMSW::OnMouseEvent)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxToolBar95, wxToolBarBase)
EVT_SIZE(wxToolBar95::OnSize)
EVT_PAINT(wxToolBar95::OnPaint)
EVT_KILL_FOCUS(wxToolBar95::OnKillFocus)
EVT_MOUSE_EVENTS(wxToolBar95::OnMouseEvent)
EVT_SYS_COLOUR_CHANGED(wxToolBar95::OnSysColourChanged)
END_EVENT_TABLE()
#endif
BEGIN_EVENT_TABLE(wxGenericGrid, wxPanel)
EVT_SIZE(wxGenericGrid::OnSize)
EVT_PAINT(wxGenericGrid::OnPaint)
EVT_MOUSE_EVENTS(wxGenericGrid::OnMouseEvent)
EVT_TEXT(wxGRID_TEXT_CTRL, wxGenericGrid::OnText)
EVT_COMMAND_SCROLL(wxGRID_HSCROLL, wxGenericGrid::OnGridScroll)
EVT_COMMAND_SCROLL(wxGRID_VSCROLL, wxGenericGrid::OnGridScroll)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxControl, wxWindow)
EVT_ERASE_BACKGROUND(wxControl::OnEraseBackground)
END_EVENT_TABLE()
#if !defined(wx_msw) || wxUSE_GENERIC_DIALOGS_IN_MSW
BEGIN_EVENT_TABLE(wxGenericMessageDialog, wxDialog)
EVT_BUTTON(wxID_YES, wxGenericMessageDialog::OnYes)
EVT_BUTTON(wxID_NO, wxGenericMessageDialog::OnNo)
EVT_BUTTON(wxID_CANCEL, wxGenericMessageDialog::OnCancel)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxGenericColourDialog, wxDialog)
EVT_BUTTON(wxID_ADD_CUSTOM, wxGenericColourDialog::OnAddCustom)
EVT_SLIDER(wxID_RED_SLIDER, wxGenericColourDialog::OnRedSlider)
EVT_SLIDER(wxID_GREEN_SLIDER, wxGenericColourDialog::OnGreenSlider)
EVT_SLIDER(wxID_BLUE_SLIDER, wxGenericColourDialog::OnBlueSlider)
EVT_PAINT(wxGenericColourDialog::OnPaint)
EVT_MOUSE_EVENTS(wxGenericColourDialog::OnMouseEvent)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxGenericFontDialog, wxDialog)
EVT_CHECKBOX(wxID_FONT_UNDERLINE, wxGenericFontDialog::OnChangeFont)
EVT_CHOICE(wxID_FONT_STYLE, wxGenericFontDialog::OnChangeFont)
EVT_CHOICE(wxID_FONT_WEIGHT, wxGenericFontDialog::OnChangeFont)
EVT_CHOICE(wxID_FONT_FAMILY, wxGenericFontDialog::OnChangeFont)
EVT_CHOICE(wxID_FONT_COLOUR, wxGenericFontDialog::OnChangeFont)
EVT_CHOICE(wxID_FONT_SIZE, wxGenericFontDialog::OnChangeFont)
EVT_PAINT(wxGenericFontDialog::OnPaint)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxGenericPrintDialog, wxDialog)
EVT_BUTTON(wxID_OK, wxGenericPrintDialog::OnOK)
EVT_BUTTON(wxPRINTID_SETUP, wxGenericPrintDialog::OnSetup)
EVT_RADIOBOX(wxPRINTID_RANGE, wxGenericPrintDialog::OnRange)
END_EVENT_TABLE()
#endif
BEGIN_EVENT_TABLE(wxTextEntryDialog, wxDialog)
EVT_BUTTON(wxID_OK, wxTextEntryDialog::OnOK)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxSingleChoiceDialog, wxDialog)
EVT_BUTTON(wxID_OK, wxSingleChoiceDialog::OnOK)
END_EVENT_TABLE()
#include "wx/prntbase.h"
BEGIN_EVENT_TABLE(wxPrintAbortDialog, wxDialog)
EVT_BUTTON(wxID_CANCEL, wxPrintAbortDialog::OnCancel)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxPreviewControlBar, wxWindow)
EVT_BUTTON(wxID_PREVIEW_CLOSE, wxPreviewControlBar::OnClose)
EVT_BUTTON(wxID_PREVIEW_PRINT, wxPreviewControlBar::OnPrint)
EVT_BUTTON(wxID_PREVIEW_PREVIOUS, wxPreviewControlBar::OnPrevious)
EVT_BUTTON(wxID_PREVIEW_NEXT, wxPreviewControlBar::OnNext)
EVT_CHOICE(wxID_PREVIEW_ZOOM, wxPreviewControlBar::OnZoom)
END_EVENT_TABLE()
#endif
const wxSize wxDefaultSize(-1, -1); const wxSize wxDefaultSize(-1, -1);
const wxPoint wxDefaultPosition(-1, -1); const wxPoint wxDefaultPosition(-1, -1);

View File

@@ -14,6 +14,9 @@
#include "wx/dc.h" #include "wx/dc.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// constants // constants
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -16,6 +16,9 @@
#include "wx/image.h" #include "wx/image.h"
#include <math.h> #include <math.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// local data // local data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,9 @@
#include "wx/dcmemory.h" #include "wx/dcmemory.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxMemoryDC // wxMemoryDC
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -24,6 +24,9 @@
#include "wx/image.h" #include "wx/image.h"
#include "wx/log.h" #include "wx/log.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// start and end of document/page // start and end of document/page
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/dcscreen.h" #include "wx/dcscreen.h"
#include "wx/window.h" #include "wx/window.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// global data initialization // global data initialization
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/dialog.h" #include "wx/dialog.h"
#include "wx/frame.h" #include "wx/frame.h"
#include "wx/app.h" #include "wx/app.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h" #include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -18,6 +18,8 @@
#include "wx/intl.h" #include "wx/intl.h"
#include "wx/utils.h" #include "wx/utils.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "gdk/gdkprivate.h" #include "gdk/gdkprivate.h"
#include <X11/Xlib.h> #include <X11/Xlib.h>

View File

@@ -16,151 +16,156 @@
#include "wx/intl.h" #include "wx/intl.h"
#include "wx/generic/msgdlgg.h" #include "wx/generic/msgdlgg.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxFileDialog // wxFileDialog
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void gtk_filedialog_ok_callback( GtkWidget *WXUNUSED(widget), gpointer data ) void gtk_filedialog_ok_callback( GtkWidget *WXUNUSED(widget), gpointer data )
{ {
wxFileDialog *dialog = (wxFileDialog*)data; wxFileDialog *dialog = (wxFileDialog*)data;
wxCommandEvent event(wxEVT_NULL); wxCommandEvent event(wxEVT_NULL);
int style; int style;
style=dialog->GetStyle(); style = dialog->GetStyle();
if((style&wxSAVE)&&(style&wxOVERWRITE_PROMPT)) if((style&wxSAVE)&&(style&wxOVERWRITE_PROMPT))
if(wxFileExists(gtk_file_selection_get_filename(GTK_FILE_SELECTION(dialog->m_widget) ))) { {
if(wxFileExists(gtk_file_selection_get_filename(GTK_FILE_SELECTION(dialog->m_widget) )))
{
if(wxMessageBox(_("File exists. Overwrite?"), if(wxMessageBox(_("File exists. Overwrite?"),
_("Confirm"), wxYES_NO) != wxYES) _("Confirm"), wxYES_NO) != wxYES)
return; return;
} }
}
dialog->OnOK( event ); dialog->OnOK( event );
} }
void gtk_filedialog_cancel_callback( GtkWidget *WXUNUSED(widget), gpointer data ) void gtk_filedialog_cancel_callback( GtkWidget *WXUNUSED(widget), gpointer data )
{ {
wxFileDialog *dialog = (wxFileDialog*)data; wxFileDialog *dialog = (wxFileDialog*)data;
wxCommandEvent event(wxEVT_NULL); wxCommandEvent event(wxEVT_NULL);
dialog->OnCancel( event ); dialog->OnCancel( event );
} }
IMPLEMENT_DYNAMIC_CLASS(wxFileDialog,wxDialog) IMPLEMENT_DYNAMIC_CLASS(wxFileDialog,wxDialog)
wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message, wxFileDialog::wxFileDialog( wxWindow *parent, const wxString& message,
const wxString& defaultDir, const wxString& defaultFileName, const wxString& defaultDir, const wxString& defaultFileName,
const wxString& wildCard, const wxString& wildCard,
long style, const wxPoint& pos ) long style, const wxPoint& pos )
{ {
m_needParent = FALSE; m_needParent = FALSE;
PreCreation( parent, -1, pos, wxDefaultSize, style | wxDIALOG_MODAL, "filedialog" ); PreCreation( parent, -1, pos, wxDefaultSize, style | wxDIALOG_MODAL, "filedialog" );
m_message = message; m_message = message;
m_path = ""; m_path = "";
m_fileName = defaultFileName; m_fileName = defaultFileName;
m_dir = defaultDir; m_dir = defaultDir;
m_wildCard = wildCard; m_wildCard = wildCard;
m_dialogStyle = style; m_dialogStyle = style;
m_filterIndex = 1; m_filterIndex = 1;
m_widget = gtk_file_selection_new( m_message ); m_widget = gtk_file_selection_new( m_message );
int x = (gdk_screen_width () - 400) / 2; int x = (gdk_screen_width () - 400) / 2;
int y = (gdk_screen_height () - 400) / 2; int y = (gdk_screen_height () - 400) / 2;
gtk_widget_set_uposition( m_widget, x, y ); gtk_widget_set_uposition( m_widget, x, y );
GtkFileSelection *sel = GTK_FILE_SELECTION(m_widget); GtkFileSelection *sel = GTK_FILE_SELECTION(m_widget);
m_path.Append(m_dir); m_path.Append(m_dir);
if(! m_path.IsEmpty() && m_path.Last()!='/') m_path.Append('/'); if(! m_path.IsEmpty() && m_path.Last()!='/') m_path.Append('/');
m_path.Append(m_fileName); m_path.Append(m_fileName);
if(m_path.Length()>1) gtk_file_selection_set_filename(sel,m_path); if(m_path.Length()>1) gtk_file_selection_set_filename(sel,m_path);
gtk_signal_connect( GTK_OBJECT(sel->ok_button), "clicked", gtk_signal_connect( GTK_OBJECT(sel->ok_button), "clicked",
GTK_SIGNAL_FUNC(gtk_filedialog_ok_callback), (gpointer*)this ); GTK_SIGNAL_FUNC(gtk_filedialog_ok_callback), (gpointer*)this );
gtk_signal_connect( GTK_OBJECT(sel->cancel_button), "clicked", gtk_signal_connect( GTK_OBJECT(sel->cancel_button), "clicked",
GTK_SIGNAL_FUNC(gtk_filedialog_cancel_callback), (gpointer*)this ); GTK_SIGNAL_FUNC(gtk_filedialog_cancel_callback), (gpointer*)this );
} }
int wxFileDialog::ShowModal(void) int wxFileDialog::ShowModal(void)
{ {
int ret = wxDialog::ShowModal(); int ret = wxDialog::ShowModal();
if (ret == wxID_OK) if (ret == wxID_OK)
{ {
m_fileName = gtk_file_selection_get_filename( GTK_FILE_SELECTION(m_widget) ); m_fileName = gtk_file_selection_get_filename( GTK_FILE_SELECTION(m_widget) );
m_path = gtk_file_selection_get_filename( GTK_FILE_SELECTION(m_widget) ); m_path = gtk_file_selection_get_filename( GTK_FILE_SELECTION(m_widget) );
} }
return ret; return ret;
} }
char *wxFileSelector(const char *title, char *wxFileSelector( const char *title,
const char *defaultDir, const char *defaultFileName, const char *defaultDir, const char *defaultFileName,
const char *defaultExtension, const char *filter, int flags, const char *defaultExtension, const char *filter, int flags,
wxWindow *parent, int x, int y) wxWindow *parent, int x, int y )
{ {
wxString filter2(""); wxString filter2("");
if ( defaultExtension && !filter ) if ( defaultExtension && !filter )
filter2 = wxString("*.") + wxString(defaultExtension) ; filter2 = wxString("*.") + wxString(defaultExtension) ;
else if ( filter ) else if ( filter )
filter2 = filter; filter2 = filter;
wxString defaultDirString; wxString defaultDirString;
if (defaultDir) if (defaultDir)
defaultDirString = defaultDir; defaultDirString = defaultDir;
else else
defaultDirString = ""; defaultDirString = "";
wxString defaultFilenameString; wxString defaultFilenameString;
if (defaultFileName) if (defaultFileName)
defaultFilenameString = defaultFileName; defaultFilenameString = defaultFileName;
else else
defaultFilenameString = ""; defaultFilenameString = "";
wxFileDialog fileDialog( parent, title, defaultDirString, defaultFilenameString, filter2, flags, wxPoint(x, y) );
wxFileDialog fileDialog(parent, title, defaultDirString, defaultFilenameString, if ( fileDialog.ShowModal() == wxID_OK )
filter2, flags, wxPoint(x, y)); {
strcpy(wxBuffer, (const char *)fileDialog.GetPath());
if ( fileDialog.ShowModal() == wxID_OK ) return wxBuffer;
{ }
strcpy(wxBuffer, (const char *)fileDialog.GetPath()); else
return wxBuffer; {
} return (char *) NULL;
else }
return (char *) NULL;
} }
char* wxLoadFileSelector(const char *what, const char *extension, const char *default_name, char* wxLoadFileSelector( const char *what, const char *extension, const char *default_name, wxWindow *parent )
wxWindow *parent )
{ {
char *ext = (char *)extension; char *ext = (char *)extension;
char prompt[50]; char prompt[50];
wxString str = _("Load %s file"); wxString str = _("Load %s file");
sprintf(prompt, str, what); sprintf(prompt, str, what);
if (*ext == '.') ext++; if (*ext == '.') ext++;
char wild[60]; char wild[60];
sprintf(wild, "*.%s", ext); sprintf(wild, "*.%s", ext);
return wxFileSelector (prompt, (const char *) NULL, default_name, ext, wild, 0, parent); return wxFileSelector (prompt, (const char *) NULL, default_name, ext, wild, 0, parent);
} }
char* wxSaveFileSelector(const char *what, const char *extension, const char *default_name, char* wxSaveFileSelector(const char *what, const char *extension, const char *default_name,
wxWindow *parent ) wxWindow *parent )
{ {
char *ext = (char *)extension; char *ext = (char *)extension;
char prompt[50]; char prompt[50];
wxString str = _("Save %s file"); wxString str = _("Save %s file");
sprintf(prompt, str, what); sprintf(prompt, str, what);
if (*ext == '.') ext++; if (*ext == '.') ext++;
char wild[60]; char wild[60];
sprintf(wild, "*.%s", ext); sprintf(wild, "*.%s", ext);
return wxFileSelector (prompt, (const char *) NULL, default_name, ext, wild, 0, parent); return wxFileSelector (prompt, (const char *) NULL, default_name, ext, wild, 0, parent);
} }

View File

@@ -16,6 +16,8 @@
#include "wx/log.h" #include "wx/log.h"
#include <strings.h> #include <strings.h>
#include "gdk/gdk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// local data // local data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -19,6 +19,10 @@
#include "wx/toolbar.h" #include "wx/toolbar.h"
#include "wx/statusbr.h" #include "wx/statusbr.h"
#include "wx/dcclient.h" #include "wx/dcclient.h"
#include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h" #include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -12,6 +12,8 @@
#endif #endif
#include "wx/gauge.h" #include "wx/gauge.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxGauge // wxGauge

View File

@@ -18,6 +18,9 @@
#include "wx/intl.h" #include "wx/intl.h"
#include "wx/checklst.h" #include "wx/checklst.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// conditional compilation // conditional compilation
//------------------------------------------------------------------------- //-------------------------------------------------------------------------

View File

@@ -14,9 +14,13 @@
#include "wx/mdi.h" #include "wx/mdi.h"
#include "wx/dialog.h" #include "wx/dialog.h"
#include "wx/menu.h" #include "wx/menu.h"
#include "wx/gtk/win_gtk.h"
#include <wx/intl.h> #include <wx/intl.h>
#include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// constants // constants
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -35,16 +39,16 @@ extern wxList wxPendingDelete;
static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, wxWindow *win ) static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, wxWindow *win )
{ {
if ((win->m_x == alloc->x) && if ((win->m_x == alloc->x) &&
(win->m_y == alloc->y) && (win->m_y == alloc->y) &&
(win->m_width == alloc->width) && (win->m_width == alloc->width) &&
(win->m_height == alloc->height) && (win->m_height == alloc->height) &&
(win->m_sizeSet)) (win->m_sizeSet))
{ {
return; return;
} }
win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height ); win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -56,19 +60,19 @@ static void gtk_page_change_callback( GtkNotebook *WXUNUSED(widget),
gint WXUNUSED(nPage), gint WXUNUSED(nPage),
wxMDIClientWindow *client_win ) wxMDIClientWindow *client_win )
{ {
wxNode *node = client_win->m_children.First(); wxNode *node = client_win->m_children.First();
while (node) while (node)
{
wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
if (child_frame->m_page == page)
{ {
wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)client_win->m_parent; wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
mdi_frame->m_currentChild = child_frame; if (child_frame->m_page == page)
mdi_frame->SetMDIMenuBar( child_frame->m_menuBar ); {
return; wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)client_win->m_parent;
mdi_frame->m_currentChild = child_frame;
mdi_frame->SetMDIMenuBar( child_frame->m_menuBar );
return;
}
node = node->Next();
} }
node = node->Next();
}
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -82,9 +86,9 @@ END_EVENT_TABLE()
wxMDIParentFrame::wxMDIParentFrame(void) wxMDIParentFrame::wxMDIParentFrame(void)
{ {
m_clientWindow = (wxMDIClientWindow *) NULL; m_clientWindow = (wxMDIClientWindow *) NULL;
m_currentChild = (wxMDIChildFrame *) NULL; m_currentChild = (wxMDIChildFrame *) NULL;
m_parentFrameActive = TRUE; m_parentFrameActive = TRUE;
} }
wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent, wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
@@ -92,10 +96,10 @@ wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
const wxPoint& pos, const wxSize& size, const wxPoint& pos, const wxSize& size,
long style, const wxString& name ) long style, const wxString& name )
{ {
m_clientWindow = (wxMDIClientWindow *) NULL; m_clientWindow = (wxMDIClientWindow *) NULL;
m_currentChild = (wxMDIChildFrame *) NULL; m_currentChild = (wxMDIChildFrame *) NULL;
m_parentFrameActive = TRUE; m_parentFrameActive = TRUE;
Create( parent, id, title, pos, size, style, name ); Create( parent, id, title, pos, size, style, name );
} }
wxMDIParentFrame::~wxMDIParentFrame(void) wxMDIParentFrame::~wxMDIParentFrame(void)
@@ -107,75 +111,75 @@ bool wxMDIParentFrame::Create( wxWindow *parent,
const wxPoint& pos, const wxSize& size, const wxPoint& pos, const wxSize& size,
long style, const wxString& name ) long style, const wxString& name )
{ {
wxFrame::Create( parent, id, title, pos, size, style, name ); wxFrame::Create( parent, id, title, pos, size, style, name );
OnCreateClient(); OnCreateClient();
return TRUE; return TRUE;
} }
void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height ) void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height )
{ {
wxFrame::GtkOnSize( x, y, width, height ); wxFrame::GtkOnSize( x, y, width, height );
if (m_mdiMenuBar) if (m_mdiMenuBar)
{ {
m_mdiMenuBar->m_x = 0; m_mdiMenuBar->m_x = 0;
m_mdiMenuBar->m_y = 0; m_mdiMenuBar->m_y = 0;
m_mdiMenuBar->m_width = m_width; m_mdiMenuBar->m_width = m_width;
m_mdiMenuBar->m_height = wxMENU_HEIGHT; m_mdiMenuBar->m_height = wxMENU_HEIGHT;
gtk_myfixed_move( GTK_MYFIXED(m_wxwindow), m_mdiMenuBar->m_widget, 0, 0 ); gtk_myfixed_move( GTK_MYFIXED(m_wxwindow), m_mdiMenuBar->m_widget, 0, 0 );
gtk_widget_set_usize( m_mdiMenuBar->m_widget, m_width, wxMENU_HEIGHT ); gtk_widget_set_usize( m_mdiMenuBar->m_widget, m_width, wxMENU_HEIGHT );
} }
} }
void wxMDIParentFrame::SetMDIMenuBar( wxMenuBar *menu_bar ) void wxMDIParentFrame::SetMDIMenuBar( wxMenuBar *menu_bar )
{ {
if (m_mdiMenuBar) m_mdiMenuBar->Show( FALSE ); if (m_mdiMenuBar) m_mdiMenuBar->Show( FALSE );
m_mdiMenuBar = menu_bar; m_mdiMenuBar = menu_bar;
if (m_mdiMenuBar) if (m_mdiMenuBar)
{ {
m_mdiMenuBar->m_x = 0; m_mdiMenuBar->m_x = 0;
m_mdiMenuBar->m_y = 0; m_mdiMenuBar->m_y = 0;
m_mdiMenuBar->m_width = m_width; m_mdiMenuBar->m_width = m_width;
m_mdiMenuBar->m_height = wxMENU_HEIGHT; m_mdiMenuBar->m_height = wxMENU_HEIGHT;
gtk_myfixed_move( GTK_MYFIXED(m_wxwindow), m_mdiMenuBar->m_widget, 0, 0 ); gtk_myfixed_move( GTK_MYFIXED(m_wxwindow), m_mdiMenuBar->m_widget, 0, 0 );
gtk_widget_set_usize( m_mdiMenuBar->m_widget, m_width, wxMENU_HEIGHT ); gtk_widget_set_usize( m_mdiMenuBar->m_widget, m_width, wxMENU_HEIGHT );
m_mdiMenuBar->Show( TRUE ); m_mdiMenuBar->Show( TRUE );
} }
} }
void wxMDIParentFrame::GetClientSize(int *width, int *height ) const void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
{ {
wxFrame::GetClientSize( width, height ); wxFrame::GetClientSize( width, height );
} }
wxMDIChildFrame *wxMDIParentFrame::GetActiveChild(void) const wxMDIChildFrame *wxMDIParentFrame::GetActiveChild(void) const
{ {
return m_currentChild; return m_currentChild;
} }
wxMDIClientWindow *wxMDIParentFrame::GetClientWindow(void) const wxMDIClientWindow *wxMDIParentFrame::GetClientWindow(void) const
{ {
return m_clientWindow; return m_clientWindow;
} }
wxMDIClientWindow *wxMDIParentFrame::OnCreateClient(void) wxMDIClientWindow *wxMDIParentFrame::OnCreateClient(void)
{ {
m_clientWindow = new wxMDIClientWindow( this ); m_clientWindow = new wxMDIClientWindow( this );
return m_clientWindow; return m_clientWindow;
} }
void wxMDIParentFrame::ActivateNext(void) void wxMDIParentFrame::ActivateNext(void)
{ {
if (m_clientWindow) if (m_clientWindow)
gtk_notebook_next_page( GTK_NOTEBOOK(m_clientWindow->m_widget) ); gtk_notebook_next_page( GTK_NOTEBOOK(m_clientWindow->m_widget) );
} }
void wxMDIParentFrame::ActivatePrevious(void) void wxMDIParentFrame::ActivatePrevious(void)
{ {
if (m_clientWindow) if (m_clientWindow)
gtk_notebook_prev_page( GTK_NOTEBOOK(m_clientWindow->m_widget) ); gtk_notebook_prev_page( GTK_NOTEBOOK(m_clientWindow->m_widget) );
} }
void wxMDIParentFrame::OnActivate( wxActivateEvent& WXUNUSED(event) ) void wxMDIParentFrame::OnActivate( wxActivateEvent& WXUNUSED(event) )
@@ -193,13 +197,13 @@ void wxMDIParentFrame::OnSysColourChanged( wxSysColourChangedEvent& WXUNUSED(eve
IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame,wxFrame) IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame,wxFrame)
BEGIN_EVENT_TABLE(wxMDIChildFrame, wxFrame) BEGIN_EVENT_TABLE(wxMDIChildFrame, wxFrame)
EVT_ACTIVATE(wxMDIChildFrame::OnActivate) EVT_ACTIVATE(wxMDIChildFrame::OnActivate)
END_EVENT_TABLE() END_EVENT_TABLE()
wxMDIChildFrame::wxMDIChildFrame(void) wxMDIChildFrame::wxMDIChildFrame(void)
{ {
m_menuBar = (wxMenuBar *) NULL; m_menuBar = (wxMenuBar *) NULL;
m_page = (GtkNotebookPage *) NULL; m_page = (GtkNotebookPage *) NULL;
} }
wxMDIChildFrame::wxMDIChildFrame( wxMDIParentFrame *parent, wxMDIChildFrame::wxMDIChildFrame( wxMDIParentFrame *parent,
@@ -207,23 +211,23 @@ wxMDIChildFrame::wxMDIChildFrame( wxMDIParentFrame *parent,
const wxPoint& WXUNUSED(pos), const wxSize& size, const wxPoint& WXUNUSED(pos), const wxSize& size,
long style, const wxString& name ) long style, const wxString& name )
{ {
m_menuBar = (wxMenuBar *) NULL; m_menuBar = (wxMenuBar *) NULL;
m_page = (GtkNotebookPage *) NULL; m_page = (GtkNotebookPage *) NULL;
Create( parent, id, title, wxDefaultPosition, size, style, name ); Create( parent, id, title, wxDefaultPosition, size, style, name );
} }
wxMDIChildFrame::~wxMDIChildFrame(void) wxMDIChildFrame::~wxMDIChildFrame(void)
{ {
if (m_menuBar) if (m_menuBar)
{
wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
if (mdi_frame->m_currentChild == this)
{ {
mdi_frame->SetMDIMenuBar( (wxMenuBar *) NULL ); wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
mdi_frame->m_currentChild = (wxMDIChildFrame *) NULL; if (mdi_frame->m_currentChild == this)
{
mdi_frame->SetMDIMenuBar( (wxMenuBar *) NULL );
mdi_frame->m_currentChild = (wxMDIChildFrame *) NULL;
}
delete m_menuBar;
} }
delete m_menuBar;
}
} }
bool wxMDIChildFrame::Create( wxMDIParentFrame *parent, bool wxMDIChildFrame::Create( wxMDIParentFrame *parent,
@@ -231,64 +235,64 @@ bool wxMDIChildFrame::Create( wxMDIParentFrame *parent,
const wxPoint& WXUNUSED(pos), const wxSize& size, const wxPoint& WXUNUSED(pos), const wxSize& size,
long style, const wxString& name ) long style, const wxString& name )
{ {
m_title = title; m_title = title;
return wxWindow::Create( parent->GetClientWindow(), id, wxDefaultPosition, size, style, name ); return wxWindow::Create( parent->GetClientWindow(), id, wxDefaultPosition, size, style, name );
} }
void wxMDIChildFrame::GetClientSize( int *width, int *height ) const void wxMDIChildFrame::GetClientSize( int *width, int *height ) const
{ {
wxWindow::GetClientSize( width, height ); wxWindow::GetClientSize( width, height );
} }
void wxMDIChildFrame::AddChild( wxWindow *child ) void wxMDIChildFrame::AddChild( wxWindow *child )
{ {
wxWindow::AddChild( child ); wxWindow::AddChild( child );
} }
static void SetInvokingWindow( wxMenu *menu, wxWindow *win ) static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
{ {
menu->SetInvokingWindow( win ); menu->SetInvokingWindow( win );
wxNode *node = menu->m_items.First(); wxNode *node = menu->m_items.First();
while (node) while (node)
{ {
wxMenuItem *menuitem = (wxMenuItem*)node->Data(); wxMenuItem *menuitem = (wxMenuItem*)node->Data();
if (menuitem->IsSubMenu()) if (menuitem->IsSubMenu())
SetInvokingWindow( menuitem->GetSubMenu(), win ); SetInvokingWindow( menuitem->GetSubMenu(), win );
node = node->Next(); node = node->Next();
} }
} }
void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar ) void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
{ {
m_menuBar = menu_bar; m_menuBar = menu_bar;
if (m_menuBar) if (m_menuBar)
{
wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
if (m_menuBar->m_parent != this)
{ {
wxNode *node = m_menuBar->m_menus.First(); wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
while (node)
{
wxMenu *menu = (wxMenu*)node->Data();
SetInvokingWindow( menu, this );
node = node->Next();
}
m_menuBar->m_parent = mdi_frame; if (m_menuBar->m_parent != this)
{
wxNode *node = m_menuBar->m_menus.First();
while (node)
{
wxMenu *menu = (wxMenu*)node->Data();
SetInvokingWindow( menu, this );
node = node->Next();
}
m_menuBar->m_parent = mdi_frame;
}
mdi_frame->SetMDIMenuBar( m_menuBar );
gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_wxwindow),
m_menuBar->m_widget, m_menuBar->m_x, m_menuBar->m_y );
} }
mdi_frame->SetMDIMenuBar( m_menuBar );
gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_wxwindow),
m_menuBar->m_widget, m_menuBar->m_x, m_menuBar->m_y );
}
} }
wxMenuBar *wxMDIChildFrame::GetMenuBar() wxMenuBar *wxMDIChildFrame::GetMenuBar()
{ {
return m_menuBar; return m_menuBar;
} }
void wxMDIChildFrame::Activate(void) void wxMDIChildFrame::Activate(void)
@@ -305,24 +309,24 @@ void wxMDIChildFrame::OnActivate( wxActivateEvent &WXUNUSED(event) )
static void wxInsertChildInMDI( wxMDIClientWindow* parent, wxMDIChildFrame* child ) static void wxInsertChildInMDI( wxMDIClientWindow* parent, wxMDIChildFrame* child )
{ {
wxString s = child->m_title; wxString s = child->m_title;
if (s.IsNull()) s = _("MDI child"); if (s.IsNull()) s = _("MDI child");
GtkWidget *label_widget = gtk_label_new( s ); GtkWidget *label_widget = gtk_label_new( s );
gtk_misc_set_alignment( GTK_MISC(label_widget), 0.0, 0.5 ); gtk_misc_set_alignment( GTK_MISC(label_widget), 0.0, 0.5 );
gtk_signal_connect( GTK_OBJECT(child->m_widget), "size_allocate", gtk_signal_connect( GTK_OBJECT(child->m_widget), "size_allocate",
GTK_SIGNAL_FUNC(gtk_page_size_callback), (gpointer)child ); GTK_SIGNAL_FUNC(gtk_page_size_callback), (gpointer)child );
GtkNotebook *notebook = GTK_NOTEBOOK(parent->m_widget); GtkNotebook *notebook = GTK_NOTEBOOK(parent->m_widget);
gtk_notebook_append_page( notebook, child->m_widget, label_widget ); gtk_notebook_append_page( notebook, child->m_widget, label_widget );
child->m_page = (GtkNotebookPage*) (g_list_last(notebook->children)->data); child->m_page = (GtkNotebookPage*) (g_list_last(notebook->children)->data);
gtk_notebook_set_page( notebook, parent->m_children.Number()-1 ); gtk_notebook_set_page( notebook, parent->m_children.Number()-1 );
gtk_page_change_callback( (GtkNotebook *) NULL, child->m_page, 0, parent ); gtk_page_change_callback( (GtkNotebook *) NULL, child->m_page, 0, parent );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -337,7 +341,7 @@ wxMDIClientWindow::wxMDIClientWindow(void)
wxMDIClientWindow::wxMDIClientWindow( wxMDIParentFrame *parent, long style ) wxMDIClientWindow::wxMDIClientWindow( wxMDIParentFrame *parent, long style )
{ {
CreateClient( parent, style ); CreateClient( parent, style );
} }
wxMDIClientWindow::~wxMDIClientWindow(void) wxMDIClientWindow::~wxMDIClientWindow(void)
@@ -346,28 +350,28 @@ wxMDIClientWindow::~wxMDIClientWindow(void)
bool wxMDIClientWindow::CreateClient( wxMDIParentFrame *parent, long style ) bool wxMDIClientWindow::CreateClient( wxMDIParentFrame *parent, long style )
{ {
m_needParent = TRUE; m_needParent = TRUE;
m_insertCallback = (wxInsertChildFunction)wxInsertChildInMDI; m_insertCallback = (wxInsertChildFunction)wxInsertChildInMDI;
PreCreation( parent, -1, wxPoint(10,10), wxSize(100,100), style, "wxMDIClientWindow" ); PreCreation( parent, -1, wxPoint(10,10), wxSize(100,100), style, "wxMDIClientWindow" );
m_widget = gtk_notebook_new(); m_widget = gtk_notebook_new();
gtk_signal_connect( GTK_OBJECT(m_widget), "switch_page", gtk_signal_connect( GTK_OBJECT(m_widget), "switch_page",
GTK_SIGNAL_FUNC(gtk_page_change_callback), (gpointer)this ); GTK_SIGNAL_FUNC(gtk_page_change_callback), (gpointer)this );
gtk_notebook_set_scrollable( GTK_NOTEBOOK(m_widget), 1 ); gtk_notebook_set_scrollable( GTK_NOTEBOOK(m_widget), 1 );
m_parent->AddChild( this ); m_parent->AddChild( this );
(m_parent->m_insertCallback)( m_parent, this ); (m_parent->m_insertCallback)( m_parent, this );
PostCreation(); PostCreation();
Show( TRUE ); Show( TRUE );
return TRUE; return TRUE;
} }

View File

@@ -16,6 +16,9 @@
#include "wx/log.h" #include "wx/log.h"
#include "wx/intl.h" #include "wx/intl.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxMenuBar // wxMenuBar
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -24,124 +27,131 @@ IMPLEMENT_DYNAMIC_CLASS(wxMenuBar,wxWindow)
wxMenuBar::wxMenuBar() wxMenuBar::wxMenuBar()
{ {
m_needParent = FALSE; // hmmm m_needParent = FALSE; // hmmm
PreCreation( (wxWindow *) NULL, -1, wxDefaultPosition, wxDefaultSize, 0, "menu" ); PreCreation( (wxWindow *) NULL, -1, wxDefaultPosition, wxDefaultSize, 0, "menu" );
m_menus.DeleteContents( TRUE ); m_menus.DeleteContents( TRUE );
m_menubar = gtk_menu_bar_new(); m_menubar = gtk_menu_bar_new();
m_widget = GTK_WIDGET(m_menubar); m_widget = GTK_WIDGET(m_menubar);
PostCreation(); PostCreation();
Show( TRUE ); Show( TRUE );
} }
void wxMenuBar::Append( wxMenu *menu, const wxString &title ) void wxMenuBar::Append( wxMenu *menu, const wxString &title )
{ {
m_menus.Append( menu ); m_menus.Append( menu );
menu->m_title = title; // ?????? menu->m_title = title;
int pos; int pos;
do { do
pos = menu->m_title.First( '&' ); {
if (pos != -1) menu->m_title.Remove( pos, 1 ); pos = menu->m_title.First( '&' );
} while (pos != -1); if (pos != -1) menu->m_title.Remove( pos, 1 );
} while (pos != -1);
GtkWidget *root_menu; GtkWidget *root_menu;
root_menu = gtk_menu_item_new_with_label( WXSTRINGCAST(menu->m_title) ); root_menu = gtk_menu_item_new_with_label( WXSTRINGCAST(menu->m_title) );
gtk_widget_show( root_menu ); gtk_widget_show( root_menu );
gtk_menu_item_set_submenu( GTK_MENU_ITEM(root_menu), menu->m_menu ); gtk_menu_item_set_submenu( GTK_MENU_ITEM(root_menu), menu->m_menu );
gtk_menu_bar_append( GTK_MENU_BAR(m_menubar), root_menu ); gtk_menu_bar_append( GTK_MENU_BAR(m_menubar), root_menu );
} }
static int FindMenuItemRecursive( const wxMenu *menu, const wxString &menuString, const wxString &itemString ) static int FindMenuItemRecursive( const wxMenu *menu, const wxString &menuString, const wxString &itemString )
{ {
if (menu->m_title == menuString) if (menu->m_title == menuString)
{ {
int res = menu->FindItem( itemString ); int res = menu->FindItem( itemString );
if (res != -1) return res; if (res != -1) return res;
} }
wxNode *node = menu->m_items.First();
while (node) wxNode *node = menu->m_items.First();
{ while (node)
wxMenuItem *item = (wxMenuItem*)node->Data(); {
if (item->IsSubMenu()) wxMenuItem *item = (wxMenuItem*)node->Data();
return FindMenuItemRecursive(item->GetSubMenu(), menuString, itemString); if (item->IsSubMenu())
node = node->Next(); return FindMenuItemRecursive(item->GetSubMenu(), menuString, itemString);
} node = node->Next();
return -1; }
return -1;
} }
int wxMenuBar::FindMenuItem( const wxString &menuString, const wxString &itemString ) const int wxMenuBar::FindMenuItem( const wxString &menuString, const wxString &itemString ) const
{ {
wxNode *node = m_menus.First(); wxNode *node = m_menus.First();
while (node) while (node)
{ {
wxMenu *menu = (wxMenu*)node->Data(); wxMenu *menu = (wxMenu*)node->Data();
int res = FindMenuItemRecursive( menu, menuString, itemString); int res = FindMenuItemRecursive( menu, menuString, itemString);
if (res != -1) return res; if (res != -1) return res;
node = node->Next(); node = node->Next();
} }
return -1; return -1;
} }
// Find a wxMenuItem using its id. Recurses down into sub-menus /* Find a wxMenuItem using its id. Recurses down into sub-menus */
static wxMenuItem* FindMenuItemByIdRecursive(const wxMenu* menu, int id) static wxMenuItem* FindMenuItemByIdRecursive(const wxMenu* menu, int id)
{ {
wxMenuItem* result = menu->FindItem(id); wxMenuItem* result = menu->FindItem(id);
wxNode *node = menu->m_items.First(); wxNode *node = menu->m_items.First();
while ( node && result == NULL ) { while ( node && result == NULL )
wxMenuItem *item = (wxMenuItem*)node->Data(); {
if ( item->IsSubMenu() ) wxMenuItem *item = (wxMenuItem*)node->Data();
result = FindMenuItemByIdRecursive( item->GetSubMenu(), id ); if (item->IsSubMenu())
node = node->Next(); {
} result = FindMenuItemByIdRecursive( item->GetSubMenu(), id );
}
node = node->Next();
}
return result; return result;
} }
wxMenuItem* wxMenuBar::FindMenuItemById( int id ) const wxMenuItem* wxMenuBar::FindMenuItemById( int id ) const
{ {
wxMenuItem* result = 0; wxMenuItem* result = 0;
wxNode *node = m_menus.First(); wxNode *node = m_menus.First();
while (node && result == 0) while (node && result == 0)
{ {
wxMenu *menu = (wxMenu*)node->Data(); wxMenu *menu = (wxMenu*)node->Data();
result = FindMenuItemByIdRecursive( menu, id ); result = FindMenuItemByIdRecursive( menu, id );
node = node->Next(); node = node->Next();
} }
return result;
return result;
} }
void wxMenuBar::Check( int id, bool check ) void wxMenuBar::Check( int id, bool check )
{ {
wxMenuItem* item = FindMenuItemById( id ); wxMenuItem* item = FindMenuItemById( id );
if (item) item->Check(check); if (item) item->Check(check);
} }
bool wxMenuBar::Checked( int id ) const bool wxMenuBar::Checked( int id ) const
{ {
wxMenuItem* item = FindMenuItemById( id ); wxMenuItem* item = FindMenuItemById( id );
if (item) return item->IsChecked(); if (item) return item->IsChecked();
return FALSE; return FALSE;
} }
void wxMenuBar::Enable( int id, bool enable ) void wxMenuBar::Enable( int id, bool enable )
{ {
wxMenuItem* item = FindMenuItemById( id ); wxMenuItem* item = FindMenuItemById( id );
if (item) item->Enable(enable); if (item) item->Enable(enable);
} }
bool wxMenuBar::Enabled( int id ) const bool wxMenuBar::Enabled( int id ) const
{ {
wxMenuItem* item = FindMenuItemById( id ); wxMenuItem* item = FindMenuItemById( id );
if (item) return item->IsEnabled(); if (item) return item->IsEnabled();
return FALSE; return FALSE;
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -150,27 +160,27 @@ bool wxMenuBar::Enabled( int id ) const
static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu ) static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu )
{ {
int id = menu->FindMenuIdByMenuItem(widget); int id = menu->FindMenuIdByMenuItem(widget);
// should find it for normal (not popup) menu /* should find it for normal (not popup) menu */
wxASSERT( (id != -1) || (menu->GetInvokingWindow() != NULL) ); wxASSERT( (id != -1) || (menu->GetInvokingWindow() != NULL) );
if (!menu->IsEnabled(id)) return; if (!menu->IsEnabled(id)) return;
wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, id ); wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, id );
event.SetEventObject( menu ); event.SetEventObject( menu );
event.SetInt(id ); event.SetInt(id );
if (menu->m_callback) if (menu->m_callback)
{ {
(void) (*(menu->m_callback)) (*menu, event); (void) (*(menu->m_callback)) (*menu, event);
return; return;
} }
if (menu->GetEventHandler()->ProcessEvent(event)) return; if (menu->GetEventHandler()->ProcessEvent(event)) return;
wxWindow *win = menu->GetInvokingWindow(); wxWindow *win = menu->GetInvokingWindow();
if (win) win->GetEventHandler()->ProcessEvent( event ); if (win) win->GetEventHandler()->ProcessEvent( event );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -179,28 +189,29 @@ static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu )
static void gtk_menu_hilight_callback( GtkWidget *widget, wxMenu *menu ) static void gtk_menu_hilight_callback( GtkWidget *widget, wxMenu *menu )
{ {
int id = menu->FindMenuIdByMenuItem(widget); int id = menu->FindMenuIdByMenuItem(widget);
wxASSERT( id != -1 ); // should find it! wxASSERT( id != -1 ); // should find it!
if (!menu->IsEnabled(id)) return; if (!menu->IsEnabled(id)) return;
wxCommandEvent event( wxEVT_MENU_HIGHLIGHT, id ); wxCommandEvent event( wxEVT_MENU_HIGHLIGHT, id );
event.SetEventObject( menu ); event.SetEventObject( menu );
event.SetInt(id ); event.SetInt(id );
/* wxMSW doesn't call callback here either /* wxMSW doesn't call callback here either
if (menu->m_callback)
{ if (menu->m_callback)
(void) (*(menu->m_callback)) (*menu, event); {
return; (void) (*(menu->m_callback)) (*menu, event);
} return;
}
*/ */
if (menu->GetEventHandler()->ProcessEvent(event)) return; if (menu->GetEventHandler()->ProcessEvent(event)) return;
wxWindow *win = menu->GetInvokingWindow(); wxWindow *win = menu->GetInvokingWindow();
if (win) win->GetEventHandler()->ProcessEvent( event ); if (win) win->GetEventHandler()->ProcessEvent( event );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -211,276 +222,305 @@ IMPLEMENT_DYNAMIC_CLASS(wxMenuItem,wxObject)
wxMenuItem::wxMenuItem() wxMenuItem::wxMenuItem()
{ {
m_id = ID_SEPARATOR; m_id = ID_SEPARATOR;
m_isCheckMenu = FALSE; m_isCheckMenu = FALSE;
m_isChecked = FALSE; m_isChecked = FALSE;
m_isEnabled = TRUE; m_isEnabled = TRUE;
m_subMenu = (wxMenu *) NULL; m_subMenu = (wxMenu *) NULL;
m_menuItem = (GtkWidget *) NULL; m_menuItem = (GtkWidget *) NULL;
} }
// it's valid for this function to be called even if m_menuItem == NULL /* it's valid for this function to be called even if m_menuItem == NULL */
void wxMenuItem::SetName(const wxString& str) void wxMenuItem::SetName( const wxString& str )
{ {
m_text = ""; m_text = "";
for ( const char *pc = str; *pc != '\0'; pc++ ) for ( const char *pc = str; *pc != '\0'; pc++ )
{ {
if ( *pc == '&' ) if (*pc == '&') pc++; /* skip it */
pc++; // skip it m_text << *pc;
}
m_text << *pc; if (m_menuItem)
} {
GtkLabel *label = GTK_LABEL( GTK_BIN(m_menuItem)->child );
if ( m_menuItem ) gtk_label_set( label, m_text.c_str());
{ }
GtkLabel *label = GTK_LABEL( GTK_BIN(m_menuItem)->child );
gtk_label_set( label, m_text.c_str());
}
} }
void wxMenuItem::Check( bool check ) void wxMenuItem::Check( bool check )
{ {
wxCHECK_RET( m_menuItem, "invalid menu item" ); wxCHECK_RET( m_menuItem, "invalid menu item" );
wxCHECK_RET( IsCheckable(), "Can't check uncheckable item!" ) wxCHECK_RET( IsCheckable(), "Can't check uncheckable item!" )
m_isChecked = check; m_isChecked = check;
gtk_check_menu_item_set_state( (GtkCheckMenuItem*)m_menuItem, (gint)check ); gtk_check_menu_item_set_state( (GtkCheckMenuItem*)m_menuItem, (gint)check );
} }
void wxMenuItem::Enable( bool enable ) void wxMenuItem::Enable( bool enable )
{ {
wxCHECK_RET( m_menuItem, "invalid menu item" ); wxCHECK_RET( m_menuItem, "invalid menu item" );
gtk_widget_set_sensitive( m_menuItem, enable ); gtk_widget_set_sensitive( m_menuItem, enable );
m_isEnabled = enable; m_isEnabled = enable;
} }
bool wxMenuItem::IsChecked() const bool wxMenuItem::IsChecked() const
{ {
wxCHECK_MSG( m_menuItem, FALSE, "invalid menu item" ); wxCHECK_MSG( m_menuItem, FALSE, "invalid menu item" );
wxCHECK( IsCheckable(), FALSE ); // can't get state of uncheckable item! wxCHECK( IsCheckable(), FALSE ); // can't get state of uncheckable item!
bool bIsChecked = ((GtkCheckMenuItem*)m_menuItem)->active != 0; bool bIsChecked = ((GtkCheckMenuItem*)m_menuItem)->active != 0;
wxASSERT( bIsChecked == m_isChecked ); // consistency check wxASSERT( bIsChecked == m_isChecked ); // consistency check
return bIsChecked; return bIsChecked;
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxMenuItem // wxMenu
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxMenu,wxEvtHandler) IMPLEMENT_DYNAMIC_CLASS(wxMenu,wxEvtHandler)
wxMenu::wxMenu( const wxString& title, const wxFunction func ) wxMenu::wxMenu( const wxString& title, const wxFunction func )
{ {
m_title = title; m_title = title;
m_items.DeleteContents( TRUE ); m_items.DeleteContents( TRUE );
m_invokingWindow = (wxWindow *) NULL; m_invokingWindow = (wxWindow *) NULL;
m_menu = gtk_menu_new(); // Do not show! m_menu = gtk_menu_new(); // Do not show!
m_callback = func; m_callback = func;
m_eventHandler = this; m_eventHandler = this;
m_clientData = (void*) NULL; m_clientData = (void*) NULL;
if (m_title.IsNull()) m_title = ""; if (m_title.IsNull()) m_title = "";
if (m_title != "") if (m_title != "")
{ {
Append(-2, m_title); Append(-2, m_title);
AppendSeparator(); AppendSeparator();
} }
} }
void wxMenu::SetTitle( const wxString& title ) void wxMenu::SetTitle( const wxString& title )
{ {
// Waiting for something better. /* Waiting for something better. */
m_title = title; m_title = title;
} }
const wxString wxMenu::GetTitle() const const wxString wxMenu::GetTitle() const
{ {
return m_title; return m_title;
} }
void wxMenu::AppendSeparator() void wxMenu::AppendSeparator()
{ {
wxMenuItem *mitem = new wxMenuItem(); wxMenuItem *mitem = new wxMenuItem();
mitem->SetId(ID_SEPARATOR); mitem->SetId(ID_SEPARATOR);
GtkWidget *menuItem = gtk_menu_item_new(); GtkWidget *menuItem = gtk_menu_item_new();
gtk_menu_append( GTK_MENU(m_menu), menuItem ); gtk_menu_append( GTK_MENU(m_menu), menuItem );
gtk_widget_show( menuItem ); gtk_widget_show( menuItem );
mitem->SetMenuItem(menuItem); mitem->SetMenuItem(menuItem);
m_items.Append( mitem ); m_items.Append( mitem );
} }
void wxMenu::Append( int id, const wxString &item, const wxString &helpStr, bool checkable ) void wxMenu::Append( int id, const wxString &item, const wxString &helpStr, bool checkable )
{ {
wxMenuItem *mitem = new wxMenuItem(); wxMenuItem *mitem = new wxMenuItem();
mitem->SetId(id); mitem->SetId(id);
mitem->SetText(item); mitem->SetText(item);
mitem->SetHelp(helpStr); mitem->SetHelp(helpStr);
mitem->SetCheckable(checkable); mitem->SetCheckable(checkable);
const char *text = mitem->GetText(); const char *text = mitem->GetText();
GtkWidget *menuItem = checkable ? gtk_check_menu_item_new_with_label(text) GtkWidget *menuItem = checkable ? gtk_check_menu_item_new_with_label(text)
: gtk_menu_item_new_with_label(text); : gtk_menu_item_new_with_label(text);
mitem->SetMenuItem(menuItem); mitem->SetMenuItem(menuItem);
gtk_signal_connect( GTK_OBJECT(menuItem), "activate", gtk_signal_connect( GTK_OBJECT(menuItem), "activate",
GTK_SIGNAL_FUNC(gtk_menu_clicked_callback), GTK_SIGNAL_FUNC(gtk_menu_clicked_callback),
(gpointer*)this ); (gpointer*)this );
gtk_signal_connect( GTK_OBJECT(menuItem), "select", gtk_signal_connect( GTK_OBJECT(menuItem), "select",
GTK_SIGNAL_FUNC(gtk_menu_hilight_callback), GTK_SIGNAL_FUNC(gtk_menu_hilight_callback),
(gpointer*)this ); (gpointer*)this );
gtk_menu_append( GTK_MENU(m_menu), menuItem ); gtk_menu_append( GTK_MENU(m_menu), menuItem );
gtk_widget_show( menuItem ); gtk_widget_show( menuItem );
m_items.Append( mitem ); m_items.Append( mitem );
} }
void wxMenu::Append( int id, const wxString &text, wxMenu *subMenu, const wxString &helpStr ) void wxMenu::Append( int id, const wxString &text, wxMenu *subMenu, const wxString &helpStr )
{ {
wxMenuItem *mitem = new wxMenuItem(); wxMenuItem *mitem = new wxMenuItem();
mitem->SetId(id); mitem->SetId(id);
mitem->SetText(text); mitem->SetText(text);
GtkWidget *menuItem = gtk_menu_item_new_with_label(mitem->GetText()); GtkWidget *menuItem = gtk_menu_item_new_with_label(mitem->GetText());
mitem->SetHelp(helpStr); mitem->SetHelp(helpStr);
mitem->SetMenuItem(menuItem); mitem->SetMenuItem(menuItem);
mitem->SetSubMenu(subMenu); mitem->SetSubMenu(subMenu);
gtk_menu_item_set_submenu( GTK_MENU_ITEM(menuItem), subMenu->m_menu ); gtk_menu_item_set_submenu( GTK_MENU_ITEM(menuItem), subMenu->m_menu );
gtk_menu_append( GTK_MENU(m_menu), menuItem ); gtk_menu_append( GTK_MENU(m_menu), menuItem );
gtk_widget_show( menuItem ); gtk_widget_show( menuItem );
m_items.Append( mitem ); m_items.Append( mitem );
} }
int wxMenu::FindItem( const wxString itemString ) const int wxMenu::FindItem( const wxString itemString ) const
{ {
wxString s( itemString ); wxString s( itemString );
int pos; int pos;
do { do
pos = s.First( '&' ); {
if (pos != -1) s.Remove( pos, 1 ); pos = s.First( '&' );
} while (pos != -1); if (pos != -1) s.Remove( pos, 1 );
} while (pos != -1);
wxNode *node = m_items.First(); wxNode *node = m_items.First();
while (node) while (node)
{ {
wxMenuItem *item = (wxMenuItem*)node->Data(); wxMenuItem *item = (wxMenuItem*)node->Data();
if (item->GetText() == s) if (item->GetText() == s)
return item->GetId(); {
node = node->Next(); return item->GetId();
} }
node = node->Next();
}
return -1; return -1;
} }
void wxMenu::Enable( int id, bool enable ) void wxMenu::Enable( int id, bool enable )
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if ( item ) if (item)
item->Enable(enable); {
item->Enable(enable);
}
} }
bool wxMenu::IsEnabled( int id ) const bool wxMenu::IsEnabled( int id ) const
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if ( item ) if (item)
return item->IsEnabled(); {
else return item->IsEnabled();
return FALSE; }
else
{
return FALSE;
}
} }
void wxMenu::Check( int id, bool enable ) void wxMenu::Check( int id, bool enable )
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if ( item ) if (item)
item->Check(enable); {
item->Check(enable);
}
} }
bool wxMenu::IsChecked( int id ) const bool wxMenu::IsChecked( int id ) const
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if ( item ) if (item)
return item->IsChecked(); {
else return item->IsChecked();
return FALSE; }
else
{
return FALSE;
}
} }
void wxMenu::SetLabel( int id, const wxString &label ) void wxMenu::SetLabel( int id, const wxString &label )
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if (item) if (item)
item->SetText(label); {
item->SetText(label);
}
} }
wxString wxMenu::GetLabel( int id ) const wxString wxMenu::GetLabel( int id ) const
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if (item) return item->GetText(); if (item)
return ""; {
return item->GetText();
}
else
{
return "";
}
} }
void wxMenu::SetHelpString( int id, const wxString& helpString ) void wxMenu::SetHelpString( int id, const wxString& helpString )
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if (item) item->SetHelp( helpString ); if (item) item->SetHelp( helpString );
} }
wxString wxMenu::GetHelpString( int id ) const wxString wxMenu::GetHelpString( int id ) const
{ {
wxMenuItem *item = FindItem(id); wxMenuItem *item = FindItem(id);
if (item) return item->GetHelp(); if (item)
return ""; {
return item->GetHelp();
}
else
{
return "";
}
} }
int wxMenu::FindMenuIdByMenuItem( GtkWidget *menuItem ) const int wxMenu::FindMenuIdByMenuItem( GtkWidget *menuItem ) const
{ {
wxNode *node = m_items.First(); wxNode *node = m_items.First();
while (node) while (node)
{ {
wxMenuItem *item = (wxMenuItem*)node->Data(); wxMenuItem *item = (wxMenuItem*)node->Data();
if (item->GetMenuItem() == menuItem) if (item->GetMenuItem() == menuItem)
return item->GetId(); return item->GetId();
node = node->Next(); node = node->Next();
} }
return -1; return -1;
} }
wxMenuItem *wxMenu::FindItem(int id) const wxMenuItem *wxMenu::FindItem(int id) const
{ {
wxNode *node = m_items.First(); wxNode *node = m_items.First();
while (node) { while (node)
wxMenuItem *item = (wxMenuItem*)node->Data(); {
if ( item->GetId() == id ) wxMenuItem *item = (wxMenuItem*)node->Data();
return item; if (item->GetId() == id)
node = node->Next(); {
} return item;
}
node = node->Next();
}
// Not finding anything here can be correct /* Not finding anything here can be correct
// when search the entire menu system for * when search the entire menu system for
// an entry -> no error message. * an entry -> no error message. */
return (wxMenuItem *) NULL; return (wxMenuItem *) NULL;
} }
void wxMenu::SetInvokingWindow( wxWindow *win ) void wxMenu::SetInvokingWindow( wxWindow *win )
{ {
m_invokingWindow = win; m_invokingWindow = win;
} }
wxWindow *wxMenu::GetInvokingWindow() wxWindow *wxMenu::GetInvokingWindow()
{ {
return m_invokingWindow; return m_invokingWindow;
} }

View File

@@ -14,6 +14,10 @@
#include "wx/minifram.h" #include "wx/minifram.h"
#include "wx/dcscreen.h" #include "wx/dcscreen.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// "clicked" // "clicked"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -17,6 +17,10 @@
#include "wx/imaglist.h" #include "wx/imaglist.h"
#include "wx/intl.h" #include "wx/intl.h"
#include "wx/log.h" #include "wx/log.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h"
#include "gdk/gdkkeysyms.h" #include "gdk/gdkkeysyms.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -15,6 +15,8 @@
#include "wx/palette.h" #include "wx/palette.h"
#include "gdk/gdk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxPalette // wxPalette
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,8 @@
#include "wx/pen.h" #include "wx/pen.h"
#include "gdk/gdk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxPen // wxPen
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -15,6 +15,9 @@
#include "wx/radiobox.h" #include "wx/radiobox.h"
#include "wx/dialog.h" #include "wx/dialog.h"
#include "wx/frame.h" #include "wx/frame.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "wx/gtk/win_gtk.h" #include "wx/gtk/win_gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,8 @@
#endif #endif
#include "wx/radiobut.h" #include "wx/radiobut.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data

View File

@@ -14,6 +14,9 @@
#include "wx/region.h" #include "wx/region.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxRegion // wxRegion
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -16,6 +16,9 @@
#include "wx/utils.h" #include "wx/utils.h"
#include <math.h> #include <math.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -15,6 +15,9 @@
#include "wx/settings.h" #include "wx/settings.h"
#include "wx/debug.h" #include "wx/debug.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
/* /*
#define wxSYS_COLOUR_SCROLLBAR 0 #define wxSYS_COLOUR_SCROLLBAR 0
#define wxSYS_COLOUR_BACKGROUND 1 #define wxSYS_COLOUR_BACKGROUND 1

View File

@@ -15,6 +15,9 @@
#include "wx/utils.h" #include "wx/utils.h"
#include <math.h> #include <math.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -16,6 +16,9 @@
#include "wx/utils.h" #include "wx/utils.h"
#include <math.h> #include <math.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -28,31 +31,31 @@ extern bool g_blockEventsOnDrag;
static void gtk_spinbutt_callback( GtkWidget *WXUNUSED(widget), wxSpinButton *win ) static void gtk_spinbutt_callback( GtkWidget *WXUNUSED(widget), wxSpinButton *win )
{ {
if (!win->HasVMT()) return; if (!win->HasVMT()) return;
if (g_blockEventsOnDrag) return; if (g_blockEventsOnDrag) return;
float diff = win->m_adjust->value - win->m_oldPos; float diff = win->m_adjust->value - win->m_oldPos;
if (fabs(diff) < 0.2) return; if (fabs(diff) < 0.2) return;
wxEventType command = wxEVT_NULL; wxEventType command = wxEVT_NULL;
float line_step = win->m_adjust->step_increment; float line_step = win->m_adjust->step_increment;
float page_step = win->m_adjust->page_increment; float page_step = win->m_adjust->page_increment;
if (fabs(diff-line_step) < 0.2) command = wxEVT_SCROLL_LINEDOWN; if (fabs(diff-line_step) < 0.2) command = wxEVT_SCROLL_LINEDOWN;
else if (fabs(diff+line_step) < 0.2) command = wxEVT_SCROLL_LINEUP; else if (fabs(diff+line_step) < 0.2) command = wxEVT_SCROLL_LINEUP;
else if (fabs(diff-page_step) < 0.2) command = wxEVT_SCROLL_PAGEDOWN; else if (fabs(diff-page_step) < 0.2) command = wxEVT_SCROLL_PAGEDOWN;
else if (fabs(diff+page_step) < 0.2) command = wxEVT_SCROLL_PAGEUP; else if (fabs(diff+page_step) < 0.2) command = wxEVT_SCROLL_PAGEUP;
else command = wxEVT_SCROLL_THUMBTRACK; else command = wxEVT_SCROLL_THUMBTRACK;
int value = (int)(win->m_adjust->value+0.5); int value = (int)(win->m_adjust->value+0.5);
wxSpinEvent event( command, win->GetId()); wxSpinEvent event( command, win->GetId());
event.SetPosition( value ); event.SetPosition( value );
event.SetOrientation( wxVERTICAL ); event.SetOrientation( wxVERTICAL );
event.SetEventObject( win ); event.SetEventObject( win );
win->ProcessEvent( event ); win->ProcessEvent( event );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -72,38 +75,40 @@ wxSpinButton::wxSpinButton()
bool wxSpinButton::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, bool wxSpinButton::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size,
long style, const wxString& name) long style, const wxString& name)
{ {
m_needParent = TRUE; m_needParent = TRUE;
wxSize new_size = size; wxSize new_size = size;
new_size.x = 16; new_size.x = 16;
if (new_size.y == -1) new_size.y = 30; if (new_size.y == -1) new_size.y = 30;
PreCreation( parent, id, pos, new_size, style, name ); PreCreation( parent, id, pos, new_size, style, name );
// SetValidator( validator ); // SetValidator( validator );
m_oldPos = 0.0; m_oldPos = 0.0;
m_adjust = (GtkAdjustment*) gtk_adjustment_new( 0.0, 0.0, 100.0, 1.0, 5.0, 0.0); m_adjust = (GtkAdjustment*) gtk_adjustment_new( 0.0, 0.0, 100.0, 1.0, 5.0, 0.0);
m_widget = gtk_spin_button_new( m_adjust, 0, 0 ); m_widget = gtk_spin_button_new( m_adjust, 0, 0 );
gtk_spin_button_set_wrap( GTK_SPIN_BUTTON(m_widget), (m_windowStyle & wxSP_WRAP) ); gtk_spin_button_set_wrap( GTK_SPIN_BUTTON(m_widget), (m_windowStyle & wxSP_WRAP) );
gtk_signal_connect (GTK_OBJECT (m_adjust), "value_changed", gtk_signal_connect( GTK_OBJECT (m_adjust),
(GtkSignalFunc) gtk_spinbutt_callback, (gpointer) this ); "value_changed",
(GtkSignalFunc) gtk_spinbutt_callback,
(gpointer) this );
m_parent->AddChild( this ); m_parent->AddChild( this );
(m_parent->m_insertCallback)( m_parent, this ); (m_parent->m_insertCallback)( m_parent, this );
PostCreation(); PostCreation();
SetBackgroundColour( parent->GetBackgroundColour() ); SetBackgroundColour( parent->GetBackgroundColour() );
Show( TRUE ); Show( TRUE );
return TRUE; return TRUE;
} }
wxSpinButton::~wxSpinButton() wxSpinButton::~wxSpinButton()
@@ -112,71 +117,74 @@ wxSpinButton::~wxSpinButton()
int wxSpinButton::GetMin() const int wxSpinButton::GetMin() const
{ {
wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" ); wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" );
return (int)(m_adjust->lower+0.5); return (int)(m_adjust->lower+0.5);
} }
int wxSpinButton::GetMax() const int wxSpinButton::GetMax() const
{ {
wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" ); wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" );
return (int)(m_adjust->upper+0.5); return (int)(m_adjust->upper+0.5);
} }
int wxSpinButton::GetValue() const int wxSpinButton::GetValue() const
{ {
wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" ); wxCHECK_MSG( (m_widget != NULL), 0, "invalid spin button" );
return (int)(m_adjust->value+0.5); return (int)(m_adjust->value+0.5);
} }
void wxSpinButton::SetValue( int value ) void wxSpinButton::SetValue( int value )
{ {
wxCHECK_RET( (m_widget != NULL), "invalid spin button" ); wxCHECK_RET( (m_widget != NULL), "invalid spin button" );
float fpos = (float)value; float fpos = (float)value;
m_oldPos = fpos; m_oldPos = fpos;
if (fabs(fpos-m_adjust->value) < 0.2) return; if (fabs(fpos-m_adjust->value) < 0.2) return;
m_adjust->value = fpos;
m_adjust->value = fpos;
gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "value_changed" ); gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "value_changed" );
} }
void wxSpinButton::SetRange(int minVal, int maxVal) void wxSpinButton::SetRange(int minVal, int maxVal)
{ {
wxCHECK_RET( (m_widget != NULL), "invalid spin button" ); wxCHECK_RET( (m_widget != NULL), "invalid spin button" );
float fmin = (float)minVal; float fmin = (float)minVal;
float fmax = (float)maxVal; float fmax = (float)maxVal;
if ((fabs(fmin-m_adjust->lower) < 0.2) && if ((fabs(fmin-m_adjust->lower) < 0.2) &&
(fabs(fmax-m_adjust->upper) < 0.2)) (fabs(fmax-m_adjust->upper) < 0.2))
return; {
return;
}
m_adjust->lower = fmin; m_adjust->lower = fmin;
m_adjust->upper = fmax; m_adjust->upper = fmax;
gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "changed" ); gtk_signal_emit_by_name( GTK_OBJECT(m_adjust), "changed" );
} }
void wxSpinButton::OnSize( wxSizeEvent &WXUNUSED(event) ) void wxSpinButton::OnSize( wxSizeEvent &WXUNUSED(event) )
{ {
wxCHECK_RET( (m_widget != NULL), "invalid spin button" ); wxCHECK_RET( (m_widget != NULL), "invalid spin button" );
m_width = 16; m_width = 16;
gtk_widget_set_usize( m_widget, m_width, m_height ); gtk_widget_set_usize( m_widget, m_width, m_height );
} }
bool wxSpinButton::IsOwnGtkWindow( GdkWindow *window ) bool wxSpinButton::IsOwnGtkWindow( GdkWindow *window )
{ {
return GTK_SPIN_BUTTON(m_widget)->panel == window; return GTK_SPIN_BUTTON(m_widget)->panel == window;
} }
void wxSpinButton::ApplyWidgetStyle() void wxSpinButton::ApplyWidgetStyle()
{ {
SetWidgetStyle(); SetWidgetStyle();
gtk_widget_set_style( m_widget, m_widgetStyle ); gtk_widget_set_style( m_widget, m_widgetStyle );
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,9 @@
#include "wx/statbmp.h" #include "wx/statbmp.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxStaticBitmap // wxStaticBitmap
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,9 @@
#include "wx/statbox.h" #include "wx/statbox.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxStaticBox // wxStaticBox
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -14,6 +14,9 @@
#include "wx/stattext.h" #include "wx/stattext.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxStaticText // wxStaticText
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -13,6 +13,10 @@
#include "wx/toolbar.h" #include "wx/toolbar.h"
#include "glib.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// data // data
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -99,6 +103,8 @@ wxToolBar::wxToolBar( wxWindow *parent, wxWindowID id,
wxToolBar::~wxToolBar() wxToolBar::~wxToolBar()
{ {
delete m_fg;
delete m_bg;
} }
bool wxToolBar::Create( wxWindow *parent, wxWindowID id, bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
@@ -121,18 +127,20 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
m_widget = GTK_WIDGET(m_toolbar); m_widget = GTK_WIDGET(m_toolbar);
gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE ); gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE );
m_fg = new GdkColor;
m_fg->red = 0;
m_fg->green = 0;
m_fg->blue = 0;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ), m_fg );
m_fg.red = 0; m_bg = new GdkColor;
m_fg.green = 0; m_bg->red = 65535;
m_fg.blue = 0; m_bg->green = 65535;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ), &m_fg ); m_bg->blue = 50000;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ), m_bg );
m_bg.red = 65535; gtk_tooltips_set_colors( GTK_TOOLBAR(m_toolbar)->tooltips, m_bg, m_fg );
m_bg.green = 65535;
m_bg.blue = 50000;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ), &m_bg );
gtk_tooltips_set_colors( GTK_TOOLBAR(m_toolbar)->tooltips, &m_bg, &m_fg );
m_xMargin = 0; m_xMargin = 0;
m_yMargin = 0; m_yMargin = 0;

View File

@@ -20,6 +20,8 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <ctype.h> #include <ctype.h>
#include "gdk/gdk.h"
#include "gtk/gtk.h"
#include "gdk/gdkkeysyms.h" #include "gdk/gdkkeysyms.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -24,6 +24,9 @@
#include "wx/utils.h" #include "wx/utils.h"
#include "wx/log.h" #include "wx/log.h"
#include "gdk/gdk.h"
#include "gtk/gtk.h"
enum thread_state enum thread_state
{ {
STATE_IDLE = 0, STATE_IDLE = 0,

View File

@@ -23,7 +23,11 @@
#include "wx/utils.h" #include "wx/utils.h"
#include "wx/log.h" #include "wx/log.h"
enum thread_state { #include "gdk/gdk.h"
#include "gtk/gtk.h"
enum thread_state
{
STATE_IDLE = 0, STATE_IDLE = 0,
STATE_RUNNING, STATE_RUNNING,
STATE_CANCELED, STATE_CANCELED,

Some files were not shown because too many files have changed in this diff Show More