]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/data.cpp
wxCriticalSection changes undone - should work now
[wxWidgets.git] / src / msw / data.cpp
index fbde5890ccde224a00195e95fc4dc198436621a8..e7e0283111655d21a2c116aea01d210f81e52a60 100644 (file)
@@ -10,7 +10,7 @@
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
-#pragma implementation
+#pragma implementation "data.h"
 #endif
 
 // For compilers that support precompilation, includes "wx.h".
@@ -24,6 +24,8 @@
 #include "wx/wx.h"
 #endif
 
+#include "wx/prntbase.h"
+
 #define _MAXPATHLEN 500
 
 // Useful buffer, initialized in wxCommonInit
@@ -33,7 +35,7 @@ char *wxBuffer = NULL;
 wxList wxTopLevelWindows;
 
 // List of windows pending deletion
-wxList wxPendingDelete;
+wxList WXDLLEXPORT wxPendingDelete;
 
 // Current cursor, in order to hang on to
 // cursor handle when setting the cursor globally
@@ -99,6 +101,7 @@ wxCursor *wxHOURGLASS_CURSOR = NULL;
 wxCursor *wxCROSS_CURSOR = NULL;
 
 // 'Null' objects
+wxAcceleratorTable wxNullAcceleratorTable;
 wxBitmap wxNullBitmap;
 wxIcon   wxNullIcon;
 wxCursor wxNullCursor;
@@ -143,20 +146,17 @@ const char *wxFileSelectorPromptStr = "Select a file";
 const char *wxFileSelectorDefaultWildcardStr = "*.*";
 const char *wxInternalErrorStr = "wxWindows Internal Error";
 const char *wxFatalErrorStr = "wxWindows Fatal Error";
+const char *wxTreeCtrlNameStr = "treeCtrl";
 
 // See wx/utils.h
 const char *wxFloatToStringStr = "%.2f";
 const char *wxDoubleToStringStr = "%.2f";
 
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
 const char *wxUserResourceStr = "TEXT";
 #endif
 
-#if USE_POSTSCRIPT
-wxPrintPaperDatabase* wxThePrintPaperDatabase = NULL;
-#endif
-
-#if USE_SHARED_LIBRARY
+#if wxUSE_SHARED_LIBRARY
 /*
  * For wxWindows to be made into a dynamic library (e.g. Sun),
  * all IMPLEMENT_... macros must be in one place.
@@ -166,6 +166,7 @@ wxPrintPaperDatabase* wxThePrintPaperDatabase = NULL;
 // Hand-coded IMPLEMENT... macro for wxObject (define static data)
 wxClassInfo wxObject::classwxObject("wxObject", NULL, NULL, sizeof(wxObject), NULL);
 wxClassInfo *wxClassInfo::first = NULL;
+wxClassInfo wxClassInfo::classTable(wxKEY_STRING);
 
 #include "wx/button.h"
 #include "wx/bmpbuttn.h"
@@ -179,13 +180,13 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmapCheckBox, wxCheckBox)
 #include "wx/choice.h"
 IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
 
-#if USE_CLIPBOARD
+#if wxUSE_CLIPBOARD
 #include "wx/clipbrd.h"
 IMPLEMENT_DYNAMIC_CLASS(wxClipboard, wxObject)
 IMPLEMENT_ABSTRACT_CLASS(wxClipboardClient, wxObject)
 #endif
 
-#if USE_COMBOBOX
+#if wxUSE_COMBOBOX
 #include "wx/combobox.h"
 IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl)
 #endif
@@ -195,13 +196,13 @@ IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl)
 #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(wxPaintDC, wxWindowDC)
+IMPLEMENT_DYNAMIC_CLASS(wxClientDC, wxWindowDC)
 IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
+IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC, wxDC)
 
-#if defined(__WINDOWS__)
+#if defined(__WXMSW__)
 #include "wx/dcprint.h"
 IMPLEMENT_CLASS(wxPrinterDC, wxDC)
 #endif
@@ -225,7 +226,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxPrintData, wxObject)
 #include "wx/colordlg.h"
 #include "wx/fontdlg.h"
 
-#if !defined(__WINDOWS__) || USE_GENERIC_DIALOGS_IN_MSW
+#if !defined(__WXMSW__) || wxUSE_GENERIC_DIALOGS_IN_MSW
 #include "wx/generic/colordlg.h"
 #include "wx/generic/fontdlg.h"
 IMPLEMENT_DYNAMIC_CLASS(wxGenericColourDialog, wxDialog)
@@ -253,10 +254,12 @@ 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(wxRealPoint, wxObject)
 #endif
+*/
 
 #include "wx/hash.h"
 IMPLEMENT_DYNAMIC_CLASS(wxHashTable, wxObject)
@@ -264,9 +267,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxHashTable, wxObject)
 #include "wx/helpbase.h"
 IMPLEMENT_CLASS(wxHelpControllerBase, wxObject)
 
-#if USE_HELP
+#if wxUSE_HELP
 
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
 #include "wx/msw/helpwin.h"
 IMPLEMENT_DYNAMIC_CLASS(wxWinHelpController, wxHelpControllerBase)
 #endif
