Public Member Functions

IRollupCallback Class Reference

Search for all occurrences

Detailed Description

class IRollupCallback : public InterfaceServer

Description:
This class represents the abstract interface for a rollup window callback object to assist developers in handling custom drag and drop of rollouts.

#include <custcont.h>

Inheritance diagram for IRollupCallback:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual BOOL  HandleDrop (IRollupPanel *src, IRollupPanel *targ, bool before)
virtual BOOL  GetEditObjClassID (SClass_ID &sid, Class_ID &cid)
virtual BOOL  HandleOpenAll ()
virtual BOOL  HandleCloseAll ()
virtual void  HandleDestroy ()

Member Function Documentation

virtual BOOL HandleDrop ( IRollupPanel src,
IRollupPanel targ,
bool  before 
) [inline, virtual]
Remarks:
Any plugin (or core component), that wants to implement a custom behavior when a rollup page is drag and dropped onto another rollout, it can do so, by registering a IRollupCallback and overwriting this method and GetEditObjClassID(). After rearranging rollup pages the HandleDrop code should call: GetIRollupSettings()->GetCatReg()->Save(); in order to save the rollout order.
Parameters:
IRollupPanel *src

A pointer to the source rollup panel.

IRollupPanel *targ

A pointer to the target rollup panel.

bool before

TRUE to insert before the panel it was dropped on; FALSE to insert after.
Returns:
TRUE to indicate to the system, that it took over the drop handling, otherwise FALSE.
Default Implementation:
{ return FALSE; }
{ return FALSE; }
virtual BOOL GetEditObjClassID ( SClass_ID &  sid,
Class_ID cid 
) [inline, virtual]
Remarks:
This method has to be implemented in order to support drag and drop for rollouts, no matter if custom drop handling is used, or not. The order of rollup panels is stored in the RollupOrder.cfg file in the UI directory. The order is stored under a SuperClassID and ClassID. The RollupCallback has to specify what the superclassid and classid is. E.g. for the Modify Panel it is the classid for the currently edited object. For the DisplayPanel it is only one classid, that has no real class assigned to it, since the rollouts are independent from the object being edited (DISPLAY_PANEL_ROLLUPCFG_CLASSID).
Parameters:
SClass_ID &sid

The super class ID of the object.

Class_ID &cid

The class ID of the object.
Returns:
TRUE if drag and drop is supported, otherwise FALSE.
Default Implementation:
{ return FALSE;}
{ return FALSE;}
virtual BOOL HandleOpenAll ( ) [inline, virtual]
Remarks:
This method is called when the user selected the "open all" function and it currently used internally. The method will return TRUE if successful and FALSE otherwise.
Default Implementation:
{return FALSE;}
{return FALSE;}
virtual BOOL HandleCloseAll ( ) [inline, virtual]
Remarks:
This method is called when the user selected the "close all" function and it currently used internally. The method will return TRUE if successful and FALSE otherwise.
Default Implementation:
{ return FALSE;}
{ return FALSE;}
virtual void HandleDestroy ( ) [inline, virtual]
Remarks:
This method is called as the RollupWindow is being destroyed.
Default Implementation:
{}
{}

IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback
IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback IRollupCallback