//--------------------------------------------------------------------------- #ifndef CDSNodeFH #define CDSNodeFH //--------------------------------------------------------------------------- #include #include #include #include "cxCustomData.hpp" #include "LibSTLF.hpp" #include "ITSDbF.h" //--------------------------------------------------------------------------- /* * Node class */ class TItsNode { public: TItsNode(); TItsNode(String AId); virtual ~TItsNode(); void Clear(); private: bool FModified; bool FCompleted; public: String FNODE_ID; String FNODE_TYPE; String FNODE_NAME; String FTURN_P; String FRMRK; String FX_CRDN; String FY_CRDN; void SetValue(String &AOrgValue, String AValue); protected: void SetFNODE_ID(String AValue); void SetFNODE_TYPE(String AValue); void SetFNODE_NAME(String AValue); void SetFTURN_P(String AValue); void SetFRMRK(String AValue); void SetFX_CRDN(String AValue); void SetFY_CRDN(String AValue); public: __property bool Modified = {read = FModified}; __property bool Completed = {read = FCompleted, write = FCompleted}; __property String NODE_ID = {read = FNODE_ID, write = SetFNODE_ID}; __property String NODE_TYPE = {read = FNODE_TYPE, write = SetFNODE_TYPE}; __property String NODE_NAME = {read = FNODE_NAME, write = SetFNODE_NAME}; __property String TURN_P = {read = FTURN_P, write = SetFTURN_P}; __property String RMRK = {read = FRMRK, write = SetFRMRK}; __property String X_CRDN = {read = FX_CRDN, write = SetFX_CRDN}; __property String Y_CRDN = {read = FY_CRDN, write = SetFY_CRDN}; /* NODE_ID NUMBER(10) NOT NULL, COMMENT ON COLUMN ITSDBA.TB_NODE.NODE_ID IS '³ëµåID'; NODE_TYPE VARCHAR(3 BYTE), COMMENT ON COLUMN ITSDBA.TB_NODE.NODE_TYPE IS '³ëµåÀ¯Çü'; NODE_NAME VARCHAR(100 BYTE), COMMENT ON COLUMN ITSDBA.TB_NODE.NODE_NAME IS '±³Â÷·Î¸íĪ'; TURN_P VARCHAR(1 BYTE), COMMENT ON COLUMN ITSDBA.TB_NODE.TURN_P IS 'ȸÀüÁ¦ÇÑÀ¯¹«'; RMRK VARCHAR(50 BYTE), COMMENT ON COLUMN ITSDBA.TB_NODE.RMRK IS 'ºñ°í'; X_CRDN NUMBER(11,8), COMMENT ON COLUMN ITSDBA.TB_NODE.X_CRDN IS 'X ÁÂÇ¥'; Y_CRDN NUMBER(10,8) COMMENT ON COLUMN ITSDBA.TB_NODE.Y_CRDN IS 'Y ÁÂÇ¥'; # NODE_ID NODE_TYPE NODE_NAME TURN_P RMRK X_CRDN Y_CRDN 1 2320043900 101 ¾çÃÌ»ê¾÷´ÜÁö22 0 126.62275095 37.61717415 */ }; //--------------------------------------------------------------------------- /* * Node List class */ class TItsNodeList { public: TItsNodeList(); ~TItsNodeList(); private: TList *FList; void ReleaseAll(); void Release(int AIndex); TItsNode *GetNode(int AIndex); int GetCount(); public: void Clear(); int Add(TItsNode *AItsNode); void Delete(int AIndex); void Insert(int AIndex, TItsNode *AItsNode); __property TItsNode *Node[int Index] = {read = GetNode}; __property int Count = {read = GetCount}; }; //--------------------------------------------------------------------------- /* * NODE CDS */ class TCDSNode : public TcxCustomDataSource { public: TCDSNode(TItsNodeList *AList); private: TItsNodeList *FNodes; bool FModified; protected: void *__fastcall AppendRecord(void); void *__fastcall InsertRecord(void * ARecordHandle); void __fastcall DeleteRecord(void * ARecordHandle); int __fastcall GetRecordCount(void); Variant __fastcall GetValue(void * ARecordHandle, void * AItemHandle); void __fastcall SetValue(void * ARecordHandle, void * AItemHandle, const Variant &AValue); public: __property bool Modified = {read = FModified}; }; //--------------------------------------------------------------------------- /* * Node Manager */ class TItsNodeManager { public: TItsNodeManager(); virtual ~TItsNodeManager(); public: ListMap FLists; public: bool LoadFromDb(TADOConnection *ADbConn=NULL); }; //--------------------------------------------------------------------------- extern TItsNodeManager *ItsNodeManager; //--------------------------------------------------------------------------- #endif