]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/utils/wxrcedit/editor.h
Removed very out of date files in docs/msw
[wxWidgets.git] / contrib / utils / wxrcedit / editor.h
index bb1d365c79d6e7bebf5eacbf17c60011d392d093..90917acff90a1a1e4f9a68bcb000dccad55f19ba 100644 (file)
@@ -7,7 +7,7 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "editor.h"
 #endif
 
@@ -47,11 +47,23 @@ 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:
         friend class EditorTreeCtrl;
-    
+
         EditorFrame(wxFrame *parent, const wxString& filename);
         ~EditorFrame();
 
@@ -59,27 +71,33 @@ class EditorFrame : public wxFrame
         void NewFile();
         void SaveFile(const wxString& filename);
         wxString GetFileName() { return m_FileName; }
-        
+
         void RefreshTree();
+        void RefreshTitle();
         bool SelectNode(wxXmlNode *node, wxTreeItemId *root = NULL);
-        
+
         wxTreeItemId CreateTreeNode(wxTreeCtrl *treectrl, wxTreeItemId parent, wxXmlNode *node);
-  
+
         void NotifyChanged(int change_type);
-        
+
         static EditorFrame *Get() { return ms_Instance; }
-        
+
     private:
         static EditorFrame *ms_Instance;
-    
+
         wxTreeCtrl *m_TreeCtrl;
-        
+
         wxXmlNode *m_SelectedNode;
-        
+
         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);
@@ -88,8 +106,7 @@ class EditorFrame : public wxFrame
         void OnNewNode(wxCommandEvent& event);
         void OnRightClickTree(wxPoint pos);
         void OnClipboardAction(wxCommandEvent& event);
-        
-        void DeleteSelectedNode();
+        void OnCloseWindow(wxCloseEvent&);
 };