]> 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 626bdea77422667bc86e924d73eda0026dfee15e..a81f2d08928d3281ae98799574927686af2cc1b2 100644 (file)
@@ -7,7 +7,7 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #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:
@@ -58,55 +70,43 @@ class EditorFrame : public wxFrame
         void LoadFile(const wxString& filename);
         void NewFile();
         void SaveFile(const wxString& filename);
+        wxString GetFileName() { return m_FileName; }
         
         void RefreshTree();
-        void RefreshPreview(wxXmlNode *node);
-        void RefreshProps(wxXmlNode *node);
-        void RefreshPropsEdit();
+        void RefreshTitle();
         bool SelectNode(wxXmlNode *node, wxTreeItemId *root = NULL);
         
         wxTreeItemId CreateTreeNode(wxTreeCtrl *treectrl, wxTreeItemId parent, wxXmlNode *node);
-        void CreatePropsList(wxListCtrl *listctrl, wxXmlNode *node);
   
         void NotifyChanged(int change_type);
         
-        void RegisterHandlers(const wxString& dir);
-        
-        NodeHandler *FindHandler(wxXmlNode *node);
-        
         static EditorFrame *Get() { return ms_Instance; }
         
     private:
         static EditorFrame *ms_Instance;
     
         wxTreeCtrl *m_TreeCtrl;
-        wxTextCtrl *m_XMLIDCtrl;
-        wxImageList *m_ImgList, *m_ImgListProp;
-        wxPanel *m_PropsPanel;
-        wxScrolledWindow *m_PropsEditPanel;
-        wxSplitterWindow *m_Splitter, *m_Splitter2;
-        wxListCtrl *m_PropsList;
-        int m_SelectedProp;
         
-        wxList m_Handlers;
-
         wxXmlNode *m_SelectedNode;
+        
+        wxXmlNode *m_Clipboard;
 
         wxString m_FileName;
-        wxXmlDocument *m_Resource;
-        wxWindow *m_Preview;
+        wxXmlRcEditDocument *m_Resource;
+        
+        bool m_Modified;
+        
+        bool AskToSave();
+        void DeleteSelectedNode();
 
         DECLARE_EVENT_TABLE()
         void OnTreeSel(wxTreeEvent& event);
         void OnToolbar(wxCommandEvent& event);
         void OnNew(wxCommandEvent& event);
-        void OnXMLIDEdit(wxCommandEvent& event);
-        void OnXMLIDPick(wxCommandEvent& event);
-        void OnEditCode(wxCommandEvent& event);
-        void OnClearProp(wxCommandEvent& event);
-        void OnPropSel(wxListEvent& event);
         void OnNewNode(wxCommandEvent& event);
         void OnRightClickTree(wxPoint pos);
+        void OnClipboardAction(wxCommandEvent& event);
+        void OnCloseWindow(wxCloseEvent&);
 };