1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     Various data 
   4 // Author:      David Webster 
   8 // Copyright:   (c) David Webster 
   9 // Licence:     wxWindows licence 
  10 ///////////////////////////////////////////////////////////////////////////// 
  13 #pragma implementation "data.h" 
  16 // For compilers that support precompilation, includes "wx.h". 
  17 #include "wx/wxprec.h" 
  23 #include "wx/prntbase.h" 
  25 #define _MAXPATHLEN 500 
  27 // Useful buffer, initialized in wxCommonInit 
  28 wxChar 
*wxBuffer 
= NULL
; 
  31 wxWindowList wxTopLevelWindows
; 
  33 // List of windows pending deletion 
  34 wxList WXDLLEXPORT wxPendingDelete
; 
  36 // List of events pending processing 
  38 wxList 
*wxPendingEvents 
= NULL
; 
  39 wxCriticalSection 
*wxPendingEventsLocker 
= NULL
; 
  42 // Current cursor, in order to hang on to 
  43 // cursor handle when setting the cursor globally 
  44 wxCursor 
*g_globalCursor 
= NULL
; 
  46 // Message Strings for Internationalization 
  47 char **wx_msg_str 
= (char**)NULL
; 
  49 // Custom OS version, as optionally placed in wx.ini/.wxrc 
  50 // Currently this can be Win95, Windows, Win32s, WinNT. 
  51 // For some systems, you can't tell until run-time what services you 
  52 // have. See wxGetOsVersion, which uses this string if present. 
  53 char *wxOsVersion 
= NULL
; 
  58 wxBrushList 
*wxTheBrushList 
= NULL
; 
  59 wxPenList   
*wxThePenList 
= NULL
; 
  60 wxFontList   
*wxTheFontList 
= NULL
; 
  61 wxBitmapList   
*wxTheBitmapList 
= NULL
; 
  63 wxColourDatabase 
*wxTheColourDatabase 
= NULL
; 
  66 wxFont 
*wxNORMAL_FONT
; 
  68 wxFont 
*wxITALIC_FONT
; 
  76 wxPen 
*wxTRANSPARENT_PEN
; 
  77 wxPen 
*wxBLACK_DASHED_PEN
; 
  79 wxPen 
*wxMEDIUM_GREY_PEN
; 
  80 wxPen 
*wxLIGHT_GREY_PEN
; 
  82 wxBrush 
*wxBLUE_BRUSH
; 
  83 wxBrush 
*wxGREEN_BRUSH
; 
  84 wxBrush 
*wxWHITE_BRUSH
; 
  85 wxBrush 
*wxBLACK_BRUSH
; 
  86 wxBrush 
*wxTRANSPARENT_BRUSH
; 
  87 wxBrush 
*wxCYAN_BRUSH
; 
  89 wxBrush 
*wxGREY_BRUSH
; 
  90 wxBrush 
*wxMEDIUM_GREY_BRUSH
; 
  91 wxBrush 
*wxLIGHT_GREY_BRUSH
; 
  99 wxColour 
*wxLIGHT_GREY
; 
 101 wxCursor 
*wxSTANDARD_CURSOR 
= NULL
; 
 102 wxCursor 
*wxHOURGLASS_CURSOR 
= NULL
; 
 103 wxCursor 
*wxCROSS_CURSOR 
= NULL
; 
 106 wxAcceleratorTable wxNullAcceleratorTable
; 
 107 wxBitmap wxNullBitmap
; 
 109 wxCursor wxNullCursor
; 
 112 wxPalette wxNullPalette
; 
 114 wxColour wxNullColour
; 
 116 // Default window names 
 117 const wxChar 
*wxButtonNameStr 
= wxT("button"); 
 118 const wxChar 
*wxCanvasNameStr 
= wxT("canvas"); 
 119 const wxChar 
*wxCheckBoxNameStr 
= wxT("check"); 
 120 const wxChar 
*wxChoiceNameStr 
= wxT("choice"); 
 121 const wxChar 
*wxComboBoxNameStr 
= wxT("comboBox"); 
 122 const wxChar 
*wxDialogNameStr 
= wxT("dialog"); 
 123 const wxChar 
*wxFrameNameStr 
= wxT("frame"); 
 124 const wxChar 
*wxGaugeNameStr 
= wxT("gauge"); 
 125 const wxChar 
*wxStaticBoxNameStr 
= wxT("groupBox"); 
 126 const wxChar 
*wxListBoxNameStr 
= wxT("listBox"); 
 127 const wxChar 
*wxStaticTextNameStr 
= wxT("message"); 
 128 const wxChar 
*wxStaticBitmapNameStr 
= wxT("message"); 
 129 const wxChar 
*wxMultiTextNameStr 
= wxT("multitext"); 
 130 const wxChar 
*wxPanelNameStr 
= wxT("panel"); 
 131 const wxChar 
*wxRadioBoxNameStr 
= wxT("radioBox"); 
 132 const wxChar 
*wxRadioButtonNameStr 
= wxT("radioButton"); 
 133 const wxChar 
*wxBitmapRadioButtonNameStr 
= wxT("radioButton"); 
 134 const wxChar 
*wxScrollBarNameStr 
= wxT("scrollBar"); 
 135 const wxChar 
*wxSliderNameStr 
= wxT("slider"); 
 136 const wxChar 
*wxStaticNameStr 
= wxT("static"); 
 137 const wxChar 
*wxTextCtrlWindowNameStr 
= wxT("textWindow"); 
 138 const wxChar 
*wxTextCtrlNameStr 
= wxT("text"); 
 139 const wxChar 
*wxVirtListBoxNameStr 
= wxT("virtListBox"); 
 140 const wxChar 
*wxButtonBarNameStr 
= wxT("buttonbar"); 
 141 const wxChar 
*wxEnhDialogNameStr 
= wxT("Shell"); 
 142 const wxChar 
*wxToolBarNameStr 
= wxT("toolbar"); 
 143 const wxChar 
*wxStatusLineNameStr 
= wxT("status_line"); 
 144 const wxChar 
*wxEmptyString 
= wxT(""); 
 145 const wxChar 
*wxGetTextFromUserPromptStr 
= wxT("Input Text"); 
 146 const wxChar 
*wxMessageBoxCaptionStr 
= wxT("Message"); 
 147 const wxChar 
*wxFileSelectorPromptStr 
= wxT("Select a file"); 
 148 const wxChar 
*wxFileSelectorDefaultWildcardStr 
= wxT("*.*"); 
 149 const wxChar 
*wxInternalErrorStr 
= wxT("wxWindows Internal Error"); 
 150 const wxChar 
*wxFatalErrorStr 
= wxT("wxWindows Fatal Error"); 
 151 const wxChar 
*wxTreeCtrlNameStr 
= wxT("treeCtrl"); 
 152 const wxChar 
*wxDirDialogNameStr 
= wxT("wxDirCtrl"); 
 153 const wxChar 
*wxDirDialogDefaultFolderStr 
= wxT("/"); 
 156 const wxChar 
*wxFloatToStringStr 
= wxT("%.2f"); 
 157 const wxChar 
*wxDoubleToStringStr 
= wxT("%.2f"); 
 160 const wxChar 
*wxUserResourceStr 
= wxT("TEXT"); 
 163 #if wxUSE_SHARED_LIBRARY 
 165  * For wxWindows to be made into a dynamic library (e.g. Sun), 
 166  * all IMPLEMENT_... macros must be in one place. 
 167  * But normally, the definitions are in the appropriate places. 
 170 // Hand-coded IMPLEMENT... macro for wxObject (define static data) 
 171 wxClassInfo 
wxObject::classwxObject("wxObject", NULL
, NULL
, sizeof(wxObject
), NULL
); 
 172 wxClassInfo 
*wxClassInfo::first 
= NULL
; 
 173 wxClassInfo 
wxClassInfo::classTable(wxKEY_STRING
); 
 175 #include "wx/button.h" 
 176 #include "wx/bmpbuttn.h" 
 177 IMPLEMENT_DYNAMIC_CLASS(wxButton
, wxControl
) 
 178 IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton
, wxButton
) 
 180 #include "wx/checkbox.h" 
 181 IMPLEMENT_DYNAMIC_CLASS(wxCheckBox
, wxControl
) 
 182 IMPLEMENT_DYNAMIC_CLASS(wxBitmapCheckBox
, wxCheckBox
) 
 184 #include "wx/choice.h" 
 185 IMPLEMENT_DYNAMIC_CLASS(wxChoice
, wxControl
) 
 188 #include "wx/clipbrd.h" 
 189 IMPLEMENT_DYNAMIC_CLASS(wxClipboard
, wxObject
) 
 190 IMPLEMENT_ABSTRACT_CLASS(wxClipboardClient
, wxObject
) 
 194 #include "wx/combobox.h" 
 195 IMPLEMENT_DYNAMIC_CLASS(wxComboBox
, wxControl
) 
 199 #include "wx/dcmemory.h" 
 200 #include "wx/dcclient.h" 
 201 #include "wx/dcscreen.h" 
 202 IMPLEMENT_ABSTRACT_CLASS(wxDC
, wxObject
) 
 203 IMPLEMENT_DYNAMIC_CLASS(wxWindowDC
, wxDC
) 
 204 IMPLEMENT_DYNAMIC_CLASS(wxPaintDC
, wxWindowDC
) 
 205 IMPLEMENT_DYNAMIC_CLASS(wxClientDC
, wxWindowDC
) 
 206 IMPLEMENT_DYNAMIC_CLASS(wxScreenDC
, wxWindowDC
) 
 207 IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC
, wxDC
) 
 209 #if defined(__WXMSW__) 
 210 #include "wx/dcprint.h" 
 211 IMPLEMENT_CLASS(wxPrinterDC
, wxDC
) 
 214 #include "wx/dialog.h" 
 215 IMPLEMENT_DYNAMIC_CLASS(wxDialog
, wxWindow
) 
 217 #include "wx/frame.h" 
 218 IMPLEMENT_DYNAMIC_CLASS(wxFrame
, wxWindow
) 
 221 IMPLEMENT_DYNAMIC_CLASS(wxMDIParentFrame
, wxFrame
) 
 222 IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame
