1 #ifndef __FBDEVICELAYOUT_H__
2 #define __FBDEVICELAYOUT_H__
48 #define FBSDK_DLL K_DLLIMPORT
58 #ifdef FBSDKUseNamespace
67 #if !defined(K_NO_OPTICAL)
76 #define FBRegisterDeviceLayout( ClassName,UniqueNameStr, IconFilename ) \
77 HIObject RegisterDeviceLayout##ClassName( HIObject ,const char * ,void *pData) \
79 ClassName *Class = new ClassName( (FBDevice*)FBGetFBObject((HIObject)pData) ); \
80 Class->mAllocated = true; \
81 if (Class->FBCreate()) { \
82 return Class->GetHIObject(); \
88 FBLibraryModule( ClassName ) \
90 FBRegisterObject( ClassName,"UI_Associated_ClassName",UniqueNameStr,UniqueNameStr" Device Layout",RegisterDeviceLayout##ClassName, true, IconFilename );\
97 #define FBDeviceLayoutDeclare( ClassName,Parent ) \
98 FBClassDeclare( ClassName,Parent ); \
100 ClassName(FBDevice* pDevice):Parent(pDevice) { FBClassInit; } \
106 #define FBDeviceLayoutImplementation( ThisComponent ) \
107 FBClassImplementation( ThisComponent )
118 class FBSDK_DLL FBDeviceLayout :
public FBLayout {
125 FBDeviceLayout( FBDevice* pDevice =
NULL );
130 #if !defined(K_NO_OPTICAL)
137 class FBSDK_DLL FBDeviceOpticalLayout :
public FBDeviceLayout
144 enum FBDeviceOpticalGUIOptions {
145 kGUIModelOpticalList = 1<<0,
146 kGUIModelOpticalCreate = 1<<1,
147 kGUIModelOpticalDampingTime = 1<<2,
148 kGUIDeviceStatus = 1<<3,
149 kGUIDeviceReset = 1<<4,
156 FBDeviceOpticalLayout( FBDevice* pDevice =
NULL );
160 virtual bool FBCreate();
163 FBDeviceOptical* mDeviceOptical;
173 #define FBTRACKER_NO_LENSFILE "-- no lens file --"
176 class FBSDK_DLL FBDeviceCameraLayout :
public FBDeviceLayout
181 FBDeviceCameraLayout(FBDevice* pDevice);
184 virtual bool FBCreate();
185 virtual void FBDestroy();
189 virtual void UICreate ();
190 virtual void UICreateLayoutInstruments ();
191 virtual void UICreateLayoutCommunication ();
192 virtual void UICreateLayoutInfo ();
193 virtual void UICreateLayoutCustom ();
194 virtual void UIConfigure ();
195 virtual void UIConfigureLayoutInstruments ();
196 virtual void UIConfigureLayoutCommunication ();
197 virtual void UIConfigureLayoutInfo ();
198 virtual void UIConfigureLayoutCustom ();
199 virtual void UIRefresh ();
200 virtual void UIRefreshLayoutInstruments ();
201 virtual void UIRefreshLayoutCommunications ();
202 virtual void UIRefreshLayoutCustom ();
203 virtual void UIUpdateEnabled ();
204 virtual void UIReset ();
205 virtual void UIResetLayoutInstruments ();
206 virtual void UIResetLayoutCommunications ();
207 virtual void UIResetLayoutCustom ();
213 virtual FBDeviceCameraInstrument* GetCurrentInstrument();
216 FBTabPanel mTabPanel;
218 FBLayout mLayoutInstruments;
219 FBList mListInstruments;
220 FBButton mButtonActive;
223 FBButton mButtonManualFov;
226 FBSlider mSliderFovX;
227 FBSlider mSliderFovY;
228 FBEditNumber mEditNumberFovX;
229 FBEditNumber mEditNumberFovY;
232 FBButton mButtonManualCenter;
233 FBLabel mLabelCenterX;
234 FBLabel mLabelCenterY;
235 FBSlider mSliderCenterX;
236 FBSlider mSliderCenterY;
237 FBEditNumber mEditNumberCenterX;
238 FBEditNumber mEditNumberCenterY;
241 FBLabel mLabelOffsetT;
242 FBLabel mLabelOffsetR;
243 FBEditVector mEditVectorOffsetT;
244 FBEditVector mEditVectorOffsetR;
247 FBButton mButtonLoadLensfile;
248 FBButton mButtonResetLensfile;
249 FBLabel mLabelLensfileName;
250 FBLabel mLabelInversion;
251 FBButton mButtonInvertZoom;
252 FBButton mButtonInvertFocus;
253 FBLabel mLabelFovUnits;
254 FBButton mButtonFovUnitsDeg;
255 FBButton mButtonFovUnitsRad;
256 FBLabel mLabelNodalX;
257 FBSlider mSliderNodalX;
258 FBEditNumber mEditNumberNodalX;
260 FBSlider mSliderZoomX;
261 FBEditNumber mEditNumberZoomX;
264 FBLabel mLabelAspectRatio;
265 FBSlider mSliderAspectRatio;
266 FBEditNumber mEditNumberAspectRatio;
267 FBLabel mLabelAspectRatioPresets;
268 FBList mListAspectRatioPresets;
270 FBLayout mLayoutCommunication;
272 FBLabel mLabelSyncDelay;
273 FBSlider mSliderSyncDelay;
274 FBEditNumber mEditNumberSyncDelay;
275 FBButton mButtonSyncInfo;
278 FBButton mButtonEnableSerial;
279 FBLabel mLabelSerialPort;
280 FBList mListSerialPort;
281 FBLabel mLabelSerialBaudRate;
282 FBList mListSerialBaudRate;
285 FBButton mButtonEnableNetwork;
286 FBLabel mLabelNetworkAddress;
287 FBEdit mEditNetworkAddress;
288 FBLabel mLabelNetworkPort;
289 FBEdit mEditNetworkPort;
290 FBLabel mLabelNetworkProtocol;
291 FBList mListNetworkProtocol;
294 FBButton mButtonEnableSharedMemory;
295 FBLabel mLabelHandle;
297 FBLabel mLabelAddress;
301 FBButton mButtonEnableSimulator;
302 FBLabel mLabelSimulatorFrequency;
303 FBSlider mSliderSimulatorFrequency;
304 FBEditNumber mEditNumberSimulatorFrequency;
305 FBLabel mLabelSimulatorAmplitude;
306 FBSlider mSliderSimulatorAmplitude;
307 FBEditNumber mEditNumberSimulatorAmplitude;
308 FBLabel mLabelSimulatorZoom;
309 FBSlider mSliderSimulatorZoom;
310 FBEditNumber mEditNumberSimulatorZoom;
311 FBLabel mLabelSimulatorFocus;
312 FBSlider mSliderSimulatorFocus;
313 FBEditNumber mEditNumberSimulatorFocus;
315 FBLayout mLayoutInfo;
316 FBSpread mSpreadInfo;
318 FBLayout mLayoutCustom;
322 virtual void OnDeviceStatusChange (
HISender pSender,
HKEvent pEvent );
327 virtual void OnListInstrumentsChange (
HISender pSender,
HKEvent pEvent );
332 virtual void OnButtonManualChange (
HISender pSender,
HKEvent pEvent );
333 virtual void OnButtonManualFovClick (
HISender pSender,
HKEvent pEvent );
334 virtual void OnButtonManualCenterClick (
HISender pSender,
HKEvent pEvent );
338 virtual void OnFovXEditNumberChange (
HISender pSender,
HKEvent pEvent );
339 virtual void OnFovYEditNumberChange (
HISender pSender,
HKEvent pEvent );
341 virtual void OnCenterXSliderChange (
HISender pSender,
HKEvent pEvent );
342 virtual void OnCenterYSliderChange (
HISender pSender,
HKEvent pEvent );
343 virtual void OnCenterXEditNumberChange (
HISender pSender,
HKEvent pEvent );
344 virtual void OnCenterYEditNumberChange (
HISender pSender,
HKEvent pEvent );
349 virtual void OnButtonLoadLensfileClick (
HISender pSender,
HKEvent pEvent );
350 virtual void OnButtonResetLensfileClick (
HISender pSender,
HKEvent pEvent );
358 virtual void OnNodalXSliderChange (
HISender pSender,
HKEvent pEvent );
359 virtual void OnNodalXEditNumberChange (
HISender pSender,
HKEvent pEvent );
362 virtual void OnZoomXEditNumberChange (
HISender pSender,
HKEvent pEvent );
364 virtual void OnAspectRatioSliderChange (
HISender pSender,
HKEvent pEvent );
365 virtual void OnAspectRatioEditNumberChange (
HISender pSender,
HKEvent pEvent );
366 virtual void OnAspectRatioPresetChange (
HISender pSender,
HKEvent pEvent );
371 virtual void OnSyncDelaySliderChange (
HISender pSender,
HKEvent pEvent );
372 virtual void OnSyncDelayEditNumberChange (
HISender pSender,
HKEvent pEvent );
373 virtual void OnButtonSyncInfoClick (
HISender pSender,
HKEvent pEvent );
377 virtual void OnEnableSimulatorClick (
HISender pSender,
HKEvent pEvent );
378 virtual void OnEnableNetworkClick (
HISender pSender,
HKEvent pEvent );
379 virtual void OnEnableSharedMemoryClick (
HISender pSender,
HKEvent pEvent );
383 virtual void OnSerialBaudRateChange (
HISender pSender,
HKEvent pEvent );
385 virtual void OnNetworkAddressChange (
HISender pSender,
HKEvent pEvent );
387 virtual void OnNetworkProtocolChange (
HISender pSender,
HKEvent pEvent );
389 virtual void OnSimulatorAmplitudeEditNumberChange (
HISender pSender,
HKEvent pEvent );
390 virtual void OnSimulatorAmplitudeSliderChange (
HISender pSender,
HKEvent pEvent );
391 virtual void OnSimulatorFrequencyEditNumberChange (
HISender pSender,
HKEvent pEvent );
392 virtual void OnSimulatorFrequencySliderChange (
HISender pSender,
HKEvent pEvent );
393 virtual void OnSimulatorZoomEditNumberChange (
HISender pSender,
HKEvent pEvent );
394 virtual void OnSimulatorZoomSliderChange (
HISender pSender,
HKEvent pEvent );
395 virtual void OnSimulatorFocusEditNumberChange (
HISender pSender,
HKEvent pEvent );
396 virtual void OnSimulatorFocusSliderChange (
HISender pSender,
HKEvent pEvent );
397 virtual void OnSharedMemoryChange (
HISender pSender,
HKEvent pEvent );
398 virtual void OnSharedMemoryHandleChange (
HISender pSender,
HKEvent pEvent );
399 virtual void OnSharedMemoryAddressChange (
HISender pSender,
HKEvent pEvent );
402 FBDeviceCamera* mDeviceCamera;
408 #ifdef FBSDKUseNamespace
#define __FBClassDeclare(Name, Parent)
For internal use only.
HIRegister HISender
HISender.
class FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
Contains definitions for devices, boxes and models.
Contains the user interface components for the SDK.
class FBPropertyBaseComponent< FBDevice * > FBPropertyDevice
HKEventBase HKEvent
HKEvent.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
#define FBSDKNamespace
FBSDKNamespace define.
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
class FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool