Public Member Functions

MtlDADMgr Class Reference

Search for all occurrences

Detailed Description

See also:
Class DADMgr.

Description:
All methods of this class are implemented by the system.

Use this class to implement drag and drop functionality for materials sub-materials. . It provides implementations of the methods of DADMgr. If this class is used the ParamDlg method FindSubMtlFromHWND() must be implemented.

#include <imtl.h>

Inheritance diagram for MtlDADMgr:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  MtlDADMgr (ParamDlg *d=NULL)
void  Init (ParamDlg *d)
SClass_ID  GetDragType (HWND hwnd, POINT p)
CoreExport BOOL  OkToDrop (ReferenceTarget *dropThis, HWND hfrom, HWND hto, POINT p, SClass_ID type, BOOL isNew)
int  SlotOwner ()
CoreExport ReferenceTarget GetInstance (HWND hwnd, POINT p, SClass_ID type)
CoreExport void  Drop (ReferenceTarget *dropThis, HWND hwnd, POINT p, SClass_ID type, DADMgr *srcMgr=NULL, BOOL bSrcClone=FALSE)
CoreExport BOOL  LetMeHandleLocalDAD ()
CoreExport void  LocalDragAndDrop (HWND h1, HWND h2, POINT p1, POINT p2)
BOOL  AutoTooltip ()

Constructor & Destructor Documentation

MtlDADMgr ( ParamDlg d = NULL ) [inline]
{ dlg = d;}

Member Function Documentation

void Init ( ParamDlg d ) [inline]
SClass_ID GetDragType ( HWND  hwnd,
POINT  p 
) [inline, virtual]
Remarks:
This method is called on the item that supports drag and drop to see what (if anything) can be dragged from the point p. This method returns a super class id to indicate the type of item that can be dragged away. If it does not support anything being dragged from the specified point a SClass_ID of 0 should be returned.
Parameters:
HWND hwnd

The source window handle

POINT p

The screen point (relative to the window upper left as 0,0).

Implements DADMgr.

{ return MATERIAL_CLASS_ID; }
CoreExport BOOL OkToDrop ( ReferenceTarget dropThis,
HWND  hfrom,
HWND  hto,
POINT  p,
SClass_ID  type,
BOOL  isNew 
) [virtual]
Remarks:
This method is called on potential dropee to see if can accept the specified type at the specified point.
Parameters:
ReferenceTarget *dropThis

A pointer to the item to check.

HWND hfrom

The window handle of the source.

HWND hto

The window handle of the destination.

POINT p

The point to check.

SClass_ID type

The super class ID of dropThis.

BOOL isNew = FALSE

TRUE if the item is a new instance; otherwise FALSE.
Returns:
TRUE if the specified item can be dropped; otherwise FALSE.

Implements DADMgr.

int SlotOwner ( ) [inline, virtual]
Remarks:
Returns a predefined value to indicate the source of the drag.
Returns:
One of the following values:

OWNER_MEDIT_SAMPLE

From a materials editor sample slot.

OWNER_NODE

From a node in the scene.

OWNER_MTL_TEX

From a button in a material or texture.

OWNER_SCENE

From a button in a light, modifier, atmospheric effect, etc.

OWNER_BROWSE_NEW

From the browser in the new category.

OWNER_BROWSE_LIB

From the browser in the library category.

OWNER_BROWSE_MEDIT

From the browser in the materials editor category.

OWNER_BROWSE_SCENE

From the browser in the scene category. OWNER_MATERIAL_EXPLORER

From the material explorer.
Default Implementation:
{ return OWNER_MTL_TEX; }

Reimplemented from DADMgr.

{ return OWNER_MTL_TEX;   }
CoreExport ReferenceTarget* GetInstance ( HWND  hwnd,
POINT  p,
SClass_ID  type 
) [virtual]
Remarks:
Return a pointer to the drag source.
Parameters:
HWND hwnd

The source window where the mouse down occurred.

POINT p

The point to drag from (position within hwnd).

SClass_ID type

The super class ID of the item to create.

Implements DADMgr.

CoreExport void Drop ( ReferenceTarget dropThis,
HWND  hwnd,
POINT  p,
SClass_ID  type,
DADMgr srcMgr = NULL,
BOOL  bSrcClone = FALSE 
) [virtual]
Remarks:
This is the method called to actually process the drop operation. This routine is called on the target with the pointer returned by the source's GetInstance(), or possibly a clone of it as the dropThis.
Parameters:
ReferenceTarget *dropThis

A pointer to the item to drop.

HWND hwnd

The destination window handle (where the mouse was released).

POINT p

The destination point (within hwnd).

SClass_ID type

The type of object being dropped -- the super class ID of dropThis.

DADMgr* srcMgr

The source DADMgr pointer. NULL by default.

BOOL bSrcClone

TRUE if the dropThis is a clone of the drag source object, FALSE otherwise. FALSE by default

Implements DADMgr.

CoreExport BOOL LetMeHandleLocalDAD ( ) [virtual]
Remarks:
This lets the manager know whether to call LocalDragAndDrop() if the same DADMgr is handling both the source and target windows, or just ignore this condition. Return TRUE if LocalDragAndDrop() should be called; otherwise FALSE.
Default Implementation:
{ return 0; }

Reimplemented from DADMgr.

CoreExport void LocalDragAndDrop ( HWND  h1,
HWND  h2,
POINT  p1,
POINT  p2 
) [virtual]
Remarks:
This is called if the same DADMgr is handling both the source and target windows, if LetMeHandleLocalDAD() returned TRUE.
Parameters:
HWND h1

The window handle.

HWND h2

The window handle.

POINT p1

The drag source point.

POINT p2

The drop destination point.
Default Implementation:
{}

Reimplemented from DADMgr.

BOOL AutoTooltip ( ) [inline, virtual]
Remarks:
If this method returns TRUE, then Custom Buttons that use this DAD Manager will automatically support a tooltip that matches the button text. Note that this method will only show a tooltip when the button text is too long and thus exceeds the button size.
Default Implementation:
{ return FALSE; }

Reimplemented from DADMgr.

{ return TRUE; }

MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr
MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr MtlDADMgr