00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00028 #ifndef ACLVIS_MAIN_WINDOW_H
00029 #define ACLVIS_MAIN_WINDOW_H
00030 #include "UIComponent.h"
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 #define SliceIndex 1
00045 #define IsoIndex 2
00046 #define MIsoIndex 3
00047 #define PointIndex 4
00048 #define SphereIndex 5
00049 #define VectorFieldIndex 6
00050 #define VectorParticleIndex 7
00051 #define AxesIndex 8
00052 #define LineTraceIndex 9
00053 #include "aclvis/aclvis.h"
00054
00055
00056 class MainWindow : public UIComponent
00057
00058
00059
00060 {
00061
00062 public:
00063
00064 MainWindow(const char *, Widget);
00065 MainWindow(const char *);
00066 virtual ~MainWindow();
00067 virtual void create(Widget);
00068 const char * className();
00069
00070
00071 void AddDataItem(char *);
00072 void DeleteDataItem(char *);
00073 void AddToolItem(char *);
00074 void DeleteToolItem(char *);
00075 Widget GetDrawingAreaWidget() {
00076 return _drawingArea;
00077 }
00078 int SliceBBGetToggleType();
00079 void SliceBBToggleChanged(int);
00080 char *MakeTitleString(VizRecord *);
00081 void DisplayToolBB();
00082 void UpdateTools(void *caller);
00083 int GetToolIndex(const char *toolname);
00084 bool CreateNewTool(const char *dataname, const char *toolname,
00085 int numopts = 0, char *optvalues[] = 0);
00086
00087
00088 protected:
00089
00090
00091
00092 Widget _MainWindow;
00093 Widget _form;
00094 Widget _frame1;
00095 Widget _xmDialogShell;
00096 Widget _bulletinBoard;
00097 Widget _scratchTextField;
00098 Widget _misoBulletinBoard;
00099 Widget _misoNumContoursTextField;
00100 Widget _label13;
00101 Widget _misoContourRangeMaxTextField;
00102 Widget _label15;
00103 Widget _misoContourRangeMinTextField;
00104 Widget _label14;
00105 Widget _label16;
00106 Widget _misoColorRangeLabel;
00107 Widget _label12;
00108 Widget _misoTitleLabel;
00109 Widget _sliceBulletinBoard;
00110 Widget _sliceValueScale;
00111 Widget _sliceRadioBox;
00112 Widget _sliceXYToggleButton;
00113 Widget _sliceYZToggleButton;
00114 Widget _sliceXZToggleButton;
00115 Widget _sliceRangeLabel;
00116 Widget _label3;
00117 Widget _label10;
00118 Widget _sliceTitleLabel;
00119 Widget _sliceValueTextField;
00120 Widget _label6;
00121 Widget _sliceColorRangeLabel;
00122 Widget _isoBulletinBoard;
00123 Widget _isoTransparencyTextField;
00124 Widget _isoColorRangeLabel;
00125 Widget _label5;
00126 Widget _isoValueRangeLabel;
00127 Widget _label20;
00128 Widget _label19;
00129 Widget _isoTitleLabel;
00130 Widget _label17;
00131 Widget _isoIsoValueScale;
00132 Widget _isoValueTextField;
00133 Widget _pointBulletinBoard;
00134 Widget _pointColorRangeLabel;
00135 Widget _label7;
00136 Widget _pointValueRangeLabel;
00137 Widget _label9;
00138 Widget _pointTitleLabel;
00139 Widget _sphereBulletinBoard;
00140 Widget _sphereToolTraceNumberLabel;
00141 Widget _sphereTraceNumberTextField;
00142 Widget _label21;
00143 Widget _label18;
00144 Widget _sphereResTextField;
00145 Widget _sphereRadiusTextField;
00146 Widget _sphereColorRangeLabel;
00147 Widget _label11;
00148 Widget _sphereValueRangeLabel;
00149 Widget _label8;
00150 Widget _sphereTitleLabel;
00151 Widget _axesBulletinBoard;
00152 Widget _axesLabel3;
00153 Widget _axesLabel2;
00154 Widget _axesLabel1;
00155 Widget _axesTitleLabel;
00156 Widget _axesLenLabel;
00157 Widget _axesLenTextField;
00158 Widget _vectorFieldBulletinBoard;
00159 Widget _vectorFieldTubeFacetsTextField;
00160 Widget _vectorFieldTubeFacetsLabel;
00161 Widget _vectorFieldTubeRadiusTextField;
00162 Widget _vectorFieldTubeRadiusLabel;
00163 Widget _vectorParticleTubeVectorFlagToggleButton1;
00164 Widget _vectorFieldTitleLabel;
00165 Widget _vectorFieldScaleFactorLabel;
00166 Widget _vectorFieldScaleFactorTextField;
00167 Widget _vectorParticleBulletinBoard;
00168 Widget _vectorParticleTubeVectorFlagToggleButton;
00169 Widget _vectorParticleTubeFacetsTextField;
00170 Widget _vectorParticleTubeFacetsLabel;
00171 Widget _vectorParticleTubeRadiusTextField;
00172 Widget _vectorParticleTubeRadiusLabel;
00173 Widget _vectorParticleTraceNumberTextField;
00174 Widget _vectorParticleTraceNumberLabel;
00175 Widget _vectorParticleTitleLabel;
00176 Widget _vectorParticleScaleFactorLabel;
00177 Widget _vectorParticleScaleFactorTextField;
00178 Widget _particleLineTraceBulletinBoard;
00179 Widget _particleLineTraceTubeFlagToggleButton;
00180 Widget _particleLineToolTraceNumberLabel;
00181 Widget _particleLineTraceNumberTextField;
00182 Widget _particleLineTraceToolTubeResolutionLabel;
00183 Widget _particleLineTraceToolTubeRadiusLabel;
00184 Widget _particleLineTraceToolTubeResolutionTextField;
00185 Widget _particleLineTraceToolTubeRadiusTextField;
00186 Widget _particleLineTraceToolTitleLabel;
00187 Widget _menuBar;
00188 Widget _cascadeButton;
00189 Widget _pulldownMenu;
00190 Widget _pushButton4;
00191 Widget _goPushButton;
00192 Widget _stopPushButton;
00193 Widget _pushButton10;
00194 Widget _exitPushButton;
00195 Widget _cascadeButton1;
00196 Widget _pulldownMenu1;
00197 Widget _pushButton1;
00198 Widget _pushButton;
00199 Widget _deletePushButton1;
00200 Widget _drawingArea;
00201 Widget _selectToolDialogShell;
00202 Widget _selectDialogBulletinBoard;
00203 Widget _selectToolScrolledWindow;
00204 Widget _selectList;
00205 Widget _pushButton3;
00206 Widget _pushButton2;
00207 Widget _label2;
00208 Widget _newToolDialogShell;
00209 Widget _newDialogBulletinBoard;
00210 Widget _selectDataScrolledWindow;
00211 Widget _newDataList;
00212 Widget _selectToolTypeScrolledWindow;
00213 Widget _newToolTypeList;
00214 Widget _label1;
00215 Widget _label;
00216 Widget _pushButton8;
00217 Widget _pushButton7;
00218 Widget _deleteDialogShell;
00219 Widget _deleteDialogBulletinBoard;
00220 Widget _deleteListScrolledWindow;
00221 Widget _deleteList;
00222 Widget _pushButton9;
00223 Widget _pushButton6;
00224 Widget _label4;
00225
00226
00227
00228
00229
00230 virtual void misoNumContoursTextFieldActivate(Widget, XtPointer, XtPointer);
00231 virtual void misoContourRangeMaxTextFieldActivate(Widget, XtPointer, XtPointer);
00232 virtual void misoContourRangeMinTextFieldActivate(Widget, XtPointer, XtPointer);
00233 virtual void sliceValueScaleChanged(Widget, XtPointer, XtPointer);
00234 virtual void sliceXYChanged(Widget, XtPointer, XtPointer);
00235 virtual void sliceYZchanged(Widget, XtPointer, XtPointer);
00236 virtual void sliceXZChanged(Widget, XtPointer, XtPointer);
00237 virtual void sliceValueTextFieldActivate(Widget, XtPointer, XtPointer);
00238 virtual void IsoTransparencyTextFieldActivate(Widget, XtPointer, XtPointer);
00239 virtual void isoValueScaleChangedCallback(Widget, XtPointer, XtPointer);
00240 virtual void IsoValueTextFieldActivate(Widget, XtPointer, XtPointer);
00241 virtual void sphereToolTraceNumTextFieldActivate(Widget, XtPointer, XtPointer);
00242 virtual void sphereResTextFieldActivate(Widget, XtPointer, XtPointer);
00243 virtual void sphereRadiusTextFieldActivate(Widget, XtPointer, XtPointer);
00244 virtual void axesLenTextFieldActivate(Widget, XtPointer, XtPointer);
00245 virtual void vectorFieldTubeFacetsTextFieldActivate(Widget, XtPointer, XtPointer);
00246 virtual void vectorFieldTubeRadiusTextFieldActivate(Widget, XtPointer, XtPointer);
00247 virtual void vectorFieldTubeVectorsFlagChanged(Widget, XtPointer, XtPointer);
00248 virtual void vectorFieldScaleFactorTextFieldActivate(Widget, XtPointer, XtPointer);
00249 virtual void vectorParticleTubeVectorsFlagChanged(Widget, XtPointer, XtPointer);
00250 virtual void vectorParticleTubeFacetsTextFieldActivate(Widget, XtPointer, XtPointer);
00251 virtual void vectorParticleTubeRadiusTextFieldActivate(Widget, XtPointer, XtPointer);
00252 virtual void vectorParticleTraceNumberTextFieldActivate(Widget, XtPointer, XtPointer);
00253 virtual void vectorParticleScaleFactorTextFieldActivate(Widget, XtPointer, XtPointer);
00254 virtual void particleLineTraceTubeFlagChangedActivateCallback(Widget, XtPointer, XtPointer);
00255 virtual void particleLineTraceNumTextFieldActivate(Widget, XtPointer, XtPointer);
00256 virtual void Step(Widget, XtPointer, XtPointer);
00257 virtual void Go(Widget, XtPointer, XtPointer);
00258 virtual void Stop(Widget, XtPointer, XtPointer);
00259 virtual void SaveImage(Widget, XtPointer, XtPointer);
00260 virtual void Exit(Widget, XtPointer, XtPointer);
00261 virtual void DialogNewCallback(Widget, XtPointer, XtPointer);
00262 virtual void SelectDialogCallback(Widget, XtPointer, XtPointer);
00263 virtual void DeleteDialogCallback(Widget, XtPointer, XtPointer);
00264 virtual void VTKRefresh(Widget, XtPointer, XtPointer);
00265 virtual void InteractExit(Widget, XtPointer, XtPointer);
00266 virtual void SelectSelectTool(Widget, XtPointer, XtPointer);
00267 virtual void SelectCancelCallback(Widget, XtPointer, XtPointer);
00268 virtual void SelectOKCallback(Widget, XtPointer, XtPointer);
00269 virtual void NewSelectDataObject(Widget, XtPointer, XtPointer);
00270 virtual void NewSelectToolType(Widget, XtPointer, XtPointer);
00271 virtual void NewCancelCallback(Widget, XtPointer, XtPointer);
00272 virtual void NewOKCallback(Widget, XtPointer, XtPointer);
00273 virtual void DeleteDeleteTool(Widget, XtPointer, XtPointer);
00274 virtual void DeleteCancelCallback(Widget, XtPointer, XtPointer);
00275 virtual void DeleteOKCallback(Widget, XtPointer, XtPointer);
00276
00277
00278 virtual void add_item(Widget, XtPointer, XtPointer);
00279 virtual int select_item(Widget, XtPointer, XtPointer);
00280 virtual void delete_item(Widget, XtPointer, XtPointer);
00281 Widget _selectedBulletinBoard;
00282
00283 private:
00284
00285
00286
00287
00288 static String _defaultMainWindowResources[];
00289 static UIAppDefault _appDefaults[];
00290 static Boolean _initAppDefaults;
00291
00292
00293
00294 UICallbackStruct *_clientDataStructs;
00295
00296
00297
00298
00299 static void misoNumContoursTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00300 static void misoContourRangeMaxTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00301 static void misoContourRangeMinTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00302 static void sliceValueScaleChangedCallback(Widget, XtPointer, XtPointer);
00303 static void sliceXYChangedCallback(Widget, XtPointer, XtPointer);
00304 static void sliceYZchangedCallback(Widget, XtPointer, XtPointer);
00305 static void sliceXZChangedCallback(Widget, XtPointer, XtPointer);
00306 static void sliceValueTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00307 static void IsoTransparencyTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00308 static void isoValueScaleChangedCallbackCallback(Widget, XtPointer, XtPointer);
00309 static void IsoValueTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00310 static void sphereToolTraceNumTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00311 static void sphereResTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00312 static void sphereRadiusTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00313 static void axesLenTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00314 static void vectorFieldTubeFacetsTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00315 static void vectorFieldTubeRadiusTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00316 static void vectorFieldTubeVectorsFlagChangedCallback(Widget, XtPointer, XtPointer);
00317 static void vectorFieldScaleFactorTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00318 static void vectorParticleTubeVectorsFlagChangedCallback(Widget, XtPointer, XtPointer);
00319 static void vectorParticleTubeFacetsTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00320 static void vectorParticleTubeRadiusTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00321 static void vectorParticleTraceNumberTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00322 static void vectorParticleScaleFactorTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00323 static void particleLineTraceTubeFlagChangedActivateCallbackCallback(Widget, XtPointer, XtPointer);
00324 static void particleLineTraceNumTextFieldActivateCallback(Widget, XtPointer, XtPointer);
00325 static void StepCallback(Widget, XtPointer, XtPointer);
00326 static void GoCallback(Widget, XtPointer, XtPointer);
00327 static void StopCallback(Widget, XtPointer, XtPointer);
00328 static void SaveImageCallback(Widget, XtPointer, XtPointer);
00329 static void ExitCallback(Widget, XtPointer, XtPointer);
00330 static void DialogNewCallbackCallback(Widget, XtPointer, XtPointer);
00331 static void SelectDialogCallbackCallback(Widget, XtPointer, XtPointer);
00332 static void DeleteDialogCallbackCallback(Widget, XtPointer, XtPointer);
00333 static void VTKRefreshCallback(Widget, XtPointer, XtPointer);
00334 static void InteractExitCallback(Widget, XtPointer, XtPointer);
00335 static void SelectSelectToolCallback(Widget, XtPointer, XtPointer);
00336 static void SelectCancelCallbackCallback(Widget, XtPointer, XtPointer);
00337 static void SelectOKCallbackCallback(Widget, XtPointer, XtPointer);
00338 static void NewSelectDataObjectCallback(Widget, XtPointer, XtPointer);
00339 static void NewSelectToolTypeCallback(Widget, XtPointer, XtPointer);
00340 static void NewCancelCallbackCallback(Widget, XtPointer, XtPointer);
00341 static void NewOKCallbackCallback(Widget, XtPointer, XtPointer);
00342 static void DeleteDeleteToolCallback(Widget, XtPointer, XtPointer);
00343 static void DeleteCancelCallbackCallback(Widget, XtPointer, XtPointer);
00344 static void DeleteOKCallbackCallback(Widget, XtPointer, XtPointer);
00345
00346
00347 VizRecord *currentToolRecord;
00348
00349 };
00350
00351
00352
00353 #endif // ACLVIS_MAIN_WINDOW_H
00354
00355
00356
00357
00358
00359
00360