home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2002 March / PCWMAR02.iso / software / turbocad / v8trial / TurboCADv8ProfessionalNoReg.exe / Data.Cab / F37436_AutoRect.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-10-16  |  3.3 KB  |  71 lines

  1. /******************************************************************/
  2. /*                                                                */
  3. /*                      TurboCAD for Windows                      */
  4. /*                   Copyright (c) 1993 - 2001                    */
  5. /*             International Microcomputer Software, Inc.         */
  6. /*                            (IMSI)                              */
  7. /*                      All rights reserved.                      */
  8. /*                                                                */
  9. /******************************************************************/
  10.  
  11. // AutoRect.h : Declaration of the CAutoRect
  12.  
  13. #ifndef __AUTORECT_H_
  14. #define __AUTORECT_H_
  15.  
  16. #include "resource.h"       // main symbols
  17. #include "RECTPAGE.H"    // Added by ClassView
  18.  
  19. /////////////////////////////////////////////////////////////////////////////
  20. class CRectPage;  // Defined in RectPage.h.
  21.  
  22. // CAutoRect
  23. class ATL_NO_VTABLE CAutoRect : 
  24.     public CComObjectRootEx<CComSingleThreadModel>,
  25.     public CComCoClass<CAutoRect, &CLSID_AutoRect>,
  26.     public IDispatchImpl<IAutoRect, &IID_IAutoRect, &LIBID_RRECTALib>
  27. {
  28. public:
  29.     CAutoRect()
  30.     {
  31.     }
  32.  
  33. DECLARE_REGISTRY_RESOURCEID(IDR_AUTORECT)
  34.  
  35. DECLARE_PROTECT_FINAL_CONSTRUCT()
  36.  
  37. BEGIN_COM_MAP(CAutoRect)
  38.     COM_INTERFACE_ENTRY(IAutoRect)
  39.     COM_INTERFACE_ENTRY(IDispatch)
  40. END_COM_MAP()
  41.  
  42. // IAutoRect
  43. public:
  44.     STDMETHOD(Initialize)(IDispatch* ThisRegenMethod, VARIANT_BOOL* ret);
  45.     STDMETHOD(Regen)(IDispatch* AGraphic);
  46.     STDMETHOD(Draw)(IDispatch* AGraphic, IDispatch* AView, VARIANT* AMatrix, VARIANT_BOOL* ret);
  47.     STDMETHOD(OnPropertyGet)(IDispatch* AGraphic, long PropID);
  48.     STDMETHOD(OnPropertyChanging)(IDispatch* AGraphic, long PropID, VARIANT* ValueOld, VARIANT* ValueNew, VARIANT_BOOL* ret);
  49.     STDMETHOD(OnPropertyChanged)(IDispatch* AGraphic, long PropID, VARIANT* ValueOld, VARIANT* ValueNew);
  50.     STDMETHOD(OnCopyGraphic)(IDispatch* CopyGraphic, IDispatch* SourceGraphic, VARIANT_BOOL* ret);
  51.     STDMETHOD(OnNewGraphic)(IDispatch* CopyGraphic, boolean Copy, VARIANT_BOOL* ret);
  52.     STDMETHOD(OnGeometryChanging)(IDispatch* AGraphic, long GeomID, VARIANT* ParamOld, VARIANT* ParamNew, VARIANT_BOOL* ret);
  53.     STDMETHOD(OnGeometryChanged)(IDispatch* AGraphic, long GeomID, VARIANT* ParamOld, VARIANT* ParamNew);
  54.     STDMETHOD(Wizard)(IDispatch* ThisRegenMethod, VARIANT* WizardNumber, VARIANT_BOOL* ret);
  55.     STDMETHOD(PropertyPages)(IDispatch* ThisRegenMethod, VARIANT* PageNumber, VARIANT_BOOL* ret);
  56.     STDMETHOD(PageDone)(IDispatch* ThisRegenMethod, VARIANT* PageNumber);
  57.     STDMETHOD(PageControls)(IDispatch* ThisRegenMethod, IDispatch* AGraphic, long PageNumber, boolean SaveProperties, VARIANT_BOOL* ret);
  58.     STDMETHOD(GetEnumNames)(long PropID, VARIANT* Names, VARIANT* Values, long* ret);
  59.     STDMETHOD(GetWizardInfo)(VARIANT* Names, long* ret);
  60.     STDMETHOD(GetPageInfo)(IDispatch* AGraphic, long* StockPages, VARIANT* Names, long* ret);
  61.     STDMETHOD(GetPropertyInfo)(VARIANT* Names, VARIANT* Types, VARIANT* IDs, VARIANT* Defaults, long* ret);
  62.     STDMETHOD(get_Description)(/*[out, retval]*/ BSTR *pVal);
  63. //    STDMETHOD(put_Description)(/*[in]*/ BSTR newVal);
  64.     STDMETHOD(get_ClassID)(/*[out, retval]*/ BSTR *pVal);
  65. //    STDMETHOD(put_ClassID)(/*[in]*/ BSTR newVal);
  66. protected:
  67.     CRectPage * m_pRectPage;
  68. };
  69.  
  70. #endif //__AUTORECT_H_
  71.