]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/utils/wxrcedit/editor.h
fixes to dependency problems in win32 makefiles
[wxWidgets.git] / contrib / utils / wxrcedit / editor.h
index bb1d365c79d6e7bebf5eacbf17c60011d392d093..a81f2d08928d3281ae98799574927686af2cc1b2 100644 (file)
@@ -7,7 +7,7 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "editor.h"
 #endif
 
     #pragma interface "editor.h"
 #endif
 
@@ -47,6 +47,18 @@ enum ChangeType
 };
 
 
 };
 
 
+class wxXmlRcEditDocument : public wxXmlDocument
+{
+    // Helper functions for Upgrade()
+    void UpgradeNodeValue(wxXmlNode *node);
+    void UpgradeNode(wxXmlNode *node);
+
+ public:
+    // Upgrades older versions
+    void Upgrade();
+
+};
+
 class EditorFrame : public wxFrame
 {
     public:
 class EditorFrame : public wxFrame
 {
     public:
@@ -61,6 +73,7 @@ class EditorFrame : public wxFrame
         wxString GetFileName() { return m_FileName; }
         
         void RefreshTree();
         wxString GetFileName() { return m_FileName; }
         
         void RefreshTree();
+        void RefreshTitle();
         bool SelectNode(wxXmlNode *node, wxTreeItemId *root = NULL);
         
         wxTreeItemId CreateTreeNode(wxTreeCtrl *treectrl, wxTreeItemId parent, wxXmlNode *node);
         bool SelectNode(wxXmlNode *node, wxTreeItemId *root = NULL);
         
         wxTreeItemId CreateTreeNode(wxTreeCtrl *treectrl, wxTreeItemId parent, wxXmlNode *node);
@@ -79,7 +92,12 @@ class EditorFrame : public wxFrame
         wxXmlNode *m_Clipboard;
 
         wxString m_FileName;
         wxXmlNode *m_Clipboard;
 
         wxString m_FileName;
-        wxXmlDocument *m_Resource;
+        wxXmlRcEditDocument *m_Resource;
+        
+        bool m_Modified;
+        
+        bool AskToSave();
+        void DeleteSelectedNode();
 
         DECLARE_EVENT_TABLE()
         void OnTreeSel(wxTreeEvent& event);
 
         DECLARE_EVENT_TABLE()
         void OnTreeSel(wxTreeEvent& event);
@@ -88,8 +106,7 @@ class EditorFrame : public wxFrame
         void OnNewNode(wxCommandEvent& event);
         void OnRightClickTree(wxPoint pos);
         void OnClipboardAction(wxCommandEvent& event);
         void OnNewNode(wxCommandEvent& event);
         void OnRightClickTree(wxPoint pos);
         void OnClipboardAction(wxCommandEvent& event);
-        
-        void DeleteSelectedNode();
+        void OnCloseWindow(wxCloseEvent&);
 };
 
 
 };