removed src/gtk/eggtrayicon.h
[wxWidgets.git] / src / xrc / xmlres.cpp
index b6f24ced63471ec56379b002cb6a22bafbabdb8d..cbefc9fc06578c9849173d25a5a1ca08dd20bfe2 100644 (file)
@@ -19,6 +19,8 @@
     #pragma hdrstop
 #endif
 
+#if wxUSE_XRC
+
 #include "wx/dialog.h"
 #include "wx/panel.h"
 #include "wx/frame.h"
@@ -650,7 +652,7 @@ public:
 
 wxXmlResourceHandler::wxXmlResourceHandler()
         : m_node(NULL), m_parent(NULL), m_instance(NULL),
-          m_parentAsWindow(NULL), m_instanceAsWindow(NULL)
+          m_parentAsWindow(NULL)
 {}
 
 
@@ -660,7 +662,7 @@ wxObject *wxXmlResourceHandler::CreateResource(wxXmlNode *node, wxObject *parent
     wxXmlNode *myNode = m_node;
     wxString myClass = m_class;
     wxObject *myParent = m_parent, *myInstance = m_instance;
-    wxWindow *myParentAW = m_parentAsWindow, *myInstanceAW = m_instanceAsWindow;
+    wxWindow *myParentAW = m_parentAsWindow;
 
     m_instance = instance;
     if (!m_instance && node->HasProp(wxT("subclass")) &&
@@ -690,14 +692,13 @@ wxObject *wxXmlResourceHandler::CreateResource(wxXmlNode *node, wxObject *parent
     m_class = node->GetPropVal(wxT("class"), wxEmptyString);
     m_parent = parent;
     m_parentAsWindow = wxDynamicCast(m_parent, wxWindow);
-    m_instanceAsWindow = wxDynamicCast(m_instance, wxWindow);
 
     wxObject *returned = DoCreateResource();
 
     m_node = myNode;
     m_class = myClass;
     m_parent = myParent; m_parentAsWindow = myParentAW;
-    m_instance = myInstance; m_instanceAsWindow = myInstanceAW;
+    m_instance = myInstance;
 
     return returned;
 }
@@ -786,14 +787,34 @@ wxString wxXmlResourceHandler::GetText(const wxString& param, bool translate)
             else
                 str2 << wxT('&') << *dt;
         }
-        // Remap \n to CR, \r to LF, \t to TAB:
+        // Remap \n to CR, \r to LF, \t to TAB, \\ to \:
         else if (*dt == wxT('\\'))
             switch (*(++dt))
             {
-                case wxT('n') : str2 << wxT('\n'); break;
-                case wxT('t') : str2 << wxT('\t'); break;
-                case wxT('r') : str2 << wxT('\r'); break;
-                default       : str2 << wxT('\\') << *dt; break;
+                case wxT('n'):
+                    str2 << wxT('\n');
+                    break;
+                    
+                case wxT('t'):
+                    str2 << wxT('\t');
+                    break;
+                    
+                case wxT('r'):
+                    str2 << wxT('\r');
+                    break;
+
+                case wxT('\\') :
+                    // "\\" wasn't translated to "\" prior to 2.5.3.0:
+                    if (m_resource->CompareVersion(2,5,3,0) >= 0)
+                    {
+                        str2 << wxT('\\');
+                        break;
+                    }
+                    // else fall-through to default: branch below
+    
+                default:
+                    str2 << wxT('\\') << *dt;
+                    break;
             }
         else str2 << *dt;
     }
@@ -1012,9 +1033,7 @@ wxSize wxXmlResourceHandler::GetSize(const wxString& param)
 
     if (is_dlg)
     {
-        if (m_instanceAsWindow)
-            return wxDLG_UNIT(m_instanceAsWindow, wxSize(sx, sy));
-        else if (m_parentAsWindow)
+        if (m_parentAsWindow)
             return wxDLG_UNIT(m_parentAsWindow, wxSize(sx, sy));
         else
         {
@@ -1053,9 +1072,7 @@ wxCoord wxXmlResourceHandler::GetDimension(const wxString& param, wxCoord defaul
 
     if (is_dlg)
     {
-        if (m_instanceAsWindow)
-            return wxDLG_UNIT(m_instanceAsWindow, wxSize(sx, 0)).x;
-        else if (m_parentAsWindow)
+        if (m_parentAsWindow)
             return wxDLG_UNIT(m_parentAsWindow, wxSize(sx, 0)).x;
         else
         {
@@ -1427,3 +1444,5 @@ void wxXmlInitResourceModule()
     module->Init();
     wxModule::RegisterModule(module);
 }
+
+#endif // wxUSE_XRC