// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "editor.h"
#endif
};
+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();
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();