, wxFrame
) 
 223 IMPLEMENT_DYNAMIC_CLASS(wxMDIClientWindow
, wxWindow
) 
 225 #include "wx/cmndata.h" 
 226 IMPLEMENT_DYNAMIC_CLASS(wxColourData
, wxObject
) 
 227 IMPLEMENT_DYNAMIC_CLASS(wxFontData
, wxObject
) 
 228 IMPLEMENT_DYNAMIC_CLASS(wxPrintData
, wxObject
) 
 230 #include "wx/colordlg.h" 
 231 #include "wx/fontdlg.h" 
 233 #if !defined(__WXMSW__) || wxUSE_GENERIC_DIALOGS_IN_MSW 
 234 #include "wx/generic/colordlg.h" 
 235 #include "wx/generic/fontdlg.h" 
 236 IMPLEMENT_DYNAMIC_CLASS(wxGenericColourDialog
, wxDialog
) 
 237 IMPLEMENT_DYNAMIC_CLASS(wxGenericFontDialog
, wxDialog
) 
 240 // X defines wxColourDialog to be wxGenericColourDialog 
 242 IMPLEMENT_DYNAMIC_CLASS(wxColourDialog
, wxDialog
) 
 243 IMPLEMENT_DYNAMIC_CLASS(wxFontDialog
, wxDialog
) 
 246 #include "wx/gdicmn.h" 
 248 #include "wx/brush.h" 
 250 #include "wx/palette.h" 
 252 #include "wx/cursor.h" 
 254 IMPLEMENT_DYNAMIC_CLASS(wxColour
, wxObject
) 
 255 IMPLEMENT_CLASS(wxColourDatabase
, wxList
) 
 256 IMPLEMENT_DYNAMIC_CLASS(wxFontList
, wxList
) 
 257 IMPLEMENT_DYNAMIC_CLASS(wxPenList
, wxList
) 
 258 IMPLEMENT_DYNAMIC_CLASS(wxBrushList
, wxList
) 
 259 IMPLEMENT_DYNAMIC_CLASS(wxBitmapList
, wxList
) 
 263 IMPLEMENT_DYNAMIC_CLASS(wxPoint, wxObject) 
 264 IMPLEMENT_DYNAMIC_CLASS(wxRealPoint, wxObject) 
 269 IMPLEMENT_DYNAMIC_CLASS(wxHashTable
, wxObject
) 
 271 #include "wx/helpbase.h" 
 272 IMPLEMENT_CLASS(wxHelpControllerBase
, wxObject
) 
 277 #include "wx/msw/helpwin.h" 
 278 IMPLEMENT_DYNAMIC_CLASS(wxWinHelpController
, wxHelpControllerBase
) 
 281 // Generic wxHelp controller 
 282 IMPLEMENT_CLASS(wxXLPHelpController
, wxHelpControllerBase
) 
 285 IMPLEMENT_CLASS(wxXLPHelpClient
, wxDDEClient
) 
 286 IMPLEMENT_CLASS(wxXLPHelpConnection
, wxDDEConnection
) 
 288 IMPLEMENT_CLASS(wxXLPHelpClient
, wxTCPClient
) 
 289 IMPLEMENT_CLASS(wxXLPHelpConnection
, wxTCPConnection
) 
 294 IMPLEMENT_DYNAMIC_CLASS(wxString
, wxObject
) 
 297 IMPLEMENT_DYNAMIC_CLASS(wxNode
, wxObject
) 
 298 IMPLEMENT_DYNAMIC_CLASS(wxList
, wxObject
) 
 299 IMPLEMENT_DYNAMIC_CLASS(wxStringList
, wxList
) 
 301 #if wxUSE_PRINTING_ARCHITECTURE 
 302 #include "wx/print.h" 
 303 IMPLEMENT_DYNAMIC_CLASS(wxPrintDialog
, wxDialog
) 
 304 IMPLEMENT_DYNAMIC_CLASS(wxPrinterBase
, wxObject
) 
 305 IMPLEMENT_DYNAMIC_CLASS(wxPostScriptPrinter
, wxPrinterBase
) 
 306 IMPLEMENT_DYNAMIC_CLASS(wxWindowsPrinter
, wxPrinterBase
) 
 307 IMPLEMENT_ABSTRACT_CLASS(wxPrintout
, wxObject
) 
 308 IMPLEMENT_CLASS(wxPreviewCanvas
, wxWindow
) 
 309 IMPLEMENT_CLASS(wxPreviewControlBar
, wxWindow
) 
 310 IMPLEMENT_CLASS(wxPreviewFrame
, wxFrame
) 
 311 IMPLEMENT_CLASS(wxPrintPreviewBase
, wxObject
) 
 312 IMPLEMENT_CLASS(wxPostScriptPrintPreview
, wxPrintPreviewBase
) 
 313 IMPLEMENT_CLASS(wxWindowsPrintPreview
, wxPrintPreviewBase
) 
 314 IMPLEMENT_CLASS(wxGenericPrintDialog
, wxDialog
) 
 315 IMPLEMENT_CLASS(wxGenericPrintSetupDialog
, wxDialog
) 
 320 IMPLEMENT_DYNAMIC_CLASS(wxPostScriptDC
, wxDC
) 
 321 IMPLEMENT_DYNAMIC_CLASS(wxPrintSetupData
, wxObject
) 
 322 IMPLEMENT_DYNAMIC_CLASS(wxPageSetupData
, wxObject
) 
 325 IMPLEMENT_DYNAMIC_CLASS(wxPrintPaperType
, wxObject
) 
 326 IMPLEMENT_DYNAMIC_CLASS(wxPrintPaperDatabase
, wxList
) 
 328 #if wxUSE_WX_RESOURCES 
 329 #include "wx/resource.h" 
 330 IMPLEMENT_DYNAMIC_CLASS(wxItemResource
, wxObject
) 
 331 IMPLEMENT_DYNAMIC_CLASS(wxResourceTable
, wxHashTable
) 
 334 #include "wx/event.h" 
 335 IMPLEMENT_DYNAMIC_CLASS(wxEvtHandler
, wxObject
) 
 336 IMPLEMENT_ABSTRACT_CLASS(wxEvent
, wxObject
) 
 337 IMPLEMENT_DYNAMIC_CLASS(wxCommandEvent
, wxEvent
) 
 338 IMPLEMENT_DYNAMIC_CLASS(wxNotifyEvent
, wxCommandEvent
) 
 339 IMPLEMENT_DYNAMIC_CLASS(wxScrollEvent
, wxCommandEvent
) 
 340 IMPLEMENT_DYNAMIC_CLASS(wxMouseEvent
, wxEvent
) 
 341 IMPLEMENT_DYNAMIC_CLASS(wxKeyEvent
, wxEvent
) 
 342 IMPLEMENT_DYNAMIC_CLASS(wxSizeEvent
, wxEvent
) 
 343 IMPLEMENT_DYNAMIC_CLASS(wxPaintEvent
, wxEvent
) 
 344 IMPLEMENT_DYNAMIC_CLASS(wxEraseEvent
, wxEvent
) 
 345 IMPLEMENT_DYNAMIC_CLASS(wxMoveEvent
, wxEvent
) 
 346 IMPLEMENT_DYNAMIC_CLASS(wxFocusEvent
, wxEvent
) 
 347 IMPLEMENT_DYNAMIC_CLASS(wxCloseEvent
, wxEvent
) 
 348 IMPLEMENT_DYNAMIC_CLASS(wxShowEvent
, wxEvent
) 
 349 IMPLEMENT_DYNAMIC_CLASS(wxMaximizeEvent
, wxEvent
) 
 350 IMPLEMENT_DYNAMIC_CLASS(wxIconizeEvent
, wxEvent
) 
 351 IMPLEMENT_DYNAMIC_CLASS(wxMenuEvent
, wxEvent
) 
 352 IMPLEMENT_DYNAMIC_CLASS(wxJoystickEvent
, wxEvent
) 
 353 IMPLEMENT_DYNAMIC_CLASS(wxDropFilesEvent
, wxEvent
) 
 354 IMPLEMENT_DYNAMIC_CLASS(wxActivateEvent
, wxEvent
) 
 355 IMPLEMENT_DYNAMIC_CLASS(wxInitDialogEvent
, wxEvent
) 
 356 IMPLEMENT_DYNAMIC_CLASS(wxSysColourChangedEvent
, wxEvent
) 
 357 IMPLEMENT_DYNAMIC_CLASS(wxIdleEvent
, wxEvent
) 
 358 IMPLEMENT_DYNAMIC_CLASS(wxUpdateUIEvent
, wxEvent
) 
 359 IMPLEMENT_DYNAMIC_CLASS(wxProcessEvent
, wxEvent
) 
 361 #include "wx/utils.h" 
 362 IMPLEMENT_DYNAMIC_CLASS(wxPathList
, wxList
) 
 364 // IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject) 
 366 #include "wx/process.h" 
 367 IMPLEMENT_DYNAMIC_CLASS(wxProcess
, wxEvtHandler
) 
 371 IMPLEMENT_DYNAMIC_CLASS(wxDate
, wxObject
) 
 374 #if wxUSE_DOC_VIEW_ARCHITECTURE 
 375 #include "wx/docview.h" 
 376 //IMPLEMENT_ABSTRACT_CLASS(wxDocItem, wxObject) 
 377 IMPLEMENT_ABSTRACT_CLASS(wxDocument
, wxEvtHandler
) 
 378 IMPLEMENT_ABSTRACT_CLASS(wxView
, wxEvtHandler
) 
 379 IMPLEMENT_ABSTRACT_CLASS(wxDocTemplate
, wxObject
) 
 380 IMPLEMENT_DYNAMIC_CLASS(wxDocManager
, wxEvtHandler
) 
 381 IMPLEMENT_CLASS(wxDocChildFrame
, wxFrame
) 
 382 IMPLEMENT_CLASS(wxDocParentFrame
, wxFrame
) 
 383 #if wxUSE_PRINTING_ARCHITECTURE 
 384 IMPLEMENT_DYNAMIC_CLASS(wxDocPrintout
, wxPrintout
) 
 386 IMPLEMENT_CLASS(wxCommand
, wxObject
) 
 387 IMPLEMENT_DYNAMIC_CLASS(wxCommandProcessor
, wxObject
) 
 388 IMPLEMENT_DYNAMIC_CLASS(wxFileHistory
, wxObject
) 
 391 #if wxUSE_CONSTRAINTS 
 392 #include "wx/layout.h" 
 393 IMPLEMENT_DYNAMIC_CLASS(wxIndividualLayoutConstraint
, wxObject
) 
 394 IMPLEMENT_DYNAMIC_CLASS(wxLayoutConstraints
, wxObject
) 
 395 IMPLEMENT_DYNAMIC_CLASS(wxSizer
, wxObject
) 
 396 IMPLEMENT_DYNAMIC_CLASS(wxRowColSizer
, wxSizer
) 
 400 #include "wx/tbarbase.h" 
 401 IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool
