]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/xrc/xmlres.h
Document wxStreamBuffer::BufMode enum and fix dtor.
[wxWidgets.git] / interface / wx / xrc / xmlres.h
index 5bd3bce792769d0ad64b2a74e97eb64224061488..28709171bc7516671675286868b081ea6557d8dd 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxXmlResource
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -175,7 +175,12 @@ public:
 
         If @a value_if_not_found is @c wxID_NONE, the number is obtained via
         wxNewId(). Otherwise @a value_if_not_found is used.
+
         Macro @c XRCID(name) is provided for convenient use in event tables.
+
+        @note IDs returned by XRCID() cannot be used with the <tt>EVT_*_RANGE</tt>
+              macros, because the order in which they are assigned to symbolic @a name
+              values is not guaranteed.
     */
     static int GetXRCID(const wxString& str_id, int value_if_not_found = wxID_NONE);
 
@@ -286,6 +291,10 @@ public:
         The first overload lets you load nonstandard container windows and returns
         @NULL on failure. The second one lets you finish the creation of an existing
         instance and returns @false on failure.
+
+        In either case, only the resources defined at the top level of XRC
+        files can be loaded by this function, use LoadObjectRecursively() if
+        you need to load an object defined deeper in the hierarchy.
     */
     wxObject* LoadObject(wxWindow* parent, const wxString& name,
                          const wxString& classname);
@@ -294,6 +303,27 @@ public:
                     const wxString& classname);
     //@}
 
+    //@{
+    /**
+        Load an object from anywhere in the resource tree.
+
+        These methods are similar to LoadObject() but may be used to load an
+        object from anywhere in the resource tree and not only the top level.
+        Note that you will very rarely need to do this as in normal use the
+        entire container window (defined at the top level) is loaded and not
+        its individual children but this method can be useful in some
+        particular situations.
+
+        @since 2.9.1
+    */
+    wxObject* LoadObjectRecursively(wxWindow* parent,
+                                    const wxString& name,
+                                    const wxString& classname);
+    bool LoadObjectRecursively(wxObject* instance, wxWindow* parent,
+                    const wxString& name,
+                    const wxString& classname);
+    //@}
+
     /**
         Loads a panel. @a parent points to the parent window.
     */
@@ -358,7 +388,7 @@ protected:
 
         @see wxXmlResourceHandler::ReportError(), DoReportError()
      */
-    void ReportError(wxXmlNode *context, const wxString& message);
+    void ReportError(const wxXmlNode *context, const wxString& message);
 
     /**
         Implementation of XRC resources errors reporting.
@@ -386,7 +416,7 @@ protected:
 
         @see ReportError()
     */
-    virtual void DoReportError(const wxString& xrcFile, wxXmlNode *position,
+    virtual void DoReportError(const wxString& xrcFile, const wxXmlNode *position,
                                const wxString& message);
 };
 
@@ -492,6 +522,14 @@ protected:
     wxBitmap GetBitmap(const wxString& param = "bitmap",
                        const wxArtClient& defaultArtClient = wxART_OTHER,
                        wxSize size = wxDefaultSize);
+    /**
+        Gets a bitmap from an XmlNode.
+
+        @since 2.9.1
+    */
+    wxBitmap GetBitmap(const wxXmlNode* node,
+                       const wxArtClient& defaultArtClient = wxART_OTHER,
+                       wxSize size = wxDefaultSize);
 
     /**
         Gets a bool flag (1, t, yes, on, true are @true, everything else is @false).
@@ -515,6 +553,18 @@ protected:
     wxCoord GetDimension(const wxString& param, wxCoord defaultv = 0,
                          wxWindow* windowToUse = 0);
 
+    /**
+        Gets a direction.
+
+        If the given @a param is not present or has empty value, @a dir is
+        returned by default. Otherwise the value of the parameter is parsed and
+        a warning is generated if it's not one of @c wxLEFT, @c wxTOP, @c
+        wxRIGHT or @c wxBOTTOM.
+
+        @since 2.9.3
+     */
+    wxDirection GetDirection(const wxString& param, wxDirection dir = wxLEFT);
+
     /**
         Gets a font.
     */
@@ -532,6 +582,38 @@ protected:
                    const wxArtClient& defaultArtClient = wxART_OTHER,
                    wxSize size = wxDefaultSize);
 
+    /**
+        Gets an icon from an XmlNode.
+
+        @since 2.9.1
+    */
+    wxIcon GetIcon(const wxXmlNode* node,
+                   const wxArtClient& defaultArtClient = wxART_OTHER,
+                   wxSize size = wxDefaultSize);
+
+    /**
+        Returns an icon bundle.
+
+        @note
+        Bundles can be loaded either with stock IDs or from files that contain
+        more than one image (e.g. Windows icon files). If a file contains only
+        single image, a bundle with only one icon will be created.
+
+        @since 2.9.0
+     */
+    wxIconBundle GetIconBundle(const wxString& param,
+                               const wxArtClient& defaultArtClient = wxART_OTHER);
+
+    /**
+        Creates an image list from the @a param markup data.
+
+        @return
+            The new instance of wxImageList or @NULL if no data is found.
+
+        @since 2.9.1
+    */
+    wxImageList *GetImageList(const wxString& param = wxT("imagelist"));
+
     /**
         Gets the integer value from the parameter.
     */
@@ -557,6 +639,13 @@ protected:
     */
     wxString GetParamValue(const wxString& param);
 
+    /**
+        Returns the node parameter value.
+
+        @since 2.9.1
+    */
+    wxString GetParamValue(const wxXmlNode* node);
+
     /**
         Gets the position (may be in dialog units).
     */