#include <xsi_viewcontext.h>
Inheritance diagram for ViewContext:

Public Member Functions |
|
| ViewContext () | |
| ~ViewContext () | |
| ViewContext (const CRef &in_ref) | |
| ViewContext (const ViewContext &in_obj) | |
| bool | IsA (siClassID in_ClassID) const |
| siClassID | GetClassID () const |
| ViewContext & | operator= (const ViewContext &in_obj) |
| ViewContext & | operator= (const CRef &in_ref) |
| CValue | GetUserData () |
| CStatus | PutUserData (const CValue &in_val) |
| void * | GetParentWindowHandle () |
| CStatus | GetNotificationData (siEventID &out_eEventID, void **out_pData) |
| CStatus | SetFlags (LONG in_lFlags) |
| CStatus | SetXWindowTopLevel (void *in_pHandle) |
| void * | GetTopLevelWidget () |
void MyCustomDisplay_Init (XSI::CRef in_pViewCtx) { // cast the CRef into a ViewContext object XSI::ViewContext l_vViewContext = in_pViewCtx; // make sure it is valid assert ( l_vViewContext.IsValid() ); // Get the parent window handle. We will use this to // create our own child window. HWND l_hParent = (HWND)l_vViewContext.GetParentWindowHandle(); // Create our window as a child of the XSI parent window HWND l_hMyWindow = CreateDialog( MyDllInstance, MAKEINTRESOURCE(IDD_MYCUSTOMWINDOW), l_hParent, (DLGPROC)MyWindowProc); } void MyCustomDisplay_Notify ( XSI::CRef in_pViewContext ) { // cast the CRef into a ViewContext object XSI::ViewContext l_vViewContext = in_pViewCtx; // make sure it is valid assert ( l_vViewContext.IsValid() ); XSI::siEventID in_eNotifcation; void* in_pData; l_vViewContext.GetNotificationData ( in_eNotifcation, &in_pData ); switch ( in_eNotifcation ) { case siOnSelectionChange: { XSI::CSelectionChangeNotification* l_pSelection = (XSI::CSelectionChangeNotification*)in_pData; XSI::CString l_szMessage; l_szMessage = L"XSI_SELECTION_CHANGED_CV"; l_szMessage += L" [ "; // // Build a string of all objects that are in the selection list // for (INT c=0;c<l_pSelection->GetSelectionList().GetCount();c++) { XSI::CRef& l_pCRef = l_pSelection->GetSelectionList().GetItem(c); XSI::SIObject mySIObject ( l_pCRef ); XSI::CString Name = mySIObject.GetFullName(); if ( c != 0 ) l_szMessage += L","; l_szMessage += Name;; } l_szMessage += L" ]"; // // And print it // char *l_szMessChar = new char [ l_szMessage.Length() + 1 ]; W2AHelper ( l_szMessChar, l_szMessage.GetWideString() ); OutputDebugString ( l_szMessChar ); delete [] l_szMessChar; break; } case siOnTimeChange: { XSI::CTimeChangeNotification* l_pTimeChange = (XSI::CTimeChangeNotification*)in_pData; XSI::CString l_szMessage; l_szMessage = L"XSI_TIME_CHANGE_CV"; char *l_szMessChar = new char [ l_szMessage.Length() + 1 ]; DSW2AHelper ( l_szMessChar, l_szMessage.GetWideString() ); OutputDebugString ( l_szMessChar ); delete [] l_szMessChar; break; } case siOnValueChange: { XSI::CString l_szMessage; l_szMessage = L"XSI_SET_VALUE_CV "; XSI::CValueChangeNotification* l_pData = (XSI::CValueChangeNotification*) in_pData; XSI::CString l_csCIDName = l_pData->GetOwner().GetClassIDName(); l_szMessage += l_csCIDName; l_szMessage += L" [ "; l_szMessage += l_pData->GetComponentName(); l_szMessage += L" ]"; char *l_szMessChar = new char [ l_szMessage.Length() + 1 ]; DSW2AHelper ( l_szMessChar, l_szMessage.GetWideString() ); OutputDebugString ( l_szMessChar ); delete [] l_szMessChar; break; } } }
| ViewContext | ( | ) |
Default constructor.
| ~ViewContext | ( | ) |
Default destructor.
| ViewContext | ( | const CRef & | in_ref | ) |
Constructor.
| in_ref | constant reference object. |
| ViewContext | ( | const ViewContext & | in_obj | ) |
Copy constructor.
| in_obj | constant class object. |
| bool IsA | ( | siClassID | in_ClassID | ) | const [virtual] |
Returns true if a given class type is compatible with this API class.
| in_ClassID | class type. |
Reimplemented from CBase.
| siClassID GetClassID | ( | ) | const [virtual] |
Returns the type of the API class.
Implements CBase.
| ViewContext& operator= | ( | const ViewContext & | in_obj | ) |
Creates an object from another object.
| in_obj | constant class object. |
| ViewContext& operator= | ( | const CRef & | in_ref | ) |
Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.
| in_ref | constant class object. |
| CValue GetUserData | ( | ) |
Returns the user data stored in the Context.
Allows you to store a CValue inside the context object. This is called User Data because Softimage does not care about the content or meaning of the data. This information is not persisted. A common use for this feature is to store a pointer to a newly allocated C++ object during an Init callback, and then to use Context::GetUserData to retrieve the pointer when other callbacks are made. (In this scenario the object should be destroyed in the Term callback).
| in_val | user data to be set for the operator instance. |
CStatus::Fail failure.
| void* GetParentWindowHandle | ( | ) |
Returns the platform-specific parent window handle. For Windows, this must be cast to a HWND.
Returns the data associated with a notification event
| out_eEventID | the event that was fired | |
| out_pData | the associated data |
| CStatus SetFlags | ( | LONG | in_lFlags | ) |
Sets the Custom Display flags
| in_lFlags | The flags |
| CStatus SetXWindowTopLevel | ( | void * | in_pHandle | ) |
Specifies the top level X window for the Custom Display.
| in_pHandle | The pointer to the X Window handle |
CStatus::Fail Not a valid Window or problem with X client.
| void* GetTopLevelWidget | ( | ) |
Returns the top level widget from Softimage. This is necessary in order to create your custom display as a child of this widget.