00001
00026 #ifndef INC_RVC_DBFORM_H
00027 #define INC_RVC_DBFORM_H
00028
00029 #ifndef INC_RVC_SIMPLE_H
00030 #include <rvc/simple.h>
00031 #endif
00032
00033 #ifndef INC_MI32_RVCDBASE_H
00034 #include <mi32/rvcdbase.h>
00035 #endif
00036
00037 namespace RVC {
00038
00055 class DBFORM : public RVC::SIMPLE {
00056 public:
00057
00058 struct FORMFIELD;
00059
00060 enum FORMFLAGS {
00061 FORMFLAGS_None = 0,
00062 FORMFLAGS_VScroll = 1,
00063 FORMFLAGS_HScroll = 2,
00064 FORMFLAGS_AllowResize = 4
00065 };
00066
00067 DBFORM (
00068 );
00069
00070 DBFORM (
00071 const RVC::DBFORM& rhs
00072 );
00073
00074 virtual ~DBFORM (
00075 );
00076
00077 RVC::DBFORM& operator= (
00078 const RVC::DBFORM& rhs
00079 );
00080
00083 FORMFLAGS GetFlags (
00084 ) const;
00085
00088 const SIMPLE_ARRAY<FORMFIELD>& GetFormFieldList (
00089 ) const;
00090
00093 INT16 GetHeight (
00094 ) const;
00095
00098 INT16 GetPartialHeight (
00099 ) const;
00100
00103 INT16 GetPartialWidth (
00104 ) const;
00105
00108 const RVC::OBJECTNAME& GetTableName (
00109 ) const;
00110
00113 INT16 GetWidth (
00114 ) const;
00115
00118 INT16 GetWindowX (
00119 ) const;
00120
00123 INT16 GetWindowY (
00124 ) const;
00125
00127 void SetFlags (
00128 FORMFLAGS flags
00129 );
00130
00132 void SetFormFieldList (
00133 const SIMPLE_ARRAY<FORMFIELD>& FormFieldList
00134 );
00135
00137 void SetHeight (
00138 INT16 height
00139 );
00140
00142 void SetPartialHeight (
00143 INT16 PartialHeight
00144 );
00145
00147 void SetPartialWidth (
00148 INT16 PartialWidth
00149 );
00150
00152 void SetTableName (
00153 const RVC::OBJECTNAME& TableName
00154 );
00155
00157 void SetWidth (
00158 INT16 height
00159 );
00160
00162 void SetWindowX (
00163 INT16 x
00164 );
00165
00167 void SetWindowY (
00168 INT16 x
00169 );
00170
00171 private:
00172 #ifndef GENERATING_DOXYGEN_OUTPUT
00173
00175 virtual OBJTYPE v_GetDftObjectType () const;
00176
00178 virtual ERRVALUE v_GetDftNameDesc (const OBJECT& parent, DESCRIPTOR& Descriptor);
00179 virtual ERRVALUE v_MakeData (RVC::OBJMAKEPARMS& ObjMakeParms);
00180 virtual ERRVALUE v_ReadData (RVC::OBJOPENPARMS& ObjOpenParms);
00181 virtual ERRVALUE v_WriteData (RVC::OBJOPENPARMS& ObjOpenParms);
00182
00183 SIMPLE_ARRAY<FORMFIELD> m_FormField;
00184 OBJECTNAME m_TableName;
00185 FORMFLAGS m_Flags;
00186 INT16 m_Height;
00187 INT16 m_PartialHeight;
00188 INT16 m_Width;
00189 INT16 m_PartialWidth;
00190 INT16 m_X;
00191 INT16 m_Y;
00192 #endif // GENERATING_DOXYGEN_OUTPUT
00193
00194 };
00195
00196
00198 struct DBFORM::FORMFIELD {
00199
00201 enum CTRLTYPE {
00202 CTRLTYPE_Default = 1,
00203 CTRLTYPE_Label = 2
00204 };
00205
00207 enum FLAGS {
00208 FLAG_CheckMin = 0x0001,
00209 FLAG_CheckMax = 0x0002,
00210 FLAG_AlignRight = 0x0004,
00211 };
00212
00213 RVC::OBJECTNAME fname;
00214 FIXEDSTRING<80> desc;
00215 DOUBLE min, max;
00216 DOUBLE dft, sparedouble;
00217 INT16 lin, partial_lin;
00218 INT16 col, partial_col;
00219
00220 INT16 end_lin, end_partial_lin;
00221 INT16 end_col, end_partial_col;
00222
00223 INT16 lins, cols;
00224 INT16 partial_lins, partial_cols;
00225
00226 INT16 places;
00227 INT16 type;
00228
00229 UINT32 flags;
00230 INT32 parent;
00231 UINT8 spare[4];
00232 };
00233 #ifndef GENERATING_DOXYGEN_OUTPUT
00234 DEFINE_ENUM_OP_BITWISE(DBFORM::FORMFIELD::FLAGS)
00235 #endif
00236
00237
00238 }
00239
00240 #endif // INC_RVC_DBFORM_H