, wxObject
) 
 402 IMPLEMENT_DYNAMIC_CLASS(wxToolBarBase
, wxControl
) 
 404 #include "wx/tbarsmpl.h" 
 405 IMPLEMENT_DYNAMIC_CLASS(wxToolBarSimple
, wxToolBarBase
) 
 408 #include "wx/tbarmsw.h" 
 409 IMPLEMENT_DYNAMIC_CLASS(wxToolBarMSW
, wxToolBarBase
) 
 411 #include "wx/tbar95.h" 
 412 IMPLEMENT_DYNAMIC_CLASS(wxToolBar95
, wxToolBarBase
) 
 419 #include "wx/sckaddr.h" 
 421 IMPLEMENT_DYNAMIC_CLASS(wxIPV4address
, wxSockAddress
) 
 423 IMPLEMENT_DYNAMIC_CLASS(wxIPV6address
, wxSockAddress
) 
 426 IMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress
, wxSockAddress
) 
 429 #include "wx/socket.h" 
 431 IMPLEMENT_CLASS(wxSocketBase
, wxEvtHandler
) 
 432 IMPLEMENT_CLASS(wxSocketClient
, wxSocketBase
) 
 433 IMPLEMENT_CLASS(wxSocketServer
, wxSocketBase
) 
 434 IMPLEMENT_CLASS(wxSocketHandler
, wxObject
) 
 435 IMPLEMENT_DYNAMIC_CLASS(wxSocketEvent
, wxEvent
) 
 439 IMPLEMENT_CLASS(wxProtoInfo
, wxObject
) 
 440 IMPLEMENT_CLASS(wxURL
, wxObject
) 
 442 #include "wx/protocol/http.h" 
 444 IMPLEMENT_DYNAMIC_CLASS(wxHTTP
, wxProtocol
) 
 445 IMPLEMENT_PROTOCOL(wxHTTP
, "http", "80", TRUE
) 
 447 #include "wx/protocol/ftp.h" 
 449 IMPLEMENT_DYNAMIC_CLASS(wxFTP
, wxProtocol
) 
 450 IMPLEMENT_PROTOCOL(wxFTP
, "ftp", "21", TRUE
) 
 452 #include "wx/protocol/sckfile.h" 
 454 IMPLEMENT_DYNAMIC_CLASS(wxFileProto
, wxProtocol
) 
 455 IMPLEMENT_PROTOCOL(wxFileProto
, "file", NULL
, FALSE
) 
 457 #include "wx/sckipc.h" 
 459 IMPLEMENT_DYNAMIC_CLASS(wxTCPServer
, wxServerBase
) 
 460 IMPLEMENT_DYNAMIC_CLASS(wxTCPClient
, wxClientBase
) 
 461 IMPLEMENT_DYNAMIC_CLASS(wxTCPConnection
, wxConnectionBase
) 
 465 #include "wx/statusbr.h" 
 467 IMPLEMENT_DYNAMIC_CLASS(wxStatusBar
, wxWindow
) 
 469 BEGIN_EVENT_TABLE(wxStatusBar
, wxWindow
) 
 470     EVT_PAINT(wxStatusBar::OnPaint
) 
 471     EVT_SYS_COLOUR_CHANGED(wxStatusBar::OnSysColourChanged
) 
 476 IMPLEMENT_DYNAMIC_CLASS(wxTime
, wxObject
) 
 479 #if !USE_GNU_WXSTRING 
 480 #include "wx/string.h" 
 481 IMPLEMENT_DYNAMIC_CLASS(wxString
, wxObject
) 
 485 IMPLEMENT_DYNAMIC_CLASS(wxXColormap
, wxObject
) 
 486 IMPLEMENT_DYNAMIC_CLASS(wxXFont
, wxObject
) 
 487 IMPLEMENT_DYNAMIC_CLASS(wxXCursor
, wxObject
) 
 489 IMPLEMENT_DYNAMIC_CLASS(wxFont
, wxGDIObject
) 
 490 IMPLEMENT_DYNAMIC_CLASS(wxPalette
, wxGDIObject
) 
 491 IMPLEMENT_DYNAMIC_CLASS(wxPen
, wxGDIObject
) 
 492 IMPLEMENT_DYNAMIC_CLASS(wxBrush
, wxGDIObject
) 
 493 IMPLEMENT_DYNAMIC_CLASS(wxIcon
, wxBitmap
) 
 494 IMPLEMENT_DYNAMIC_CLASS(wxCursor
, wxBitmap
) 
 495 IMPLEMENT_DYNAMIC_CLASS(wxBitmap
, wxGDIObject
) 
 496 IMPLEMENT_DYNAMIC_CLASS(wxMask
, wxObject
) 
 498 // This will presumably be implemented on other platforms too 
 500 IMPLEMENT_DYNAMIC_CLASS(wxBitmapHandler
, wxObject
) 
 501 IMPLEMENT_DYNAMIC_CLASS(wxBMPResourceHandler
, wxBitmapHandler
) 
 502 IMPLEMENT_DYNAMIC_CLASS(wxBMPFileHandler
, wxBitmapHandler
) 
 503 IMPLEMENT_DYNAMIC_CLASS(wxXPMFileHandler
, wxBitmapHandler
) 
 504 IMPLEMENT_DYNAMIC_CLASS(wxXPMDataHandler
, wxBitmapHandler
) 
 505 IMPLEMENT_DYNAMIC_CLASS(wxICOFileHandler
, wxBitmapHandler
) 
 506 IMPLEMENT_DYNAMIC_CLASS(wxICOResourceHandler
, wxBitmapHandler
) 
 509 #include "wx/statbox.h" 
 510 IMPLEMENT_DYNAMIC_CLASS(wxStaticBox
, wxControl
) 
 514 IMPLEMENT_CLASS(wxServerBase
, wxObject
) 
 515 IMPLEMENT_CLASS(wxClientBase
, wxObject
) 
 516 IMPLEMENT_CLASS(wxConnectionBase
, wxObject
) 
 518 IMPLEMENT_DYNAMIC_CLASS(wxDDEServer
, wxServerBase
) 
 519 IMPLEMENT_DYNAMIC_CLASS(wxDDEClient
, wxClientBase
) 
 520 IMPLEMENT_CLASS(wxDDEConnection
, wxConnectionBase
) 
 523 IMPLEMENT_ABSTRACT_CLASS(wxControl
, wxWindow
) 
 525 #include "wx/listbox.h" 
 526 IMPLEMENT_DYNAMIC_CLASS(wxListBox
, wxControl
) 
 528 #include "wx/checklst.h" 
 529 IMPLEMENT_DYNAMIC_CLASS(wxCheckListBox
, wxListBox
) 
 531 IMPLEMENT_DYNAMIC_CLASS(wxApp
, wxEvtHandler
) 
 534 IMPLEMENT_DYNAMIC_CLASS(wxMenu
, wxEvtHandler
) 
 535 IMPLEMENT_DYNAMIC_CLASS(wxMenuItem
, wxObject
) 
 536 IMPLEMENT_DYNAMIC_CLASS(wxMenuBar
, wxEvtHandler
) 
 538 #include "wx/stattext.h" 
 539 #include "wx/statbmp.h" 
 540 IMPLEMENT_DYNAMIC_CLASS(wxStaticText
, wxControl
) 
 541 IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap
