]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xmlres.cpp
Compilo.
[wxWidgets.git] / src / xrc / xmlres.cpp
index e392d946e2a31debdaeb1c5b83dfa972a5e05418..197ea98480f8dd9c55fe235a3467313e12f2ffa0 100644 (file)
@@ -19,6 +19,8 @@
     #pragma hdrstop
 #endif
 
+#if wxUSE_XRC
+
 #include "wx/dialog.h"
 #include "wx/panel.h"
 #include "wx/frame.h"
@@ -343,7 +345,7 @@ bool wxXmlResource::UpdateResources()
     {
         modif = (m_data[i].Doc == NULL);
 
-        if (!modif)
+        if (!modif && !(m_flags & wxXRC_NO_RELOADING))
         {
 #           if wxUSE_FILESYSTEM
             file = fsys.OpenFile(m_data[i].File);
@@ -362,6 +364,9 @@ bool wxXmlResource::UpdateResources()
 
         if (modif)
         {
+            wxLogTrace(_T("xrc"),
+                       _T("opening file '%s'"), m_data[i].File.c_str());
+
             wxInputStream *stream = NULL;
 
 #           if wxUSE_FILESYSTEM
@@ -710,6 +715,7 @@ void wxXmlResourceHandler::AddStyle(const wxString& name, int value)
 
 void wxXmlResourceHandler::AddWindowStyles()
 {
+    XRC_ADD_STYLE(wxCLIP_CHILDREN);
     XRC_ADD_STYLE(wxSIMPLE_BORDER);
     XRC_ADD_STYLE(wxSUNKEN_BORDER);
     XRC_ADD_STYLE(wxDOUBLE_BORDER);
@@ -891,11 +897,15 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param,
         wxString sid = bmpNode->GetPropVal(wxT("stock_id"), wxEmptyString);
         if ( !sid.empty() )
         {
-            wxString scl = bmpNode->GetPropVal(wxT("stock_client"), defaultArtClient);
+            wxString scl = bmpNode->GetPropVal(wxT("stock_client"), wxEmptyString);
+            if (scl.empty())
+                scl = defaultArtClient;
+            else
+                scl = wxART_MAKE_CLIENT_ID_FROM_STR(scl);
+            
             wxBitmap stockArt =
                 wxArtProvider::GetBitmap(wxART_MAKE_ART_ID_FROM_STR(sid),
-                                         wxART_MAKE_CLIENT_ID_FROM_STR(scl),
-                                         size);
+                                         scl, size);
             if ( stockArt.Ok() )
                 return stockArt;
         }
@@ -1277,20 +1287,107 @@ static void AddStdXRCID_Records()
 {
 #define stdID(id) XRCID_Lookup(wxT(#id), id)
     stdID(-1);
-    stdID(wxID_OPEN); stdID(wxID_CLOSE); stdID(wxID_NEW);
-    stdID(wxID_SAVE); stdID(wxID_SAVEAS); stdID(wxID_REVERT);
-    stdID(wxID_EXIT); stdID(wxID_UNDO); stdID(wxID_REDO);
-    stdID(wxID_HELP); stdID(wxID_PRINT); stdID(wxID_PRINT_SETUP);
-    stdID(wxID_PREVIEW); stdID(wxID_ABOUT); stdID(wxID_HELP_CONTENTS);
-    stdID(wxID_HELP_COMMANDS); stdID(wxID_HELP_PROCEDURES);
-    stdID(wxID_CUT); stdID(wxID_COPY); stdID(wxID_PASTE);
-    stdID(wxID_CLEAR); stdID(wxID_FIND); stdID(wxID_DUPLICATE);
-    stdID(wxID_SELECTALL); stdID(wxID_OK); stdID(wxID_CANCEL);
-    stdID(wxID_APPLY); stdID(wxID_YES); stdID(wxID_NO);
-    stdID(wxID_STATIC); stdID(wxID_FORWARD); stdID(wxID_BACKWARD);
-    stdID(wxID_DEFAULT); stdID(wxID_MORE); stdID(wxID_SETUP);
-    stdID(wxID_RESET); stdID(wxID_HELP_CONTEXT);
+
+    stdID(wxID_ANY);
+    stdID(wxID_SEPARATOR);
+    
+    stdID(wxID_OPEN);
+    stdID(wxID_CLOSE);
+    stdID(wxID_NEW);
+    stdID(wxID_SAVE);
+    stdID(wxID_SAVEAS);
+    stdID(wxID_REVERT);
+    stdID(wxID_EXIT);
+    stdID(wxID_UNDO);
+    stdID(wxID_REDO);
+    stdID(wxID_HELP);
+    stdID(wxID_PRINT);
+    stdID(wxID_PRINT_SETUP);
+    stdID(wxID_PREVIEW);
+    stdID(wxID_ABOUT);
+    stdID(wxID_HELP_CONTENTS);
+    stdID(wxID_HELP_COMMANDS);
+    stdID(wxID_HELP_PROCEDURES);
+    stdID(wxID_HELP_CONTEXT);
     stdID(wxID_CLOSE_ALL);
+    stdID(wxID_PREFERENCES);
+    stdID(wxID_CUT);
+    stdID(wxID_COPY);
+    stdID(wxID_PASTE);
+    stdID(wxID_CLEAR);
+    stdID(wxID_FIND);
+    stdID(wxID_DUPLICATE);
+    stdID(wxID_SELECTALL);
+    stdID(wxID_DELETE);
+    stdID(wxID_REPLACE);
+    stdID(wxID_REPLACE_ALL);
+    stdID(wxID_PROPERTIES);
+    stdID(wxID_VIEW_DETAILS);
+    stdID(wxID_VIEW_LARGEICONS);
+    stdID(wxID_VIEW_SMALLICONS);
+    stdID(wxID_VIEW_LIST);
+    stdID(wxID_VIEW_SORTDATE);
+    stdID(wxID_VIEW_SORTNAME);
+    stdID(wxID_VIEW_SORTSIZE);
+    stdID(wxID_VIEW_SORTTYPE);
+    stdID(wxID_FILE1);
+    stdID(wxID_FILE2);
+    stdID(wxID_FILE3);
+    stdID(wxID_FILE4);
+    stdID(wxID_FILE5);
+    stdID(wxID_FILE6);
+    stdID(wxID_FILE7);
+    stdID(wxID_FILE8);
+    stdID(wxID_FILE9);
+    stdID(wxID_OK);
+    stdID(wxID_CANCEL);
+    stdID(wxID_APPLY);
+    stdID(wxID_YES);
+    stdID(wxID_NO);
+    stdID(wxID_STATIC);
+    stdID(wxID_FORWARD);
+    stdID(wxID_BACKWARD);
+    stdID(wxID_DEFAULT);
+    stdID(wxID_MORE);
+    stdID(wxID_SETUP);
+    stdID(wxID_RESET);
+    stdID(wxID_CONTEXT_HELP);
+    stdID(wxID_YESTOALL);
+    stdID(wxID_NOTOALL);
+    stdID(wxID_ABORT);
+    stdID(wxID_RETRY);
+    stdID(wxID_IGNORE);
+    stdID(wxID_ADD);
+    stdID(wxID_REMOVE);
+    stdID(wxID_UP);
+    stdID(wxID_DOWN);
+    stdID(wxID_HOME);
+    stdID(wxID_REFRESH);
+    stdID(wxID_STOP);
+    stdID(wxID_INDEX);
+    stdID(wxID_BOLD);
+    stdID(wxID_ITALIC);
+    stdID(wxID_JUSTIFY_CENTER);
+    stdID(wxID_JUSTIFY_FILL);
+    stdID(wxID_JUSTIFY_RIGHT);
+    stdID(wxID_JUSTIFY_LEFT);
+    stdID(wxID_UNDERLINE);
+    stdID(wxID_INDENT);
+    stdID(wxID_UNINDENT);
+    stdID(wxID_ZOOM_100);
+    stdID(wxID_ZOOM_FIT);
+    stdID(wxID_ZOOM_IN);
+    stdID(wxID_ZOOM_OUT);
+    stdID(wxID_UNDELETE);
+    stdID(wxID_REVERT_TO_SAVED);
+    stdID(wxID_SYSTEM_MENU);
+    stdID(wxID_CLOSE_FRAME);
+    stdID(wxID_MOVE_FRAME);
+    stdID(wxID_RESIZE_FRAME);
+    stdID(wxID_MAXIMIZE_FRAME);
+    stdID(wxID_ICONIZE_FRAME);
+    stdID(wxID_RESTORE_FRAME);
+
 #undef stdID
 }
 
@@ -1332,3 +1429,5 @@ void wxXmlInitResourceModule()
     module->Init();
     wxModule::RegisterModule(module);
 }
+
+#endif // wxUSE_XRC