View plug-in specification

Log-in or register.

View plug-in interface

The interface for view plug-ins is defined in RWConceptDesignerView.idl

Each view plug-in must implement the IDesignerViewFactory interface.

interface IDesignerViewFactory : IUnknown
{
	[helpstring("method NameGet")] HRESULT NameGet([in] IViewManager* a_pManager, [out] ILocalizedString** a_ppOperationName);
	[helpstring("method ConfigCreate")] HRESULT ConfigCreate([in] IViewManager* a_pManager, [out] IConfig** a_ppDefaultConfig);

	[helpstring("method CreateWnd"), local] HRESULT CreateWnd([in] IViewManager* a_pManager, [in] IConfig* a_pConfig, [in] ISharedStateManager* a_pStates, [in] IStatusBarObserver* a_pStatusBar, [in] IDocument* a_pDoc, [in] RWHWND a_hParent, [in] RECT const* a_prcWindow, [in] EDesignerViewWndStyle a_nStyle, [in] LCID a_tLocaleID, [out] IDesignerView** a_ppDVWnd);
	[helpstring("method CheckSuitability")] HRESULT CheckSuitability([in] IViewManager* a_pManager, [in] IConfig* a_pConfig, [in] IDocument* a_pDocument, [in] ICheckSuitabilityCallback* a_pCallback);
};

The NameGet method returns the name of the view plug-in as shown in the user interface. It is recommended that the name is prefixed by the document type it works with to bring similar views together when they are sorted alphabetically.

The ConfigCreate method creates a default configuration object.

The CreateWnd method creates an instance of the actual view. The view must implement the IDesignerView interface and optionally other interfaces described lower on this page.

The CheckSuitability method determines if the view is able to visualize the document.

interface IDesignerView : IChildWindow
{
	[helpstring("method OptimumSize")] HRESULT OptimumSize([out] SIZE* a_pSize);
	[helpstring("method QueryInterfaces")] HRESULT QueryInterfaces([in] REFIID a_iid, [in] EQIFilter a_eFilter, [in] IEnumUnknownsInit* a_pInterfaces);
	[helpstring("method OnIdle")] HRESULT OnIdle();
	[helpstring("method OnDeactivate")] HRESULT OnDeactivate([in] BOOL a_bCancelChanges);
	[helpstring("method DeactivateAll")] HRESULT DeactivateAll([in] BOOL a_bCancelChanges);
};

Recent comments

user icon Anonymous
I wish there were...
What about ICL files?