home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / Vcl / dsdesign.hpp < prev    next >
C/C++ Source or Header  |  2000-02-01  |  9KB  |  210 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1999 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'DSDesign.pas' rev: 5.00
  6.  
  7. #ifndef DSDesignHPP
  8. #define DSDesignHPP
  9.  
  10. #pragma delphiheader begin
  11. #pragma option push -w-
  12. #pragma option push -Vx
  13. #include <DrpCtrls.hpp>    // Pascal unit
  14. #include <Menus.hpp>    // Pascal unit
  15. #include <DsgnWnds.hpp>    // Pascal unit
  16. #include <DsnDBCst.hpp>    // Pascal unit
  17. #include <LibIntf.hpp>    // Pascal unit
  18. #include <DsgnIntf.hpp>    // Pascal unit
  19. #include <DBCtrls.hpp>    // Pascal unit
  20. #include <Db.hpp>    // Pascal unit
  21. #include <ExtCtrls.hpp>    // Pascal unit
  22. #include <StdCtrls.hpp>    // Pascal unit
  23. #include <Forms.hpp>    // Pascal unit
  24. #include <Controls.hpp>    // Pascal unit
  25. #include <Graphics.hpp>    // Pascal unit
  26. #include <Classes.hpp>    // Pascal unit
  27. #include <Messages.hpp>    // Pascal unit
  28. #include <SysUtils.hpp>    // Pascal unit
  29. #include <Windows.hpp>    // Pascal unit
  30. #include <SysInit.hpp>    // Pascal unit
  31. #include <System.hpp>    // Pascal unit
  32.  
  33. //-- user supplied -----------------------------------------------------------
  34.  
  35. namespace Dsdesign
  36. {
  37. //-- type declarations -------------------------------------------------------
  38. typedef bool __fastcall (__closure *TSelectionProc)(Db::TField* Field);
  39.  
  40. typedef TMetaClass*TDSDesignerClass;
  41.  
  42. class DELPHICLASS TFieldsEditor;
  43. class DELPHICLASS TDSDesigner;
  44. class PASCALIMPLEMENTATION TDSDesigner : public Db::TDataSetDesigner 
  45. {
  46.     typedef Db::TDataSetDesigner inherited;
  47.     
  48. private:
  49.     TFieldsEditor* FFieldsEditor;
  50.     
  51. public:
  52.     __fastcall virtual ~TDSDesigner(void);
  53.     virtual void __fastcall DataEvent(Db::TDataEvent Event, int Info);
  54.     virtual void __fastcall BeginCreateFields(void);
  55.     virtual void __fastcall BeginUpdateFieldDefs(void);
  56.     virtual Db::TField* __fastcall DoCreateField(const AnsiString FieldName, AnsiString Origin);
  57.     virtual void __fastcall EndCreateFields(void);
  58.     virtual void __fastcall EndUpdateFieldDefs(void);
  59.     virtual AnsiString __fastcall GetControlClass(Db::TField* Field);
  60.     virtual void __fastcall InitializeMenu(Menus::TPopupMenu* Menu);
  61.     virtual bool __fastcall SupportsAggregates(void);
  62.     virtual bool __fastcall SupportsInternalCalc(void);
  63.     virtual void __fastcall UpdateMenus(Menus::TPopupMenu* Menu, Dsgnintf::TEditState EditState);
  64.     __property TFieldsEditor* FieldsEditor = {read=FFieldsEditor};
  65. public:
  66.     #pragma option push -w-inl
  67.     /* TDataSetDesigner.Create */ inline __fastcall TDSDesigner(Db::TDataSet* DataSet) : Db::TDataSetDesigner(
  68.         DataSet) { }
  69.     #pragma option pop
  70.     
  71. };
  72.  
  73.  
  74. class PASCALIMPLEMENTATION TFieldsEditor : public Dsgnwnds::TDesignWindow 
  75. {
  76.     typedef Dsgnwnds::TDesignWindow inherited;
  77.     
  78. __published:
  79.     Extctrls::TPanel* Panel1;
  80.     Db::TDataSource* DataSource;
  81.     Menus::TPopupMenu* LocalMenu;
  82.     Menus::TMenuItem* AddItem;
  83.     Menus::TMenuItem* NewItem;
  84.     Menus::TMenuItem* N1;
  85.     Menus::TMenuItem* CutItem;
  86.     Menus::TMenuItem* CopyItem;
  87.     Menus::TMenuItem* PasteItem;
  88.     Menus::TMenuItem* DeleteItem;
  89.     Menus::TMenuItem* SelectAllItem;
  90.     Stdctrls::TListBox* FieldListBox;
  91.     Dbctrls::TDBNavigator* DBNavigator;
  92.     Menus::TMenuItem* Addallfields1;
  93.     Stdctrls::TListBox* AggListBox;
  94.     Extctrls::TSplitter* Splitter1;
  95.     void __fastcall FormCreate(System::TObject* Sender);
  96.     void __fastcall FormDestroy(System::TObject* Sender);
  97.     void __fastcall AddItemClick(System::TObject* Sender);
  98.     void __fastcall DeleteItemClick(System::TObject* Sender);
  99.     void __fastcall FieldListBoxDragOver(System::TObject* Sender, System::TObject* Source, int X, int Y
  100.         , Controls::TDragState State, bool &Accept);
  101.     void __fastcall FieldListBoxDragDrop(System::TObject* Sender, System::TObject* Source, int X, int Y
  102.         );
  103.     void __fastcall AListBoxKeyDown(System::TObject* Sender, Word &Key, Classes::TShiftState Shift);
  104.     void __fastcall NewItemClick(System::TObject* Sender);
  105.     void __fastcall SelectTable(System::TObject* Sender);
  106.     void __fastcall AListBoxClick(System::TObject* Sender);
  107.     void __fastcall AListBoxKeyPress(System::TObject* Sender, char &Key);
  108.     void __fastcall ClearAllClick(System::TObject* Sender);
  109.     void __fastcall FieldListBoxStartDrag(System::TObject* Sender, Controls::TDragObject* &DragObject);
  110.         
  111.     void __fastcall SelectAllItemClick(System::TObject* Sender);
  112.     void __fastcall CutItemClick(System::TObject* Sender);
  113.     void __fastcall CopyItemClick(System::TObject* Sender);
  114.     void __fastcall PasteItemClick(System::TObject* Sender);
  115.     void __fastcall LocalMenuPopup(System::TObject* Sender);
  116.     void __fastcall AddAllFields(System::TObject* Sender);
  117.     
  118. private:
  119.     TMetaClass*FDSDesignerClass;
  120.     Controls::TDragObject* FDragObject;
  121.     TDSDesigner* FDSDesigner;
  122.     Forms::TCustomForm* FForm;
  123.     Db::TDataSet* FDataset;
  124.     int FFocusRectItem;
  125.     int FMinWidth;
  126.     int FMinHeight;
  127.     void __fastcall AddFields(bool All);
  128.     void __fastcall Copy(void);
  129.     Db::TField* __fastcall CreateFields(Stdctrls::TListBox* FieldsList);
  130.     void __fastcall Cut(void);
  131.     void __fastcall MoveFields(int MoveOffset);
  132.     void __fastcall Paste(void);
  133.     void __fastcall RemoveFields(Stdctrls::TListBox* Listbox);
  134.     void __fastcall SelectAll(void);
  135.     void __fastcall RestoreSelection(Stdctrls::TListBox* List, Classes::TStringList* &Selection, int ItemIndex
  136.         , int TopIndex, bool RestoreUpdate);
  137.     void __fastcall SaveSelection(Stdctrls::TListBox* List, Classes::TStringList* &Selection, int &ItemIndex
  138.         , int &TopIndex, bool NoUpdate);
  139.     void __fastcall SetDataset(Db::TDataSet* Value);
  140.     void __fastcall UpdateDisplay(void);
  141.     void __fastcall UpdateCaption(void);
  142.     void __fastcall UpdateFieldList(void);
  143.     void __fastcall UpdateSelection(void);
  144.     HIDESBASE MESSAGE void __fastcall WMGetMinMaxInfo(Messages::TWMGetMinMaxInfo &Message);
  145.     Stdctrls::TListBox* __fastcall GetActiveListbox(void);
  146.     
  147. protected:
  148.     DYNAMIC void __fastcall Activated(void);
  149.     void __fastcall CheckFieldDelete(void);
  150.     void __fastcall CheckFieldAdd(void);
  151.     virtual AnsiString __fastcall UniqueName(Classes::TComponent* Component);
  152.     
  153. public:
  154.     __fastcall virtual ~TFieldsEditor(void);
  155.     virtual void __fastcall ComponentDeleted(Dsgnintf::_di_IPersistent Component);
  156.     virtual Dsgnintf::TEditState __fastcall GetEditState(void);
  157.     virtual void __fastcall EditAction(Dsgnintf::TEditAction Action);
  158.     bool __fastcall ForEachSelection(TSelectionProc Proc);
  159.     virtual void __fastcall FormModified(void);
  160.     virtual void __fastcall SelectionChanged(Dsgnintf::TDesignerSelectionList* ASelection)/* overload */
  161.         ;
  162.     Db::TField* __fastcall DoNewField(void);
  163.     Db::TField* __fastcall DoNewLookupField(const AnsiString ADataSet, const AnsiString AKey, const AnsiString 
  164.         ALookup, const AnsiString AResult, const AnsiString AType, Word ASize);
  165.     Db::TField* __fastcall DoAddFields(bool All);
  166.     __property Forms::TCustomForm* Form = {read=FForm, write=FForm};
  167.     __property Db::TDataSet* Dataset = {read=FDataset, write=SetDataset};
  168.     __property TMetaClass* DSDesignerClass = {read=FDSDesignerClass, write=FDSDesignerClass};
  169.     __property TDSDesigner* DSDesigner = {read=FDSDesigner};
  170. public:
  171.     #pragma option push -w-inl
  172.     /* TDesignWindow.Create */ inline __fastcall virtual TFieldsEditor(Classes::TComponent* AOwner) : Dsgnwnds::TDesignWindow(
  173.         AOwner) { }
  174.     #pragma option pop
  175.     
  176. public:
  177.     #pragma option push -w-inl
  178.     /* TCustomForm.CreateNew */ inline __fastcall virtual TFieldsEditor(Classes::TComponent* AOwner, int 
  179.         Dummy) : Dsgnwnds::TDesignWindow(AOwner, Dummy) { }
  180.     #pragma option pop
  181.     
  182. public:
  183.     #pragma option push -w-inl
  184.     /* TWinControl.CreateParented */ inline __fastcall TFieldsEditor(HWND ParentWindow) : Dsgnwnds::TDesignWindow(
  185.         ParentWindow) { }
  186.     #pragma option pop
  187.     
  188. };
  189.  
  190.  
  191. //-- var, const, procedure ---------------------------------------------------
  192. extern PACKAGE int DesignerCount;
  193. extern PACKAGE void __fastcall ShowFieldsEditor(Dsgnintf::_di_IFormDesigner Designer, Db::TDataSet* 
  194.     ADataset, TMetaClass* DesignerClass);
  195. extern PACKAGE TFieldsEditor* __fastcall CreateFieldsEditor(Dsgnintf::_di_IFormDesigner Designer, Db::TDataSet* 
  196.     ADataset, TMetaClass* DesignerClass, bool &Shared);
  197. extern PACKAGE AnsiString __fastcall CreateUniqueName(Db::TDataSet* Dataset, const AnsiString FieldName
  198.     , TMetaClass* FieldClass, Classes::TComponent* Component);
  199.  
  200. }    /* namespace Dsdesign */
  201. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  202. using namespace Dsdesign;
  203. #endif
  204. #pragma option pop    // -w-
  205. #pragma option pop    // -Vx
  206.  
  207. #pragma delphiheader end.
  208. //-- end unit ----------------------------------------------------------------
  209. #endif    // DSDesign
  210.