VR-Vantage 3.0.3 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ciTreeCtrl.h
Go to the documentation of this file.
1 
2 // Copyright JRM Enterprises, Inc. 2004
3 // All rights reserved.
4 //
5 // This code is the intellectual property of JRM Enterprises, Inc.
6 // It may not be used or released as source or compiled binary form
7 // without the prior written consent of JRM Enterprises, Inc.
8 //
9 // Original Author: Nikolai Fedoroff
10 // Date: Sept 2004
11 //
12 // ciTreeCtrl.cpp: implementation of ciTreeCtrl class.
13 // ciTreeCtrl.h: interface for ciTreeCtrl class.
14 //
15 //
16 // $Header: /cvsroot/CommonInterface/CILib/include/ciTreeCtrl.h,v 1.26 2006-08-08 15:51:14 cvsuser Exp $
17 //
18 // $Log: not supported by cvs2svn $
19 // Revision 1.26 2006/08/08 15:51:14 cvsuser
20 // (Tim)move the ci panels into the asgard project and changed the prefix on them from ci to asg
21 // moved asgScenario into ci because it is a data handler changed its prefix from asg to ci
22 //
23 // Revision 1.25 2006/07/24 20:39:52 cvsuser
24 // (Tim) added the movieMerge panel to asgard for use in the ONR
25 // added capability to turn off the terrain's color buffer
26 // added in the capability to load a array of pictures and show them in the background of the scene
27 // fixed some problems with a default configuration
28 // remove some unessicarry code from the cipanels
29 //
30 // Revision 1.24 2006/01/09 21:30:09 cvsuser
31 // (Tim) Commented out the Add/Remove Envionment/Terrian from the edit menu
32 // Fixed a minor issue with saving the sensem sliders
33 // Fixed a minor bug where you could delete all of the RGB sensors and so no RGB sensors were set causing a crash if you went to a mode that uses the RGB channels
34 // Fixed a minor bug with the scenario control panel that allowed the current time to be outside of the start and end times.
35 //
36 // Revision 1.23 2005/10/24 21:25:59 cvsuser
37 // (Tim) fixed the prefix in asgard to be more clear, all sg prefixes in asgard were changed to asg
38 //
39 // Revision 1.22 2005/09/19 12:45:53 cvsuser
40 // Com Library additions
41 // Tom
42 //
43 // Revision 1.21 2004/12/24 03:26:53 cvsuser
44 // Tom
45 //
46 // Added sensim support for motion blur and dead pixels
47 // Added new Scenario Control GUI panel in place of track panel.
48 //
49 // Revision 1.20 2004/11/21 19:46:00 cvsuser
50 // NVTherm implementation
51 //
52 // Revision 1.19 2004/11/16 22:54:10 cvsuser
53 // Overloaded wxTreeCtrl method InsertItem
54 //
55 // Nik
56 //
57 // Revision 1.18 2004/11/15 04:39:47 cvsuser
58 // *** empty log message ***
59 //
60 // Revision 1.17 2004/11/11 22:39:58 cvsuser
61 // Added SenSim panel to frame
62 //
63 // Nik
64 //
65 // Revision 1.16 2004/11/10 22:11:30 cvsuser
66 // (Ken) Added track panel to control track files and saving image files.
67 //
68 // Revision 1.15 2004/11/08 20:04:27 cvsuser
69 // (Ken) Added appInterface class to incompass asgInterface and seInterface.
70 // Hooked up seInterface to sensor effects processing during spectral mode.
71 //
72 // Revision 1.14 2004/11/08 13:02:26 cvsuser
73 // (Ken) Moved gain and level to electronics rather than gainLevel.
74 //
75 // Revision 1.13 2004/11/03 19:24:33 cvsuser
76 // MWO I added entries for the node ID's corresponding to the sensor effect / sensim panels
77 // to the
78 //
79 // Revision 1.12 2004/11/02 23:03:51 cvsuser
80 // added "upwards" messaging
81 // added initialization
82 //
83 // Nik
84 //
85 // Revision 1.11 2004/10/29 20:16:21 cvsuser
86 // added "add" and "remove" panel objects
87 //
88 // Nik
89 //
90 // Revision 1.10 2004/10/22 14:55:22 cvsuser
91 // Renamed all ci methods to spec
92 //
93 // Nik
94 //
95 // Revision 1.9 2004/10/15 20:57:15 cvsuser
96 // convert to vs7.1
97 //
98 // Nik
99 //
100 // Revision 1.8 2004/10/07 21:27:55 cvsuser
101 // renaming panel files...
102 //
103 // Nik
104 //
105 // Revision 1.7 2004/10/07 18:47:01 cvsuser
106 // Checkin of EntityPanel
107 //
108 // Revision 1.6 2004/10/05 20:21:45 cvsuser
109 // removed ciSigSimSensorPanel
110 //
111 // Nik
112 //
113 // Revision 1.5 2004/10/04 22:41:49 cvsuser
114 // lots of updates...
115 //
116 // Nik
117 //
118 // Revision 1.4 2004/10/01 19:28:34 cvsuser
119 // Added generic asgPanel for base panel class
120 //
121 // Nik
122 //
123 // Revision 1.3 2004/10/01 17:09:21 cvsuser
124 // removed old dialogblocks project
125 //
126 // Nik
127 //
128 // Revision 1.2 2004/09/30 22:13:01 cvsuser
129 // began adding functionality to ciTreeCtrl
130 //
131 // Nik
132 //
133 //
134 //
136 
137 #if !defined(_ciTreeCtrl_h_)
138 #define _ciTreeCtrl_h_
139 
140 #if _MSC_VER > 1000
141 #pragma once
142 #endif // _MSC_VER > 1000
143 
144 
145 #include <wx/wx.h>
146 #include "wx/treectrl.h"
147 
152 class ciTreeCtrl : public wxTreeCtrl
153 {
154 public:
155 
157 // ciTreeCtrl
163  ciTreeCtrl();
164 
165 
166 
167 
169 // ciTreeCtrl
182  ciTreeCtrl(
183  wxWindow* parent,
184  wxWindowID id,
185  const wxPoint& pos = wxDefaultPosition,
186  const wxSize& size = wxDefaultSize,
187  long style = wxTR_HAS_BUTTONS,
188  const wxValidator& validator = wxDefaultValidator,
189  const wxString& name = "ciListCtrl");
190 
191 protected: // destructor
192 
194 // ~ciTreeCtrl
201  virtual ~ciTreeCtrl();
202 
203 
204 
205 public: // methods
206 
208 // DestroyPanelList
217  void DestroyPanelList();
218 
219 
221 // DeleteAllItems
230  void DeleteAllItems();
231  // Deletes all the items in the control. Overwritten to support the custom control.
232 
234 // Delete
244  void Delete(const wxTreeItemId& item);
245 
247 // AddRoot
260  wxTreeItemId AddRoot(const wxString& text, wxWindow *panelWnd, int panelClassInfo, int image = -1, int selImage = -1);
261 
262 
264 // AppendItem
278  wxTreeItemId AppendItem(
279  const wxTreeItemId& parentId,
280  const wxString& text,
281  wxWindow *panelWnd,
282  int panelClassInfo,
283  int image = -1,
284  int selImage = -1);
285 
287 // InsertItem
302  wxTreeItemId InsertItem(
303  const wxTreeItemId& parent,
304  const wxTreeItemId& item,
305  const wxString& text,
306  wxWindow *panelWnd,
307  int panelClassInfo,
308  int image = -1,
309  int selImage = -1);
310 
311 
313 // AddPanel
324  void AddPanel(wxTreeItemId nodeId, wxWindow *panelWnd, int panelClassInfo);
325 
326 
328 // InsertPanel
341  void InsertPanel(wxTreeItemId nodeId, wxWindow *panelWnd, int panelClassInfo, int idx = -1);
342 
343 
345 // FindPanel
354  int FindPanel(wxTreeItemId nodeId);
355 
357 // FindPanel
366  int FindPanel(wxWindow *panelWnd);
367 
368 
370 // RemovePanel
380  void RemovePanel(wxTreeItemId nodeId);
381 
382 
384 // RemovePanel
394  void RemovePanel(wxWindow *panelWnd);
395 
396 
398 // RemovePanel
408  void RemovePanel(int idx);
409 
410 
412 // GetPanelWnd
420  wxWindow *GetPanelWnd(wxTreeItemId nodeId);
421 
422 
424 // GetPanelWnd
432  wxWindow *GetPanelWnd(int idx);
433 
434 
436 // GetPanelClass
445  int GetPanelClass(int idx);
446 
447 
449 // GetPanelClass
458  int GetPanelClass(wxTreeItemId nodeId);
459 
460 
462 // GetPanelClass
471  int GetPanelClass(wxWindow *panelWnd);
472 
474 // getItemId
482  wxTreeItemId getItemId(wxWindow *panelWnd);
483 
485 // getItemId
493  wxTreeItemId getItemId(int idx);
494 
495 
497 // enumPanelClassInfo
503  {
504  undefined = -1,
505  base = 0,
506  scenario = 1000,
525  };
526 
527 
528 
529 
530 protected: // enumerations and structures
531 
532 
534 // structPanelList
545  {
546  wxTreeItemId nodeId;
547  wxWindow *panelWnd;
549  } *m_panelList;
550 
551 
552 private: // variables
553 
554  // number of managed panel windows
556 
557 
558 
559 
560 
561 };
562 
563 #endif // !defined(_ciTreeCtrl_h_)


Copyright © 2005-2023 MAK Technologies. All Rights Reserved (www.mak.com)