1 /////////////////////////////////////////////////////////////////////////////
2 // Purpose: XML resources editor
3 // Author: Vaclav Slavik
6 // Copyright: (c) 2000 Vaclav Slavik
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
11 #pragma interface "editor.h"
19 #include "wx/treectrl.h"
20 #include "wx/imaglist.h"
21 #include "wx/listctrl.h"
23 class WXDLLEXPORT wxXmlNode
;
24 class WXDLLEXPORT wxTreeCtrl
;
25 class WXDLLEXPORT wxScrolledWindow
;
26 class WXDLLEXPORT wxSplitterWindow
;
28 class WXDLLEXPORT wxXmlNode
;
29 class WXDLLEXPORT wxXmlDocument
;
31 class WXDLLEXPORT wxTreeCtrl
;
32 class WXDLLEXPORT wxListCtrl
;
33 class WXDLLEXPORT wxTreeItemId
;
34 class WXDLLEXPORT wxImageList
;
35 class WXDLLEXPORT wxTreeEvent
;
36 class WXDLLEXPORT wxListEvent
;
42 CHANGED_TREE_SELECTED
= 2,
43 CHANGED_TREE_SELECTED_ICON
= 4,
45 CHANGED_PROPS_PANEL
= 16,
46 CHANGED_EVERYTHING
= CHANGED_TREE
| CHANGED_PROPS
| CHANGED_PROPS_PANEL
,
50 class EditorFrame
: public wxFrame
53 friend class EditorTreeCtrl
;
55 EditorFrame(wxFrame
*parent
, const wxString
& filename
);
58 void LoadFile(const wxString
& filename
);
60 void SaveFile(const wxString
& filename
);
61 wxString
GetFileName() { return m_FileName
; }
65 bool SelectNode(wxXmlNode
*node
, wxTreeItemId
*root
= NULL
);
67 wxTreeItemId
CreateTreeNode(wxTreeCtrl
*treectrl
, wxTreeItemId parent
, wxXmlNode
*node
);
69 void NotifyChanged(int change_type
);
71 static EditorFrame
*Get() { return ms_Instance
; }
74 static EditorFrame
*ms_Instance
;
76 wxTreeCtrl
*m_TreeCtrl
;
78 wxXmlNode
*m_SelectedNode
;
80 wxXmlNode
*m_Clipboard
;
83 wxXmlDocument
*m_Resource
;
88 void DeleteSelectedNode();
91 void OnTreeSel(wxTreeEvent
& event
);
92 void OnToolbar(wxCommandEvent
& event
);
93 void OnNew(wxCommandEvent
& event
);
94 void OnNewNode(wxCommandEvent
& event
);
95 void OnRightClickTree(wxPoint pos
);
96 void OnClipboardAction(wxCommandEvent
& event
);
97 void OnCloseWindow(wxCloseEvent
&);