]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/include/wx/xrc/xmlres.h
Fixed stream test.
[wxWidgets.git] / contrib / include / wx / xrc / xmlres.h
index 952dc616e1bb77ddea7522b857d2c7248148705b..76dbd1e972034f76fbdfc47a227182f9ffe0f715 100644 (file)
 #include "wx/icon.h"
 #include "wx/artprov.h"
 
-#include "wx/xrc/xml.h"
+#include "wx/xml/xml.h"
+
+#ifdef WXMAKINGDLL_XRC
+    #define WXDLLIMPEXP_XRC WXEXPORT
+#elif defined(WXUSINGDLL)
+    #define WXDLLIMPEXP_XRC WXIMPORT
+#else // not making nor using DLL
+    #define WXDLLIMPEXP_XRC
+#endif
 
 class WXDLLEXPORT wxMenu;
 class WXDLLEXPORT wxMenuBar;
@@ -36,9 +44,9 @@ class WXDLLEXPORT wxWindow;
 class WXDLLEXPORT wxFrame;
 class WXDLLEXPORT wxToolBar;
 
-class WXXMLDLLEXPORT wxXmlResourceHandler;
-class WXXMLDLLEXPORT wxXmlSubclassFactory;
-class WXXMLDLLEXPORT wxXmlSubclassFactoriesList;
+class WXDLLIMPEXP_XRC wxXmlResourceHandler;
+class WXDLLIMPEXP_XRC wxXmlSubclassFactory;
+class WXDLLIMPEXP_XRC wxXmlSubclassFactoriesList;
 class wxXmlResourceModule;
 
 
@@ -46,14 +54,14 @@ class wxXmlResourceModule;
 // encoded in root node of XRC file as "version" property).
 //
 // Rules for increasing version number:
-//   - change it only if you made incompatible change to the format. Addition of new
-//     attribute to control handler is _not_ incompatible change, because older
-//     versions of the library may ignore it.
+//   - change it only if you made incompatible change to the format. Addition
+//     of new attribute to control handler is _not_ incompatible change, because
+//     older versions of the library may ignore it.
 //   - if you change version number, follow these steps:
 //       - set major, minor and release numbers to respective version numbers of
-//         the wxWindows library (see wx/version.h)
-//       - reset revision to 0 unless the first three are same as before, in which
-//         case you should increase revision by one
+//         the wxWidgets library (see wx/version.h)
+//       - reset revision to 0 unless the first three are same as before,
+//         in which case you should increase revision by one
 #define WX_XMLRES_CURRENT_VERSION_MAJOR            2
 #define WX_XMLRES_CURRENT_VERSION_MINOR            3
 #define WX_XMLRES_CURRENT_VERSION_RELEASE          0
@@ -66,7 +74,7 @@ class wxXmlResourceModule;
                  WX_XMLRES_CURRENT_VERSION_RELEASE * 256 + \
                  WX_XMLRES_CURRENT_VERSION_REVISION)
 
-class WXXMLDLLEXPORT wxXmlResourceDataRecord
+class WXDLLIMPEXP_XRC wxXmlResourceDataRecord
 {
 public:
     wxXmlResourceDataRecord() : Doc(NULL), Time(wxDateTime::Now()) {}
@@ -78,11 +86,9 @@ public:
 };
 
 
