fbcontrols/fbcontrols.h File Reference

fbcontrols.h File Reference
#include <kaydaradef.h>
#include <fbsdk/fbcomponent.h>

File Description

Contains the user interface components for the SDK.

All of the user interface elements available for use with the SDK are defined in this file. These elements (for the most part) derive from the FBVisualComponent base class and provide the functionality required to develop an interface for a plugin.

Definition in file fbcontrols.h.

Classes

class  FBVisualComponent
 Visual Component base class. More...
 
struct  FBVisualComponent::__Region
 Region information structure. More...
 
struct  FBVisualComponent::__Region::__Ratio
 Structure for attachment ratio. More...
 
struct  FBVisualComponent::__Region::__AttachType
 Structure for attachment types. More...
 
struct  FBVisualComponent::__Region::__AttachTo
 Structure for attachment components. More...
 
struct  FBVisualComponent::__Region::__Pos
 Structure for absolute positions. More...
 
struct  FBVisualComponent::__Border
 Border information structure. More...
 
class  FBEventInput
 Input event class. More...
 
class  FBEventTransaction
 Transaction event. More...
 
class  FBEventDragAndDrop
 Drag and drop interface. More...
 
class  FBEventShow
 Show event class. More...
 
class  FBEventActivate
 Activation event. More...
 
class  FBEventExpose
 Event sent when a control needs to be displayed. More...
 
class  FBEventResize
 Event sent to a control that resizes. More...
 
class  FBEventMenu
 Menu event. More...
 
class  FBMenuItem
 Menu Item. More...
 
class  FBLayout
 Used to build the user interface. More...
 
class  FBTabPanel
 Tab panel. More...
 
class  FBButton
 Used to create and manage buttons in a user interface. More...
 
class  FBArrowButton
 Creates a button which opens a layout to display content. More...
 
class  FBScrollBox
 Scroll Box. More...
 
class  FBLabel
 Text label. More...
 
class  FBImageContainer
 Image. More...
 
class  FBEdit
 Text edit box. More...
 
class  FBEditNumber
 Number edit box. More...
 
class  FBEditColor
 Color edit widget. More...
 
class  FBEditVector
 Vector edit widget. More...
 
class  FBEventDblClick
 Input event class. More...
 
class  FBList
 List of items. More...
 
class  FBSlider
 Slider. More...
 
class  FBLayoutRegion
 Layout region. More...
 
class  FBThermometer
 Thermometer. More...
 
class  FBSpreadPart
 Spreadsheet part. More...
 
class  FBSpreadCell
 Spreadsheet cell. More...
 
class  FBSpreadRow
 Spreadsheet row. More...
 
class  FBSpreadColumn
 Spreadsheet column. More...
 
class  FBSpread
 Base spreadsheet class. More...
 
class  FBEventSpread
 Spreadsheet event. More...
 
class  FBVisualContainer
 Used to create a container for a tool UI. More...
 
class  FBEditTimeCode
 
class  FBEventTree
 FBTree node event. More...
 
class  FBEventTreeSelect
 FBTree selection event. More...
 
class  FBTreeNode
 A node in the tree view. More...
 
class  FBPropertyListTreeNode
 PropertyList of nodes in the tree view. More...
 
class  FBTree
 Tree list view. More...
 
class  FBView
 Generic view. More...
 
class  FBProgress
 Progress bar. More...
 
class  FBPopup
 Popup window. More...
 
class  FBFilePopup
 File Popup (for open/save). More...
 
class  FBFolderPopup
 Folder Popup (for selecting a directory). More...
 
class  FBMemo
 Multi-line text input. More...
 
class  FBWebView
 Web viewer. More...
 
class  FBFCurveEditor
 FCurve editor. More...
 
class  FBPropertyConnectionEditor
 Property Connection Editor. More...
 
class  FBEditProperty
 Property editor widget. More...
 
class  FBEditPropertyModern
 Property editor widget. More...
 
class  FBBrowsingProperty
 Property browsing. More...
 
class  FBWidgetHolder
 Native Widget Holder (can be used to embed native Qt Widget inside MoBu UI elements) A Widget holder provides a bridge to instantiate a Native Qt widget into MB framework. More...
 
class  FBPlotPopup
 Plot Popup (for setting options only). More...
 
class  FBPropertyViewList
 FBProperty View List. More...
 
