GUI & User Interaction

GUI Commands

CommandData based commands implement simple actions and can be invoked programmatically:

Custom Dialog Windows

The Cinema 4D GUI is based on "dialog" windows based on the GeDialog class. A plugin can create custom dialog windows for user interaction or to create new managers.

  • GeDialog is the base class for custom dialogs, see GeDialog Manual.
  • The layout and gadgets of GeDialog window can be defined using text-based resource files. See Resource Files Manual.
  • Custom data tyes are displayed using custom GUI elements, see Custom GUI Elements.
  • GeUserArea is the base class for custom gadgets used with dialogs, see GeUserArea Manual.
  • A TriState object can store multiple values and is used to set the value displayed by a GeDialog gadget (for example in situations when editing parameters of multiple objects in parallel), see TriState Manual.
  • Multiple messages are sent to and from dialogs and user areas. See GUI and Interaction Messages Manual.

Custom GUI elements are based on GeUserArea and CustomGuiData.

File selection dialogs are handled with the Filename class, see Filename Manual. Functions to open default message and question dialogs are defined in c4d_gui.h.

Parameter Descriptions

Parameters of NodeData based plugins are displayed in the Attribute Manager. They are stored in a so-called parameter description.

Viewport

The interactive viewport displays the currently active scene. By implementing a "Draw" function it is possible to draw in this viewport to add custom visualisations: