Rhino C++ API  8.7
Public Types | Public Member Functions | Static Public Member Functions | List of all members
IRhRdkContentEditor Class Referenceabstract

#include <IRhRdkContentEditor.h>

Inheritance diagram for IRhRdkContentEditor:

Public Types

enum  EditMethods : unsigned int { EditMethods::Local, EditMethods::Modal, EditMethods::Floating }
- Public Types inherited from IRhRdkEditor
enum  Types : unsigned int {
  Types::Unset, Types::Main, Types::Modal, Types::Floating,

Public Member Functions

virtual ~IRhRdkContentEditor ()
virtual CRhRdkControllerPtr Controller (void) const =0
virtual void * EVF (const wchar_t *, void *)=0
virtual void OnContentUICreated (class IRhRdkContentUI &ui)=0
UUID RdkDocumentId (void) const
void SetRdkDocumentId (const UUID &uuidRdkDoc)
virtual CRhRdkContent::Kinds TopLevelKind (void) const =0
virtual RDK_DEPRECATED HWND UiHostWindow (void) const =0
- Public Member Functions inherited from IRhRdkEditor
virtual RhRdkUiFrameworks Framework (void) const =0
virtual UUID Id (void) const =0
virtual RhRdkUiModalities Modality (void) const =0
virtual Types Type (void) const =0

Static Public Member Functions

static IRhRdkContentEditorFind (const UUID &uuidEditor)
- Static Public Member Functions inherited from IRhRdkEditor
static RDK_DEPRECATED IRhRdkEditorFind (const UUID &uuidEditor)

Additional Inherited Members

- Protected Member Functions inherited from IRhRdkEditor
virtual ~IRhRdkEditor ()

Detailed Description

This interface represents a content editor. Currently two types of content editor are implemented:

  1. The Thumbnail Editor, of which there are 3 kinds, Material Editor, Environment Editor and Texture Palette.
  2. The In-place Editor which is found in the Object Properties material page, the Layer Material dialog and the Ground Plane dialog.

A content editor acts as a host for a content UI. The UiHostWindow() method returns a pointer to the window that is the parent of the main UI window. The main UI window is usually a content UI holder containing sections (AKA roll-ups), but if you override CRhRdkCoreContent::CreateUI() and provide a custom UI, it can be anything you like.

A content editor must know the document it is for. This is not strictly needed on Windows, but on the Mac there can be many editors for a content kind but each for a different document. Even modal editors which are capable of editing free-floating contents still have a document, but this document is a 'sandbox', not a 'live' document.

Member Enumeration Documentation

◆ EditMethods

enum IRhRdkContentEditor::EditMethods : unsigned int

Constructor & Destructor Documentation

◆ ~IRhRdkContentEditor()

virtual IRhRdkContentEditor::~IRhRdkContentEditor ( )

Member Function Documentation

◆ Controller()

virtual CRhRdkControllerPtr IRhRdkContentEditor::Controller ( void  ) const
pure virtual
the editor's controller.

◆ EVF()

virtual void* IRhRdkContentEditor::EVF ( const wchar_t *  ,
void *   
pure virtual

Emergency virtual function for future expansion.

Implements IRhRdkEditor.

◆ Find()

static IRhRdkContentEditor* IRhRdkContentEditor::Find ( const UUID &  uuidEditor)

Find a content editor by its id.

◆ OnContentUICreated()

virtual void IRhRdkContentEditor::OnContentUICreated ( class IRhRdkContentUI ui)
pure virtual

Called just after a content UI has been created.

◆ RdkDocumentId()

UUID IRhRdkContentEditor::RdkDocumentId ( void  ) const

◆ SetRdkDocumentId()

void IRhRdkContentEditor::SetRdkDocumentId ( const UUID &  uuidRdkDoc)

◆ TopLevelKind()

virtual CRhRdkContent::Kinds IRhRdkContentEditor::TopLevelKind ( void  ) const
pure virtual
The kind of top-level content being displayed in the editor.

◆ UiHostWindow()

virtual RDK_DEPRECATED HWND IRhRdkContentEditor::UiHostWindow ( void  ) const
pure virtual

OBSOLETE. There is no longer a host 'window' since the framework uses Eto (which is C#). If you were calling this, just use NULL for the host or parent.