class  FBPropertyViewDefinition
 FBProperty View. More...
 
class  FBPropertyViewManager
 FBProperty View Manager. More...
 

Namespaces

 ORSDK2018
 

Macros

#define FBSDK_DLL   K_DLLEXPORT
 FBSDKDLL_ K_DLLEXPORT. More...
 
#define SPLIT_WIDTH   10
 SPLIT_WIDTH. More...
 
#define FBRegisterControl(ClassName, Path, Label, Description, IconFilename)
 Register a control. More...
 
#define FBMenuItemDeclare(ClassName, Parent)
 Menu Item class declaration. More...
 
#define FBMenuItemImplementation(ThisComponent)   FBClassImplementation( ThisComponent )
 Menu item class implementation. More...
 
#define FBRegisterMenuItem(ClassName)
 Menu item registration. More...
 
#define FBMenuItemActivation(ClassName)
 Menu item activation. More...
 
#define FBMenuItemHandle(ClassName, Handle)
 Get the handle of a menu item. More...
 

Typedefs

typedef IKtLayoutRegion * HIKtLayoutRegion
 
typedef IKtObject * HIKtObject
 
typedef IKtView * HIKtView
 
typedef class FBPropertyBase< FBLayout *, kFBPT_object > FBPropertyBaseLayout
 
typedef class FBPropertyBaseComponent< FBLayout * > FBPropertyLayout
 
typedef class FBPropertyBase< FBVisualComponent *, kFBPT_object > FBPropertyBaseVisualComponent
 
typedef class FBPropertyBaseComponent< FBVisualComponent * > FBPropertyVisualComponent
 
typedef class FBPropertyBase< FBView *, kFBPT_object > FBPropertyBaseView
 
typedef class FBPropertyBaseComponent< FBView * > FBPropertyView
 
typedef class FBPropertyBase< FBTreeNode *, kFBPT_object > FBPropertyBaseTreeNode
 
typedef class FBPropertyBaseComponent< FBTreeNode * > FBPropertyTreeNode
 
typedef class FBPropertyBaseEnum< enum FBOrientation > FBPropertyOrientation
 
typedef class FBPropertyBaseEnum< enum FBInputType > FBPropertyInputType
 
typedef class FBPropertyBaseEnum< enum FBInputModifier > FBPropertyInputModifier
 
typedef class FBPropertyBaseEnum< enum FBInputKey > FBPropertyInputKey
 
typedef class FBPropertyBase< FBFBVisualComponent *, kFBPT_object > FBPropertyBaseFBVisualComponent
 
typedef class FBPropertyBaseComponent< FBFBVisualComponent * > FBPropertyFBVisualComponent
 
typedef class FBPropertyBaseEnum< enum FBAttachType > FBPropertyAttachType
 
typedef class FBPropertyBaseEnum< enum FBBorderStyle > FBPropertyBorderStyle
 
typedef class FBPropertyBaseEnum< enum FBDragAndDropState > FBPropertyDragAndDropState
 
typedef class FBPropertyBaseEnum< enum FBMenuItemType > FBPropertyMenuItemType
 
typedef class FBPropertyBaseEnum< enum FBButtonStyle > FBPropertyButtonStyle
 
typedef class FBPropertyBaseEnum< enum FBTextJustify > FBPropertyTextJustify
 
typedef class FBPropertyBaseEnum< enum FBTextStyle > FBPropertyTextStyle
 
typedef class FBPropertyBaseEnum< enum FBButtonLook > FBPropertyButtonLook
 
typedef class FBPropertyBaseEnum< enum FBListStyle > FBPropertyListStyle
 
typedef class FBPropertyBaseEnum< enum FBCellStyle > FBPropertyCellStyle
 
typedef class FBPropertyBaseEnum< enum FBIconPosition > FBPropertyIconPosition
 
typedef class FBPropertyBaseEnum< enum FBEventTreeWhy > FBPropertyEventTreeWhy
 
typedef class FBPropertyBaseEnum< enum FBFilePopupStyle > FBPropertyFilePopupStyle
 

Enumerations

enum  FBOrientation { kFBHorizontal, kFBVertical }
 General directions for UI components. More...
 
