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