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 )
130 #if !defined(K_NO_OPTICAL)
145 kGUIModelOpticalList = 1<<0,
146 kGUIModelOpticalCreate = 1<<1,
147 kGUIModelOpticalDampingTime = 1<<2,
148 kGUIDeviceStatus = 1<<3,
149 kGUIDeviceReset = 1<<4,
160 virtual bool FBCreate();
173 #define FBTRACKER_NO_LENSFILE "-- no lens file --"
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 ();
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 );
408 #ifdef FBSDKUseNamespace
HKEventBase HKEvent
HKEvent.
FBLabel mLabelNodalX
Instrument layout: Nodal shift label.
FBButton mButtonInvertZoom
Instrument layout: Invert zoom toggle.
FBButton mButtonInvertFocus
Instrument layout: Invert focus toggle.
#define __FBClassDeclare(Name, Parent)
For internal use only.
FBPropertyBool CustomLayout
Custom layout?
FBDeviceOptical * mDeviceOptical
Optical device.
FBEditNumber mEditNumberCenterX
Instrument layout: Optical center X numberical edit box.
FBLabel mLabelOffsetR
Instrument layout: Rotation offset label.
Layout for optical device.
FBSlider mSliderZoomX
Instrument layout: Zoom multiplier slider.
FBSlider mSliderSyncDelay
Communications layout: Sync delay slider.
FBSlider mSliderCenterY
Instrument layout: Optical center Y slider.
FBButton mButtonActive
Instrument layout: Active button.
FBEdit mEditAddress
Communications layout: Shared Memory: Address text edit.
FBEditNumber mEditNumberSimulatorFocus
Communications layout: Simulator: Focus numerical edit.
FBLabel mLabelNetworkAddress
Communications layout: Network: Address label.
FBLabel mLabelAspectRatioPresets
Instrument layout: Aspect ratio preset label.
FBLayout mLayoutInfo
Information layout.
FBSlider mSliderSimulatorAmplitude
Communications layout: Simulator: Amplitude slider.
FBLayout mLayoutCustom
Custom layout.
Contains definitions for devices, boxes and models.
FBLabel mLabelLensfileName
Instrument layout: Lensfile filename label.
FBEditNumber mEditNumberZoomX
Instrument layout: Zomm multiplier numerical edit.
FBSlider mSliderSimulatorFocus
Communications layout: Simulator: Focus slider.
FBLabel mLabelSimulatorAmplitude
Communications layout: Simulator: Amplitude label.
Contains the user interface components for the SDK.
FBEditNumber mEditNumberSyncDelay
Communications layout: Sync delay numerical edit box.
FBList mListSerialBaudRate
Communications layout: Serial: Baud rate list.
FBEditVector mEditVectorOffsetT
Instrument layout: Translation offset vector edit.
FBLabel mLabelCenterY
Instrument layout: Optical center Y label.
FBLabel mLabelFovX
Instrument layout: FOV X label.
FBButton mButtonFovUnitsDeg
Instrument layout: FOV in degrees button.
FBList mListSerialPort
Communications layout: Serial: Port list.
FBEditVector mEditVectorOffsetR
Instrument layout: Rotation offset vector edit.
Used to build the user interface.
Camera device base class.
class FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
FBButton mButtonEnableSharedMemory
Communications layout: Enable shared memory button.
FBEditNumber mEditNumberNodalX
Instrument layout: Nodal shift numerical edit.
FBButton mButtonEnableSimulator
Communications layout: Enable simulator button.
FBPropertyInt SupportedCommTypes
Supported comm types.
FBEdit mEditNetworkPort
Communications layout: Network: Port text edit.
FBLabel mLabelOffsetT
Instrument layout: Translation offset label.
FBSlider mSliderCenterX
Instrument layout: Optical center X slider.
FBLabel mLabelSimulatorZoom
Communications layout: Simulator: Zoom label.
FBSlider mSliderSimulatorFrequency
Communications layout: Simulator: Frequency slider.
FBLabel mLabelNetworkPort
Communications layout: Network: Port label.
FBEdit mEditHandle
Communications layout: Shared Memory: Handle text edit.
FBPropertyInt GenericUIOptions
Property: GUI options.
FBEditNumber mEditNumberSimulatorAmplitude
Communications layout: Simulator: Amplitude numerical edit.
Base Device class. Cannot be instantiated from Python.
HIRegister HISender
HISender.
FBButton mButtonLoadLensfile
Instrument layout: Load lensfile button.
FBPropertyDevice Device
Property(R-): Handle on device.
FBLabel mLabelSimulatorFrequency
Communications layout: Simulator: Frequency label.
FBLabel mLabelFovUnits
Instrument layout: FOV units label.
Instrument for a camera device.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
FBSlider mSliderSimulatorZoom
Communications layout: Simulator: Zoom slider.
FBDeviceCamera * mDeviceCamera
Handle onto device.
FBLabel mLabelAddress
Communications layout: Shared Memory: Address label.
FBLabel mLabelZoomX
Instrument layout: Zoom multiplier label.
FBButton mButtonEnableSerial
Communications layout: Enable serial button.
FBButton mButtonSyncInfo
Communications layout: Sync information (debug) button.
#define FBSDKNamespace
FBSDKNamespace define.
FBEditNumber mEditNumberFovY
Instrument layout: FOV Y numerical edit box.
FBTabPanel mTabPanel
Main tab panel.
FBEdit mEditNetworkAddress
Communications layout: Network: Address text edit.
FBDeviceOpticalGUIOptions
Different options for optical device GUI.
FBButton mButtonManualCenter
Instrument layout: Manual optical center button.
FBEditNumber mEditNumberSimulatorZoom
Communications layout: Simulator: Zoom numerical edit.
FBLayout mLayoutInstruments
Instrument layout.
FBLabel mLabelAspectRatio
Instrument layout: Aspect ratio label.
FBLabel mLabelInversion
Instrument layout: Inversion label.
FBSlider mSliderAspectRatio
Instrument layout: Aspect ratio slider.
FBButton mButtonEnableNetwork
Communications layout: Enable network button.
FBLabel mLabelCenterX
Instrument layout: Optical center X label.
FBEditNumber mEditNumberSimulatorFrequency
Communications layout: Simulator: Frequency numerical edit.
FBList mListAspectRatioPresets
Instrument layout: Aspect ratio preset list.
FBList mListInstruments
Instrument layout: List of instruments.
FBButton mButtonFovUnitsRad
Instrument layout: FOV in radians button.
FBButton mButtonResetLensfile
Instrument layout: Reset lensfile status button.
FBLabel mLabelSerialPort
Communications layout: Serial: Port label.
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
FBLabel mLabelNetworkProtocol
Communications layout: Network: Protocol label.
FBSlider mSliderFovY
Instrument layout: FOV Y slider.
FBSlider mSliderNodalX
Instrument layout: Nodal shift slider.
FBEditNumber mEditNumberCenterY
Instrument layout: Optical center Y numberical edit box.
FBLabel mLabelHandle
Communications layout: Shared Memory: Handle label.
FBEditNumber mEditNumberFovX
Instrument layout: FOV X numerical edit box.
class FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
FBEditNumber mEditNumberAspectRatio
Instrument layout: Aspect ratio edit number.
FBLabel mLabelFovY
Instrument layout: FOV Y label.
FBSlider mSliderFovX
Instrument layout: FOV X slider.
FBLayout mLayoutCommunication
Communications layout.
FBButton mButtonManualFov
Instrument layout: Manual FOV control button.
FBSpread mSpreadInfo
Information layout: Spreadsheet.
FBLabel mLabelSimulatorFocus
Communications layout: Simulator: Focus label.
class FBPropertyBaseComponent< FBDevice * > FBPropertyDevice
FBLabel mLabelSerialBaudRate
Communications layout: Serial: Baud rate label.
FBList mListNetworkProtocol
Communications layout: Network: Protocol list.
FBLabel mLabelSyncDelay
Communications layout: Sync delay label.