enum  FBInputType {
  kFBKeyPress, kFBKeyRelease, kFBButtonPress, kFBButtonRelease,
  kFBMotionNotify, kFBButtonDoubleClick, kFBMouseEnter, kFBMouseLeave,
  kFBMouseWheelNotify, kFBDragging, kFBDropping, kFBKeyPressRaw,
  kFBKeyReleaseRaw, kFBUnknownInput
}
 Types of input events. More...
 
enum  FBInputModifier { kFBKeyNone = 0, kFBKeyShift = 1 << 0, kFBKeyCtrl = 1 << 1, kFBKeyAlt = 1 << 2 }
 Input Modifiers (Ctrl, Alt, Shift). More...
 
enum  FBInputKey {
  kFBKeyReturn = 0x0D, kFBKeyBackSpace = 0x08, kFBKeyTab = 0x09, kFBKeyEscape = 0x1B,
  kFBKeyPageUp = 0x121, kFBKeyPageDown = 0x122, kFBKeyEnd = 0x123, kFBKeyHome = 0x124,
  kFBKeyLeft = 0x125, kFBKeyUp = 0x126, kFBKeyRight = 0x127, kFBKeyDown = 0x128,
  kFBKeyIns = 0x12D, kFBKeyDel = 0x12E, kFBKeyF1 = 0x170, kFBKeyF2 = 0x171,
  kFBKeyF3 = 0x172, kFBKeyF4 = 0x173, kFBKeyF5 = 0x174, kFBKeyF6 = 0x175,
  kFBKeyF7 = 0x176, kFBKeyF8 = 0x177, kFBKeyF9 = 0x178, kFBKeyF10 = 0x179,
  kFBKeyF11 = 0x17A, kFBKeyF12 = 0x17B
}
 Keyboard inputs. More...
 
enum  FBColorIndex {
  kFBColorIndexBackground, kFBColorIndexBackground1, kFBColorIndexForeground, kFBColorIndexForeground1,
  kFBColorIndexForeground2, kFBColorIndexAlternate1, kFBColorIndexAlternate2, kFBColorIndexHighlight,
  kFBColorIndexShadow, kFBColorIndexWhite, kFBColorIndexBlack, kFBColorIndexLtGray,
  kFBColorIndexGray, kFBColorIndexDkGray, kFBColorIndexRed, kFBColorIndexGreen,
  kFBColorIndexBlue, kFBColorIndexStdButton1, kFBColorIndexStdButton2, kFBColorIndexFlatButtonActive1,
  kFBColorIndexFlatButtonActive2, kFBColorIndexFlatButtonPassive1, kFBColorIndexFlatButtonPassive2, kFBColorIndexStdCheckboxClear1,
  kFBColorIndexStdCheckboxClear2, kFBColorIndexStdCheckboxAmbig1, kFBColorIndexStdCheckboxAmbig2, kFBColorIndexStdCheckboxDisabled1,
  kFBColorIndexStdCheckboxDisabled2, kFBColorIndexStdField1, kFBColorIndexStdField2, kFBColorIndexStdScrollActive1,
  kFBColorIndexStdScrollActive2, kFBColorIndexStdScrollPassive1, kFBColorIndexStdScrollPassive2, kFBColorIndexStdScrollCursor,
  kFBColorIndexStdListBg1, kFBColorIndexStdListBgSelected1, kFBColorIndexStdListBgSelected2, kFBColorIndexStdListBgFocusSelected1,
  kFBColorIndexStdListText, kFBColorIndexStdListTextSelected, kFBColorIndexStdListTextDragover, kFBColorIndexStdListLine,
  kFBColorIndexStdTabActive1, kFBColorIndexStdTabActive2, kFBColorIndexStdTabPassive1, kFBColorIndexStdTabPassive2,
  kFBColorIndexFlatTabBg1, kFBColorIndexFlatTabTextSelected, kFBColorIndexDisabled1, kFBColorIndexDisabled2,
  kFBColorIndexSelected, kFBColorIndexTimelineOutside, kFBColorIndexTimelineOutside1, kFBColorIndexTimelineCenter,
  kFBColorIndexTimelineCenter1, kFBColorIndexTimelineCenter2, kFBColorIndexTimelineShadow, kFBColorIndexTimelineHighlight,
  kFBColorIndexTimelineManipulator, kFBColorIndexStdListBgFocusSelected2, kFBColorIndexTreeBgTitle, kFBColorIndexTreeBgSubtitle,
  kFBColorIndexTreeBgSubtitleLine, kFBColorIndexTreeBgNode, kFBColorIndexTreeEditboxBg, kFBColorIndexTreeSplitter,
  kFBColorIndexTreeKeyingGroup, kFBColorIndexTreeOddRow, kFBColorIndexTreeSelect, kFBColorIndexTreeKeyingSelect,
  kFBColorIndexDkGreen, kFBColorIndexSize
}
 FBColor. More...
 
