00001 #ifndef TECGUI_H_
00002 #define TECGUI_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00015 #if defined EXTERN
00016 #undef EXTERN
00017 #endif
00018 #if defined TECUTILGMODULE
00019 #define EXTERN
00020 #else
00021 #define EXTERN extern
00022 #endif
00023
00024 #ifndef _TECGLBL_H
00025 #error "Include TECGLBL.h before TECGUI.h"
00026 #endif
00027
00028 #if defined (MSWIN) && defined (_AFX)
00029 # define MSWIN_MFC
00030 #endif
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181 #if defined (MSWIN_MFC)
00182
00188 typedef void (* TecGUIMFCAllocDialogBar_pf)(CDialogBar** pDialogBar,
00189 UINT* nID);
00190
00191 #endif
00192
00193
00209 typedef LgIndex_t (*TecGUITextCallback_pf)(const char* TextString);
00220 typedef void (*TecGUIIntCallback_pf)(const LgIndex_t* Data);
00225 typedef void (*TecGUIVoidCallback_pf)(void);
00226
00227 #define MAINDIALOGID -1
00228 #define BADDIALOGID -2
00229 #define BADGUIID BADDIALOGID
00230 #define TECGUITECPLOTSIDEBAR -3
00231
00232
00233
00234
00235
00285 void TecGUIDialogEnableActionArea(LgIndex_t DialogID,
00286 Boolean_t EnableActionArea);
00326 void TecGUIDialogApplySetSensitivity(LgIndex_t DialogID,
00327 Boolean_t IsSensitive);
00364 void TecGUIDialogSetTopmost(LgIndex_t DialogID,
00365 Boolean_t MakeTopmost);
00366
00431 void TecGUIDialogSetPosition(LgIndex_t DialogID,
00432 AnchorAlignment_e Placement,
00433 LgIndex_t OffsetX,
00434 LgIndex_t OffsetY);
00435
00451 void TecGUIDialogSetLaunchPosition(LgIndex_t DialogID,
00452 AnchorAlignment_e Placement,
00453 LgIndex_t OffsetX,
00454 LgIndex_t OffsetY);
00455
00456
00457
00666 void TecGUIDialogSetPositionX(ArgList_pa ArgList);
00667
00683 void TecGUIDialogSetLaunchPositionX(ArgList_pa ArgList);
00684
00685
00686
00687
00688
00761 LgIndex_t TecGUIDialogCreateModeless(LgIndex_t ParentDialogID,
00762 LgIndex_t Width,
00763 LgIndex_t Height,
00764 const char *Title,
00765 TecGUIVoidCallback_pf InitCallback,
00766 TecGUIVoidCallback_pf CloseButtonCallback,
00767 TecGUIVoidCallback_pf HelpButtonCallback);
00768
00853 LgIndex_t TecGUIDialogCreateModal(LgIndex_t ParentDialogID,
00854 LgIndex_t Width,
00855 LgIndex_t Height,
00856 const char *Title,
00857 TecGUIVoidCallback_pf InitCallback,
00858 TecGUIVoidCallback_pf OkButtonCallback,
00859 TecGUIVoidCallback_pf ApplyButtonCallback,
00860 TecGUIVoidCallback_pf CancelButtonCallback,
00861 TecGUIVoidCallback_pf HelpButtonCallback);
00862
00914 void TecGUIBlockForModalDialog(Boolean_t *DoneWithModalDialog);
00915
00991 LgIndex_t TecGUIColoredButtonAdd(LgIndex_t ParentDialogID,
00992 LgIndex_t X,
00993 LgIndex_t Y,
00994 LgIndex_t Width,
00995 LgIndex_t Height,
00996 const char *LabelString,
00997 ColorIndex_t ColorIndex,
00998 TecGUIVoidCallback_pf ButtonCallback);
01066 LgIndex_t TecGUIButtonAdd(LgIndex_t ParentDialogID,
01067 LgIndex_t X,
01068 LgIndex_t Y,
01069 LgIndex_t Width,
01070 LgIndex_t Height,
01071 const char *LabelString,
01072 TecGUIVoidCallback_pf ButtonCallback);
01106 void TecGUIColoredButtonSetColor(LgIndex_t ButtonID,
01107 ColorIndex_t Color);
01108
01208 LgIndex_t TecGUIBitmapButtonAdd(LgIndex_t ParentDialogID,
01209 LgIndex_t X,
01210 LgIndex_t Y,
01211 LgIndex_t ButtonWidth,
01212 LgIndex_t ButtonHeight,
01213 LgIndex_t BitmapWidth,
01214 LgIndex_t BitmapHeight,
01215 const char *BitmapData_Array,
01216 Boolean_t UseTransparentColor,
01217 LgIndex_t TransparentR,
01218 LgIndex_t TransparentG,
01219 LgIndex_t TransparentB,
01220 TecGUIVoidCallback_pf ButtonCallback);
01221
01323 LgIndex_t TecGUIBitmapToggleAdd(LgIndex_t ParentDialogID,
01324 LgIndex_t X,
01325 LgIndex_t Y,
01326 LgIndex_t ButtonWidth,
01327 LgIndex_t ButtonHeight,
01328 LgIndex_t BitmapWidth,
01329 LgIndex_t BitmapHeight,
01330 const char *BitmapData_Array,
01331 Boolean_t UseTransparentColor,
01332 LgIndex_t TransparentR,
01333 LgIndex_t TransparentG,
01334 LgIndex_t TransparentB,
01335 TecGUIIntCallback_pf ValueChangedCallback);
01336
01368 void TecGUISetToolTip(LgIndex_t ControlID,
01369 const char *ToolTipText);
01401 void TecGUISetStatusLine(LgIndex_t ControlID,
01402 const char *StatusLineText);
01403
01404
01405
01440 void TecGUIButtonSetDefault(LgIndex_t DialogID,
01441 LgIndex_t ButtonID);
01473 void TecGUIButtonSetText(LgIndex_t ButtonID,
01474 const char *NewText);
01475
01476
01477
01478
01510 void TecGUISetSensitivity(LgIndex_t ControlID,
01511 Boolean_t IsSensitive);
01512
01544 void TecGUISetVisibility(LgIndex_t ControlID,
01545 Boolean_t MakeVisible);
01546
01617 LgIndex_t TecGUIOptionMenuAdd(LgIndex_t ParentDialogID,
01618 LgIndex_t X,
01619 LgIndex_t Y,
01620 LgIndex_t Width,
01621 LgIndex_t Height,
01622 const char *OptionList,
01623 TecGUIIntCallback_pf ValueChangedCallback);
01624
01656 void TecGUIOptionMenuSet(LgIndex_t OptionMenuID,
01657 LgIndex_t Selection);
01658
01691 LgIndex_t TecGUIOptionMenuSetByString(LgIndex_t OptionMenuID,
01692 const char *Name);
01693
01722 LgIndex_t TecGUIOptionMenuGet(LgIndex_t OptionMenuID);
01723
01724
01796 LgIndex_t TecGUIListAdd(LgIndex_t ParentDialogID,
01797 LgIndex_t X,
01798 LgIndex_t Y,
01799 LgIndex_t Width,
01800 LgIndex_t Height,
01801 Boolean_t IsMultiSelection,
01802 TecGUIIntCallback_pf ValueChangedCallback);
01803
01804
01805
01834 LgIndex_t TecGUIListGetItemCount(LgIndex_t ListID);
01835
01867 void TecGUIListAppendItem(LgIndex_t ListID,
01868 const char *Item);
01869
01909 char * TecGUIListGetString(LgIndex_t ListID,
01910 LgIndex_t Position);
01911
01948 void TecGUIListReplaceItem(LgIndex_t ListID,
01949 const char *Item,
01950 LgIndex_t Position);
01951
01977 void TecGUIListDeleteAllItems(LgIndex_t ListID);
01978
02010 void TecGUIListDeleteItemAtPos(LgIndex_t ListID,
02011 LgIndex_t Position);
02012
02038 void TecGUIListDeselectAllItems(LgIndex_t ListID);
02039
02079 void TecGUIListSetSelectedItem(LgIndex_t ListID,
02080 LgIndex_t Position);
02081
02082
02083
02084
02085
02086
02087
02151 void TecGUIListGetSelectedItems(LgIndex_t ListID,
02152 LgIndex_t **SelectedItemList,
02153 LgIndex_t *SelectedItemCount);
02154
02155
02156
02157
02158
02159
02160
02161
02162
02163
02209 void TecGUIListSetSelectedItems(LgIndex_t ListID,
02210 LgIndex_t *SelectedItemList,
02211 LgIndex_t SelectedItemCount);
02212
02242 LgIndex_t TecGUIListGetSelectedItem(LgIndex_t ListID);
02243
02270 void TecGUIListSelectAllItems(LgIndex_t ListID);
02271
02272
02340 LgIndex_t TecGUIToggleAdd(LgIndex_t ParentDialogID,
02341 LgIndex_t X,
02342 LgIndex_t Y,
02343 LgIndex_t Width,
02344 LgIndex_t Height,
02345 const char *Label,
02346 TecGUIIntCallback_pf ValueChangedCallback);
02347
02379 void TecGUIToggleSet(LgIndex_t ToggleID,
02380 Boolean_t SetOn);
02381
02382
02383
02412 Boolean_t TecGUIToggleGet(LgIndex_t ToggleID);
02413
02503 LgIndex_t TecGUIRadioBoxAdd(LgIndex_t ParentDialogID,
02504 LgIndex_t X,
02505 LgIndex_t Y,
02506 LgIndex_t Width,
02507 LgIndex_t Height,
02508 const char *Label1,
02509 const char *Label2,
02510 const char *Label3,
02511 const char *Label4,
02512 const char *Label5,
02513 TecGUIIntCallback_pf ValueChangedCallback);
02514
02546 void TecGUIRadioBoxSetToggle(LgIndex_t RadioBox,
02547 LgIndex_t ToggleNumber);
02548
02549
02578 LgIndex_t TecGUIRadioBoxGetToggle(LgIndex_t RadioBox);
02579
02630 LgIndex_t TecGUILabelAdd(LgIndex_t ParentDialogID,
02631 LgIndex_t X,
02632 LgIndex_t Y,
02633 const char *Label);
02634
02666 void TecGUILabelSetText(LgIndex_t LabelID,
02667 const char *LabelString);
02668
02700 void TecGUILabelSetLgIndex(LgIndex_t LabelID,
02701 LgIndex_t Value);
02702
02740 void TecGUILabelSetDouble(LgIndex_t LabelID,
02741 double Value,
02742 const char *Format);
02743
02780 void TecGUILabelSetSet(LgIndex_t LabelID,
02781 Set_pa Set,
02782 Boolean_t IncludeSquareBrackets);
02783
02845 LgIndex_t TecGUITextFieldAdd(LgIndex_t ParentDialogID,
02846 LgIndex_t X,
02847 LgIndex_t Y,
02848 LgIndex_t Width,
02849 LgIndex_t Height,
02850 TecGUITextCallback_pf ValueChangedCallback);
02851
02918 LgIndex_t TecGUITextAdd(LgIndex_t ParentDialogID,
02919 LgIndex_t X,
02920 LgIndex_t Y,
02921 LgIndex_t Width,
02922 LgIndex_t Height,
02923 Boolean_t IsReadOnly,
02924 TecGUITextCallback_pf ValueChangedCallback);
02925
02926
02964 void TecGUITextAddKeyEventCallback(LgIndex_t TextOrTextFieldID,
02965 TecGUIIntCallback_pf KeyEventCallback);
02966
02967
02968
02969
03008 void TecGUITextSetInsertPos(LgIndex_t Text,
03009 LgIndex_t Position);
03036 void TecGUITextSetMinInsertPos(LgIndex_t Text);
03064 void TecGUITextSetMaxInsertPos(LgIndex_t Text);
03097 void TecGUITextSetString(LgIndex_t Text,
03098 const char *TextString);
03138 char * TecGUITextGetString(LgIndex_t Text);
03173 void TecGUITextInsertString(LgIndex_t Text,
03174 const char *TextString);
03258 LgIndex_t TecGUIScaleAdd(LgIndex_t ParentDialogID,
03259 LgIndex_t X,
03260 LgIndex_t Y,
03261 LgIndex_t Width,
03262 LgIndex_t Height,
03263 LgIndex_t ScaleMin,
03264 LgIndex_t ScaleMax,
03265 LgIndex_t DecimalPrecision,
03266 TecGUIIntCallback_pf ValueChangedCallback,
03267 TecGUIIntCallback_pf DragValueChangedCallback);
03268
03300 void TecGUIScaleSetValue(LgIndex_t ScaleID,
03301 LgIndex_t NewValue);
03302
03344 void TecGUIScaleSetLimits(LgIndex_t ScaleID,
03345 LgIndex_t ScaleMin,
03346 LgIndex_t ScaleMax,
03347 LgIndex_t DecimalPrecision);
03348
03377 LgIndex_t TecGUIScaleGetValue(LgIndex_t ScaleID);
03378
03429 LgIndex_t TecGUIVertSeparatorAdd(LgIndex_t ParentDialogID,
03430 LgIndex_t X,
03431 LgIndex_t Y,
03432 LgIndex_t Height);
03433
03484 LgIndex_t TecGUIHorzSeparatorAdd(LgIndex_t ParentDialogID,
03485 LgIndex_t X,
03486 LgIndex_t Y,
03487 LgIndex_t Width);
03488
03550 LgIndex_t TecGUIFrameAdd(LgIndex_t ParentDialogID,
03551 LgIndex_t X,
03552 LgIndex_t Y,
03553 LgIndex_t Width,
03554 LgIndex_t Height,
03555 const char *Label);
03556
03588 void TecGUITextFieldSetString(LgIndex_t TextFieldID,
03589 const char *TextString);
03628 char * TecGUITextFieldGetString(LgIndex_t TextFieldID);
03663 Boolean_t TecGUITextFieldGetLgIndex(LgIndex_t TextFieldID,
03664 LgIndex_t *Value);
03699 Boolean_t TecGUITextFieldGetDouble(LgIndex_t TextFieldID,
03700 double *Value);
03755 Boolean_t TecGUITextFieldValidateLgIndex(LgIndex_t TextFieldID,
03756 const char *TextFieldName,
03757 LgIndex_t MinDomain,
03758 LgIndex_t MaxDomain,
03759 Boolean_t AllowMxSyntax);
03809 Boolean_t TecGUITextFieldValidateDouble(LgIndex_t TextFieldID,
03810 const char *TextFieldName,
03811 double MinDomain,
03812 double MaxDomain);
03853 Boolean_t TecGUITextFieldGetSet(LgIndex_t TextFieldID,
03854 Set_pa *Set);
03894 void TecGUITextFieldSetLgIndex(LgIndex_t TextFieldID,
03895 LgIndex_t Value,
03896 Boolean_t UseMx);
03934 void TecGUITextFieldSetDouble(LgIndex_t TextFieldID,
03935 double Value,
03936 const char *Format);
03973 void TecGUITextFieldSetSet(LgIndex_t TextFieldID,
03974 Set_pa Set,
03975 Boolean_t IncludeSquareBrackets);
03976
04003 void TecGUIDialogLaunch(LgIndex_t DialogID);
04004
04034 void TecGUIDialogDrop(LgIndex_t DialogID);
04035
04064 Boolean_t TecGUIDialogIsUp(LgIndex_t DialogID);
04065
04097 void TecGUIDialogSetTitle(LgIndex_t DialogID,
04098 const char *NewTitle);
04099
04131 void TecGUITextAppendString(LgIndex_t TextID,
04132 const char *TextString);
04133
04162 LgIndex_t TecGUIMenuBarAdd(LgIndex_t ParentDialogID);
04163
04210 LgIndex_t TecGUIMenuAdd(LgIndex_t ParentMenuID,
04211 const char *Label);
04212
04258 LgIndex_t TecGUIMenuAddItem(LgIndex_t ParentMenuID,
04259 const char *Label,
04260 const char *StatusLineText,
04261 TecGUIVoidCallback_pf Callback);
04262
04310 LgIndex_t TecGUIMenuAddToggle(LgIndex_t ParentMenuID,
04311 const char *Label,
04312 const char *StatusLineText,
04313 TecGUIIntCallback_pf Callback);
04314
04340 void TecGUIMenuAddSeparator(LgIndex_t ParentMenuID);
04341
04373 void TecGUIMenuItemSetText(LgIndex_t MenuItemID,
04374 const char *NewText);
04375
04407 void TecGUIMenuSetToggle(LgIndex_t MenuItemID,
04408 Boolean_t SetOn);
04409
04435 void TecGUIMenuDeleteItem(LgIndex_t MenuItemID);
04436
04502 LgIndex_t TecGUITabAdd(LgIndex_t ParentDialogID,
04503 LgIndex_t X,
04504 LgIndex_t Y,
04505 LgIndex_t Width,
04506 LgIndex_t Height,
04507 TecGUIIntCallback_pf ActivateCallback,
04508 TecGUIIntCallback_pf DeactivateCallback);
04509
04551 LgIndex_t TecGUITabAddPage(LgIndex_t TabID,
04552 const char *Caption);
04553
04593 void TecGUITabSetCurrentPage(LgIndex_t TabID,
04594 LgIndex_t PageID);
04595
04596
04597
04598
04654 LgIndex_t TecGUIFormAdd(LgIndex_t ParentDialogID,
04655 LgIndex_t X,
04656 LgIndex_t Y,
04657 LgIndex_t Width,
04658 LgIndex_t Height);
04659
04693 LgIndex_t TecGUIFormAddPage(LgIndex_t ParentFormID);
04694
04720 void TecGUIFormSetCurrentPage(LgIndex_t FormID);
04721
04722
04723
04796 LgIndex_t TecGUISpinTextFieldAdd(LgIndex_t ParentDialogID,
04797 LgIndex_t X,
04798 LgIndex_t Y,
04799 LgIndex_t Width,
04800 LgIndex_t Height,
04801 TecGUITextCallback_pf ValueChangedCallback,
04802 TecGUIVoidCallback_pf ButtonUpCallback,
04803 TecGUIVoidCallback_pf ButtonDownCallback);
04804
04853 Boolean_t TecGUISpinTextFieldIncLgIndex(LgIndex_t SpinTextFieldID,
04854 LgIndex_t Increment,
04855 LgIndex_t MinDomain,
04856 LgIndex_t MaxDomain);
04857
04913 Boolean_t TecGUISpinTextFieldIncDouble(LgIndex_t SpinTextFieldID,
04914 const char *Format,
04915 double Increment,
04916 double MinDomain,
04917 double MaxDomain);
04918
04919
04951 void TecGUIOptionMenuDeleteItemAtPos(LgIndex_t OptionMenuID,
04952 LgIndex_t Position);
04953
04985 void TecGUIOptionMenuAppendItem(LgIndex_t OptionMenuID,
04986 const char *Item);
04987
05016 LgIndex_t TecGUIOptionMenuGetItemCount(LgIndex_t OptionMenuID);
05017
05043 void TecGUIOptionMenuDeleteAllItems(LgIndex_t OptionMenuID);
05044
05084 char * TecGUIOptionMenuGetString(LgIndex_t OptionMenuID,
05085 LgIndex_t Position);
05086
05123 void TecGUIOptionMenuReplaceItem(LgIndex_t OptionMenuID,
05124 const char *NewText,
05125 LgIndex_t Position);
05126
05127
05128
05160 void TecGUIScaleShowNumericDisplay(LgIndex_t ScaleID,
05161 Boolean_t ShowDisplay);
05162
05163
05164
05225 LgIndex_t TecGUISidebarRegister(const char *SidebarName,
05226 AddOn_pa AddOnID,
05227 LgIndex_t Width,
05228 LgIndex_t Height,
05229 TecGUIVoidCallback_pf ActivateCallback,
05230 TecGUIVoidCallback_pf DeactivateCallback);
05231
05232 #if defined (MSWIN_MFC)
05233
05292 LgIndex_t TecGUIMFCSidebarRegister(const char *SidebarName,
05293 TecGUIMFCAllocDialogBar_pf DialogBarCreateCallback,
05294 TecGUIVoidCallback_pf ActivateCallback,
05295 TecGUIVoidCallback_pf DeactivateCallback);
05296
05297
05323 void TecGUIMFCSidebarUpdateData(Boolean_t bSaveAndValidate);
05324 #endif
05325
05326
05354 void TecGUISidebarActivate(LgIndex_t SidebarID);
05376 void TecGUISidebarDeactivateAll(void);
05377
05378
05413 Boolean_t TecGUISidebarIsActive(LgIndex_t SidebarID);
05414
05457 LgIndex_t TecGUIListGetCapacity(LgIndex_t ListID);
05494 LgIndex_t TecGUIListGetTopItemNum(LgIndex_t ListID);
05534 void TecGUIListSetTopItemNum(LgIndex_t ListID,
05535 LgIndex_t ItemNum);
05536
05537
05563 void TecGUISetInputFocus(LgIndex_t ControlID);
05564 #endif