00001 #ifndef __FBCONSOLE_H__
00002 #define __FBCONSOLE_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00044 #include <kaydaradef.h>
00045 #ifndef FBSDK_DLL
00046
00049 #define FBSDK_DLL K_DLLIMPORT
00050 #endif
00051
00052 #include <fbsdk/fbcomponent.h>
00053
00054 #ifdef FBSDKUseNamespace
00055 namespace FBSDKNamespace {
00056 #endif
00057
00059 enum FBConsoleChannelType {
00060 kFBConsoleNull,
00061 kFBConsoleButton,
00062 kFBConsoleSlider,
00063 kFBConsoleTransport,
00064 kFBConsoleEncoder,
00065 kFBConsoleKey,
00066 kFBConsoleDisplay,
00067 kFBConsoleJoystick
00068 };
00069 FB_DEFINE_ENUM( FBSDK_DLL, ConsoleChannelType );
00070
00071 __FB_FORWARD( FBConsoleChannel );
00072
00074 class FBSDK_DLL FBConsoleChannel : public FBComponent {
00075 __FBClassDeclare( FBConsoleChannel,FBComponent );
00076 public:
00080 FBConsoleChannel(char *pName);
00081
00082
00083 FBPropertyString Name;
00084 FBPropertyString Description;
00085 FBPropertyString Group;
00086 FBPropertyConsoleChannelType Type;
00087 FBPropertyDouble Value;
00088 FBPropertyDouble Min;
00089 FBPropertyDouble Max;
00090 FBPropertyDouble Step;
00091 };
00092 FB_DEFINE_ARRAY ( FBSDK_DLL, ConsoleChannel );
00093
00095
00097
00099 class FBSDK_DLL FBPropertyListConsoleChannel : public FBPropertyBaseList< HFBConsoleChannel >
00100 {
00101 private:
00102 FBArrayTemplate<HFBConsoleChannel> mItems;
00103
00108 virtual int Add ( HFBConsoleChannel pItem );
00109
00110 public:
00114 virtual void RemoveAt( int pIndex );
00115
00121 virtual HFBConsoleChannel operator[](int pIndex);
00122
00126 virtual int GetCount();
00127
00128 public:
00134 virtual int Add ( char *pName );
00135
00141 HFBConsoleChannel Find(char *pName);
00142 };
00143
00144
00145
00146
00147 __FB_FORWARD( FBConsole );
00148 FB_FORWARD( FBFbxObject );
00149
00153 class FBSDK_DLL FBConsole : public FBComponent {
00154 __FBClassDeclare( FBConsole,FBComponent );
00155 private:
00156
00157 public:
00162 FBConsole(char *pName=NULL, HIObject pObject=NULL);
00163
00164 FBPropertyListConsoleChannel Channels;
00165 FBPropertyBool IsTransportControl;
00166
00168
00173 virtual bool FbxStore(HFBFbxObject pFbxObject,kFbxObjectStore pStoreWhat);
00174 virtual bool FbxRetrieve(HFBFbxObject pFbxObject,kFbxObjectStore pStoreWhat);
00176
00177
00178 virtual bool FBCreate();
00179 virtual void FBDestroy();
00180
00184 virtual bool Open() = 0;
00185
00189 virtual bool Close() = 0;
00190
00194 virtual bool Initialize() = 0;
00195
00199 virtual bool FetchData() = 0;
00200 };
00204 #define IJLCooper_Declare(IsPure)\
00205 public:\
00206 \
00207 \
00208 virtual void LCDClearScreen ( ) IsPure \
00209 \
00210 virtual void LCDSendString ( char* pMessage, int pX = 0, int pY = 0 ) IsPure \
00211 \
00212 virtual void LCDSendChar ( char pChar, int pX = 0, int pY = 0 ) IsPure \
00213 \
00214 virtual void LCDSetCursorBlink ( bool pState = true ) IsPure \
00215 \
00216 \
00217 virtual void TCSetTime ( FBTime pTime ) IsPure \
00218
00219
00220 K_INTERFACE( IJLCooper, 100103033 );
00221
00222 __FB_FORWARD( FBJLCooper );
00223
00227 class FBSDK_DLL FBJLCooper : public FBComponent
00228 {
00229 private:
00230 __FBClassDeclare( FBJLCooper, FBComponent );
00231 public:
00235 FBJLCooper ( int pIndex = 0 );
00236
00237 IJLCooper_Declare ( Implementation );
00238 };
00239
00240
00241 #ifdef FBSDKUseNamespace
00242 }
00243 #endif
00244 #endif