]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - tools/src/tools/configtool/standalone/wxwin/configtoolview.h
Cleanup CVS ipmorted branch
[karo-tx-redboot.git] / tools / src / tools / configtool / standalone / wxwin / configtoolview.h
1 //####COPYRIGHTBEGIN####
2 //
3 // ----------------------------------------------------------------------------
4 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
5 //
6 // This program is part of the eCos host tools.
7 //
8 // This program is free software; you can redistribute it and/or modify it
9 // under the terms of the GNU General Public License as published by the Free
10 // Software Foundation; either version 2 of the License, or (at your option)
11 // any later version.
12 //
13 // This program is distributed in the hope that it will be useful, but WITHOUT
14 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
16 // more details.
17 //
18 // You should have received a copy of the GNU General Public License along with
19 // this program; if not, write to the Free Software Foundation, Inc.,
20 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21 //
22 // ----------------------------------------------------------------------------
23 //
24 //####COPYRIGHTEND####
25 // configtoolview.h :
26 //
27 //===========================================================================
28 //#####DESCRIPTIONBEGIN####
29 //
30 // Author(s):   julians
31 // Contact(s):  julians
32 // Date:        2000/10/05
33 // Version:     $Id: configtoolview.h,v 1.4 2001/03/22 11:27:28 julians Exp $
34 // Purpose:
35 // Description: Header file for ecConfigToolView
36 // Requires:
37 // Provides:
38 // See also:
39 // Known bugs:
40 // Usage:
41 //
42 //####DESCRIPTIONEND####
43 //
44 //===========================================================================
45
46 #ifndef _ECOS_CONFIGTOOLVIEW_H_
47 #define _ECOS_CONFIGTOOLVIEW_H_
48
49 #ifdef __GNUG__
50 #pragma interface "configtoolview.h"
51 #endif
52
53 #include "wx/docview.h"
54 #include "wx/treectrl.h"
55
56 /*
57  * ecConfigToolView
58  */
59
60 class ecConfigItem;
61 class ecConfigToolView: public wxView
62 {
63     DECLARE_DYNAMIC_CLASS(ecConfigToolView)
64 public:
65     ecConfigToolView();
66     ~ecConfigToolView() {};
67     
68 //// Overrides
69     bool OnCreate(wxDocument *doc, long flags);
70     void OnDraw(wxDC *dc);
71     void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL);
72     bool OnClose(bool deleteWindow = TRUE);
73     void OnChangeFilename();
74
75 //// Operations
76     void Refresh(const wxString& macroName);
77     void Refresh (wxTreeItemId h);
78     ecConfigItem *DoFind(const wxString& what, wxWindow* parent) ;
79
80 //// Helpers
81     bool IsWordChar(wxChar c);
82
83 //// Event handlers
84
85     // General disabler
86     void OnUpdateDisable(wxUpdateUIEvent& event);
87
88 DECLARE_EVENT_TABLE()
89
90 protected:
91     wxTreeItemId m_expandedForFind;
92 };
93
94 /*
95  * ecConfigToolHint
96  *
97  * Hint to pass to UpdateAllViews
98  *
99  */
100
101 // Update hint symbols
102 #define ecNoHint                0
103 #define ecAllSaved              1
104 #define ecNameFormatChanged     2
105 #define ecIntFormatChanged      3
106 #define ecClear                 4
107 #define ecValueChanged          5
108 #define ecExternallyChanged     6
109 #define ecSelChanged            7
110 #define ecFilenameChanged       8
111 #define ecMemLayoutChanged      9
112
113 class ecConfigItem;
114 class ecConfigToolHint: public wxObject
115 {
116 public:
117     ecConfigToolHint(ecConfigItem* item, int op) { m_item = item; m_op = op; }
118
119     ecConfigItem*   m_item;
120     int             m_op;
121 };
122
123
124 #endif
125         // _ECOS_CONFIGTOOLVIEW_H_