, wxControl
) 
 544 #include "wx/metafile.h" 
 545 IMPLEMENT_DYNAMIC_CLASS(wxMetaFile
, wxObject
) 
 546 IMPLEMENT_ABSTRACT_CLASS(wxMetaFileDC
, wxDC
) 
 549 #include "wx/radiobox.h" 
 550 #include "wx/radiobut.h" 
 551 IMPLEMENT_DYNAMIC_CLASS(wxRadioBox
, wxControl
) 
 553 IMPLEMENT_DYNAMIC_CLASS(wxRadioButton
, wxControl
) 
 554 // IMPLEMENT_DYNAMIC_CLASS(wxBitmapRadioButton, wxRadioButton) 
 556 #include "wx/scrolbar.h" 
 557 IMPLEMENT_DYNAMIC_CLASS(wxScrollBar
, wxControl
) 
 559 #if WXWIN_COMPATIBILITY 
 560 BEGIN_EVENT_TABLE(wxScrollBar
, wxControl
) 
 561   EVT_SCROLL(wxScrollBar::OnScroll
) 
 565 #include "wx/slider.h" 
 566 IMPLEMENT_DYNAMIC_CLASS(wxSlider
, wxControl
) 
 568 #if WXWIN_COMPATIBILITY 
 569 BEGIN_EVENT_TABLE(wxSlider
, wxControl
) 
 570   EVT_SCROLL(wxSlider::OnScroll
) 
 574 #include "wx/timer.h" 
 575 IMPLEMENT_ABSTRACT_CLASS(wxTimer
, wxObject
) 
 577 #include "wx/textctrl.h" 
 578 IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl
, wxControl
) 
 580 #include "wx/window.h" 
 581 IMPLEMENT_DYNAMIC_CLASS(wxWindow
, wxEvtHandler
) 
 583 #include "wx/scrolwin.h" 
 584 IMPLEMENT_DYNAMIC_CLASS(wxScrolledWindow
, wxWindow
) 
 586 #include "wx/panel.h" 
 587 IMPLEMENT_DYNAMIC_CLASS(wxPanel
, wxWindow
) 
 589 #include "wx/msgbxdlg.h" 
 590 #include "wx/textdlg.h" 
 591 #include "wx/filedlg.h" 
 592 #include "wx/dirdlg.h" 
 593 #include "wx/choicdlg.h" 
 595 #if !defined(__WXMSW__) || wxUSE_GENERIC_DIALOGS_IN_MSW 
 596 #include "wx/generic/msgdlgg.h" 
 597 IMPLEMENT_CLASS(wxGenericMessageDialog
, wxDialog
) 
 600 IMPLEMENT_CLASS(wxTextEntryDialog
, wxDialog
) 
 601 IMPLEMENT_CLASS(wxSingleChoiceDialog
, wxDialog
) 
 602 IMPLEMENT_CLASS(wxFileDialog
, wxDialog
) 
 603 IMPLEMENT_CLASS(wxDirDialog
, wxDialog
) 
 606 IMPLEMENT_CLASS(wxMessageDialog
) 
 611 #include "../../contrib/xmgauge/gauge.h" 
 613 #include "wx_gauge.h" 
 614 IMPLEMENT_DYNAMIC_CLASS(wxGauge
, wxControl
) 
 618 IMPLEMENT_DYNAMIC_CLASS(wxGenericGrid
, wxPanel
) 
 620 ///// Event tables (also must be in one, statically-linked file for shared libraries) 
 622 // This is the base, wxEvtHandler 'bootstrap' code which is expanded manually here 
 623 const wxEventTable 