enum  FBAttachType {
  kFBAttachLeft, kFBAttachRight, kFBAttachTop, kFBAttachBottom,
  kFBAttachWidth, kFBAttachHeight, kFBAttachCenter, kFBAttachNone
}
 Types of attachments between UI regions. More...
 
enum  FBBorderStyle {
  kFBNoBorder, kFBStandardBorder, kFBEmbossBorder, kFBEmbossSmoothBorder,
  kFBEmbossEdgeSmoothBorder, kFBEmbossSmoothEdgeBorder, kFBStandardSmoothBorder, kFBStandardEdgeSmoothBorder,
  kFBStandardSmoothEdgeBorder, kFBHighlightBorder, kFBPickingBorder
}
 Different border types available. More...
 
enum  FBDragAndDropState {
  kFBDragAndDropBegin, kFBDragAndDropDrag, kFBDragAndDropDrop, kFBDragAndDropEnd,
  kFBDragOnEmpty, kFBDragOnEmptyDrop
}
 State of Drag and Drop. More...
 
enum  FBMenuItemType { kFBMenuItemMotionImport, kFBMenuItemSceneImport, kFBMenuItemMotionExport, kFBMenuItemSceneExport }
 Types of menu items available. More...
 
enum  FBButtonStyle {
  kFBPushButton, kFBBitmapButton, kFBRadioButton, kFB2States,
  kFBCheckbox =kFB2States, kFBBitmap2States
}
 Style of buttons. More...
 
enum  FBButtonState { kFBButtonState0, kFBButtonState1 }
 Possible button states. More...
 
enum  FBTextJustify { kFBTextJustifyLeft, kFBTextJustifyRight, kFBTextJustifyCenter }
 Text justification styles. More...
 
enum  FBTextStyle { kFBTextStyleNone = 0, kFBTextStyleBold = 1 << 0, kFBTextStyleItalic = 1 << 1, kFBTextStyleUnderlined = 1 << 2 }
 Text appearance styles. More...
 
enum  FBButtonLook {
  kFBLookNormal, kFBLookColorChange, kFBLookPush, kFBLookFlat,
  kFBLookAlphaBackground =99
}
 Button look. More...
 
enum  FBListStyle { kFBDropDownList, kFBVerticalList }
 List style or direction. More...
 
enum  FBCellStyle {
  kFBCellStyleDefault, kFBCellStyleString, kFBCellStyleDouble, kFBCellStyleInteger,
  kFBCellStyleButton, kFBCellStyle2StatesButton, kFBCellStyle3StatesButton, kFBCellStyleMenu,
  kFBCellStyleVoid, kFBCellStyleView, kFBCellStyleTime
}
 Different styles of spreadsheet cell styles. More...
 
enum  FBIconPosition { kFBIconLeft, kFBIconTop }
 Different icon positions possible. More...
 
enum  FBEventTreeWhy { kFBEventTreeExpand, kFBEventTreeCollapse, kFBEventTreeHideNode, kFBEventTreeUnhideNode }
 Tree node different event type. More...
 
enum  FBFilePopupStyle { kFBFilePopupOpen, kFBFilePopupSave }
 Different types of file popup windows. More...
 
enum  FBPopupInputType {
  kFBPopupBool, kFBPopupChar, kFBPopupString, kFBPopupInt,
  kFBPopupFloat, kFBPopupDouble, kFBPopupPassword
}
 User input types for a popup. More...
 
enum  FBPropertyViewType { kFBViewGlobal = 0, kFBViewByObjectType, kFBViewByObject }
 Property view set type. More...
 

Functions

int FBMessageBox (const char *pBoxTitle, const char *pMessage, const char *pButton1Str, const char *pButton2Str=((void *) 0), const char *pButton3Str=((void *) 0), int pDefaultButton=0, int pScrolledMessage=0)
 Dialog popup box. More...
 