@@ -274,7 +277,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxWinHelpController, wxHelpControllerBase)
 // Generic wxHelp controller
 IMPLEMENT_CLASS(wxXLPHelpController, wxHelpControllerBase)
 
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
 IMPLEMENT_CLASS(wxXLPHelpClient, wxDDEClient)
 IMPLEMENT_CLASS(wxXLPHelpConnection, wxDDEConnection)
 #else
@@ -291,7 +294,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxNode, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxList, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxStringList, wxList)
 
-#if USE_PRINTING_ARCHITECTURE
+#if wxUSE_PRINTING_ARCHITECTURE
 #include "wx/print.h"
 IMPLEMENT_DYNAMIC_CLASS(wxPrintDialog, wxDialog)
 IMPLEMENT_DYNAMIC_CLASS(wxPrinterBase, wxObject)
@@ -308,16 +311,17 @@ IMPLEMENT_CLASS(wxGenericPrintDialog, wxDialog)
 IMPLEMENT_CLASS(wxGenericPrintSetupDialog, wxDialog)
 #endif
 
-#if USE_POSTSCRIPT
-#include "wx/postscrp.h"
+#if wxUSE_POSTSCRIPT
+#include "wx/dcps.h"
 IMPLEMENT_DYNAMIC_CLASS(wxPostScriptDC, wxDC)
 IMPLEMENT_DYNAMIC_CLASS(wxPrintSetupData, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxPageSetupData, wxObject)
+#endif
+
 IMPLEMENT_DYNAMIC_CLASS(wxPrintPaperType, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxPrintPaperDatabase, wxList)
-#endif
 
-#if USE_WX_RESOURCES
+#if wxUSE_WX_RESOURCES
 #include "wx/resource.h"
 IMPLEMENT_DYNAMIC_CLASS(wxItemResource, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxResourceTable, wxHashTable)
@@ -327,6 +331,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxResourceTable, wxHashTable)
 IMPLEMENT_DYNAMIC_CLASS(wxEvtHandler, wxObject)
 IMPLEMENT_ABSTRACT_CLASS(wxEvent, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxCommandEvent, wxEvent)
+IMPLEMENT_DYNAMIC_CLASS(wxNotifyEvent, wxCommandEvent)
 IMPLEMENT_DYNAMIC_CLASS(wxScrollEvent, wxCommandEvent)
 IMPLEMENT_DYNAMIC_CLASS(wxMouseEvent, wxEvent)
 IMPLEMENT_DYNAMIC_CLASS(wxKeyEvent, wxEvent)
@@ -347,18 +352,22 @@ 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)
+// IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject)
 
-#if USE_TIMEDATE
+#include "wx/process.h"
+IMPLEMENT_DYNAMIC_CLASS(wxProcess, wxEvtHandler)
+
+#if wxUSE_TIMEDATE
 #include "wx/date.h"
 IMPLEMENT_DYNAMIC_CLASS(wxDate, wxObject)
 #endif
 
-#if USE_DOC_VIEW_ARCHITECTURE
+#if wxUSE_DOC_VIEW_ARCHITECTURE
 #include "wx/docview.h"
 //IMPLEMENT_ABSTRACT_CLASS(wxDocItem, wxObject)
 IMPLEMENT_ABSTRACT_CLASS(wxDocument, wxEvtHandler)
@@ -367,7 +376,7 @@ IMPLEMENT_ABSTRACT_CLASS(wxDocTemplate, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxDocManager, wxEvtHandler)
 IMPLEMENT_CLASS(wxDocChildFrame, wxFrame)
 IMPLEMENT_CLASS(wxDocParentFrame, wxFrame)
-#if USE_PRINTING_ARCHITECTURE
+#if wxUSE_PRINTING_ARCHITECTURE
 IMPLEMENT_DYNAMIC_CLASS(wxDocPrintout, wxPrintout)
 #endif
 IMPLEMENT_CLASS(wxCommand, wxObject)
@@ -375,7 +384,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxCommandProcessor, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxFileHistory, wxObject)
 #endif
 
-#if USE_CONSTRAINTS
+#if wxUSE_CONSTRAINTS
 #include "wx/layout.h"
 IMPLEMENT_DYNAMIC_CLASS(wxIndividualLayoutConstraint, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxLayoutConstraints, wxObject)
@@ -383,7 +392,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxSizer, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxRowColSizer, wxSizer)
 #endif
 
-#if USE_TOOLBAR
+#if wxUSE_TOOLBAR
 #include "wx/tbarbase.h"
 IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxToolBarBase, wxControl)
@@ -391,7 +400,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxToolBarBase, wxControl)
 #include "wx/tbarsmpl.h"
 IMPLEMENT_DYNAMIC_CLASS(wxToolBarSimple, wxToolBarBase)
 
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
 #include "wx/tbarmsw.h"
 IMPLEMENT_DYNAMIC_CLASS(wxToolBarMSW, wxToolBarBase)
 
@@ -401,6 +410,54 @@ IMPLEMENT_DYNAMIC_CLASS(wxToolBar95, wxToolBarBase)
 
 #endif
 
