X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e066e2566a4e5db3510fe6a204d66850eaeceade..a84ece11fffdde5d1bbd254ba58ac3cee79c2e77:/contrib/utils/wxrcedit/editor.h diff --git a/contrib/utils/wxrcedit/editor.h b/contrib/utils/wxrcedit/editor.h index 442e95f1b9..ec53c4ef63 100644 --- a/contrib/utils/wxrcedit/editor.h +++ b/contrib/utils/wxrcedit/editor.h @@ -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: @@ -61,56 +73,40 @@ class EditorFrame : public wxFrame wxString GetFileName() { return m_FileName; } void RefreshTree(); - 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; + 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 DeleteSelectedNode(); + void OnCloseWindow(wxCloseEvent&); };