Mercurial > flash_v2
annotate host/tools/configtool/standalone/wxwin/configtree.cpp @ 160:0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
| author | jlarmour |
|---|---|
| date | Fri, 01 Jun 2001 22:16:29 +0000 |
| parents | |
| children |
| rev | line source |
|---|---|
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1 //####COPYRIGHTBEGIN#### |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
2 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
3 // ---------------------------------------------------------------------------- |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
4 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
5 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
6 // This program is part of the eCos host tools. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
7 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
8 // This program is free software; you can redistribute it and/or modify it |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
9 // under the terms of the GNU General Public License as published by the Free |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
10 // Software Foundation; either version 2 of the License, or (at your option) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
11 // any later version. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
12 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
13 // This program is distributed in the hope that it will be useful, but WITHOUT |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
14 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
15 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
16 // more details. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
17 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
18 // You should have received a copy of the GNU General Public License along with |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
19 // this program; if not, write to the Free Software Foundation, Inc., |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
20 // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
21 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
22 // ---------------------------------------------------------------------------- |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
23 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
24 //####COPYRIGHTEND#### |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
25 // configtree.cpp : |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
26 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
27 //=========================================================================== |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
28 //#####DESCRIPTIONBEGIN#### |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
29 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
30 // Author(s): julians |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
31 // Contact(s): julians |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
32 // Date: 2000/08/24 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
33 // Version: $Id: configtree.cpp,v 1.8 2001/04/24 14:39:13 julians Exp $ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
34 // Purpose: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
35 // Description: Implementation file for ecConfigTreeCtrl |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
36 // Requires: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
37 // Provides: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
38 // See also: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
39 // Known bugs: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
40 // Usage: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
41 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
42 //####DESCRIPTIONEND#### |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
43 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
44 //=========================================================================== |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
45 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
46 // ============================================================================ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
47 // declarations |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
48 // ============================================================================ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
49 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
50 // ---------------------------------------------------------------------------- |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
51 // headers |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
52 // ---------------------------------------------------------------------------- |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
53 #ifdef __GNUG__ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
54 #pragma implementation "configtree.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
55 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
56 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
57 // Includes other headers for precompiled compilation |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
58 #include "ecpch.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
59 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
60 #ifdef __BORLANDC__ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
61 #pragma hdrstop |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
62 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
63 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
64 #include "wx/cshelp.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
65 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
66 // Include XPM icons |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
67 #if !defined(__WXMSW__) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
68 #include "bitmaps/closedfolder.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
69 #include "bitmaps/closedfolder_dis.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
70 #include "bitmaps/package_closed.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
71 #include "bitmaps/package_closed_dis.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
72 #include "bitmaps/package_open.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
73 #include "bitmaps/package_open_dis.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
74 #include "bitmaps/checked.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
75 #include "bitmaps/checked_dis.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
76 #include "bitmaps/unchecked.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
77 #include "bitmaps/unchecked_dis.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
78 #include "bitmaps/integer.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
79 #include "bitmaps/integer_dis.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
80 #include "bitmaps/integer2.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
81 #include "bitmaps/integer2_dis.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
82 #include "bitmaps/enumerated.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
83 #include "bitmaps/enumerated_dis.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
84 #include "bitmaps/radioon.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
85 #include "bitmaps/radioon_dis.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
86 #include "bitmaps/radiooff.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
87 #include "bitmaps/radiooff_dis.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
88 #include "bitmaps/text.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
89 #include "bitmaps/text_dis.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
90 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
91 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
92 #include "configtree.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
93 #include "configpropdlg.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
94 #include "configtooldoc.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
95 #include "configtoolview.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
96 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
97 /* |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
98 * ecConfigTreeCtrl |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
99 */ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
100 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
101 IMPLEMENT_CLASS(ecConfigTreeCtrl, wxRemotelyScrolledTreeCtrl) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
102 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
103 BEGIN_EVENT_TABLE(ecConfigTreeCtrl, wxRemotelyScrolledTreeCtrl) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
104 EVT_PAINT(ecConfigTreeCtrl::OnPaint) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
105 EVT_MOUSE_EVENTS(ecConfigTreeCtrl::OnMouseEvent) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
106 EVT_CHAR(ecConfigTreeCtrl::OnKeyDown) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
107 EVT_TREE_SEL_CHANGED(-1, ecConfigTreeCtrl::OnSelChanged) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
108 EVT_TREE_ITEM_EXPANDED(-1, ecConfigTreeCtrl::OnCollapseExpand) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
109 EVT_TREE_ITEM_COLLAPSED(-1, ecConfigTreeCtrl::OnCollapseExpand) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
110 EVT_HELP(-1, ecConfigTreeCtrl::OnHelp) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
111 END_EVENT_TABLE() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
112 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
113 ecConfigTreeCtrl::ecConfigTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
114 const wxSize& sz, long style): |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
115 wxRemotelyScrolledTreeCtrl(parent, id, pt, sz, style) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
116 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
117 LoadIcons(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
118 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
119 m_propertiesMenu = new wxMenu; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
120 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
121 m_propertiesMenu->Append(ecID_WHATS_THIS, _("&What's This?")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
122 m_propertiesMenu->AppendSeparator(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
123 m_propertiesMenu->Append(ecID_TREE_PROPERTIES, _("P&roperties")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
124 m_propertiesMenu->Append(ecID_TREE_RESTORE_DEFAULTS, _("Restore &Defaults")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
125 m_propertiesMenu->Append(ecID_TREE_VISIT_DOC, _("Visit Documentation")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
126 m_propertiesMenu->Append(ecID_TREE_VIEW_HEADER, _("View Header")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
127 m_propertiesMenu->AppendSeparator(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
128 m_propertiesMenu->Append(ecID_TREE_UNLOAD_PACKAGE, _("&Unload Package...")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
129 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
130 if (!wxGetApp().GetSettings().GetWindowSettings().GetUseDefaults() && |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
131 wxGetApp().GetSettings().GetWindowSettings().GetFont(wxT("Configuration")).Ok()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
132 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
133 SetFont(wxGetApp().GetSettings().GetWindowSettings().GetFont(wxT("Configuration"))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
134 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
135 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
136 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
137 // Load the icons and initialize the tree |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
138 void ecConfigTreeCtrl::LoadIcons() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
139 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
140 m_imageList = new wxImageList(16, 16, TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
141 m_iconDB.SetImageList(m_imageList); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
142 SetImageList(m_imageList); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
143 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
144 // We associate names and states so we can easily get the appropriate |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
145 // icon for a given tree item. This gets used in ecConfigItem::UpdateTreeIcon. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
146 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
147 m_iconDB.AddInfo("Container", wxICON(closedfolder), 0, TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
148 m_iconDB.AddInfo("Container", wxICON(closedfolder_dis), 0, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
149 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
150 m_iconDB.AddInfo("Package", wxICON(package_open), 0, TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
151 m_iconDB.AddInfo("Package", wxICON(package_open_dis), 0, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
152 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
153 m_iconDB.AddInfo("Checkbox", wxICON(checked), 0, TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
154 m_iconDB.AddInfo("Checkbox", wxICON(checked_dis), 0, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
155 m_iconDB.AddInfo("Checkbox", wxICON(unchecked), 1, TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
156 m_iconDB.AddInfo("Checkbox", wxICON(unchecked_dis), 1, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
157 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
158 m_iconDB.AddInfo("Radiobox", wxICON(radioon), 0, TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
159 m_iconDB.AddInfo("Radiobox", wxICON(radioon_dis), 0, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
160 m_iconDB.AddInfo("Radiobox", wxICON(radiooff), 1, TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
161 m_iconDB.AddInfo("Radiobox", wxICON(radiooff_dis), 1, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
162 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
163 m_iconDB.AddInfo("Text", wxICON(text), 0, TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
164 m_iconDB.AddInfo("Text", wxICON(text_dis), 0, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
165 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
166 m_iconDB.AddInfo("Enumerated", wxICON(enumerated), 0, TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
167 m_iconDB.AddInfo("Enumerated", wxICON(enumerated_dis), 0, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
168 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
169 m_iconDB.AddInfo("Integer", wxICON(integer), 0, TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
170 m_iconDB.AddInfo("Integer", wxICON(integer_dis), 0, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
171 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
172 #if 0 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
173 // Add some dummy items |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
174 ecConfigItem* item = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
175 wxTreeItemId rootId = AddRoot(_(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(NULL, _("Configuration"), ecContainer))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
176 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
177 item->SetTreeItem(rootId); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
178 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
179 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
180 wxTreeItemId childId1 = AppendItem(rootId, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("My Package"), ecPackage, ecFlavorData, ecString))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
181 item->SetTreeItem(childId1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
182 item->GetValue() = _("v1_4_1"); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
183 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
184 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
185 wxTreeItemId childId2 = AppendItem(childId1, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 1"), ecOption, ecFlavorData, ecString))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
186 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
187 item->GetValue() = _("The value for this option"); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
188 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
189 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
190 childId2 = AppendItem(childId1, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 2"), ecOption, ecFlavorData, ecLong))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
191 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
192 item->GetValue() = (long) 176343; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
193 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
194 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
195 childId2 = AppendItem(childId2, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 3"), ecOption, ecFlavorBool, ecOptionTypeNone, TRUE, TRUE, ecHintCheck))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
196 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
197 item->GetValue() = (bool) TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
198 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
199 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
200 childId2 = AppendItem(childId1, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 4"), ecOption, ecFlavorBool, ecOptionTypeNone, TRUE, FALSE, ecHintCheck))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
201 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
202 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
203 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
204 childId2 = AppendItem(childId1, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 5"), ecOption, ecFlavorBool, ecOptionTypeNone, TRUE, TRUE, ecHintRadio))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
205 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
206 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
207 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
208 childId2 = AppendItem(childId1, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 6"), ecOption, ecFlavorBool, ecOptionTypeNone, TRUE, FALSE, ecHintRadio))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
209 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
210 item->GetValue() = (bool) TRUE ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
211 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
212 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
213 // Another branch |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
214 childId1 = AppendItem(rootId, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("My Container"), ecContainer))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
215 item->SetTreeItem(childId1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
216 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
217 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
218 childId2 = AppendItem(childId1, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 1"), ecOption, ecFlavorData, ecString, FALSE))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
219 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
220 item->GetValue() = _("The value for this option"); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
221 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
222 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
223 childId2 = AppendItem(childId1, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 2"), ecOption, ecFlavorData, ecLong, FALSE))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
224 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
225 item->GetValue() = (long) 176343; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
226 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
227 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
228 childId2 = AppendItem(childId1, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 3"), ecOption, ecFlavorBool, ecOptionTypeNone, FALSE, TRUE, ecHintCheck))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
229 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
230 item->GetValue() = (bool) TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
231 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
232 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
233 childId2 = AppendItem(childId1, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 4"), ecOption, ecFlavorBool, ecOptionTypeNone, FALSE, FALSE, ecHintCheck))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
234 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
235 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
236 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
237 childId2 = AppendItem(childId1, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 5"), ecOption, ecFlavorBool, ecOptionTypeNone, FALSE, TRUE, ecHintRadio))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
238 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
239 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
240 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
241 childId2 = AppendItem(childId1, _(""), -1, -1, new ecTreeItemData(item = new ecConfigItem(item, _("Option 6"), ecOption, ecFlavorBool, ecOptionTypeNone, FALSE, FALSE, ecHintRadio))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
242 item->SetTreeItem(childId2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
243 item->GetValue() = (bool) TRUE ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
244 item->UpdateTreeItem(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
245 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
246 Expand(rootId); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
247 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
248 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
249 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
250 ecConfigTreeCtrl::~ecConfigTreeCtrl() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
251 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
252 delete m_propertiesMenu; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
253 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
254 SetImageList(NULL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
255 delete m_imageList; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
256 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
257 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
258 // Draw the lines on top of the tree |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
259 void ecConfigTreeCtrl::OnPaint(wxPaintEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
260 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
261 wxPaintDC dc(this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
262 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
263 wxTreeCtrl::OnPaint(event); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
264 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
265 // Reset the device origin since it may have been set |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
266 dc.SetDeviceOrigin(0, 0); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
267 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
268 wxSize sz = GetClientSize(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
269 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
270 wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
271 dc.SetPen(pen); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
272 dc.SetBrush(* wxTRANSPARENT_BRUSH); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
273 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
274 wxSize clientSize = GetClientSize(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
275 wxRect itemRect; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
276 int cy=0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
277 wxTreeItemId h, lastH; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
278 for(h=GetFirstVisibleItem();h;h=GetNextVisible(h)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
279 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
280 if (GetBoundingRect(h, itemRect)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
281 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
282 cy = itemRect.GetTop(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
283 dc.DrawLine(0, cy, clientSize.x, cy); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
284 lastH = h; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
285 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
286 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
287 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
288 if (lastH && lastH.IsOk() && GetBoundingRect(lastH, itemRect)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
289 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
290 cy = itemRect.GetBottom(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
291 dc.DrawLine(0, cy, clientSize.x, cy); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
292 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
293 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
294 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
295 void ecConfigTreeCtrl::OnSelChanged(wxTreeEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
296 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
297 ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
298 if (doc) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
299 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
300 ecConfigToolHint hint(NULL, ecSelChanged); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
301 doc->UpdateAllViews(NULL, & hint); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
302 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
303 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
304 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
305 void ecConfigTreeCtrl::OnMouseEvent(wxMouseEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
306 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
307 int flags = 0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
308 wxTreeItemId item = HitTest(wxPoint(event.GetX(), event.GetY()), flags); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
309 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
310 if (item == 0 || !item.IsOk()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
311 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
312 if (event.RightDown()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
313 PopupMenu(wxGetApp().GetWhatsThisMenu(), event.GetX(), event.GetY()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
314 return; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
315 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
316 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
317 if (event.LeftDown()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
318 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
319 if (flags & wxTREE_HITTEST_ONITEMICON) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
320 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
321 ecTreeItemData* data = (ecTreeItemData*) GetItemData(item); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
322 data->GetConfigItem()->OnIconLeftDown(* this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
323 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
324 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
325 else if (event.RightDown()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
326 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
327 if ((flags & wxTREE_HITTEST_ONITEMBUTTON) || |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
328 (flags & wxTREE_HITTEST_ONITEMICON) || |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
329 (flags & wxTREE_HITTEST_ONITEMINDENT) || |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
330 (flags & wxTREE_HITTEST_ONITEMLABEL)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
331 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
332 SelectItem(item); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
333 GetPropertiesMenu()->SetClientData((void*) TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
334 PopupMenu(GetPropertiesMenu(), event.GetX(), event.GetY()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
335 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
336 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
337 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
338 wxGetApp().GetWhatsThisMenu()->SetClientData((void*) FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
339 PopupMenu(wxGetApp().GetWhatsThisMenu(), event.GetX(), event.GetY()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
340 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
341 return; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
342 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
343 event.Skip(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
344 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
345 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
346 void ecConfigTreeCtrl::OnKeyDown(wxKeyEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
347 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
348 wxTreeItemId id = GetSelection(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
349 if (event.GetKeyCode() == WXK_F10 && event.ShiftDown()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
350 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
351 if (id.IsOk()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
352 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
353 wxRect rect; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
354 if (GetBoundingRect(id, rect)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
355 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
356 GetPropertiesMenu()->SetClientData((void*) TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
357 PopupMenu(GetPropertiesMenu(), 100, rect.GetTop() + 4); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
358 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
359 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
360 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
361 else if (event.GetKeyCode() == '<') |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
362 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
363 if (id.IsOk()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
364 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
365 ecConfigItem* item = ((ecTreeItemData*) GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
366 item->BumpItem(-1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
367 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
368 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
369 else if (event.GetKeyCode() == '>') |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
370 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
371 if (id.IsOk()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
372 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
373 ecConfigItem* item = ((ecTreeItemData*) GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
374 item->BumpItem(+1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
375 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
376 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
377 else if (event.GetKeyCode() == WXK_SPACE) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
378 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
379 if (id.IsOk()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
380 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
381 ecConfigItem* item = ((ecTreeItemData*) GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
382 item->BumpItem(0); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
383 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
384 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
385 else if (event.GetKeyCode() == WXK_RETURN && event.AltDown()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
386 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
387 if (id.IsOk()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
388 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
389 ecConfigItem* item = ((ecTreeItemData*) GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
390 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
391 ecConfigPropertiesDialog dialog(wxGetApp().GetTopWindow(), item); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
392 dialog.SetTitle(item->GetName()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
393 dialog.ShowModal(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
394 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
395 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
396 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
397 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
398 event.Skip(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
399 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
400 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
401 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
402 void ecConfigTreeCtrl::OnCollapseExpand(wxTreeEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
403 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
404 if (GetCompanionWindow()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
405 GetCompanionWindow()->Refresh(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
406 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
407 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
408 // show help for this window |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
409 void ecConfigTreeCtrl::OnHelp(wxHelpEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
410 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
411 wxPoint pt = ScreenToClient(event.GetPosition()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
412 int flags = 0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
413 wxTreeItemId id = HitTest(pt, flags); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
414 wxHelpProvider *helpProvider = wxHelpProvider::Get(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
415 if ( helpProvider && id > 0) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
416 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
417 ecConfigItem* item = ((ecTreeItemData*) GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
418 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
419 if (item) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
420 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
421 wxGetApp().GetHelpController().DisplayTextPopup(item->GetDescription(), event.GetPosition()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
422 return; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
423 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
424 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
425 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
426 event.Skip(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
427 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
428 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
429 /* |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
430 * ecValueWindow |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
431 */ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
432 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
433 IMPLEMENT_CLASS(ecValueWindow, wxTreeCompanionWindow) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
434 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
435 BEGIN_EVENT_TABLE(ecValueWindow, wxTreeCompanionWindow) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
436 EVT_PAINT(ecValueWindow::OnPaint) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
437 EVT_MOUSE_EVENTS(ecValueWindow::OnMouseEvent) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
438 EVT_SCROLLWIN(ecValueWindow::OnScroll) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
439 EVT_TREE_ITEM_EXPANDED(-1, ecValueWindow::OnExpand) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
440 EVT_TREE_ITEM_COLLAPSED(-1, ecValueWindow::OnExpand) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
441 END_EVENT_TABLE() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
442 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
443 ecValueWindow::ecValueWindow(wxWindow* parent, wxWindowID id, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
444 const wxPoint& pos, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
445 const wxSize& sz, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
446 long style): |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
447 wxTreeCompanionWindow(parent, id, pos, sz, style) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
448 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
449 SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_LISTBOX)); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
450 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
451 if (!wxGetApp().GetSettings().GetWindowSettings().GetUseDefaults() && |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
452 wxGetApp().GetSettings().GetWindowSettings().GetFont(wxT("Configuration")).Ok()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
453 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
454 SetFont(wxGetApp().GetSettings().GetWindowSettings().GetFont(wxT("Configuration"))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
455 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
456 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
457 SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT)); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
458 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
459 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
460 m_editWindow = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
461 m_configItem = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
462 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
463 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
464 void ecValueWindow::OnPaint(wxPaintEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
465 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
466 wxPaintDC dc(this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
467 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
468 if (!m_treeCtrl) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
469 return; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
470 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
471 wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
472 dc.SetPen(pen); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
473 dc.SetBrush(* wxTRANSPARENT_BRUSH); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
474 wxFont font(GetFont()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
475 dc.SetFont(font); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
476 //dc.SetTextForeground(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOWTEXT)); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
477 dc.SetBackgroundMode(wxTRANSPARENT); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
478 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
479 wxSize clientSize = GetClientSize(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
480 wxRect itemRect; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
481 int cy=0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
482 wxTreeItemId h, lastH; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
483 for(h=m_treeCtrl->GetFirstVisibleItem();h;h=m_treeCtrl->GetNextVisible(h)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
484 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
485 if (m_treeCtrl->GetBoundingRect(h, itemRect)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
486 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
487 cy = itemRect.GetTop(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
488 wxRect drawItemRect(0, cy, clientSize.x, itemRect.GetHeight()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
489 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
490 lastH = h; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
491 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
492 // Draw the actual item |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
493 DrawItem(dc, h, drawItemRect); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
494 dc.DrawLine(0, cy, clientSize.x, cy); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
495 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
496 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
497 if (lastH && lastH.IsOk() && m_treeCtrl->GetBoundingRect(lastH, itemRect)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
498 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
499 cy = itemRect.GetBottom(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
500 dc.DrawLine(0, cy, clientSize.x, cy); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
501 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
502 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
503 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
504 // Returns the rectangle which will enclose the value for this tree item |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
505 wxRect ecValueWindow::GetItemRect(ecConfigItem* item) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
506 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
507 if (!m_treeCtrl) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
508 return wxRect(0, 0, 0, 0); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
509 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
510 wxSize clientSize = GetClientSize(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
511 wxRect itemRect; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
512 int cy=0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
513 wxTreeItemId h; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
514 for(h=m_treeCtrl->GetFirstVisibleItem();h;h=m_treeCtrl->GetNextVisible(h)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
515 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
516 ecTreeItemData* data = (ecTreeItemData*) m_treeCtrl->GetItemData(h); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
517 if (data->GetConfigItem() == item) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
518 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
519 if (m_treeCtrl->GetBoundingRect(h, itemRect)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
520 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
521 cy = itemRect.GetTop(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
522 wxRect drawItemRect(0, cy, clientSize.x, itemRect.GetHeight()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
523 return drawItemRect; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
524 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
525 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
526 return wxRect(0, 0, 0, 0); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
527 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
528 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
529 return wxRect(0, 0, 0, 0); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
530 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
531 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
532 void ecValueWindow::OnMouseEvent(wxMouseEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
533 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
534 if (event.LeftDown() && (event.GetX() > 2)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
535 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
536 // Find if this corresponds to a tree item |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
537 int flags = 0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
538 wxTreeItemId item = m_treeCtrl->HitTest(wxPoint(4, event.GetY()), flags); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
539 if (item.IsOk()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
540 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
541 m_treeCtrl->SelectItem(item); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
542 ecConfigItem* configItem = ((ecTreeItemData*) m_treeCtrl->GetItemData(item))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
543 if (configItem->CanEdit()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
544 BeginEditing(configItem); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
545 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
546 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
547 else if (event.RightDown()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
548 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
549 // Find if this corresponds to a tree item |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
550 int flags = 0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
551 wxTreeItemId item = m_treeCtrl->HitTest(wxPoint(4, event.GetY()), flags); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
552 if (item != 0) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
553 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
554 ecConfigItem* configItem = ((ecTreeItemData*) m_treeCtrl->GetItemData(item))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
555 m_treeCtrl->SelectItem(item); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
556 ((ecConfigTreeCtrl*) m_treeCtrl)->GetPropertiesMenu()->SetClientData((void*) TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
557 PopupMenu(((ecConfigTreeCtrl*) m_treeCtrl)->GetPropertiesMenu(), event.GetX(), event.GetY()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
558 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
559 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
560 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
561 wxGetApp().GetWhatsThisMenu()->SetClientData((void*) FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
562 PopupMenu(wxGetApp().GetWhatsThisMenu(), event.GetX(), event.GetY()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
563 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
564 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
565 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
566 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
567 void ecValueWindow::DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
568 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
569 if (m_treeCtrl) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
570 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
571 ecConfigItem* item = ((ecTreeItemData*) m_treeCtrl->GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
572 if (!item) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
573 return; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
574 wxString text = item->GetDisplayValue(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
575 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
576 if (text.IsEmpty()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
577 return; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
578 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
579 static wxColour normalColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOWTEXT); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
580 static wxColour disabledColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_GRAYTEXT); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
581 dc.SetTextForeground( (item->GetActive() && (item->GetConfigType() != ecPackage)) ? normalColour : disabledColour ); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
582 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
583 int textW, textH; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
584 dc.GetTextExtent(text, & textW, & textH); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
585 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
586 int x = 2; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
587 int y = rect.GetY() + wxMax(0, (rect.GetHeight() - textH) / 2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
588 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
589 dc.DrawText(text, x, y); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
590 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
591 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
592 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
593 bool ecValueWindow::BeginEditing(ecConfigItem* item) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
594 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
595 if (m_configItem) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
596 EndEditing(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
597 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
598 m_configItem = item; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
599 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
600 m_editWindow = item->CreateEditWindow(this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
601 if (m_editWindow) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
602 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
603 m_editWindow->Show(FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
604 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
605 item->TransferDataToWindow(m_editWindow); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
606 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
607 // Position the control |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
608 PositionEditWindow(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
609 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
610 m_editWindow->Show(TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
611 m_editWindow->SetFocus(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
612 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
613 return TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
614 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
615 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
616 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
617 m_configItem = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
618 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
619 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
620 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
621 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
622 // Position the control |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
623 void ecValueWindow::PositionEditWindow() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
624 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
625 if (!m_configItem || !m_editWindow) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
626 return; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
627 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
628 // Position the control |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
629 wxSize clientSize = GetClientSize(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
630 wxRect itemRect; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
631 m_treeCtrl->GetBoundingRect(m_configItem->GetTreeItem(), itemRect); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
632 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
633 wxSize sz = m_editWindow->GetSize(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
634 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
635 // m_editWindow->SetSize(2, itemRect.y+1, clientSize.x, itemRect.GetHeight() /* -2 */); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
636 m_editWindow->SetSize(0, itemRect.y, clientSize.x, sz.y); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
637 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
638 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
639 bool ecValueWindow::EndEditing() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
640 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
641 if (m_configItem) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
642 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
643 if (m_editWindow && !wxGetApp().GetValuesLocked()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
644 m_configItem->TransferDataFromWindow(m_editWindow); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
645 m_configItem = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
646 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
647 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
648 if (m_editWindow) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
649 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
650 delete m_editWindow; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
651 m_editWindow = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
652 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
653 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
654 return TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
655 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
656 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
657 void ecValueWindow::OnScroll(wxScrollWinEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
658 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
659 wxTreeCompanionWindow::OnScroll(event); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
660 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
661 PositionEditWindow(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
662 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
663 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
664 void ecValueWindow::OnExpand(wxTreeEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
665 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
666 wxTreeCompanionWindow::OnExpand(event); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
667 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
668 EndEditing(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
669 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
670 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
671 /* |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
672 * wxIconStateInfo |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
673 */ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
674 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
675 wxIconStateInfo::wxIconStateInfo(const wxString& name) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
676 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
677 m_maxStates = 0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
678 m_name = name; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
679 int i; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
680 for (i = 0; i < wxMAX_ICON_STATES; i++) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
681 m_states[i] = 0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
682 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
683 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
684 int wxIconStateInfo::GetIconId(int state, bool enabled) const |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
685 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
686 wxASSERT ( state < (wxMAX_ICON_STATES * 2) ); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
687 wxASSERT ( state < m_maxStates ); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
688 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
689 return m_states[state * 2 + (enabled ? 0 : 1)]; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
690 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
691 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
692 void wxIconStateInfo::SetIconId(int state, bool enabled, int iconId) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
693 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
694 wxASSERT ( state < (wxMAX_ICON_STATES * 2) ); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
695 if (state+1 > m_maxStates) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
696 m_maxStates = state+1; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
697 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
698 m_states[state * 2 + (enabled ? 0 : 1)] = iconId; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
699 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
700 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
701 /* |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
702 * wxIconStateInfoDb |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
703 * Contains a list of wxIconStateInfos |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
704 */ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
705 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
706 wxIconStateInfoDB::wxIconStateInfoDB(wxImageList* imageList) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
707 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
708 m_imageList = imageList; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
709 DeleteContents(TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
710 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
711 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
712 void wxIconStateInfoDB::AppendInfo(wxIconStateInfo* info) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
713 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
714 Append(info); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
715 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
716 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
717 // Easy way of initialising both the image list and the |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
718 // info db. It will generate image ids itself while appending the icon. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
719 bool wxIconStateInfoDB::AddInfo(const wxString& name, const wxIcon& icon, int state, bool enabled) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
720 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
721 wxASSERT (m_imageList != NULL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
722 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
723 wxIconStateInfo* info = FindInfo(name); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
724 if (!info) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
725 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
726 info = new wxIconStateInfo(name); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
727 Append(info); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
728 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
729 info->SetIconId(state, enabled, m_imageList->Add(icon)); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
730 return TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
731 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
732 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
733 wxIconStateInfo* wxIconStateInfoDB::FindInfo(const wxString& name) const |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
734 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
735 wxNode* node = First(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
736 while (node) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
737 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
738 wxIconStateInfo* info = (wxIconStateInfo*) node->Data(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
739 if (info->GetName() == name) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
740 return info; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
741 node = node->Next(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
742 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
743 return NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
744 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
745 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
746 int wxIconStateInfoDB::GetIconId(const wxString& name, int state, bool enabled) const |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
747 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
748 wxIconStateInfo* info = FindInfo(name); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
749 if (!info) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
750 return -1; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
751 return info->GetIconId(state, enabled); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
752 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
753 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
754 bool wxIconStateInfoDB::SetIconId(const wxString& name, int state, bool enabled, int iconId) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
755 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
756 wxIconStateInfo* info = FindInfo(name); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
757 if (!info) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
758 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
759 info->SetIconId(state, enabled, iconId); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
760 return TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
761 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
762 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
763 #if 0 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
764 wxIcon wxIconStateInfoDB::GetIcon(const wxString& name, int state, bool enabled) const |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
765 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
766 wxASSERT( m_imageList != NULL ); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
767 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
768 wxIconStateInfo* info = FindInfo(name); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
769 if (!info) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
770 return wxNullIcon; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
771 int id = info->GetIconId(state, enabled); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
772 if (id < 0) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
773 return wxNullIcon; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
774 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
775 return m_imageList->GetImage(id); // Doesn't exist |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
776 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
777 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
778 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
779 /* |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
780 * ecSplitterScrolledWindow |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
781 * This window holds the tree and value windows. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
782 * We derive a new class mainly to intercept popup menu commands from both child windows |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
783 * without resorting to placing their handlers in the main frame. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
784 */ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
785 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
786 BEGIN_EVENT_TABLE(ecSplitterScrolledWindow, wxSplitterScrolledWindow) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
787 EVT_MENU(ecID_WHATS_THIS, ecSplitterScrolledWindow::OnWhatsThis) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
788 EVT_MENU(ecID_TREE_PROPERTIES, ecSplitterScrolledWindow::OnProperties) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
789 EVT_MENU(ecID_TREE_RESTORE_DEFAULTS, ecSplitterScrolledWindow::OnRestoreDefaults) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
790 EVT_MENU(ecID_TREE_VISIT_DOC, ecSplitterScrolledWindow::OnVisitDoc) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
791 EVT_MENU(ecID_TREE_VIEW_HEADER, ecSplitterScrolledWindow::OnViewHeader) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
792 EVT_MENU(ecID_TREE_UNLOAD_PACKAGE, ecSplitterScrolledWindow::OnUnloadPackage) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
793 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
794 EVT_UPDATE_UI(ecID_TREE_RESTORE_DEFAULTS, ecSplitterScrolledWindow::OnUpdateRestoreDefaults) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
795 EVT_UPDATE_UI(ecID_TREE_VISIT_DOC, ecSplitterScrolledWindow::OnUpdateVisitDoc) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
796 EVT_UPDATE_UI(ecID_TREE_VIEW_HEADER, ecSplitterScrolledWindow::OnUpdateViewHeader) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
797 EVT_UPDATE_UI(ecID_TREE_UNLOAD_PACKAGE, ecSplitterScrolledWindow::OnUpdateUnloadPackage) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
798 END_EVENT_TABLE() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
799 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
800 static bool ecIsMenuForItem(wxCommandEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
801 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
802 wxObject* obj = event.GetEventObject(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
803 wxMenu* menu = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
804 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
805 if (obj->IsKindOf(CLASSINFO(wxMenu))) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
806 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
807 // Menu has some client data which tells us if the menu was clicked over an item |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
808 // or not |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
809 menu = (wxMenu*) obj; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
810 return (bool) (menu->GetClientData() != 0) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
811 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
812 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
813 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
814 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
815 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
816 void ecSplitterScrolledWindow::OnWhatsThis(wxCommandEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
817 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
818 ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
819 wxASSERT (treeCtrl != NULL) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
820 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
821 wxTreeItemId id = treeCtrl->GetSelection(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
822 if (id != 0 && ecIsMenuForItem(event)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
823 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
824 ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
825 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
826 wxPoint pt = wxGetMousePosition(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
827 wxString msg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
828 msg.Printf("Popping at %d x %d", pt.x, pt.y); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
829 wxLogDebug(msg); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
830 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
831 wxGetApp().GetHelpController().DisplayTextPopup(item->GetDescription(), wxGetMousePosition()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
832 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
833 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
834 event.Skip(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
835 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
836 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
837 void ecSplitterScrolledWindow::OnProperties(wxCommandEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
838 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
839 wxObject* obj = event.GetEventObject(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
840 wxMenu* menu = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
841 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
842 if (obj->IsKindOf(CLASSINFO(wxMenu))) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
843 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
844 // Menu has some client data which tells us if the menu was clicked over an item |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
845 // or not |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
846 menu = (wxMenu*) obj; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
847 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
848 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
849 ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
850 wxASSERT (treeCtrl != NULL) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
851 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
852 wxTreeItemId id = treeCtrl->GetSelection(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
853 if (id != 0 && ecIsMenuForItem(event)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
854 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
855 ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
856 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
857 ecConfigPropertiesDialog dialog(wxGetApp().GetTopWindow(), item); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
858 dialog.SetTitle(item->GetName()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
859 dialog.ShowModal(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
860 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
861 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
862 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
863 void ecSplitterScrolledWindow::OnRestoreDefaults(wxCommandEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
864 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
865 ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
866 wxASSERT (treeCtrl != NULL) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
867 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
868 wxTreeItemId id = treeCtrl->GetSelection(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
869 if (id != 0 && ecIsMenuForItem(event)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
870 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
871 ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
872 if (item->HasModifiedChildren()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
873 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
874 int ans = wxMessageBox(_("Restore defaults for nested items?"), wxGetApp().GetSettings().GetAppName(), wxYES_NO|wxCANCEL|wxICON_QUESTION); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
875 switch (ans) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
876 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
877 case wxYES: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
878 RestoreDefault(id, TRUE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
879 break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
880 case wxNO: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
881 RestoreDefault(id, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
882 break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
883 case wxCANCEL: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
884 break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
885 default: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
886 wxASSERT(FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
887 break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
888 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
889 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
890 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
891 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
892 RestoreDefault(id, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
893 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
894 // current values may have changed so refresh the other views |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
895 wxGetApp().GetConfigToolDoc ()->UpdateFailingRuleCount (); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
896 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
897 if (item->GetOptionType () != ecOptionTypeNone) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
898 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
899 ecConfigToolHint hint(item, ecValueChanged); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
900 wxGetApp().GetConfigToolDoc ()->UpdateAllViews (NULL, & hint); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
901 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
902 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
903 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
904 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
905 void ecSplitterScrolledWindow::RestoreDefault(wxTreeItemId h, bool bRecurse /* = FALSE */, bool bTopLevel /* = TRUE */) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
906 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
907 ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
908 wxASSERT (treeCtrl != NULL) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
909 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
910 ecConfigItem* ti = ((ecTreeItemData*) treeCtrl->GetItemData(h))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
911 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
912 const CdlValuable valuable = ti->GetCdlValuable(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
913 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
914 if (valuable && (CdlValueFlavor_None != valuable->get_flavor ())) // skip the root node and nodes without a value |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
915 valuable->set_source (CdlValueSource_Default); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
916 treeCtrl->SetItemText (h, ti->GetItemNameOrMacro ()); // remove asterisk in control view |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
917 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
918 if (bTopLevel && ti->HasRadio ()) // if user-specified item is a radio button |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
919 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
920 for (ecConfigItem * pItem = ti->FirstRadio (); pItem; pItem = pItem->NextRadio ()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
921 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
922 if (ti != pItem) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
923 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
924 const CdlValuable valuable = pItem->GetCdlValuable(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
925 wxASSERT (valuable); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
926 valuable->set_source (CdlValueSource_Default); // restore default for each sibling radio button |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
927 treeCtrl->SetItemText (pItem->GetTreeItem(), pItem->GetItemNameOrMacro ()); // remove asterisk in control view |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
928 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
929 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
930 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
931 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
932 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
933 if (bRecurse) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
934 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
935 long cookie; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
936 for (h = treeCtrl->GetFirstChild(h, cookie); h; h = treeCtrl->GetNextSibling(h)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
937 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
938 RestoreDefault (h, TRUE, FALSE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
939 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
940 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
941 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
942 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
943 void ecSplitterScrolledWindow::OnVisitDoc(wxCommandEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
944 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
945 ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
946 wxASSERT (treeCtrl != NULL) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
947 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
948 wxTreeItemId id = treeCtrl->GetSelection(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
949 if (id != 0 && ecIsMenuForItem(event)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
950 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
951 ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
952 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
953 item->ViewURL(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
954 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
955 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
956 event.Skip(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
957 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
958 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
959 void ecSplitterScrolledWindow::OnViewHeader(wxCommandEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
960 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
961 ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
962 wxASSERT (treeCtrl != NULL) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
963 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
964 wxTreeItemId id = treeCtrl->GetSelection(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
965 if (id != 0 && ecIsMenuForItem(event)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
966 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
967 ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
968 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
969 item->ViewHeader(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
970 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
971 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
972 event.Skip(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
973 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
974 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
975 void ecSplitterScrolledWindow::OnUnloadPackage(wxCommandEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
976 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
977 ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
978 wxASSERT (treeCtrl != NULL) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
979 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
980 wxTreeItemId id = treeCtrl->GetSelection(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
981 if (id != 0) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
982 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
983 ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
984 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
985 if (wxYES == wxMessageBox(_("Are you sure you wish to unload this package?"), wxGetApp().GetSettings().GetAppName(), |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
986 wxYES_NO|wxICON_QUESTION)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
987 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
988 item->Unload(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
989 wxGetApp().GetConfigToolDoc()->RegenerateData(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
990 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
991 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
992 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
993 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
994 void ecSplitterScrolledWindow::OnUpdateRestoreDefaults(wxUpdateUIEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
995 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
996 ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
997 wxASSERT (treeCtrl != NULL) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
998 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
999 wxTreeItemId id = treeCtrl->GetSelection(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1000 if (id != 0) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1001 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1002 ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1003 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1004 event.Enable( IsChanged(id, TRUE ) ); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1005 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1006 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1007 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1008 void ecSplitterScrolledWindow::OnUpdateVisitDoc(wxUpdateUIEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1009 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1010 event.Enable( TRUE ); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1011 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1012 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1013 void ecSplitterScrolledWindow::OnUpdateViewHeader(wxUpdateUIEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1014 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1015 ecConfigToolDoc *pDoc=wxGetApp().GetConfigToolDoc(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1016 event.Enable( pDoc && !pDoc->GetBuildTree().IsEmpty() ) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1017 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1018 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1019 void ecSplitterScrolledWindow::OnUpdateUnloadPackage(wxUpdateUIEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1020 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1021 ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1022 wxASSERT (treeCtrl != NULL) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1023 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1024 wxTreeItemId id = treeCtrl->GetSelection(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1025 if (id != 0) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1026 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1027 ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1028 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1029 event.Enable( item->IsPackage() ); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1030 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1031 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1032 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1033 bool ecSplitterScrolledWindow::IsChanged(wxTreeItemId id, bool bRecurse) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1034 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1035 ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1036 wxASSERT (treeCtrl != NULL) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1037 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1038 ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1039 bool rc = item->Modified (); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1040 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1041 if(!rc && bRecurse) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1042 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1043 long cookie; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1044 for (id=treeCtrl->GetFirstChild(id, cookie);id;id=treeCtrl->GetNextSibling(id)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1045 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1046 if (IsChanged(id,TRUE)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1047 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1048 rc=TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1049 break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1050 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1051 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1052 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1053 return rc; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1054 } |