*wxEvtHandler::GetEventTable() const { return &wxEvtHandler::sm_eventTable
; } 
 625 const wxEventTable 
wxEvtHandler::sm_eventTable 
= 
 626     { NULL
, &wxEvtHandler::sm_eventTableEntries
[0] }; 
 628 const wxEventTableEntry 
wxEvtHandler::sm_eventTableEntries
[] = { { 0, 0, 0, NULL 
} }; 
 630 BEGIN_EVENT_TABLE(wxFrame
, wxWindow
) 
 631     EVT_ACTIVATE(wxFrame::OnActivate
) 
 632     EVT_SIZE(wxFrame::OnSize
) 
 633     EVT_MENU_HIGHLIGHT_ALL(wxFrame::OnMenuHighlight
) 
 634     EVT_SYS_COLOUR_CHANGED(wxFrame::OnSysColourChanged
) 
 635     EVT_IDLE(wxFrame::OnIdle
) 
 636     EVT_CLOSE(wxFrame::OnCloseWindow
) 
 639 BEGIN_EVENT_TABLE(wxDialog
, wxPanel
) 
 640   EVT_BUTTON(wxID_OK
, wxDialog::OnOK
) 
 641   EVT_BUTTON(wxID_APPLY
, wxDialog::OnApply
) 
 642   EVT_BUTTON(wxID_CANCEL
, wxDialog::OnCancel
) 
 643   EVT_CHAR_HOOK(wxDialog::OnCharHook
) 
 644   EVT_SYS_COLOUR_CHANGED(wxDialog::OnSysColourChanged
) 
 645   EVT_CLOSE(wxDialog::OnCloseWindow
) 
 648 BEGIN_EVENT_TABLE(wxWindow
, wxEvtHandler
) 
 649   EVT_CHAR(wxWindow::OnChar
) 
 650   EVT_SIZE(wxWindow::Size
) 
 651   EVT_ERASE_BACKGROUND(wxWindow::OnEraseBackground
) 
 652   EVT_SYS_COLOUR_CHANGED(wxWindow::OnSysColourChanged
) 
 653   EVT_INIT_DIALOG(wxWindow::OnInitDialog
) 
 654   EVT_IDLE(wxWindow::OnIdle
) 
 657 BEGIN_EVENT_TABLE(wxScrolledWindow
, wxWindow
) 
 658   EVT_SCROLL(wxScrolledWindow::OnScroll
) 
 659   EVT_SIZE(wxScrolledWindow::OnSize
) 
 660   EVT_PAINT(wxScrolledWindow::OnPaint
) 
 663 BEGIN_EVENT_TABLE(wxPanel
, wxWindow
) 
 664   EVT_SYS_COLOUR_CHANGED(wxPanel::OnSysColourChanged
) 
 667 BEGIN_EVENT_TABLE(wxTextCtrl
, wxControl
) 
 668     EVT_CHAR(wxTextCtrl::OnChar
) 
 669     EVT_DROP_FILES(wxTextCtrl::OnDropFiles
) 
 673 BEGIN_EVENT_TABLE(wxMDIParentWindow
, wxFrame
) 
 674   EVT_SIZE(wxMDIParentWindow::OnSize
) 
 675   EVT_ACTIVATE(wxMDIParentWindow::OnActivate
) 
 676   EVT_SYS_COLOUR_CHANGED(wxMDIParentWindow::OnSysColourChanged
) 
 679 BEGIN_EVENT_TABLE(wxMDIClientWindow
, wxWindow
) 
 680   EVT_SCROLL(wxMDIClientWindow::OnScroll
) 
 684 BEGIN_EVENT_TABLE(wxToolBarBase
, wxControl
) 
 685   EVT_SCROLL(wxToolBarBase::OnScroll
) 
 686   EVT_SIZE(wxToolBarBase::OnSize
) 
 687   EVT_IDLE(wxToolBarBase::OnIdle
) 
 690 BEGIN_EVENT_TABLE(wxToolBarSimple
, wxToolBarBase
) 
 691     EVT_SIZE(wxToolBarSimple::OnSize
) 
 692     EVT_PAINT(wxToolBarSimple::OnPaint
) 
 693     EVT_KILL_FOCUS(wxToolBarSimple::OnKillFocus
) 
 694     EVT_MOUSE_EVENTS(wxToolBarSimple::OnMouseEvent
) 
 698 BEGIN_EVENT_TABLE(wxToolBarMSW
, wxToolBarBase
) 
 699     EVT_SIZE(wxToolBarMSW::OnSize
) 
 700     EVT_PAINT(wxToolBarMSW::OnPaint
) 
 701     EVT_MOUSE_EVENTS(wxToolBarMSW::OnMouseEvent
) 
 704 BEGIN_EVENT_TABLE(wxToolBar95
, wxToolBarBase
) 
 705     EVT_SIZE(wxToolBar95::OnSize
) 
 706     EVT_PAINT(wxToolBar95::OnPaint
) 
 707     EVT_KILL_FOCUS(wxToolBar95::OnKillFocus
) 
 708     EVT_MOUSE_EVENTS(wxToolBar95::OnMouseEvent
) 
 709     EVT_SYS_COLOUR_CHANGED(wxToolBar95::OnSysColourChanged
) 
 713 BEGIN_EVENT_TABLE(wxGenericGrid
, wxPanel
) 
 714     EVT_SIZE(wxGenericGrid::OnSize
) 
 715     EVT_PAINT(wxGenericGrid::OnPaint
) 
 716     EVT_MOUSE_EVENTS(wxGenericGrid::OnMouseEvent
) 
 717     EVT_TEXT(wxGRID_TEXT_CTRL
, wxGenericGrid::OnText
) 
 718     EVT_COMMAND_SCROLL(wxGRID_HSCROLL
, wxGenericGrid::OnGridScroll
) 
 719     EVT_COMMAND_SCROLL(wxGRID_VSCROLL
, wxGenericGrid::OnGridScroll
) 
 722 BEGIN_EVENT_TABLE(wxControl
, wxWindow
) 
 723   EVT_ERASE_BACKGROUND(wxControl::OnEraseBackground
) 
 726 #if !defined(__WXMSW__) || wxUSE_GENERIC_DIALOGS_IN_MSW 
 727 BEGIN_EVENT_TABLE(wxGenericMessageDialog
, wxDialog
) 
 728     EVT_BUTTON(wxID_YES
, wxGenericMessageDialog::OnYes
) 
 729     EVT_BUTTON(wxID_NO
, wxGenericMessageDialog::OnNo
) 
 730     EVT_BUTTON(wxID_CANCEL
, wxGenericMessageDialog::OnCancel
) 
 733 BEGIN_EVENT_TABLE(wxGenericColourDialog
, wxDialog
) 
 734     EVT_BUTTON(wxID_ADD_CUSTOM
, wxGenericColourDialog::OnAddCustom
) 
 735     EVT_SLIDER(wxID_RED_SLIDER
, wxGenericColourDialog::OnRedSlider
) 
 736     EVT_SLIDER(wxID_GREEN_SLIDER
, wxGenericColourDialog::OnGreenSlider
) 
 737     EVT_SLIDER(wxID_BLUE_SLIDER
, wxGenericColourDialog::OnBlueSlider
) 
 738     EVT_PAINT(wxGenericColourDialog::OnPaint
) 
 739     EVT_MOUSE_EVENTS(wxGenericColourDialog::OnMouseEvent
) 
 742 BEGIN_EVENT_TABLE(wxGenericFontDialog
, wxDialog
) 
 743     EVT_CHECKBOX(wxID_FONT_UNDERLINE
, wxGenericFontDialog::OnChangeFont
) 
 744     EVT_CHOICE(wxID_FONT_STYLE
, wxGenericFontDialog::OnChangeFont
) 
 745     EVT_CHOICE(wxID_FONT_WEIGHT
, wxGenericFontDialog::OnChangeFont
) 
 746     EVT_CHOICE(wxID_FONT_FAMILY
, wxGenericFontDialog::OnChangeFont
) 
 747     EVT_CHOICE(wxID_FONT_COLOUR
, wxGenericFontDialog::OnChangeFont
) 
 748     EVT_CHOICE(wxID_FONT_SIZE
, wxGenericFontDialog::OnChangeFont
) 
 749     EVT_PAINT(wxGenericFontDialog::OnPaint
) 
 752 BEGIN_EVENT_TABLE(wxGenericPrintDialog
, wxDialog
) 
 753     EVT_BUTTON(wxID_OK
, wxGenericPrintDialog::OnOK
) 
 754     EVT_BUTTON(wxPRINTID_SETUP
, wxGenericPrintDialog::OnSetup
) 
 755     EVT_RADIOBOX(wxPRINTID_RANGE
, wxGenericPrintDialog::OnRange
) 
 760 BEGIN_EVENT_TABLE(wxTextEntryDialog
, wxDialog
) 
 761     EVT_BUTTON(wxID_OK
, wxTextEntryDialog::OnOK
) 
 764 BEGIN_EVENT_TABLE(wxSingleChoiceDialog
, wxDialog
) 
 765     EVT_BUTTON(wxID_OK
, wxSingleChoiceDialog::OnOK
) 
 768 #include "wx/prntbase.h" 
 770 BEGIN_EVENT_TABLE(wxPrintAbortDialog
, wxDialog
) 
 771     EVT_BUTTON(wxID_CANCEL
, wxPrintAbortDialog::OnCancel
) 
 774 BEGIN_EVENT_TABLE(wxPreviewControlBar
, wxWindow
) 
 775     EVT_BUTTON(wxID_PREVIEW_CLOSE
,         wxPreviewControlBar::OnClose
) 
 776     EVT_BUTTON(wxID_PREVIEW_PRINT
,         wxPreviewControlBar::OnPrint
) 
 777     EVT_BUTTON(wxID_PREVIEW_PREVIOUS
,     wxPreviewControlBar::OnPrevious
) 
 778     EVT_BUTTON(wxID_PREVIEW_NEXT
,         wxPreviewControlBar::OnNext
) 
 779     EVT_CHOICE(wxID_PREVIEW_ZOOM
,         wxPreviewControlBar::OnZoom
) 
 785 const wxSize 
wxDefaultSize(-1, -1); 
 786 const wxPoint 
wxDefaultPosition(-1, -1);