fbcontrols/fbcontrols.h Source File

fbcontrols.h
Go to the documentation of this file.
1 #ifndef __FBCONTROLS_H__
2 #define __FBCONTROLS_H__
3 /**************************************************************************
4 Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5 All Rights Reserved.
6 
7 The coded instructions, statements, computer programs, and/or related
8 material (collectively the "Data") in these files contain unpublished
9 information proprietary to Autodesk, Inc. and/or its licensors, which is
10 protected by Canada and United States of America federal copyright law
11 and by international treaties.
12 
13 The Data may not be disclosed or distributed to third parties, in whole
14 or in part, without the prior written consent of Autodesk, Inc.
15 ("Autodesk").
16 
17 THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18 ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19 WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20 ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21 OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22 PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23 WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24 FREE.
25 
26 IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27 OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28 EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29 DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30 OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31 DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32 LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33 LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34 DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35 BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36 
37 **************************************************************************/
38 
47 #include <kaydaradef.h>
48 #ifndef FBSDK_DLL
49 #define FBSDK_DLL K_DLLEXPORT
51 #endif
52 
53 #include <fbxsdk/fbxsdk_nsbegin.h>
54  class FbxAnimCurveNode;
55  class FbxAnimStack;
56  class FbxProperty;
57 #include <fbxsdk/fbxsdk_nsend.h>
58 
59 #include <fbsdk/fbcomponent.h>
60 
61 K_FORWARD( IKtLayoutRegion );
62 K_FORWARD( IKtObject );
63 K_FORWARD( IKtView );
64 
65 class QWidget;
66 
67 #ifdef FBSDKUseNamespace
68  namespace FBSDKNamespace {
69 #endif
70 
72 FB_DEFINE_COMPONENT( FBSDK_DLL, VisualComponent );
74 
75 #ifdef K_DISABLE_UI //{
76 
77 #else // }{
78 
80 
82 #define SPLIT_WIDTH 10
83 
92 #define FBRegisterControl( ClassName, Path, Label, Description, IconFilename ) \
93  HIObject RegisterControl##ClassName( HIObject /*pOwner*/,const char * /*pName*/,void * /*pData*/) \
94 {\
95  ClassName *Class = new ClassName; \
96  return Class->GetHIObject(); \
97 } \
98  FBLibraryModule( ClassName )\
99 {\
100  FBRegisterObject( ClassName,Path,Label,Description,RegisterControl##ClassName, true, IconFilename );\
101  FBRegisterObject( ClassName##1,"FBSDK",Label,Description,RegisterControl##ClassName, true, IconFilename );\
102 }
103 
105 // General
107 
112 };
113 
114 FB_DEFINE_ENUM( FBSDK_DLL, Orientation );
115 
116 #endif //K_DISABLE_UI
117 
118 
120 // Input type, modifiers, and keys
138 };
139 
143  kFBKeyShift = 1 << 0,
144  kFBKeyCtrl = 1 << 1,
145  kFBKeyAlt = 1 << 2
146 };
147 
149 enum FBInputKey {
150  kFBKeyReturn = 0x0D,
152  kFBKeyTab = 0x09,
153  kFBKeyEscape = 0x1B,
154 
155  kFBKeyPageUp = 0x121,
156  kFBKeyPageDown = 0x122,
157  kFBKeyEnd = 0x123,
158  kFBKeyHome = 0x124,
159  kFBKeyLeft = 0x125,
160  kFBKeyUp = 0x126,
161  kFBKeyRight = 0x127,
162  kFBKeyDown = 0x128,
163 
164  kFBKeyIns = 0x12D,
165  kFBKeyDel = 0x12E,
166 
167  kFBKeyF1 = 0x170,
168  kFBKeyF2 = 0x171,
169  kFBKeyF3 = 0x172,
170  kFBKeyF4 = 0x173,
171  kFBKeyF5 = 0x174,
172  kFBKeyF6 = 0x175,
173  kFBKeyF7 = 0x176,
174  kFBKeyF8 = 0x177,
175  kFBKeyF9 = 0x178,
176  kFBKeyF10 = 0x179,
177  kFBKeyF11 = 0x17A,
178  kFBKeyF12 = 0x17B
179 };
180 
181 FB_DEFINE_ENUM( FBSDK_DLL, InputType );
182 FB_DEFINE_ENUM( FBSDK_DLL, InputModifier );
183 FB_DEFINE_ENUM( FBSDK_DLL, InputKey );
184 
187 {
188  // "Traditional" colors
206  // Colors to be defined and used by skins
263  // Total number of colors
265 };
266 
267 
268 #ifndef K_DISABLE_UI
269 
271 // FBVisualComponent
273 __FB_FORWARD( FBLayout );
274 __FB_FORWARD( FBVisualComponent );
275 
276 FB_FORWARD( FBStringList );
277 
278 FB_DEFINE_COMPONENT( FBSDK_DLL, FBVisualComponent );
279 
290 };
291 FB_DEFINE_ENUM( FBSDK_DLL, AttachType );
292 
306 };
307 FB_DEFINE_ENUM( FBSDK_DLL, BorderStyle ); // FBPropertyBorderStyle
308 
312 class FBSDK_DLL FBVisualComponent : public FBComponent {
313  __FBClassDeclare( FBVisualComponent,FBComponent );
314 protected:
315  friend class FBLayout;
316  friend class FBRenderer;
317 
321  virtual HIKtObject GetHIKtObject();
322 public:
324  FBVisualComponent(HIObject pObject);
325 
326  IObject_Declare(K_IMPLEMENTATION); // Interface to IObject
327  ICallback_Declare(K_IMPLEMENTATION); // Interface to ICallback
328 
332  virtual HIKtView GetKtView();
333 
337  QWidget* GetQWidgetAddress();
338 
344  virtual bool AddChild( FBVisualComponent* pChild,int pId=0);
345 
350  virtual FBVisualComponent* GetChild( int pId=0 );
351 
355  virtual void Refresh(bool pNow=false);
356 
358  virtual void ViewExpose();
359 
367  virtual void ViewInput(int pMouseX,int pMouseY,FBInputType pAction,int pButtonKey,int pModifier);
368 
372  virtual bool IsView();
373 
377  struct __Region
378  {
379  FBPropertyString Name;
380 
381  FBPropertyInt X;
382  FBPropertyInt Y;
383  FBPropertyInt Width;
384  FBPropertyInt Height;
385 
387  struct FBSDK_DLL __Ratio
388  {
389  FBPropertyFloat X;
390  FBPropertyFloat Y;
391  FBPropertyFloat Width;
392  FBPropertyFloat Height;
393  } Ratio;
394 
396  struct FBSDK_DLL __AttachType
397  {
398  FBPropertyAttachType X;
399  FBPropertyAttachType Y;
400  FBPropertyAttachType Width;
401  FBPropertyAttachType Height;
402  } AttachType;
403 
405  struct FBSDK_DLL __AttachTo
406  {
407  FBPropertyVisualComponent X;
408  FBPropertyVisualComponent Y;
409  FBPropertyVisualComponent Width;
410  FBPropertyVisualComponent Height;
411  } AttachTo;
412 
414  struct FBSDK_DLL __Pos
415  {
416  FBPropertyInt X[2];
417  FBPropertyInt Y[2];
418  } Position;
419 
420  } Region;
421 
423  struct FBSDK_DLL __Border
424  {
425  FBPropertyString Caption;
426  FBPropertyBool ShowCaption;
427  FBPropertyBorderStyle Style;
428  FBPropertyBool InSet;
429  FBPropertyInt Width;
430  FBPropertyInt Spacing;
431  FBPropertyFloat MaxAngle;
432  FBPropertyInt CornerRadius;
433  } Border;
434 
435  FBPropertyString Caption;
436  FBPropertyBool Visible;
437  FBPropertyBool ReadOnly;
438  FBPropertyBool Enabled;
439  FBPropertyString Hint;
440 
441  FBPropertyInt Left;
442  FBPropertyInt Top;
443  FBPropertyInt Width;
444  FBPropertyInt Height;
445 
446  FBPropertyEvent OnEnter;
447  FBPropertyEvent OnExit;
448 };
449 
450 
452 // FBEventInput
454 __FB_FORWARD( FBEventInput );
455 
457 class FBSDK_DLL FBEventInput : public FBEvent
458 {
459 public:
463  FBEventInput( HKEventBase pEvent );
464 
465  FBPropertyInputType InputType;
466  FBPropertyInt X;
467  FBPropertyInt Y;
468  FBPropertyInt MouseButton;
469  FBPropertyInt Key;
470  FBPropertyInt KeyState;
471  FBPropertyInt Pressure;
472  FBPropertyInt MouseWheelDelta;
473 };
474 
476 // FBEventTransaction
478 __FB_FORWARD( FBEventTransaction );
479 
481 class FBSDK_DLL FBEventTransaction : public FBEvent
482 {
483 public:
484  FBPropertyBool IsBeginTransaction;
485 
489  FBEventTransaction( HKEventBase pEvent);
490 };
492 // FBEventDragAndDrop
494 //__FB_FORWARD( FBDragAndDrop );
495 __FB_FORWARD( FBEventDragAndDrop );
496 
505 };
506 
507 FB_DEFINE_ENUM( FBSDK_DLL, DragAndDropState );
508 
510 class FBSDK_DLL FBEventDragAndDrop : public FBEvent
511 {
512 public:
516  FBEventDragAndDrop ( HKEventBase pEvent );
517 
518  virtual ~FBEventDragAndDrop(){}
519 
524  virtual void Accept();
525 
530  virtual void Add( FBComponent* pComponent, int pId=0);
531 
536  virtual FBComponent* Get( int pIndex );
537 
539  virtual void Clear();
540 
544  virtual int GetCount();
545 
546  //-- Properties
547  FBPropertyDragAndDropState State;
548  FBPropertyInt PosX;
549  FBPropertyInt PosY;
550  FBPropertykReference Data[2];
551 };
552 
554 // FBEventShow
556 __FB_FORWARD( FBEventShow );
557 
559 class FBSDK_DLL FBEventShow : public FBEvent
560 {
561 public:
565  FBEventShow( HKEventBase pEvent );
566 
567  FBPropertyBool Shown;
568 };
569 
571 // FBEventActivate
573 __FB_FORWARD( FBEventActivate );
574 
576 class FBSDK_DLL FBEventActivate : public FBEvent
577 {
578 public:
582  FBEventActivate( HKEventBase pEvent );
583 
584  FBPropertykReference Data;
585 };
586 
588 // FBEventExpose
590 __FB_FORWARD( FBEventExpose );
591 
593 class FBSDK_DLL FBEventExpose : public FBEvent
594 {
595 public:
599  FBEventExpose( HKEventBase pEvent );
600 
601  //FBGeometry* Data; //!< <b>Read Write Property:</b> Generic data of event.
602 };
603 
605 // FBEventResize
607 __FB_FORWARD( FBEventResize );
608 
610 class FBSDK_DLL FBEventResize : public FBEvent
611 {
612 public:
616  FBEventResize( HKEventBase pEvent );
617 
618  FBPropertyInt Width;
619  FBPropertyInt Height;
620 };
621 
623 // FBEventMenu
625 __FB_FORWARD(FBEventMenu);
626 __FB_FORWARD(FBMenuItem);
627 
632 #define FBMenuItemDeclare( ClassName,Parent ) \
633  FBClassDeclare( ClassName,Parent ); \
634 public: \
635  ClassName():Parent() { FBClassInit; FBCreate(); } \
636  static ClassName* g##ClassName; \
637 private:
638 
642 #define FBMenuItemImplementation( ClassName ) \
643  FBClassImplementation( ClassName ) \
644  ClassName* ClassName::g##ClassName = nullptr
645 
649 #define FBRegisterMenuItem( ClassName ) \
650  HIObject RegisterMenuItem##ClassName( HIObject /*pOwner*/,const char * /*pName*/,void * /*pData*/) \
651 {\
652  return NULL;\
653 }\
654  FBLibraryModule( ClassName ) \
655 { \
656 }
657 
661 #define FBMenuItemActivation( ClassName ) \
662  ClassName::g##ClassName = new ClassName; \
663  ClassName::g##ClassName->Activate()
664 
669 #define FBMenuItemHandle( ClassName, Handle ) \
670  Handle = ClassName::g##ClassName
671 
678 };
679 
680 FB_DEFINE_ENUM( FBSDK_DLL, MenuItemType );
681 
683 class FBSDK_DLL FBEventMenu : public FBEvent
684 {
685 public:
686  FBPropertyInt Id;
687  FBPropertyString Name;
688 
692  FBEventMenu( HKEventBase pEvent);
693 };
694 
696 class FBSDK_DLL FBMenuItem : public FBVisualComponent
697 {
698  __FBClassDeclare( FBMenuItem, FBVisualComponent );
699 
700 public:
702  FBMenuItem();
703 
710  void Set(FBMenuItemType pType, const char* pExtension, const char* pLabel, const char* pDescription);
711 
715  bool IsActive();
716 
724  void Activate( bool pState = true );
725 
731  virtual void OnItemSelectEvent(HIRegister pSender, HKEvent pEvent);
732 
733 public:
734  FBPropertyComponent Component;
735  FBPropertyString Extension;
736  FBPropertyString Label;
737  FBPropertyString Description;
738  FBPropertyMenuItemType Type;
739 
740  FBPropertyString Path;
741 
742 public:
750  virtual bool Execute(const char *pFilename=NULL) = 0;
751 };
752 
754 // FBLayout
756 
781 class FBSDK_DLL FBLayout : public FBVisualComponent {
782  __FBClassDeclare( FBLayout,FBVisualComponent );
783 public:
784 
786  enum FBSplitStyle
787  {
788  kFBNoSplit = 0,
789  kFBHSplit = 1,
790  kFBVSplit = 2,
791  kFBHVSplit = 3
792  };
793 
795  FBLayout(HIObject pObject=NULL);
796 
823  virtual bool AddRegion( const char *pName, const char *pTitle,
824  int pX, FBAttachType pXType, const char *pXRelative, float pMultX,
825  int pY, FBAttachType pYType, const char *pYRelative, float pMultY,
826  int pW, FBAttachType pWType, const char *pWRelative, float pMultW,
827  int pH, FBAttachType pHType, const char *pHRelative, float pMultH);
828 
835  virtual bool MoveRegion( const char *pName, int pX, int pY );
836 
843  virtual bool SizeRegion( const char *pName, int pW, int pH );
844 
849  virtual bool RemoveRegion( const char *pName );
850 
856  virtual bool RenameRegion( const char *pOldName, const char *pNewName );
857 
862  virtual bool GetRegion( const char *pName );
863 
873  virtual bool GetRegionPositions ( const char *pName, bool pComputed,
874  int *pX, int *pY,
875  int *pW=NULL, int *pH=NULL );
876 
878 
883  virtual bool SetControl( const char *pName, FBVisualComponent* pComponent );
884  virtual bool SetControl( const char *pName, FBVisualComponent &pComponent );
886 
890  virtual void ClearControl(const char *pName);
891 
896  virtual FBVisualComponent* GetControl(const char *pName);
897 
902  virtual HIKtObject GetHIKtObject( const char *pName );
903 
909  virtual bool SetHIKtView( const char *pName, HIKtView pView );
910 
916  virtual HIKtView GetHIKtView( const char *pName );
917 
919 
924  virtual bool SetView( const char *pName, FBVisualComponent* pComponent );
925  virtual bool SetView( const char *pName, FBVisualComponent &pComponent );
927 
939  virtual bool SetBorder ( const char *pName, FBBorderStyle pType, bool pShowTitle,
940  bool pInSet, int pWidth, int pSpacing,
941  float pMaxAngle, int pCornerRadius );
942 
948  virtual bool SetSplitStyle ( const char *pName, FBSplitStyle pRegionType );
949 
954  virtual FBSplitStyle GetSplitStyle ( const char *pName );
955 
961  virtual bool SetRegionTitle ( const char *pName, const char* pTitle );
962 
966  void SetAutoRestructure( bool pAutoRestructure );
967 
971  void Restructure( bool pNoMove );
972 
973  IObject_Declare(K_IMPLEMENTATION); // Interface to IObject.
974 
975  //--- Events
976  FBPropertyEvent OnInput;
977  FBPropertyEvent OnPaint;
978  FBPropertyEvent OnIdle;
979  FBPropertyEvent OnShow;
980  FBPropertyEvent OnResize;
981 };
982 
984 // FBTabPanel
986 __FB_FORWARD( FBTabPanel );
987 
989 class FBSDK_DLL FBTabPanel : public FBVisualComponent {
990  __FBClassDeclare( FBTabPanel,FBVisualComponent );
991 public:
993  FBTabPanel();
994 
995  FBPropertyStringList Items;
996  FBPropertyInt ItemIndex;
997  FBPropertyInt TabStyle;
998  FBPropertyLayout Layout;
999  FBPropertyEvent OnChange;
1000 };
1001 
1003 // FBButton
1005 __FB_FORWARD( FBButton );
1006 
1017 };
1018 
1025 };
1026 
1027 FB_DEFINE_ENUM( FBSDK_DLL, ButtonStyle );
1028 
1034 };
1035 
1036 FB_DEFINE_ENUM( FBSDK_DLL, TextJustify );
1037 
1041  kFBTextStyleBold = 1 << 0,
1044 };
1045 
1046 FB_DEFINE_ENUM( FBSDK_DLL, TextStyle );
1047 
1055 };
1056 
1057 FB_DEFINE_ENUM( FBSDK_DLL, ButtonLook );
1058 
1065 class FBSDK_DLL FBButton : public FBVisualComponent {
1066  __FBClassDeclare( FBButton,FBVisualComponent );
1067 public:
1069  FBButton();
1070 
1076  FBColor GetStateColor( FBButtonState pState );
1077 
1082  void SetStateColor( FBButtonState pState, const FBColor& pColor );
1083 
1090  void SetImageFileNames( const char* pUpImage, const char* pDownImage = 0, const char* pThirdImage = 0, bool pFromResources = false );
1091 
1095  void HookToButton(FBButton* pButton);
1096 
1097  FBPropertyInt State;
1098  FBPropertyButtonStyle Style;
1099  FBPropertyTextJustify Justify;
1100  FBPropertyButtonLook Look;
1101 
1102  FBPropertyEvent OnClick;
1103  FBPropertyEvent OnDragAndDrop;
1104 };
1105 
1107 // FBArrowButton
1109 __FB_FORWARD( FBArrowButton );
1110 
1117 class FBSDK_DLL FBArrowButton : public FBVisualComponent {
1118  __FBClassDeclare( FBArrowButton, FBVisualComponent );
1119 public:
1121  FBArrowButton();
1122 
1130  void SetContent( const char* pTitle, FBVisualComponent* pContent, int pContentWidth, int pContentHeight );
1131 };
1132 
1134 // FBScrollBox
1136 __FB_FORWARD( FBScrollBox);
1137 
1144 class FBSDK_DLL FBScrollBox : public FBVisualComponent {
1145  __FBClassDeclare( FBScrollBox, FBVisualComponent );
1146 public:
1148  FBScrollBox();
1149 
1153  void SetContentWidth( int pContentWidth );
1154 
1158  void SetContentHeight(int pContentHeight );
1159 
1164  FBLayout* GetContent();
1165 private:
1166  FBLayout mLayout;
1167 };
1168 
1169 
1171 // FBLabel
1173 __FB_FORWARD( FBLabel );
1174 
1176 class FBSDK_DLL FBLabel : public FBVisualComponent {
1177  __FBClassDeclare( FBLabel,FBVisualComponent );
1178 public:
1180  FBLabel();
1181 
1186  void SetTextColor(const FBColorAndAlpha& pColorRGBA);
1187 
1192  void SetBackgroundDrawing(bool pDrawBackGround);
1193 
1194  FBPropertyTextJustify Justify;
1195  FBPropertyTextStyle Style;
1196  FBPropertyBool WordWrap;
1197 };
1198 
1200 // FBImageContainer
1202 __FB_FORWARD( FBImageContainer );
1203 
1205 class FBSDK_DLL FBImageContainer : public FBVisualComponent {
1206  __FBClassDeclare( FBImageContainer,FBVisualComponent );
1207 public:
1209  FBImageContainer();
1210 
1211  FBPropertyString Filename;
1212  FBPropertyInt ImageWidth;
1213  FBPropertyInt ImageHeight;
1214 
1215  FBPropertyEvent OnDragAndDrop;
1216 };
1217 
1219 // FBEdit
1221 __FB_FORWARD( FBEdit );
1222 
1224 class FBSDK_DLL FBEdit : public FBVisualComponent {
1225  __FBClassDeclare( FBEdit,FBVisualComponent );
1226 public:
1228  FBEdit(HIObject pObject=NULL);
1229 
1230  FBPropertyString Text;
1231  FBPropertyBool PasswordMode;
1232 
1233  FBPropertyEvent OnChange;
1234  FBPropertyEvent OnTransaction;
1235 };
1236 
1238 // FBEditNumber
1240 __FB_FORWARD( FBEditNumber );
1241 
1243 class FBSDK_DLL FBEditNumber : public FBVisualComponent {
1244  __FBClassDeclare( FBEditNumber,FBVisualComponent );
1245 public:
1247  FBEditNumber();
1248 
1249  FBPropertyDouble Value;
1250  FBPropertyDouble Min;
1251  FBPropertyDouble Max;
1252  FBPropertyDouble Precision;
1253  FBPropertyDouble LargeStep;
1254  FBPropertyDouble SmallStep;
1255 
1256  FBPropertyEvent OnChange;
1257 };
1258 
1260 // FBEditColor
1262 __FB_FORWARD( FBEditColor );
1263 
1265 class FBSDK_DLL FBEditColor : public FBVisualComponent {
1266  __FBClassDeclare( FBEditColor,FBVisualComponent );
1267 public:
1269  FBEditColor();
1270 
1271  FBPropertyColor Value;
1272  FBPropertyInt ColorMode;
1273 
1274  FBPropertyEvent OnChange;
1275 };
1276 
1278 // FBEditVector
1280 __FB_FORWARD( FBEditVector );
1281 
1283 class FBSDK_DLL FBEditVector : public FBVisualComponent {
1284  __FBClassDeclare( FBEditVector,FBVisualComponent );
1285 public:
1287  FBEditVector();
1288 
1289  FBPropertyVector3d Value;
1290 
1291  FBPropertyEvent OnChange;
1292 };
1293 
1294 __FB_FORWARD( FBEventDblClick );
1295 
1297 class FBSDK_DLL FBEventDblClick : public FBEvent
1298 {
1299 public:
1303  FBEventDblClick( HKEventBase pEvent );
1304 
1305  FBPropertyInt Selection;
1306 };
1307 
1309 // FBList
1311 __FB_FORWARD( FBList );
1312 
1317 };
1318 
1319 FB_DEFINE_ENUM( FBSDK_DLL, ListStyle ); // FBPropertyListStyle
1320 
1322 class FBSDK_DLL FBList : public FBVisualComponent {
1323  __FBClassDeclare( FBList,FBVisualComponent );
1324 public:
1326  FBList();
1327 
1328  FBPropertyStringList Items;
1329 
1330  FBPropertyInt ItemIndex;
1331  FBPropertyBool MultiSelect;
1332  FBPropertyBool ExtendedSelect;
1333  FBPropertyListStyle Style;
1334 
1335  FBPropertyEvent OnChange;
1336  FBPropertyEvent OnDragAndDrop;
1337 
1342  virtual bool IsSelected( int pIndex );
1343 
1348  virtual void Selected( int pIndex, bool pSelected );
1349 };
1350 
1352 // FBSlider
1354 __FB_FORWARD( FBSlider );
1355 
1357 class FBSDK_DLL FBSlider : public FBVisualComponent {
1358  __FBClassDeclare( FBSlider,FBVisualComponent );
1359 public:
1361  FBSlider();
1362 
1363  FBPropertyDouble Min;
1364  FBPropertyDouble Max;
1365  FBPropertyDouble Value;
1366  FBPropertyOrientation Orientation;
1367  FBPropertyDouble LargeStep;
1368  FBPropertyDouble SmallStep;
1369 
1370  FBPropertyEvent OnChange;
1371  FBPropertyEvent OnTransaction;
1372 };
1373 
1375 // FBLayoutRegion
1377 __FB_FORWARD( FBLayoutRegion );
1378 
1380 class FBSDK_DLL FBLayoutRegion : public FBVisualComponent {
1381  __FBClassDeclare( FBLayoutRegion,FBVisualComponent );
1382 public:
1384  FBLayoutRegion();
1385 };
1386 
1388 // FBThermometer
1390 __FB_FORWARD( FBThermometer );
1391 
1393 class FBSDK_DLL FBThermometer : public FBVisualComponent {
1394  __FBClassDeclare( FBThermometer,FBVisualComponent );
1395 public:
1397  FBThermometer();
1398 
1399  FBPropertyFloat Min;
1400  FBPropertyFloat Max;
1401  FBPropertyFloat Value;
1402 
1406  void Clear();
1407 };
1408 
1410 // FBSpread
1412 __FB_FORWARD( FBSpread );
1413 
1427 };
1428 
1429 FB_DEFINE_ENUM( FBSDK_DLL, CellStyle ); // FBPropertyCellStyle
1430 
1431 __FB_FORWARD( FBSpreadPart );
1432 
1436 class FBSDK_DLL FBSpreadPart : public FBComponent {
1437  __FBClassDeclare( FBSpreadPart,FBComponent );
1438 protected:
1443  FBSpreadPart( FBSpread* pParent );
1444 
1445 public:
1446  FBPropertyInt Row;
1447  FBPropertyInt Column;
1448  FBPropertyBool ReadOnly;
1449  FBPropertyBool Enabled;
1450  FBPropertyCellStyle Style;
1451  FBPropertyTextJustify Justify;
1452 
1456  FBSpread* GetSpread();
1457 };
1458 
1459 __FB_FORWARD( FBSpreadCell );
1460 
1462 class FBSDK_DLL FBSpreadCell : public FBSpreadPart {
1463  __FBClassDeclare( FBSpreadCell, FBSpreadPart );
1464 public:
1465 
1471  FBSpreadCell( FBSpread* pParent, kReference pRow, int pCol );
1472 };
1473 
1474 __FB_FORWARD( FBSpreadRow );
1475 
1477 class FBSDK_DLL FBSpreadRow : public FBSpreadPart {
1478  __FBClassDeclare( FBSpreadRow,FBSpreadPart );
1479 public:
1484  FBSpreadRow( FBSpread* pParent, kReference pRow );
1485 
1487  virtual void Remove();
1488 
1493  virtual bool EditCaption();
1494 
1495  FBPropertyString Caption;
1496  FBPropertykReference Parent;
1497  FBPropertyBool RowSelected;
1498 };
1499 
1500 __FB_FORWARD( FBSpreadColumn );
1501 
1503 class FBSDK_DLL FBSpreadColumn : public FBSpreadPart {
1504  __FBClassDeclare( FBSpreadColumn,FBSpreadPart );
1505 public:
1510  FBSpreadColumn( FBSpread* pParent, int pCol );
1511 
1512  FBPropertyString Caption;
1513  FBPropertyInt Width;
1514  FBPropertyTextJustify Justify;
1515 };
1516 
1518 class FBSDK_DLL FBSpread : public FBVisualComponent {
1519  __FBClassDeclare( FBSpread,FBVisualComponent );
1520 public:
1523  FBSpread();
1524 
1525  FBPropertyString Caption;
1526  FBPropertykReference Row;
1527  FBPropertyInt Column;
1528  FBPropertyBool MultiSelect;
1529 
1530  FBPropertyEvent OnCellChange;
1531  FBPropertyEvent OnRowClick;
1532  FBPropertyEvent OnColumnClick;
1533  FBPropertyEvent OnDragAndDrop;
1534 
1539  virtual void RowAdd( const char * pString, kReference pRef=0 );
1540 
1544  virtual void RowSort( bool pAscending=true );
1545 
1550  virtual void ColumnAdd( const char * pString, kReference pRef=0 );
1551 
1555  virtual FBSpreadCell GetCurrentCell();
1556 
1562  virtual FBSpreadCell GetCell( kReference pRef,int pColumn );
1563 
1568  virtual FBSpreadColumn GetColumn( int pColumn );
1569 
1574  virtual FBSpreadRow GetRow( kReference pRef );
1575 
1581  virtual void SetCell( kReference pRef,int pColumn, const char* pString );
1582 
1584 
1589  virtual void SetCell( kReference pRef,int pColumn, int pValue );
1590  virtual void SetCell( kReference pRef,int pColumn, kLongLong pValue );
1591  virtual void SetCell( kReference pRef,int pColumn, double pValue );
1593 
1599  virtual void GetCell( kReference pRef,int pColumn, const char* &pString );
1600 
1602 
1607  virtual void GetCell( kReference pRef,int pColumn, int &pValue );
1608  virtual void GetCell( kReference pRef,int pColumn, kLongLong &pValue );
1609  virtual void GetCell( kReference pRef,int pColumn, double &pValue );
1611 
1617  virtual void SetCellView( kReference pRef,int pColumn, HIKtView pView );
1618 
1624  virtual void GetCellView( kReference pRef,int pColumn, HIKtView &pView );
1625 
1629  virtual void Clear();
1630 };
1631 
1632 __FB_FORWARD( FBEventSpread );
1633 
1635 class FBSDK_DLL FBEventSpread : public FBEvent
1636 {
1637 public:
1641  FBEventSpread( HKEventBase pEvent );
1642 
1643  FBPropertyInt Row;
1644  FBPropertyInt Column;
1645 
1649  FBPropertyInt Action;
1650 };
1651 
1653 // FBVisualContainer
1655 __FB_FORWARD( FBVisualContainer );
1656 __FB_FORWARD( FBImage );
1657 
1662 };
1663 
1664 FB_DEFINE_ENUM( FBSDK_DLL, IconPosition ); // FBPropertyIconPosition
1665 
1667 class FBSDK_DLL FBVisualContainer : public FBVisualComponent {
1668  __FBClassDeclare( FBVisualContainer,FBVisualComponent );
1669 public:
1672  FBVisualContainer();
1673 
1680  bool ItemIconSet( kReference pRef, FBImage* pImage, bool pUseACopyOfTheImage=true );
1681 
1687  virtual bool ItemIconSet( kReference pRef, const char *pFilename );
1688 
1693  virtual bool ItemNameEdit( kReference pRef );
1694 
1698  virtual int GetSelection();
1699 
1700  FBPropertyStringList Items;
1701 
1702  FBPropertyInt ItemIndex;
1703  FBPropertyOrientation Orientation;
1704  FBPropertyBool ItemWrap;
1705  FBPropertyIconPosition IconPosition;
1706  FBPropertyInt ItemWidth;
1707  FBPropertyInt ItemHeight;
1708 
1709  FBPropertyEvent OnChange;
1710  FBPropertyEvent OnDblClick;
1711  FBPropertyEvent OnDragAndDrop;
1712 };
1713 
1715 // FBEditTimeCode
1717 __FB_FORWARD( FBEditTimeCode );
1718 
1719 class FBSDK_DLL FBEditTimeCode : public FBVisualComponent {
1720  __FBClassDeclare( FBEditTimeCode,FBVisualComponent );
1721 public:
1724  FBEditTimeCode();
1725 
1726  FBPropertyTime Value;
1727 
1728  FBPropertyEvent OnChange;
1729 };
1730 
1732 // FBTree
1734 __FB_FORWARD( FBTreeNode );
1735 __FB_FORWARD( FBTree );
1736 
1738 // FBEventTreeClick
1740 __FB_FORWARD( FBEventTree );
1741 
1744 {
1749 };
1750 
1751 FB_DEFINE_ENUM( FBSDK_DLL, EventTreeWhy ); // FBPropertyEventTreeWhy
1752 
1754 class FBSDK_DLL FBEventTree : public FBEvent
1755 {
1756 public:
1760  FBEventTree( HKEventBase pEvent );
1761 
1762  FBPropertyEventTreeWhy Why;
1763  FBPropertyTreeNode TreeNode;
1764 };
1765 
1766 __FB_FORWARD( FBEventTreeSelect );
1767 
1769 class FBSDK_DLL FBEventTreeSelect : public FBEvent
1770 {
1771 public:
1775  FBEventTreeSelect( HKEventBase pEvent );
1776  FBPropertyTreeNode TreeNode;
1777 };
1778 
1780 class FBSDK_DLL FBTreeNode : public FBComponent
1781 {
1782  __FBClassDeclare( FBTreeNode,FBComponent );
1783 public:
1788  FBTreeNode(FBTree* pTree, HIObject pObject);
1789 
1790  FBPropertykReference Reference;
1791  FBPropertyBool Checked;
1792 };
1793 
1795 class FBSDK_DLL FBPropertyListTreeNode: public FBPropertyBaseList< FBTreeNode* >
1796 {
1797 private:
1799 
1800 public:
1801  FBPropertyListTreeNode();
1802 
1803  virtual ~FBPropertyListTreeNode();
1804 
1805  virtual void Refresh ();
1806 
1811  virtual int Add( FBTreeNode* pNode );
1812 
1816  virtual void RemoveAt( int pIndex );
1817 
1822  virtual FBTreeNode* operator[]( int pIndex );
1823 
1827  virtual int GetCount ();
1828 };
1829 
1831 class FBSDK_DLL FBTree : public FBVisualComponent
1832 {
1833  __FBClassDeclare( FBTree,FBVisualComponent );
1834 public:
1836  FBTree();
1837 
1841  FBTreeNode* GetRoot();
1842 
1845  void Clear();
1846 
1852  FBTreeNode* InsertLast( FBTreeNode* pNode, const char* pName );
1853 
1854  FBPropertyEvent OnSelect;
1855 
1856  FBPropertyEvent OnClick;
1857  FBPropertyEvent OnClickCheck;
1858  FBPropertyEvent OnDblClick;
1859  FBPropertyEvent OnDeselect;
1860  FBPropertyEvent OnExpanded;
1861  FBPropertyEvent OnExpanding;
1862  FBPropertyEvent OnCollapsed;
1863  FBPropertyEvent OnCollapsing;
1864  FBPropertyEvent OnChange;
1865  FBPropertyEvent OnDragAndDrop;
1866  FBPropertyEvent OnEditNode;
1867 
1868  FBPropertyInt SelectedCount;
1869  FBPropertyInt VisibleItemCount;
1870  FBPropertyBool AllowExpansion;
1871  FBPropertyBool AllowCollapse;
1872  FBPropertyBool MultiDrag;
1873  FBPropertyBool AutoScroll;
1874  FBPropertyInt Indent;
1875  FBPropertyBool CheckBoxes;
1876  FBPropertyBool ShowLines;
1877  FBPropertyInt ItemHeight;
1878  FBPropertyBool MultiSelect;
1879  FBPropertyBool EditNodeOn2Select;
1880  FBPropertyInt TreeHeight;
1881  FBPropertyInt TreeWidth;
1882  FBPropertyBool SelectionActive;
1883  FBPropertyBool DeselectOnCollapse;
1884  FBPropertyBool NoSelectOnDrag;
1885  FBPropertyBool NoSelectOnRightClick;
1886  FBPropertyBool HighlightOnRightClick;
1887  FBPropertyBool AutoScrollOnExpand;
1888  FBPropertyBool AutoExpandOnDragOver;
1889  FBPropertyBool AutoExpandOnDblClick;
1890  FBPropertyListTreeNode SelectedNodes;
1891 };
1892 
1894 // FBView
1896 __FB_FORWARD( FBView );
1897 
1899 class FBSDK_DLL FBView : public FBVisualComponent {
1900  __FBClassDeclare( FBView,FBVisualComponent );
1901 public:
1904  FBView();
1905 
1906  IObject_Declare(K_IMPLEMENTATION); // Interface to IObject
1907 
1911  bool CreatePBuffer();
1912 
1916  virtual void Refresh(bool pNow=false);
1917 
1921  virtual bool IsView();
1922 
1929  virtual void DrawString(const char *pText,float pX,float pY, int pEnable=-1);
1930 
1938  virtual bool SetViewport(int pX,int pY,int pW,int pH);
1939 
1940  FBPropertyBool GraphicOGL;
1941  FBPropertyBool DoubleBuffer;
1942 };
1943 
1945 // FBProgress
1947 __FB_FORWARD( FBProgress );
1948 
1950 class FBSDK_DLL FBProgress : public FBVisualComponent {
1951  __FBClassDeclare( FBProgress,FBVisualComponent );
1952 public:
1955  FBProgress();
1956 
1959  void ProgressBegin();
1962  void ProgressDone();
1963 
1967  bool UserRequestCancell();
1968 
1969  FBPropertyString Caption;
1970  FBPropertyString Text;
1971  FBPropertyInt Percent;
1972 };
1973 
1975 // FBPopup
1977 __FB_FORWARD( FBPopup );
1978 
1982 class FBSDK_DLL FBPopup : public FBLayout {
1983  __FBClassDeclare( FBPopup,FBLayout );
1984 public:
1987  FBPopup();
1988 
1993  virtual bool Show( FBVisualComponent* pParent=NULL );
1994 
1998  virtual void Close(bool pOk=false);
1999 
2000  FBPropertyString Caption;
2001  FBPropertyBool Modal;
2002 };
2003 
2005 // FBFilePopup
2007 __FB_FORWARD( FBFilePopup );
2008 
2013 };
2014 
2015 FB_DEFINE_ENUM( FBSDK_DLL, FilePopupStyle ); // FBPropertyFilePopupStyle
2016 
2018 class FBSDK_DLL FBFilePopup : public FBVisualComponent {
2019  __FBClassDeclare( FBFilePopup,FBVisualComponent );
2020 public:
2023  FBFilePopup();
2024 
2028  virtual bool Execute();
2029 
2030  FBPropertyString Caption;
2031  FBPropertyString FileName;
2032  FBPropertyString Path;
2033  FBPropertyString FullFilename;
2034  FBPropertyString Filter;
2035  FBPropertyFilePopupStyle Style;
2036 };
2037 
2039 // FBFolderPopup
2041 __FB_FORWARD( FBFolderPopup );
2042 
2044 class FBSDK_DLL FBFolderPopup : public FBVisualComponent {
2045  __FBClassDeclare( FBFolderPopup,FBVisualComponent );
2046 public:
2049  FBFolderPopup();
2050 
2054  virtual bool Execute();
2055 
2056  FBPropertyString Caption;
2057  FBPropertyString Path;
2058 };
2059 
2072 FBSDK_DLL int FBMessageBox( const char* pBoxTitle, const char* pMessage, const char* pButton1Str, const char* pButton2Str=NULL, const char* pButton3Str=NULL, int pDefaultButton=0, int pScrolledMessage=0);
2073 
2088 FBSDK_DLL 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);
2089 
2099 };
2100 
2116 FBSDK_DLL int FBMessageBoxGetUserValue( const char* pBoxTitle, const char* pMessage, void* pValue, FBPopupInputType pValueType, const char* pButton1Str, const char* pButton2Str=NULL, const char* pButton3Str=NULL, int pDefaultButton=0, bool pLastButtonCancel = true );
2117 
2119 // FBMemo
2121 __FB_FORWARD( FBMemo );
2122 
2124 class FBSDK_DLL FBMemo : public FBEdit {
2125  __FBClassDeclare( FBMemo,FBEdit );
2126 public:
2128  FBMemo();
2129 
2133  void SetStrings(FBStringList* pLines);
2134 
2138  void GetStrings(FBStringList* pLines);
2139 };
2140 
2142 // FBWebView
2144 __FB_FORWARD( FBWebView );
2145 
2147 class FBSDK_DLL FBWebView : public FBVisualComponent {
2148  __FBClassDeclare( FBWebView,FBVisualComponent );
2149 public:
2151  FBWebView();
2152 
2156  void Load(const char* pURL);
2157 };
2158 
2159 
2161 // FBFCurveEditor
2163 __FB_FORWARD( FBFCurveEditor );
2164 
2166 class FBSDK_DLL FBFCurveEditor : public FBVisualComponent {
2167  __FBClassDeclare( FBFCurveEditor,FBVisualComponent );
2168 public:
2170  FBFCurveEditor();
2171 
2175  void AddAnimationNode(FBAnimationNode* pNode);
2179  void RemoveAnimationNode(FBAnimationNode* pNode);
2180 
2184  void AddProperty(FBPropertyAnimatable* pProperty);
2188  void RemoveProperty(FBPropertyAnimatable* pProperty);
2189 
2192  void Clear();
2193 };
2194 
2196 // FBFCurveEvent
2198 
2207 };
2208 
2209 FB_DEFINE_ENUM( FBSDK_DLL, FCurveEditorEventType );
2210 
2212 class FBSDK_DLL FBFCurveEditorEvent : public FBEvent
2213 {
2214 public:
2218  FBFCurveEditorEvent( HKEventBase pEvent );
2219 
2220  FBPropertyFCurveEditorEventType EventType;
2221 };
2222 
2224 // FBFCurveEditorUtility
2226 __FB_FORWARD( FBFCurveEditorUtility );
2227 
2231 class FBSDK_DLL FBFCurveEditorUtility : public FBComponent
2232 {
2233  __FBClassDeclare( FBFCurveEditorUtility, FBComponent );
2234 
2235 public:
2244  FBProperty* AddExternalCurves(const char* pObjectName, const char* pPropertyName, const FBPropertyType pPropertyType, FBAnimationNode* pFCurve, FBFCurveEditor* pEditor = NULL);
2245 
2253  FBProperty* AddExternalCurves(const char* pObjectName, const char* pPropertyName, FBProperty* pProperty, FBFCurveEditor* pEditor = NULL);
2254 
2263  FBProperty* AddExternalCurves(const char* pObjectName, const char* pPropertyName, const FBPropertyType pPropertyType, FBXSDK_NAMESPACE::FbxAnimCurveNode* pFCurve, FBFCurveEditor* pEditor = NULL);
2264 
2273  FBProperty* AddExternalCurves(const char* pObjectName, const char* pPropertyName, FBXSDK_NAMESPACE::FbxProperty* pProperty, FBXSDK_NAMESPACE::FbxAnimStack* pStack = NULL, FBFCurveEditor* pEditor = NULL);
2274 
2279  bool RemoveExternalCurves(FBProperty * pProperty);
2280 
2286  bool UpdateCurves(FBProperty* pProperty, FBAnimationNode* pFCurve);
2287 
2293  bool UpdateCurves(FBProperty* pProperty, FBProperty* pSrcProperty);
2294 
2300  bool UpdateCurves(FBProperty* pProperty, FBXSDK_NAMESPACE::FbxAnimCurveNode* pFCurve);
2301 
2308  bool UpdateCurves(FBProperty* pProperty, FBXSDK_NAMESPACE::FbxProperty* pFbxProperty, FBXSDK_NAMESPACE::FbxAnimStack* pStack);
2309 
2315  bool GetCurves(FBProperty* pProperty, FBAnimationNode* pFCurve);
2316 
2322  bool GetCurves(FBProperty* pProperty, FBProperty* pDestProperty);
2323 
2329  bool GetCurves(FBProperty* pProperty, FBXSDK_NAMESPACE::FbxAnimCurveNode* pFCurve);
2330 
2337  bool GetCurves(FBProperty* pProperty, FBXSDK_NAMESPACE::FbxProperty* pFbxProperty, FBXSDK_NAMESPACE::FbxAnimStack* pStack);
2338 
2345  bool Frame(bool pSelectedKeysOnly, FBFCurveEditor* pEditor = NULL);
2346 
2351  bool GetObjects(FBArrayTemplate<FBComponent *> &pObjectList);
2352 
2359  bool GetProperties(FBArrayTemplate<FBProperty*> &pProperties, bool pSelectedOnly, FBFCurveEditor* pEditor = NULL);
2360 
2365  FBTimeSpan GetTimeSpan(FBFCurveEditor* pEditor = NULL);
2366 
2372  bool SetTimeSpan(FBTimeSpan pTimeSpan, FBFCurveEditor* pEditor = NULL);
2373 
2380  bool RegisterToFCurveEditorEvent(HICallback pOwner, kICallbackHandler pHandler, FBFCurveEditor* pEditor = NULL);
2381 
2388  bool UnregisterToFCurveEditorEvent(HICallback pOwner, kICallbackHandler pHandler, FBFCurveEditor* pEditor = NULL);
2389 
2393  static FBFCurveEditorUtility& TheOne();
2394 
2395 private:
2399  FBFCurveEditorUtility();
2400 };
2401 
2403 // FBPropertyConnectionEditor
2405 __FB_FORWARD( FBPropertyConnectionEditor );
2406 
2408 class FBSDK_DLL FBPropertyConnectionEditor : public FBVisualComponent {
2409  __FBClassDeclare( FBPropertyConnectionEditor,FBVisualComponent );
2410 public:
2412  FBPropertyConnectionEditor();
2413 
2416  void PopupTree();
2417 
2420  void PopupList();
2421 
2422  FBPropertyReference Property;
2423 };
2424 
2426 // FBEditProperty
2428 __FB_FORWARD( FBEditProperty );
2429 
2472 class FBSDK_DLL FBEditProperty : public FBVisualComponent {
2473  __FBClassDeclare( FBEditProperty, FBVisualComponent );
2474 public:
2476  FBEditProperty();
2477 
2478  FBPropertyReference Property;
2479 
2480  FBPropertyDouble SliderMin;
2481  FBPropertyDouble SliderMax;
2482  FBPropertyDouble SmallInc;
2483  FBPropertyDouble LargeInc;
2484  FBPropertyDouble Precision;
2485  FBPropertyInt CaptionSize;
2486 };
2487 
2488 
2490 // FBEditPropertyModern
2492 __FB_FORWARD( FBEditPropertyModern );
2493 
2500 class FBSDK_DLL FBEditPropertyModern : public FBVisualComponent {
2501  __FBClassDeclare( FBEditPropertyModern, FBVisualComponent );
2502 public:
2504  FBEditPropertyModern();
2505 
2510  void SetBackgroundColorIndex( FBColorIndex pIndex );
2511 
2512  FBPropertyReference Property;
2513 
2514  FBPropertyDouble SliderMin;
2515  FBPropertyDouble SliderMax;
2516  FBPropertyDouble SmallInc;
2517  FBPropertyDouble LargeInc;
2518  FBPropertyDouble Precision;
2519 };
2520 
2522 // FBBrowsingProperty
2524 __FB_FORWARD( FBBrowsingProperty );
2525 
2527 class FBSDK_DLL FBBrowsingProperty : public FBVisualComponent {
2528  __FBClassDeclare( FBBrowsingProperty,FBVisualComponent );
2529 public:
2532  FBBrowsingProperty();
2533 
2537  void AddObject(FBPlug* pObject);
2538 
2542  void RemoveObject(FBPlug* pObject);
2543 
2547  int ObjectGetCount();
2548 
2553  FBPlug* ObjectGet(int pIndex);
2554 
2561  int AddButtonInToolbar(const char* pCaption, HICallback pOwner, kICallbackHandler pHandler);
2562 
2563 };
2564 
2566 // FBWidgetHolder
2568 __FB_FORWARD( FBWidgetHolder );
2569 
2570 
2583 class FBSDK_DLL FBWidgetHolder : public FBVisualComponent {
2584  __FBClassDeclare( FBWidgetHolder, FBVisualComponent );
2585 public:
2586 
2588  typedef QWidget* (*WidgetCreator)(QWidget* pParent);
2589 
2592  FBWidgetHolder();
2593 
2601  void SetCreator(WidgetCreator pCreatorFunction );
2602 
2606  virtual QWidget* WidgetCreate(QWidget* pParent);
2607 };
2608 
2610 // FBPlotPopup
2612 FB_FORWARD( FBPlotOptions );
2613 __FB_FORWARD( FBPlotPopup );
2614 
2616 class FBSDK_DLL FBPlotPopup : public FBVisualComponent {
2617  __FBClassDeclare( FBPlotPopup,FBVisualComponent );
2618 public:
2621  FBPlotPopup();
2622 
2626  virtual bool Popup(const char* pWindowName);
2627 
2631  FBPlotOptions GetPlotOptions();
2632 
2633  FBPropertyBool EnablePlotTranslationOnRootOnly;
2634  FBPropertyBool EnableSmartPlotControls;
2635  FBPropertyBool EnablePlotCharacterExtension;
2636  FBPropertyBool EnablePlotLockedProperties;
2637  FBPropertyBool EnablePlotAuxEffectors;
2638  FBPropertyBool EnableEvaluateDeformation;
2639 
2643  void SetPlotOptions(const FBPlotOptions& pPlotOptions);
2644 };
2645 
2647 // FBPropertyViewManager, FBPropertyViewList and FBPropertyViewDefinition
2649 FB_FORWARD( FBPropertyViewList );
2650 FB_FORWARD( FBPropertyViewDefinition );
2651 __FB_FORWARD( FBPropertyViewManager );
2652 
2655 {
2659 };
2660 
2664 class FBSDK_DLL FBPropertyViewList
2665 {
2666 public:
2668  bool IsEditable();
2669 
2675  FBPropertyViewDefinition* AddPropertyView(FBProperty* pProperty, const char* pHierarchy);
2676 
2681  bool RemovePropertyView(FBPropertyViewDefinition* pPropertyViewDefinition);
2682 
2684  FBPropertyViewDefinition* FindPropertyView(const char* pPropertyName);
2685 private:
2687  FBPropertyViewList();
2690  FBPropertyViewList(const FBPropertyViewList &);
2692  FBPropertyViewList & operator =(const FBPropertyViewList &);
2694 };
2695 
2699 class FBSDK_DLL FBPropertyViewDefinition
2700 {
2701 public:
2703  bool IsOpen();
2705  bool IsSaved();
2707  bool IsFolder();
2708 
2710  void SetOpen(bool pTrue, bool pApplyUpHierarchy);
2712  void SetSaved(bool pTrue, bool pApplyUpHierarchy);
2713 
2714 private:
2716  FBPropertyViewDefinition();
2719  FBPropertyViewDefinition(const FBPropertyViewDefinition &);
2721  FBPropertyViewDefinition & operator =(const FBPropertyViewDefinition &);
2723 };
2724 
2731 class FBSDK_DLL FBPropertyViewManager : public FBComponent
2732 {
2733  __FBClassDeclare( FBPropertyViewManager, FBComponent );
2734 
2735 public:
2736  // ----- VIEW LIST -----
2737 
2744  FBPropertyViewList* CreatePropertyList(FBComponent* pObject, FBPropertyViewType pViewType, const char* pName);
2745 
2752  bool RemovePropertyList(FBComponent* pObject, FBPropertyViewType pViewType, const char* pName);
2753 
2760  FBPropertyViewList* FindPropertyList(FBComponent* pObject, FBPropertyViewType pViewType, const char* pName);
2761 
2762  // ----- GLOBAL VIEW (ALL) -----
2763 
2771  FBPropertyViewDefinition* AddPropertyView(const char* pClassName, const char* pPropertyName, const char* pHierarchy);
2772 
2779  bool RemovePropertyView(const char* pClassName, const char* pPropertyName);
2780 
2787  void HidePropertyView(const char* pClassName, const char* pPropertyName, bool pHide);
2788 
2789  // ----- REFRESH -----
2790 
2793  void RefreshPropertyViews();
2794 
2798  static FBPropertyViewManager& TheOne();
2799 
2800 private:
2805  FBPropertyViewManager(HIObject pObject=NULL);
2806 };
2807 
2808 #endif //}
2809 
2810 #ifdef FBSDKUseNamespace
2811 }
2812 #endif
2813 
2814 #endif
A mouse button was released.
Definition: fbcontrols.h:127
class FBPropertyBase< kReference, kFBPT_kReference > FBPropertykReference
Property: kReference
A keyboard key was pressed.
Definition: fbcontrols.h:135
#define Set(a0, a1, a2, a3)
Definition: Python-ast.h:467
#define __FBClassDeclare(Name, Parent)
For internal use only.
Definition: fbcomponent.h:132
const char const char const char const char const char * pCheckBoxStr
Definition: fbcontrols.h:2088
FBPopupInputType
User input types for a popup.
Definition: fbcontrols.h:2091
Flat Tab Background 1 color.
Definition: fbcontrols.h:238
The mouse wheel has moved.
Definition: fbcontrols.h:132
Standard smoothed edges border.
Definition: fbcontrols.h:303
Begin a drag and drop sequence.
Definition: fbcontrols.h:499
Standard Button 2 color.
Definition: fbcontrols.h:208
K_FORWARD(KStringList)
Standard List Background Selected 1 color.
Definition: fbcontrols.h:227
class __attribute__((visibility("default"))) FBFolderPopup const char const char const char const char int int pScrolledMessage
Definition: fbcontrols.h:2072
End of drag and drop.
Definition: fbcontrols.h:502
Standard Checkbox Disabled 1 color.
Definition: fbcontrols.h:217
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
Definition: fbproperties.h:139
Standard Checkbox Clear 2 color.
Definition: fbcontrols.h:214
A mouse button was double clicked.
Definition: fbcontrols.h:129
Alt was pressed.
Definition: fbcontrols.h:145
Attach to left [min(x1,x2)].
Definition: fbcontrols.h:282
The mouse is dropping items.
Definition: fbcontrols.h:134
Standard List Text color.
Definition: fbcontrols.h:230
FBTextStyle
Text appearance styles.
Definition: fbcontrols.h:1039
FBCellStyle
Different styles of spreadsheet cell styles.
Definition: fbcontrols.h:1415
IKtView * HIKtView
Definition: fbcontrols.h:63
Standard Checkbox Ambig 1 color.
Definition: fbcontrols.h:215
Boolean input.
Definition: fbcontrols.h:2092
Flat Button Active 2 color.
Definition: fbcontrols.h:210
Tree Keying Group color.
Definition: fbcontrols.h:258
class __attribute__((visibility("default"))) FBFolderPopup const char const char const char const char int pDefaultButton
Definition: fbcontrols.h:2072
Global property view.
Definition: fbcontrols.h:2656
Motion Files->Import.
Definition: fbcontrols.h:674
Ghost Keep button pressed.
Definition: fbcontrols.h:2204
FBBorderStyle
Different border types available.
Definition: fbcontrols.h:294
Flat Button Active 1 color.
Definition: fbcontrols.h:209
Password input (String with '*'s).
Definition: fbcontrols.h:2098
#define NULL
Definition: kaydara.h:179
Timeline Manipulator color.
Definition: fbcontrols.h:250
Standard Tab Active 1 color.
Definition: fbcontrols.h:234
Template class to contain an array of items.
Definition: fbarray.h:77
#define ICallback_Declare(IsPure)
Forwarding.
Definition: icallback.h:42
FBTextJustify
Text justification styles.
Definition: fbcontrols.h:1030
A keyboard key was released.
Definition: fbcontrols.h:125
Standard List Background 1 color.
Definition: fbcontrols.h:226
Tree Background Node color.
Definition: fbcontrols.h:255
FBFCurveEditorEventType
FCurve editor.
Definition: fbcontrols.h:2202
#define K_IMPLEMENTATION
Definition: iobject.h:53
class __attribute__((visibility("default"))) FBFolderPopup const char const char const char const char * pButton3Str
Definition: fbcontrols.h:2072
class FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
Standard Scroll Active 1 color.
Definition: fbcontrols.h:221
Color Index Size color.
Definition: fbcontrols.h:264
FBEventTreeWhy
Tree node different event type.
Definition: fbcontrols.h:1743
class FBPropertyBase< FBColor, kFBPT_ColorRGB > FBPropertyColor
FBPropertyColor type definition.
Standard Checkbox Clear 1 color.
Definition: fbcontrols.h:213
FBListStyle
List style or direction.
Definition: fbcontrols.h:1314
Tree Keying Select color.
Definition: fbcontrols.h:261
FBColorIndex
FBColor.
Definition: fbcontrols.h:186
#define IObject_Declare(IsPure)
Definition: iobject.h:75
2 state button (2 colors).
Definition: fbcontrols.h:1014
FBButtonLook
Button look.
Definition: fbcontrols.h:1049
Shift was pressed.
Definition: fbcontrols.h:143
Attach to top [min(y1,y2)].
Definition: fbcontrols.h:284
#define FBSDK_DLL
FBSDKDLL_ K_DLLEXPORT.
Definition: fbcontrols.h:50
#define Name(a0, a1, a2, a3, a4)
Definition: Python-ast.h:502
The mouse is dragging items.
Definition: fbcontrols.h:133
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
Definition: fbproperties.h:148
Integer input.
Definition: fbcontrols.h:2095
Standard Scroll Passive 2 color.
Definition: fbcontrols.h:224
Timeline Center 2 color.
Definition: fbcontrols.h:247
class FBPropertyBaseComponent< FBComponent * > FBPropertyComponent
Property: FBPropertyBaseComponent(FBComponent*)
FBMenuItemType
Types of menu items available.
Definition: fbcontrols.h:673
Standard smooth border.
Definition: fbcontrols.h:301
Timeline Highlight color.
Definition: fbcontrols.h:249
HKEventBase HKEvent
HKEvent.
Definition: fbcomponent.h:394
Motion Files->Export.
Definition: fbcontrols.h:676
Button with bitmap on it.
Definition: fbcontrols.h:1012
Empty the drag and drop stack.
Definition: fbcontrols.h:503
Flat Tab Text Selected color.
Definition: fbcontrols.h:239
Standard Tab Passive 1 color.
Definition: fbcontrols.h:236
FBButtonStyle
Style of buttons.
Definition: fbcontrols.h:1010
Icon on top of text.
Definition: fbcontrols.h:1661
The mouse pointer is entering the window.
Definition: fbcontrols.h:130
The mouse has been moved.
Definition: fbcontrols.h:128
Standard Scroll Cursor color.
Definition: fbcontrols.h:225
FBPropertyViewType
Property view set type.
Definition: fbcontrols.h:2654
No attachment.
Definition: fbcontrols.h:289
FBButtonState
Possible button states.
Definition: fbcontrols.h:1022
Standard Checkbox Ambig 2 color.
Definition: fbcontrols.h:216
Attach to height [abs(y2-y1)].
Definition: fbcontrols.h:287
FBInputKey
Keyboard inputs.
Definition: fbcontrols.h:149
Standard Field 2 color.
Definition: fbcontrols.h:220
Attach to center [center(x1,y1,x2,y2)].
Definition: fbcontrols.h:288
Standard Tab Passive 1 color.
Definition: fbcontrols.h:237
A mouse button was pressed.
Definition: fbcontrols.h:126
Definition: Python-ast.h:18
FBIconPosition
Different icon positions possible.
Definition: fbcontrols.h:1659
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:68
Class type property view.
Definition: fbcontrols.h:2657
Attach to right [max(x1,x2)].
Definition: fbcontrols.h:283
State is 0, usually meaning not active.
Definition: fbcontrols.h:1023
View (user definable, you need to specify the view using FBSpread::SetCellView()).
Definition: fbcontrols.h:1425
Standard Checkbox Disabled 2 color.
Definition: fbcontrols.h:218
Flat Button Passive 1 color.
Definition: fbcontrols.h:211
Default cell style.
Definition: fbcontrols.h:1416
A keyboard key was released.
Definition: fbcontrols.h:136
Ghost Clear button pressed.
Definition: fbcontrols.h:2206
Save file popup (Shows 'Save Directory').
Definition: fbcontrols.h:2012
#define FBSDKNamespace
FBSDKNamespace define.
Definition: fbversion.h:64
Dropping empty stack.
Definition: fbcontrols.h:504
Ghost Swap button pressed.
Definition: fbcontrols.h:2205
Attach to width [abs(x2-x1)].
Definition: fbcontrols.h:286
Standard edged smooth border.
Definition: fbcontrols.h:302
Object property view.
Definition: fbcontrols.h:2658
Standard Button 1 color.
Definition: fbcontrols.h:207
Tree Background Title color.
Definition: fbcontrols.h:252
Basic class definitions.
FBInputType
Types of input events.
Definition: fbcontrols.h:123
Tree Background SubtitleLine color.
Definition: fbcontrols.h:254
class FBPropertyBase< FBVector3d, kFBPT_Vector3D > FBPropertyVector3d
FBPropertyVector3d type definition.
FBDragAndDropState
State of Drag and Drop.
Definition: fbcontrols.h:498
KEventBase * HKEventBase
Definition: fbcomponent.h:75
Standard List Background Selected 2 color.
Definition: fbcontrols.h:228
int pWidth
Definition: fbtool.h:209
Standard List Background Focus Selected 1 color.
Definition: fbcontrols.h:229
Flat Button Passive 2 color.
Definition: fbcontrols.h:212
class FBPropertyBase< float, kFBPT_float > FBPropertyFloat
Property: float
Standard Tab Active 1 color.
Definition: fbcontrols.h:235
IKtObject * HIKtObject
Definition: fbcontrols.h:62
Standard List Text Selected color.
Definition: fbcontrols.h:231
class FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:62
String list.
Definition: fbstring.h:201
class FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
Tree Background Subtitle color.
Definition: fbcontrols.h:253
No modifier.
Definition: fbcontrols.h:142
Smoothed edges border.
Definition: fbcontrols.h:300
Timeline Outside 1 color.
Definition: fbcontrols.h:244
class __attribute__((visibility("default"))) FBFolderPopup const char const char * pButton1Str
Definition: fbcontrols.h:2072
Attach to bottom [max(y1,y2)].
Definition: fbcontrols.h:285
Timeline Center 1 color.
Definition: fbcontrols.h:246
class __attribute__((visibility("default"))) FBFolderPopup const char const char const char * pButton2Str
Definition: fbcontrols.h:2072
Standard Scroll Passive 1 color.
Definition: fbcontrols.h:223
State is 1, usually meaning active.
Definition: fbcontrols.h:1024
Unspecified event.
Definition: fbcontrols.h:2203
class FBPropertyBase< FBProperty *, kFBPT_Reference > FBPropertyReference
Property: FBProperty *
FBInputModifier
Input Modifiers (Ctrl, Alt, Shift).
Definition: fbcontrols.h:141
const char void FBPopupInputType pValueType
Definition: fbcontrols.h:2116
A keyboard key was pressed.
Definition: fbcontrols.h:124
const char const char const char const char const char bool & pCheckBoxValue
Definition: fbcontrols.h:2088
Standard List Line color.
Definition: fbcontrols.h:233
2 state button with 2 bitmaps.
Definition: fbcontrols.h:1016
const char void * pValue
Definition: fbcontrols.h:2116
Tree Editbox Background color.
Definition: fbcontrols.h:256
Control was pressed.
Definition: fbcontrols.h:144
Standard Scroll Active 2 color.
Definition: fbcontrols.h:222
Standard Field 1 color.
Definition: fbcontrols.h:219
Highlight border.
Definition: fbcontrols.h:304
FBPropertyType
Property types.
Definition: fbproperties.h:79
const char void FBPopupInputType const char const char const char int bool pLastButtonCancel
Definition: fbcontrols.h:2116
FBAttachType
Types of attachments between UI regions.
Definition: fbcontrols.h:281
Character input.
Definition: fbcontrols.h:2093
The mouse pointer is leaving the window.
Definition: fbcontrols.h:131
The internal event could not be translated.
Definition: fbcontrols.h:137
Standard List Text Dragover color.
Definition: fbcontrols.h:232
IRegister * HIRegister
Definition: fbcomponent.h:71
Icon on left of text.
Definition: fbcontrols.h:1660
FBOrientation
General directions for UI components.
Definition: fbcontrols.h:109
class __attribute__((visibility("default"))) FBFolderPopup const char * pMessage
Definition: fbcontrols.h:2072
void(ICallback::* kICallbackHandler)(HIRegister pCaller, HKEventBase pEvent)
Definition: icallback.h:50
Open file popup (Shows 'Open Directory').
Definition: fbcontrols.h:2011
Embossed border.
Definition: fbcontrols.h:297
class FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
FBFilePopupStyle
Different types of file popup windows.
Definition: fbcontrols.h:2010