-#ifdef WXXMLISDLL
-WX_DECLARE_EXPORTED_OBJARRAY(wxXmlResourceDataRecord, wxXmlResourceDataRecords);
-#else
-WX_DECLARE_OBJARRAY(wxXmlResourceDataRecord, wxXmlResourceDataRecords);
-#endif
+WX_DECLARE_USER_EXPORTED_OBJARRAY(wxXmlResourceDataRecord,
+                                  wxXmlResourceDataRecords,
+                                  WXDLLIMPEXP_XRC);
 
 enum wxXmlResourceFlags
 {
@@ -93,7 +99,7 @@ enum wxXmlResourceFlags
 // This class holds XML resources from one or more .xml files
 // (or derived forms, either binary or zipped -- see manual for
 // details).
-class WXXMLDLLEXPORT wxXmlResource : public wxObject
+class WXDLLIMPEXP_XRC wxXmlResource : public wxObject
 {
 public:
     // Constructor.
@@ -121,14 +127,14 @@ public:
 
     // Initialize handlers for all supported controls/windows. This will
     // make the executable quite big because it forces linking against
-    // most of the wxWindows library.
+    // most of the wxWidgets library.
     void InitAllHandlers();
 
     // Initialize only a specific handler (or custom handler). Convention says
-    // that handler name is equal to the control's name plus 'XmlHandler', for example
-    // wxTextCtrlXmlHandler, wxHtmlWindowXmlHandler. The XML resource compiler
-    // (xmlres) can create include file that contains initialization code for
-    // all controls used within the resource.
+    // that handler name is equal to the control's name plus 'XmlHandler', for
+    // example wxTextCtrlXmlHandler, wxHtmlWindowXmlHandler. The XML resource
+    // compiler (xmlres) can create include file that contains initialization
+    // code for all controls used within the resource.
     void AddHandler(wxXmlResourceHandler *handler);
 
     // Add a new handler at the begining of the handler list
@@ -136,7 +142,7 @@ public:
 
     // Removes all handlers
     void ClearHandlers();
-    
+
     // Registers subclasses factory for use in XRC. This function is not meant
     // for public use, please see the comment above wxXmlSubclassFactory
     // definition.
@@ -231,10 +237,10 @@ public:
 protected:
     // Scans the resources list for unloaded files and loads them. Also reloads
     // files that have been modified since last loading.
-    void UpdateResources();
+    bool UpdateResources();
 
     // Finds a resource (calls UpdateResources) and returns a node containing it.
-    wxXmlNode *FindResource(const wxString& name, const wxString& classname, bool recursive = FALSE);
+    wxXmlNode *FindResource(const wxString& name, const wxString& classname, bool recursive = false);
 
     // Helper function: finds a resource (calls UpdateResources) and returns a node containing it.
     wxXmlNode *DoFindResource(wxXmlNode *parent, const wxString& name, const wxString& classname, bool recursive);
@@ -268,7 +274,7 @@ private:
 
 // This macro translates string identifier (as used in XML resource,
 // e.g. <menuitem id="my_menu">...</menuitem>) to integer id that is needed by
-// wxWindows event tables.
+// wxWidgets event tables.
 // Example:
 //    BEGIN_EVENT_TABLE(MyFrame, wxFrame)
 //       EVT_MENU(XRCID("quit"), MyFrame::OnQuit)
@@ -300,7 +306,7 @@ private:
 // wxXmlResourceHandler is an abstract base class for resource handlers
 // capable of creating a control from an XML node.
 
-class WXXMLDLLEXPORT wxXmlResourceHandler : public wxObject
+class WXDLLIMPEXP_XRC wxXmlResourceHandler : public wxObject
 {
 DECLARE_ABSTRACT_CLASS(wxXmlResourceHandler)
 public:
@@ -323,8 +329,8 @@ public:
     // were filled.
     virtual wxObject *DoCreateResource() = 0;
 
-    // Returns TRUE if it understands this node and can create
-    // a resource from it, FALSE otherwise.
+    // Returns true if it understands this node and can create
+    // a resource from it, false otherwise.
     virtual bool CanHandle(wxXmlNode *node) = 0;
 
     // Sets the parent resource.
@@ -379,7 +385,7 @@ protected:
     // - replaces \n, \r, \t by respective chars (according to C syntax)
     // - replaces _ by & and __ by _ (needed for _File => &File because of XML)
     // - calls wxGetTranslations (unless disabled in wxXmlResource)
-    wxString GetText(const wxString& param, bool translate = TRUE);
+    wxString GetText(const wxString& param, bool translate = true);
 
     // Returns the XRCID.
     int GetID();
@@ -387,8 +393,8 @@ protected:
     // Returns the resource name.
     wxString GetName();
 
-    // Gets a bool flag (1, t, yes, on, true are TRUE, everything else is FALSE).
-    bool GetBool(const wxString& param, bool defaultv = FALSE);
+    // Gets a bool flag (1, t, yes, on, true are true, everything else is false).
+    bool GetBool(const wxString& param, bool defaultv = false);
 
     // Gets the integer value from the parameter.
     long GetLong( const wxString& param, long defaultv = 0 );
@@ -422,7 +428,7 @@ protected:
     void SetupWindow(wxWindow *wnd);
 
     // Creates children.
-    void CreateChildren(wxObject *parent, bool this_hnd_only = FALSE);
+    void CreateChildren(wxObject *parent, bool this_hnd_only = false);
 
     // Helper function.
     void CreateChildrenPrivately(wxObject *parent, wxXmlNode *rootnode = NULL);
@@ -452,18 +458,19 @@ protected:
 
 
 // FIXME -- remove this $%^#$%#$@# as soon as Ron checks his changes in!!
-void wxXmlInitResourceModule();
+WXDLLIMPEXP_XRC void wxXmlInitResourceModule();
 
 
 // This class is used to create instances of XRC "object" nodes with "subclass"
 // property. It is _not_ supposed to be used by XRC users, you should instead
-// register your subclasses via wxWindows' RTTI mechanism. This class is useful
+// register your subclasses via wxWidgets' RTTI mechanism. This class is useful
 // only for language bindings developer who need a way to implement subclassing
-// in wxWindows ports that don't support wxRTTI (e.g. wxPython).
-class WXXMLDLLEXPORT wxXmlSubclassFactory
+// in wxWidgets ports that don't support wxRTTI (e.g. wxPython).
+class WXDLLIMPEXP_XRC wxXmlSubclassFactory
 {
 public:
-    // Try to create instance of given class and return it, return NULL on failure:
+    // Try to create instance of given class and return it, return NULL on
+    // failure:
     virtual wxObject *Create(const wxString& className) = 0;
     virtual ~wxXmlSubclassFactory() {}
 };