home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 9 / CDACTUAL9.iso / progs / CB / DATA.Z / DSGNINTF.HPP < prev    next >
Encoding:
C/C++ Source or Header  |  1996-11-06  |  25.3 KB  |  688 lines

  1. //----------------------------------------------------------------------------
  2. // DsgnIntf.hpp - dcc32 generated hdr (DO NOT EDIT) rev: -2
  3. // From: DsgnIntf.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef DsgnIntfHPP
  6. #define DsgnIntfHPP
  7. //----------------------------------------------------------------------------
  8. #ifndef TypInfoHPP
  9. #include <TypInfo.hpp>
  10. #endif
  11.  
  12. #ifndef FormsHPP
  13. #include <Forms.hpp>
  14. #endif
  15.  
  16. #ifndef ControlsHPP
  17. #include <Controls.hpp>
  18. #endif
  19.  
  20. #ifndef GraphicsHPP
  21. #include <Graphics.hpp>
  22. #endif
  23.  
  24. #ifndef ClassesHPP
  25. #include <Classes.hpp>
  26. #endif
  27.  
  28. #ifndef SysUtilsHPP
  29. #include <SysUtils.hpp>
  30. #endif
  31.  
  32. #ifndef SystemHPP
  33. #include <System.hpp>
  34. #endif
  35.  
  36. namespace Dsgnintf
  37. {
  38. //-- type declarations -------------------------------------------------------
  39. class __declspec(delphiclass) TComponentList;
  40. class __declspec(pascalimplementation) TComponentList : public System::TObject
  41. {
  42.     typedef TComponentList ThisClass;
  43.     typedef System::TObject inherited;
  44.     
  45. private:
  46.     Classes::TList *FList;
  47.     Classes::TComponent *__fastcall Get(System::Integer Index);
  48.     System::Integer __fastcall GetCount(void);
  49.     
  50. public:
  51.     __fastcall TComponentList(void);
  52.     __fastcall virtual ~TComponentList(void);
  53.     System::Integer __fastcall Add(Classes::TComponent *Item);
  54.     System::Boolean __fastcall Equals(TComponentList *List);
  55.     __property System::Integer Count = {read=GetCount, nodefault};
  56.     __property Classes::TComponent * Items[System::Integer Index] = {read=Get/*, default*/};
  57. };
  58.  
  59. class __declspec(delphiclass) TFormDesigner;
  60. class __declspec(pascalimplementation) TFormDesigner : public Forms::TDesigner
  61. {
  62.     typedef TFormDesigner ThisClass;
  63.     typedef Forms::TDesigner inherited;
  64.     
  65. public:
  66.     virtual Sysutils::TMethod __fastcall CreateMethod(const System::AnsiString Name, Typinfo::PTypeData 
  67.         TypeData) = 0;
  68.     virtual System::AnsiString __fastcall GetMethodName(const Sysutils::TMethod &Method) = 0;
  69.     virtual void __fastcall GetMethods(Typinfo::PTypeData TypeData, Classes::TGetStrProc Proc) = 0;
  70.     virtual System::AnsiString __fastcall GetPrivateDirectory(void) = 0;
  71.     virtual void __fastcall GetSelections(TComponentList *List) = 0;
  72.     virtual System::Boolean __fastcall MethodExists(const System::AnsiString Name) = 0;
  73.     virtual void __fastcall RenameMethod(const System::AnsiString CurName, const System::AnsiString NewName
  74.         ) = 0;
  75.     virtual void __fastcall SelectComponent(Classes::TComponent *Component) = 0;
  76.     virtual void __fastcall SetSelections(TComponentList *List) = 0;
  77.     virtual void __fastcall ShowMethod(const System::AnsiString Name) = 0;
  78.     virtual System::AnsiString __fastcall UniqueName(const System::AnsiString BaseName) = 0;
  79.     virtual void __fastcall GetComponentNames(Typinfo::PTypeData TypeData, Classes::TGetStrProc Proc) = 0
  80.         ;
  81.     virtual Classes::TComponent *__fastcall GetComponent(const System::AnsiString Name) = 0;
  82.     virtual System::AnsiString __fastcall GetComponentName(Classes::TComponent *Component) = 0;
  83.     virtual System::Boolean __fastcall MethodFromAncestor(const Sysutils::TMethod &Method) = 0;
  84.     virtual Classes::TComponent *__fastcall CreateComponent(System::TMetaClass * ComponentClass, Classes::TComponent *
  85.         Parent, System::Integer Left, System::Integer Top, System::Integer Width, System::Integer Height) = 0
  86.         ;
  87.     virtual System::Boolean __fastcall IsComponentLinkable(Classes::TComponent *Component) = 0;
  88.     virtual void __fastcall MakeComponentLinkable(Classes::TComponent *Component) = 0;
  89.     virtual Classes::TComponent *__fastcall GetRoot(void) = 0;
  90.     virtual void __fastcall Revert(Classes::TPersistent *Instance, Typinfo::PPropInfo PropInfo) = 0;
  91. public:
  92.         
  93.     /* !! TObject.Create */ __fastcall TFormDesigner(void) : Forms::TDesigner() { }
  94.     /* !! TObject.Destroy */ __fastcall virtual ~TFormDesigner(void) { }
  95.     
  96. };
  97.  
  98. enum TPropertyAttribute { paValueList, paSubProperties, paDialog, paMultiSelect, paAutoUpdate, paSortList, 
  99.     paReadOnly, paRevertable };
  100.  
  101. typedef Set<TPropertyAttribute, paValueList, paRevertable>  TPropertyAttributes;
  102.  
  103. struct TInstProp
  104. {
  105.     Classes::TComponent *Instance;
  106.     Typinfo::TPropInfo *PropInfo;
  107. } ;
  108.  
  109. typedef TInstProp TInstPropList[1024];
  110.  
  111. typedef TInstPropList *PInstPropList;
  112.  
  113. class __declspec(delphiclass) TPropertyEditor;
  114. typedef void __fastcall (__closure *TGetPropEditProc)(TPropertyEditor *Prop);
  115.  
  116. class __declspec(pascalimplementation) TPropertyEditor : public System::TObject
  117. {
  118.     typedef TPropertyEditor ThisClass;
  119.     typedef System::TObject inherited;
  120.     
  121. private:
  122.     TFormDesigner *FDesigner;
  123.     TInstPropList *FPropList;
  124.     System::Integer FPropCount;
  125.     __fastcall TPropertyEditor(TFormDesigner *ADesigner, System::Integer APropCount);
  126.     System::AnsiString __fastcall GetPrivateDirectory(void);
  127.     void __fastcall SetPropEntry(System::Integer Index, Classes::TComponent *AInstance, Typinfo::PPropInfo 
  128.         APropInfo);
  129.     
  130. protected:
  131.     Typinfo::PPropInfo __fastcall GetPropInfo(void);
  132.     System::Extended __fastcall GetFloatValue(void);
  133.     System::Extended __fastcall GetFloatValueAt(System::Integer Index);
  134.     Sysutils::TMethod __fastcall GetMethodValue(void);
  135.     Sysutils::TMethod __fastcall GetMethodValueAt(System::Integer Index);
  136.     System::Longint __fastcall GetOrdValue(void);
  137.     System::Longint __fastcall GetOrdValueAt(System::Integer Index);
  138.     System::AnsiString __fastcall GetStrValue(void);
  139.     System::AnsiString __fastcall GetStrValueAt(System::Integer Index);
  140.     System::Variant __fastcall GetVarValue(void);
  141.     System::Variant __fastcall GetVarValueAt(System::Integer Index);
  142.     void __fastcall Modified(void);
  143.     void __fastcall SetFloatValue(System::Extended Value);
  144.     void __fastcall SetMethodValue(const Sysutils::TMethod &Value);
  145.     void __fastcall SetOrdValue(System::Longint Value);
  146.     void __fastcall SetStrValue(const System::AnsiString Value);
  147.     void __fastcall SetVarValue(const System::Variant &Value);
  148.     
  149. public:
  150.     __fastcall virtual ~TPropertyEditor(void);
  151.     virtual void __fastcall Activate(void);
  152.     virtual System::Boolean __fastcall AllEqual(void);
  153.     virtual void __fastcall Edit(void);
  154.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  155.     Classes::TComponent *__fastcall GetComponent(System::Integer Index);
  156.     virtual System::Integer __fastcall GetEditLimit(void);
  157.     virtual System::AnsiString __fastcall GetName(void);
  158.     virtual void __fastcall GetProperties(TGetPropEditProc Proc);
  159.     Typinfo::PTypeInfo __fastcall GetPropType(void);
  160.     virtual System::AnsiString __fastcall GetValue(void);
  161.     virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
  162.     virtual void __fastcall Initialize(void);
  163.     void __fastcall Revert(void);
  164.     virtual void __fastcall SetValue(const System::AnsiString Value);
  165.     System::Boolean __fastcall ValueAvailable(void);
  166.     __property TFormDesigner * Designer = {read=FDesigner, nodefault};
  167.     __property System::AnsiString PrivateDirectory = {read=GetPrivateDirectory, nodefault};
  168.     __property System::Integer PropCount = {read=FPropCount, nodefault};
  169.     __property System::AnsiString Value = {read=GetValue, write=SetValue, nodefault};
  170. public:
  171.     /* !! TObject.Create */ __fastcall TPropertyEditor(void) : System::TObject() { }
  172.     
  173. };
  174.  
  175. typedef System::TMetaClass *TPropertyEditorClass;
  176.  
  177. class __declspec(delphiclass) TOrdinalProperty;
  178. class __declspec(pascalimplementation) TOrdinalProperty : public TPropertyEditor
  179. {
  180.     typedef TOrdinalProperty ThisClass;
  181.     typedef TPropertyEditor inherited;
  182.     
  183. public:
  184.     virtual System::Boolean __fastcall AllEqual(void);
  185.     virtual System::Integer __fastcall GetEditLimit(void);
  186. public:
  187.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TOrdinalProperty(void) { }
  188.     
  189. public:
  190.     /* !! TObject.Create */ __fastcall TOrdinalProperty(void) : Dsgnintf::TPropertyEditor() { }
  191.     
  192. };
  193.  
  194. class __declspec(delphiclass) TIntegerProperty;
  195. class __declspec(pascalimplementation) TIntegerProperty : public TOrdinalProperty
  196. {
  197.     typedef TIntegerProperty ThisClass;
  198.     typedef TOrdinalProperty inherited;
  199.     
  200. public:
  201.     virtual System::AnsiString __fastcall GetValue(void);
  202.     virtual void __fastcall SetValue(const System::AnsiString Value);
  203. public:
  204.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TIntegerProperty(void) { }
  205.     
  206. public:
  207.     /* !! TObject.Create */ __fastcall TIntegerProperty(void) : Dsgnintf::TOrdinalProperty() { }
  208.     
  209. };
  210.  
  211. class __declspec(delphiclass) TCharProperty;
  212. class __declspec(pascalimplementation) TCharProperty : public TOrdinalProperty
  213. {
  214.     typedef TCharProperty ThisClass;
  215.     typedef TOrdinalProperty inherited;
  216.     
  217. public:
  218.     virtual System::AnsiString __fastcall GetValue(void);
  219.     virtual void __fastcall SetValue(const System::AnsiString Value);
  220. public:
  221.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TCharProperty(void) { }
  222.     
  223. public:
  224.     /* !! TObject.Create */ __fastcall TCharProperty(void) : Dsgnintf::TOrdinalProperty() { }
  225.     
  226. };
  227.  
  228. class __declspec(delphiclass) TEnumProperty;
  229. class __declspec(pascalimplementation) TEnumProperty : public TOrdinalProperty
  230. {
  231.     typedef TEnumProperty ThisClass;
  232.     typedef TOrdinalProperty inherited;
  233.     
  234. public:
  235.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  236.     virtual System::AnsiString __fastcall GetValue(void);
  237.     virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
  238.     virtual void __fastcall SetValue(const System::AnsiString Value);
  239. public:
  240.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TEnumProperty(void) { }
  241.     
  242. public:
  243.     /* !! TObject.Create */ __fastcall TEnumProperty(void) : Dsgnintf::TOrdinalProperty() { }
  244.     
  245. };
  246.  
  247. class __declspec(delphiclass) TFloatProperty;
  248. class __declspec(pascalimplementation) TFloatProperty : public TPropertyEditor
  249. {
  250.     typedef TFloatProperty ThisClass;
  251.     typedef TPropertyEditor inherited;
  252.     
  253. public:
  254.     virtual System::Boolean __fastcall AllEqual(void);
  255.     virtual System::AnsiString __fastcall GetValue(void);
  256.     virtual void __fastcall SetValue(const System::AnsiString Value);
  257. public:
  258.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TFloatProperty(void) { }
  259.     
  260. public:
  261.     /* !! TObject.Create */ __fastcall TFloatProperty(void) : Dsgnintf::TPropertyEditor() { }
  262.     
  263. };
  264.  
  265. class __declspec(delphiclass) TStringProperty;
  266. class __declspec(pascalimplementation) TStringProperty : public TPropertyEditor
  267. {
  268.     typedef TStringProperty ThisClass;
  269.     typedef TPropertyEditor inherited;
  270.     
  271. public:
  272.     virtual System::Boolean __fastcall AllEqual(void);
  273.     virtual System::Integer __fastcall GetEditLimit(void);
  274.     virtual System::AnsiString __fastcall GetValue(void);
  275.     virtual void __fastcall SetValue(const System::AnsiString Value);
  276. public:
  277.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TStringProperty(void) { }
  278.     
  279. public:
  280.     /* !! TObject.Create */ __fastcall TStringProperty(void) : Dsgnintf::TPropertyEditor() { }
  281.     
  282. };
  283.  
  284. class __declspec(delphiclass) TSetElementProperty;
  285. class __declspec(pascalimplementation) TSetElementProperty : public TPropertyEditor
  286. {
  287.     typedef TSetElementProperty ThisClass;
  288.     typedef TPropertyEditor inherited;
  289.     
  290. private:
  291.     System::Integer FElement;
  292.     __fastcall TSetElementProperty(TFormDesigner *ADesigner, PInstPropList APropList, System::Integer APropCount
  293.         , System::Integer AElement);
  294.     
  295. public:
  296.     __fastcall virtual ~TSetElementProperty(void);
  297.     virtual System::Boolean __fastcall AllEqual(void);
  298.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  299.     virtual System::AnsiString __fastcall GetName(void);
  300.     virtual System::AnsiString __fastcall GetValue(void);
  301.     virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
  302.     virtual void __fastcall SetValue(const System::AnsiString Value);
  303. public:
  304.     /* !! TObject.Create */ __fastcall TSetElementProperty(void) : Dsgnintf::TPropertyEditor() { }
  305.     
  306. };
  307.  
  308. class __declspec(delphiclass) TSetProperty;
  309. class __declspec(pascalimplementation) TSetProperty : public TOrdinalProperty
  310. {
  311.     typedef TSetProperty ThisClass;
  312.     typedef TOrdinalProperty inherited;
  313.     
  314. public:
  315.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  316.     virtual void __fastcall GetProperties(TGetPropEditProc Proc);
  317.     virtual System::AnsiString __fastcall GetValue(void);
  318. public:
  319.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TSetProperty(void) { }
  320.     
  321. public:
  322.     /* !! TObject.Create */ __fastcall TSetProperty(void) : Dsgnintf::TOrdinalProperty() { }
  323.     
  324. };
  325.  
  326. class __declspec(delphiclass) TClassProperty;
  327. class __declspec(pascalimplementation) TClassProperty : public TPropertyEditor
  328. {
  329.     typedef TClassProperty ThisClass;
  330.     typedef TPropertyEditor inherited;
  331.     
  332. public:
  333.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  334.     virtual void __fastcall GetProperties(TGetPropEditProc Proc);
  335.     virtual System::AnsiString __fastcall GetValue(void);
  336. public:
  337.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TClassProperty(void) { }
  338.     
  339. public:
  340.     /* !! TObject.Create */ __fastcall TClassProperty(void) : Dsgnintf::TPropertyEditor() { }
  341.     
  342. };
  343.  
  344. class __declspec(delphiclass) TMethodProperty;
  345. class __declspec(pascalimplementation) TMethodProperty : public TPropertyEditor
  346. {
  347.     typedef TMethodProperty ThisClass;
  348.     typedef TPropertyEditor inherited;
  349.     
  350. public:
  351.     virtual System::Boolean __fastcall AllEqual(void);
  352.     virtual void __fastcall Edit(void);
  353.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  354.     virtual System::Integer __fastcall GetEditLimit(void);
  355.     virtual System::AnsiString __fastcall GetValue(void);
  356.     virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
  357.     virtual void __fastcall SetValue(const System::AnsiString AValue);
  358. public:
  359.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TMethodProperty(void) { }
  360.     
  361. public:
  362.     /* !! TObject.Create */ __fastcall TMethodProperty(void) : Dsgnintf::TPropertyEditor() { }
  363.     
  364. };
  365.  
  366. class __declspec(delphiclass) TComponentProperty;
  367. class __declspec(pascalimplementation) TComponentProperty : public TPropertyEditor
  368. {
  369.     typedef TComponentProperty ThisClass;
  370.     typedef TPropertyEditor inherited;
  371.     
  372. public:
  373.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  374.     virtual System::Integer __fastcall GetEditLimit(void);
  375.     virtual System::AnsiString __fastcall GetValue(void);
  376.     virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
  377.     virtual void __fastcall SetValue(const System::AnsiString Value);
  378. public:
  379.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TComponentProperty(void) { }
  380.     
  381. public:
  382.     /* !! TObject.Create */ __fastcall TComponentProperty(void) : Dsgnintf::TPropertyEditor() { }
  383.     
  384. };
  385.  
  386. class __declspec(delphiclass) TComponentNameProperty;
  387. class __declspec(pascalimplementation) TComponentNameProperty : public TStringProperty
  388. {
  389.     typedef TComponentNameProperty ThisClass;
  390.     typedef TStringProperty inherited;
  391.     
  392. public:
  393.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  394.     virtual System::Integer __fastcall GetEditLimit(void);
  395. public:
  396.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TComponentNameProperty(void) { }
  397.     
  398. public:
  399.     /* !! TObject.Create */ __fastcall TComponentNameProperty(void) : Dsgnintf::TStringProperty() { }
  400.     
  401. };
  402.  
  403. class __declspec(delphiclass) TFontNameProperty;
  404. class __declspec(pascalimplementation) TFontNameProperty : public TStringProperty
  405. {
  406.     typedef TFontNameProperty ThisClass;
  407.     typedef TStringProperty inherited;
  408.     
  409. public:
  410.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  411.     virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
  412. public:
  413.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TFontNameProperty(void) { }
  414.     
  415. public:
  416.     /* !! TObject.Create */ __fastcall TFontNameProperty(void) : Dsgnintf::TStringProperty() { }
  417.     
  418. };
  419.  
  420. class __declspec(delphiclass) TFontCharsetProperty;
  421. class __declspec(pascalimplementation) TFontCharsetProperty : public TIntegerProperty
  422. {
  423.     typedef TFontCharsetProperty ThisClass;
  424.     typedef TIntegerProperty inherited;
  425.     
  426. public:
  427.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  428.     virtual System::AnsiString __fastcall GetValue(void);
  429.     virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
  430.     virtual void __fastcall SetValue(const System::AnsiString Value);
  431. public:
  432.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TFontCharsetProperty(void) { }
  433.     
  434. public:
  435.     /* !! TObject.Create */ __fastcall TFontCharsetProperty(void) : Dsgnintf::TIntegerProperty() { }
  436.     
  437. };
  438.  
  439. class __declspec(delphiclass) TColorProperty;
  440. class __declspec(pascalimplementation) TColorProperty : public TIntegerProperty
  441. {
  442.     typedef TColorProperty ThisClass;
  443.     typedef TIntegerProperty inherited;
  444.     
  445. public:
  446.     virtual void __fastcall Edit(void);
  447.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  448.     virtual System::AnsiString __fastcall GetValue(void);
  449.     virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
  450.     virtual void __fastcall SetValue(const System::AnsiString Value);
  451. public:
  452.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TColorProperty(void) { }
  453.     
  454. public:
  455.     /* !! TObject.Create */ __fastcall TColorProperty(void) : Dsgnintf::TIntegerProperty() { }
  456.     
  457. };
  458.  
  459. class __declspec(delphiclass) TCursorProperty;
  460. class __declspec(pascalimplementation) TCursorProperty : public TIntegerProperty
  461. {
  462.     typedef TCursorProperty ThisClass;
  463.     typedef TIntegerProperty inherited;
  464.     
  465. public:
  466.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  467.     virtual System::AnsiString __fastcall GetValue(void);
  468.     virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
  469.     virtual void __fastcall SetValue(const System::AnsiString Value);
  470. public:
  471.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TCursorProperty(void) { }
  472.     
  473. public:
  474.     /* !! TObject.Create */ __fastcall TCursorProperty(void) : Dsgnintf::TIntegerProperty() { }
  475.     
  476. };
  477.  
  478. class __declspec(delphiclass) TFontProperty;
  479. class __declspec(pascalimplementation) TFontProperty : public TClassProperty
  480. {
  481.     typedef TFontProperty ThisClass;
  482.     typedef TClassProperty inherited;
  483.     
  484. public:
  485.     virtual void __fastcall Edit(void);
  486.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  487. public:
  488.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TFontProperty(void) { }
  489.     
  490. public:
  491.     /* !! TObject.Create */ __fastcall TFontProperty(void) : Dsgnintf::TClassProperty() { }
  492.     
  493. };
  494.  
  495. class __declspec(delphiclass) TModalResultProperty;
  496. class __declspec(pascalimplementation) TModalResultProperty : public TIntegerProperty
  497. {
  498.     typedef TModalResultProperty ThisClass;
  499.     typedef TIntegerProperty inherited;
  500.     
  501. public:
  502.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  503.     virtual System::AnsiString __fastcall GetValue(void);
  504.     virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
  505.     virtual void __fastcall SetValue(const System::AnsiString Value);
  506. public:
  507.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TModalResultProperty(void) { }
  508.     
  509. public:
  510.     /* !! TObject.Create */ __fastcall TModalResultProperty(void) : Dsgnintf::TIntegerProperty() { }
  511.     
  512. };
  513.  
  514. class __declspec(delphiclass) TShortCutProperty;
  515. class __declspec(pascalimplementation) TShortCutProperty : public TOrdinalProperty
  516. {
  517.     typedef TShortCutProperty ThisClass;
  518.     typedef TOrdinalProperty inherited;
  519.     
  520. public:
  521.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  522.     virtual System::AnsiString __fastcall GetValue(void);
  523.     virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
  524.     virtual void __fastcall SetValue(const System::AnsiString Value);
  525. public:
  526.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TShortCutProperty(void) { }
  527.     
  528. public:
  529.     /* !! TObject.Create */ __fastcall TShortCutProperty(void) : Dsgnintf::TOrdinalProperty() { }
  530.     
  531. };
  532.  
  533. class __declspec(delphiclass) TMPFilenameProperty;
  534. class __declspec(pascalimplementation) TMPFilenameProperty : public TStringProperty
  535. {
  536.     typedef TMPFilenameProperty ThisClass;
  537.     typedef TStringProperty inherited;
  538.     
  539. public:
  540.     virtual void __fastcall Edit(void);
  541.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  542. public:
  543.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TMPFilenameProperty(void) { }
  544.     
  545. public:
  546.     /* !! TObject.Create */ __fastcall TMPFilenameProperty(void) : Dsgnintf::TStringProperty() { }
  547.     
  548. };
  549.  
  550. class __declspec(delphiclass) TTabOrderProperty;
  551. class __declspec(pascalimplementation) TTabOrderProperty : public TIntegerProperty
  552. {
  553.     typedef TTabOrderProperty ThisClass;
  554.     typedef TIntegerProperty inherited;
  555.     
  556. public:
  557.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  558. public:
  559.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TTabOrderProperty(void) { }
  560.     
  561. public:
  562.     /* !! TObject.Create */ __fastcall TTabOrderProperty(void) : Dsgnintf::TIntegerProperty() { }
  563.     
  564. };
  565.  
  566. class __declspec(delphiclass) TCaptionProperty;
  567. class __declspec(pascalimplementation) TCaptionProperty : public TStringProperty
  568. {
  569.     typedef TCaptionProperty ThisClass;
  570.     typedef TStringProperty inherited;
  571.     
  572. public:
  573.     virtual TPropertyAttributes __fastcall GetAttributes(void);
  574. public:
  575.     /* !! TPropertyEditor.Destroy */ __fastcall virtual ~TCaptionProperty(void) { }
  576.     
  577. public:
  578.     /* !! TObject.Create */ __fastcall TCaptionProperty(void) : Dsgnintf::TStringProperty() { }
  579.     
  580. };
  581.  
  582. class __declspec(delphiclass) EPropertyError;
  583. class __declspec(pascalimplementation) EPropertyError : public Sysutils::Exception
  584. {
  585.     typedef EPropertyError ThisClass;
  586.     typedef Sysutils::Exception inherited;
  587.     
  588. public:
  589.     /* !! Exception.Create */ __fastcall EPropertyError(const System::AnsiString Msg) : Sysutils::Exception(
  590.         Msg) { }
  591.     /* !! Exception.CreateFmt */ __fastcall EPropertyError(const System::AnsiString Msg, const TVarRec 
  592.         *Args, const System::Integer Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
  593.     /* !! Exception.CreateRes */ __fastcall EPropertyError(System::Integer Ident) : Sysutils::Exception(
  594.         Ident) { }
  595.     /* !! Exception.CreateResFmt */ __fastcall EPropertyError(System::Integer Ident, const TVarRec *Args
  596.         , const System::Integer Args_Size) : Sysutils::Exception(Ident, Args, Args_Size) { }
  597.     /* !! Exception.CreateHelp */ __fastcall EPropertyError(const System::AnsiString Msg, System::Integer 
  598.         AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
  599.     /* !! Exception.CreateFmtHelp */ __fastcall EPropertyError(const System::AnsiString Msg, const TVarRec 
  600.         *Args, const System::Integer Args_Size, System::Integer AHelpContext) : Sysutils::Exception(Msg, Args
  601.         , Args_Size, AHelpContext) { }
  602.     /* !! Exception.CreateResHelp */ __fastcall EPropertyError(System::Integer Ident, System::Integer AHelpContext
  603.         ) : Sysutils::Exception(Ident, AHelpContext) { }
  604.     /* !! Exception.CreateResFmtHelp */ __fastcall EPropertyError(System::Integer Ident, const TVarRec 
  605.         *Args, const System::Integer Args_Size, System::Integer AHelpContext) : Sysutils::Exception(Ident, 
  606.         Args, Args_Size, AHelpContext) { }
  607.     
  608. public:
  609.     /* !! TObject.Destroy */ __fastcall virtual ~EPropertyError(void) { }
  610.     
  611. };
  612.  
  613. class __declspec(delphiclass) TComponentEditor;
  614. class __declspec(pascalimplementation) TComponentEditor : public System::TObject
  615. {
  616.     typedef TComponentEditor ThisClass;
  617.     typedef System::TObject inherited;
  618.     
  619. private:
  620.     Classes::TComponent *FComponent;
  621.     TFormDesigner *FDesigner;
  622.     
  623. public:
  624.     __fastcall virtual TComponentEditor(Classes::TComponent *AComponent, TFormDesigner *ADesigner);
  625.     virtual void __fastcall Edit(void);
  626.     virtual void __fastcall ExecuteVerb(System::Integer Index);
  627.     virtual System::AnsiString __fastcall GetVerb(System::Integer Index);
  628.     virtual System::Integer __fastcall GetVerbCount(void);
  629.     virtual void __fastcall Copy(void);
  630.     __property Classes::TComponent * Component = {read=FComponent, nodefault};
  631.     __property TFormDesigner * Designer = {read=FDesigner, nodefault};
  632. public:
  633.     /* !! TObject.Destroy */ __fastcall virtual ~TComponentEditor(void) { }
  634.     
  635. };
  636.  
  637. typedef System::TMetaClass *TComponentEditorClass;
  638.  
  639. class __declspec(delphiclass) TDefaultEditor;
  640. class __declspec(pascalimplementation) TDefaultEditor : public TComponentEditor
  641. {
  642.     typedef TDefaultEditor ThisClass;
  643.     typedef TComponentEditor inherited;
  644.     
  645. private:
  646.     TPropertyEditor *FFirst;
  647.     TPropertyEditor *FBest;
  648.     System::Boolean FContinue;
  649.     void __fastcall CheckEdit(TPropertyEditor *PropertyEditor);
  650.     
  651. protected:
  652.     virtual void __fastcall EditProperty(TPropertyEditor *PropertyEditor, System::Boolean &Continue, System::Boolean 
  653.         &FreeEditor);
  654.     
  655. public:
  656.     virtual void __fastcall Edit(void);
  657. public:
  658.     /* !! TComponentEditor.Create */ __fastcall virtual TDefaultEditor(Classes::TComponent *AComponent, 
  659.         TFormDesigner *ADesigner) : Dsgnintf::TComponentEditor(AComponent, ADesigner) { }
  660.     
  661. public:
  662.     /* !! TObject.Destroy */ __fastcall virtual ~TDefaultEditor(void) { }
  663.     
  664. };
  665.  
  666. typedef System::TMetaClass * __fastcall (*TPropertyMapperFunc)(Classes::TComponent *Component, Typinfo::PPropInfo 
  667.     PropInfo);
  668.  
  669. //-- var, const, procedure ---------------------------------------------------
  670. extern void __fastcall RegisterPropertyEditor(Typinfo::PTypeInfo PropertyType, System::TMetaClass * 
  671.     ComponentClass, const System::AnsiString PropertyName, System::TMetaClass * EditorClass);
  672. extern void __fastcall RegisterPropertyMapper(TPropertyMapperFunc Mapper);
  673. extern void __fastcall GetComponentProperties(TComponentList *Components,  Typinfo::TTypeKinds Filter
  674.     , TFormDesigner *Designer, TGetPropEditProc Proc);
  675. extern void __fastcall RegisterComponentEditor(System::TMetaClass * ComponentClass, System::TMetaClass * 
  676.     ComponentEditor);
  677. extern TComponentEditor *__fastcall GetComponentEditor(Classes::TComponent *Component, TFormDesigner *
  678.     Designer);
  679. //-- template instantiations -------------------------------------------------
  680. template class TPropertyAttributes ;
  681.  
  682. }    /* namespace Dsgnintf */
  683. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  684. using namespace Dsgnintf;
  685. #endif
  686. //-- end unit ----------------------------------------------------------------
  687. #endif    // DsgnIntf
  688.