+#if wxUSE_SOCKETS
+
+#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)
+
+#endif
+
 #include "wx/statusbr.h"
 
 IMPLEMENT_DYNAMIC_CLASS(wxStatusBar, wxWindow)
@@ -410,7 +467,7 @@ BEGIN_EVENT_TABLE(wxStatusBar, wxWindow)
     EVT_SYS_COLOUR_CHANGED(wxStatusBar::OnSysColourChanged)
 END_EVENT_TABLE()
 
-#if USE_TIMEDATE
+#if wxUSE_TIMEDATE
 #include "wx/time.h"
 IMPLEMENT_DYNAMIC_CLASS(wxTime, wxObject)
 #endif
@@ -420,7 +477,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxTime, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxString, wxObject)
 #endif
 
-#ifdef __MOTIF__
+#ifdef __WXMOTIF__
 IMPLEMENT_DYNAMIC_CLASS(wxXColormap, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxXFont, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxXCursor, wxObject)
@@ -435,7 +492,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmap, wxGDIObject)
 IMPLEMENT_DYNAMIC_CLASS(wxMask, wxObject)
 
 // This will presumably be implemented on other platforms too
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
 IMPLEMENT_DYNAMIC_CLASS(wxBitmapHandler, wxObject)
 IMPLEMENT_DYNAMIC_CLASS(wxBMPResourceHandler, wxBitmapHandler)
 IMPLEMENT_DYNAMIC_CLASS(wxBMPFileHandler, wxBitmapHandler)
@@ -448,7 +505,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxICOResourceHandler, wxBitmapHandler)
 #include "wx/statbox.h"
 IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl)
 
-#if USE_IPC
+#if wxUSE_IPC
 #include "wx/dde.h"
 IMPLEMENT_CLASS(wxServerBase, wxObject)
 IMPLEMENT_CLASS(wxClientBase, wxObject)
@@ -479,7 +536,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxMenuBar, wxEvtHandler)
 IMPLEMENT_DYNAMIC_CLASS(wxStaticText, wxControl)
 IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl)
 
-#if USE_METAFILE
+#if wxUSE_METAFILE
 #include "wx/metafile.h"
 IMPLEMENT_DYNAMIC_CLASS(wxMetaFile, wxObject)
 IMPLEMENT_ABSTRACT_CLASS(wxMetaFileDC, wxDC)
@@ -531,7 +588,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxPanel, wxWindow)
 #include "wx/dirdlg.h"
 #include "wx/choicdlg.h"
 
-#if !defined(__WINDOWS__) || USE_GENERIC_DIALOGS_IN_MSW
+#if !defined(__WXMSW__) || wxUSE_GENERIC_DIALOGS_IN_MSW
 #include "wx/generic/msgdlgg.h"
 IMPLEMENT_CLASS(wxGenericMessageDialog, wxDialog)
 #endif
@@ -541,12 +598,12 @@ IMPLEMENT_CLASS(wxSingleChoiceDialog, wxDialog)
 IMPLEMENT_CLASS(wxFileDialog, wxDialog)
 IMPLEMENT_CLASS(wxDirDialog, wxDialog)
 
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
 IMPLEMENT_CLASS(wxMessageDialog)
 #endif
 
-#if USE_GAUGE
-#ifdef __MOTIF__
+#if wxUSE_GAUGE
+#ifdef __WXMOTIF__
 #include "../../contrib/xmgauge/gauge.h"
 #endif
 #include "wx_gauge.h"
@@ -609,7 +666,7 @@ BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
        EVT_ERASE_BACKGROUND(wxTextCtrl::OnEraseBackground)
 END_EVENT_TABLE()
 
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
 BEGIN_EVENT_TABLE(wxMDIParentWindow, wxFrame)
   EVT_SIZE(wxMDIParentWindow::OnSize)
   EVT_ACTIVATE(wxMDIParentWindow::OnActivate)
@@ -634,7 +691,7 @@ BEGIN_EVENT_TABLE(wxToolBarSimple, wxToolBarBase)
        EVT_MOUSE_EVENTS(wxToolBarSimple::OnMouseEvent)
 END_EVENT_TABLE()
 
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
 BEGIN_EVENT_TABLE(wxToolBarMSW, wxToolBarBase)
        EVT_SIZE(wxToolBarMSW::OnSize)
        EVT_PAINT(wxToolBarMSW::OnPaint)
@@ -663,7 +720,7 @@ BEGIN_EVENT_TABLE(wxControl, wxWindow)
   EVT_ERASE_BACKGROUND(wxControl::OnEraseBackground)
 END_EVENT_TABLE()
 
-#if !defined(__WINDOWS__) || USE_GENERIC_DIALOGS_IN_MSW
+#if !defined(__WXMSW__) || wxUSE_GENERIC_DIALOGS_IN_MSW
 BEGIN_EVENT_TABLE(wxGenericMessageDialog, wxDialog)
        EVT_BUTTON(wxID_YES, wxGenericMessageDialog::OnYes)
        EVT_BUTTON(wxID_NO, wxGenericMessageDialog::OnNo)