3ds Max C++ API Reference
ITabDialogProc Class Reference

#include <ITabDialog.h>

+ Inheritance diagram for ITabDialogProc:

Public Member Functions

 ITabDialogProc ()
 
void SetTabDialog (ITabbedDialog *dlg)
 Set the dialog we are handling messages for. More...
 
ITabbedDialogGetTabDialog () const
 Get the dialog we are handling messages for. More...
 
virtual void DeleteThis ()
 Delete this dialog proc. More...
 
INT_PTR InitDialog (HWND focus)
 Initialize the dialog. More...
 
void Invalidate ()
 Invalidate the dialog. More...
 
bool OkToCommit ()
 Used for modal dialogs with IDOK and IDCANCEL. More...
 
void Commit ()
 Used for modal dialogs with IDOK and IDCANCEL. More...
 
void Close ()
 The dialog is being closed. More...
 
void Cancel ()
 The dialog is being canceled. More...
 
bool ResizeDialog (SIZE *delta)
 Resize the dialog. More...
 
virtual INT_PTR dialogProc (UINT msg, WPARAM wParam, LPARAM lParam)
 The general message proc. More...
 
virtual BaseInterfaceGetInterface (const Interface_ID &id)
 Get extension interfaces, if there are any. More...
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
UtilExport BaseInterfaceGetInterface (Interface_ID id) override
 
virtual UtilExport Interface_ID GetID ()
 
virtual LifetimeType LifetimeControl ()
 
virtual bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=nullptr)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Additional Inherited Members

- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 
- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Detailed Description

See also
Class ITabbedDialog
Description
This interface is implemented by the code that wants to use the tab dialog. The implementer can choose whether to respond to the methods or to messages

Constructor & Destructor Documentation

◆ ITabDialogProc()

ITabDialogProc ( )
inline
590 : mpDlg(NULL) {}
#define NULL
Definition: autoptr.h:18

Member Function Documentation

◆ SetTabDialog()

void SetTabDialog ( ITabbedDialog dlg)
inline

Set the dialog we are handling messages for.

Parameters
dlgOur new tabbed dialog
594 { mpDlg = dlg; }

◆ GetTabDialog()

ITabbedDialog* GetTabDialog ( ) const
inline

Get the dialog we are handling messages for.

Returns
the current dialog
597 { return mpDlg; }

◆ DeleteThis()

virtual void DeleteThis ( )
inlinevirtual

Delete this dialog proc.

This method does nothing, because most dialog procs are not scoped by their dialog, but you can override it if you want your dialog proc deleted when the dialog is deleted.

603 {}

◆ InitDialog()

INT_PTR InitDialog ( HWND  focus)
inline

Initialize the dialog.

606  {
607  return dialogProc(WM_INITDIALOG, reinterpret_cast<WPARAM>(focus), 0);
608  }
virtual INT_PTR dialogProc(UINT msg, WPARAM wParam, LPARAM lParam)
The general message proc.
Definition: ITabDialog.h:658

◆ Invalidate()

void Invalidate ( )
inline

Invalidate the dialog.

611  {
613  }
@ TABDLG_INVALIDATE
The underlying data has changed.
Definition: ITabDialog.h:263

◆ OkToCommit()

bool OkToCommit ( )
inline

Used for modal dialogs with IDOK and IDCANCEL.

616  {
617  bool commit = true;
618  dialogProc(TABDLG_PRECOMMIT, 0, reinterpret_cast<LPARAM>(&commit));
619  return commit;
620  }
@ TABDLG_PRECOMMIT
Check your values, but don't close the dialog;.
Definition: ITabDialog.h:258

◆ Commit()

void Commit ( )
inline

Used for modal dialogs with IDOK and IDCANCEL.

623  {
624  dialogProc(TABDLG_COMMIT, 0, 0);
625  }
@ TABDLG_COMMIT
Commit the page's working values for real.
Definition: ITabDialog.h:257

◆ Close()

void Close ( )
inline

The dialog is being closed.

This is called after all of the pages have been committed.

630  {
631  dialogProc(TABDLG_CLOSE, 0, 0);
632  }
@ TABDLG_CLOSE
User is closing a modeless dialog.
Definition: ITabDialog.h:262

◆ Cancel()

void Cancel ( )
inline

The dialog is being canceled.

635  {
636  dialogProc(TABDLG_CANCEL, 0, 0);
637  }
@ TABDLG_CANCEL
User is cancelling out of the dialog.
Definition: ITabDialog.h:261

◆ ResizeDialog()

bool ResizeDialog ( SIZE *  delta)
inline

Resize the dialog.

This method is only called if the size needs to be increased. If the dialog was resize, the dialog manager will resize the tab control and the content. The dialog proc may change the delta values to correspond the the amount the dialog was resized.

Parameters
delta- The required change in size.
Returns
true if the dialog was resized.
647  {
649  reinterpret_cast<LPARAM>(delta)) != 0;
650 
651  };
@ TABDLG_RESIZE_DIALOG
The tab is too small for the content.
Definition: ITabDialog.h:265

◆ dialogProc()

virtual INT_PTR dialogProc ( UINT  msg,
WPARAM  wParam,
LPARAM  lParam 
)
inlinevirtual

The general message proc.

This proc is like a dialog proc, not a window proc

Parameters
msg- See the list of dialog messages
wParam,lParam- the meaning and usage of these parameters depends on the message.
Returns
TRUE if the message was handled, else FALSE to allow further processing
662  { return FALSE; }

◆ GetInterface()

virtual BaseInterface* GetInterface ( const Interface_ID id)
inlinevirtual

Get extension interfaces, if there are any.

665 { return NULL; }