int FBMessageBoxWithCheck (const char *pBoxTitle, const char *pMessage, const char *pButton1Str, const char *pButton2Str, const char *pButton3Str, const char *pCheckBoxStr, bool &pCheckBoxValue, int pDefaultButton=0, int pScrolledMessage=0)
 Dialog popup box with a check box. More...
 
int FBMessageBoxGetUserValue (const char *pBoxTitle, const char *pMessage, void *pValue, FBPopupInputType pValueType, const char *pButton1Str, const char *pButton2Str=((void *) 0), const char *pButton3Str=((void *) 0), int pDefaultButton=0, bool pLastButtonCancel=true)
 Dialog popup box to get user input. More...
 

Macro Definition Documentation

#define FBMenuItemActivation (   ClassName)
Value:
extern ClassName* g##ClassName; \
g##ClassName = new ClassName; \
g##ClassName->Activate();

Menu item activation.

Parameters
ClassNameMenu item class to activate.
+ Examples:

Definition at line 654 of file fbcontrols.h.

#define FBMenuItemDeclare (   ClassName,
  Parent 
)
Value:
FBClassDeclare( ClassName,Parent ); \
public: \
ClassName():Parent() { FBClassInit; FBCreate(); } \
private:
#define FBClassInit
Class initialization.
Definition: fbdefines.h:64
#define FBClassDeclare(Name, Parent)
Class declaration.
Definition: fbdefines.h:85

Menu Item class declaration.

Parameters
ClassNameName of menu item class to declare.
ParentName of menu item class's parent class.
+ Examples:

Definition at line 626 of file fbcontrols.h.

#define FBMenuItemHandle (   ClassName,
  Handle 
)
Value:
extern ClassName* g##ClassName; \
Handle = g##ClassName;

Get the handle of a menu item.

Parameters
ClassNameMenu item class to get a handle for.
Return values
HandleHandle to the menu item.
+ Examples:

Definition at line 663 of file fbcontrols.h.

#define FBMenuItemImplementation (   ThisComponent)    FBClassImplementation( ThisComponent )

Menu item class implementation.

Parameters
ThisComponentMenu item class to implement.
+ Examples:

Definition at line 635 of file fbcontrols.h.

#define FBRegisterControl (   ClassName,
  Path,
  Label,
  Description,
  IconFilename 
)
Value:
HIObject RegisterControl##ClassName( HIObject /*pOwner*/,const char * /*pName*/,void * /*pData*/) \
{\
ClassName *Class = new ClassName; \
return Class->GetHIObject(); \
} \
FBLibraryModule( ClassName )\
{\
FBRegisterObject( ClassName,Path,Label,Description,RegisterControl##ClassName, true, IconFilename );\
FBRegisterObject( ClassName##1,"FBSDK",Label,Description,RegisterControl##ClassName, true, IconFilename );\
}

Register a control.

Parameters
ClassNameControl class name to register.
PathInternal path to store control.
LabelShort description of control.
DescriptionLong description of control.
IconFilenameFilename of associated icon.
Warning
The application path to specify is not a directory structure path.

Definition at line 86 of file fbcontrols.h.

#define FBRegisterMenuItem (   ClassName)
Value:
HIObject RegisterMenuItem##ClassName( HIObject /*pOwner*/,const char * /*pName*/,void * /*pData*/) \
{\
return NULL;\
}\
FBLibraryModule( ClassName ) \
{ \
} \
ClassName* g##ClassName;
#define NULL
Definition: kaydara.h:169

Menu item registration.

Parameters
ClassNameMenu item class to register.
+ Examples:

Definition at line 641 of file fbcontrols.h.

#define FBSDK_DLL   K_DLLEXPORT

FBSDKDLL_ K_DLLEXPORT.

Definition at line 50 of file fbcontrols.h.

#define SPLIT_WIDTH   10

SPLIT_WIDTH.

Definition at line 76 of file fbcontrols.h.

Typedef Documentation

typedef IKtLayoutRegion* HIKtLayoutRegion

Definition at line 55 of file fbcontrols.h.

typedef IKtObject* HIKtObject

Definition at line 56 of file fbcontrols.h.

typedef IKtView* HIKtView

Definition at line 57 of file fbcontrols.h.

Go to the source code of this file.