home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 May / VPR9705A.ISO / VPR_DATA / PROGRAM / CBTRIAL / SETUP / DATA.Z / DSGNINTF.HPP < prev    next >
C/C++ Source or Header  |  1997-02-14  |  24KB  |  662 lines

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