c4d.gui.GeDialog

class c4d.gui.GeDialog
A dialog is a window or a panel, in which buttons, edit boxes, icons, images, and other things are put upon.
These buttons, sliders, icons, etc are called widgets.
Dialogs act as interfaces for a plugin.
You are able to customize or derive a dialog box that will act as an interface for your plugin.
Most dialog boxes are derived off of GeDialog class.
The reason you care about dialogs is that you want anyone to be able to use your plugin, and you want it to be easier to use.
Plus it is a lot cooler when you have tons of widgets to play with.
There is no other (easy) interactive way for you to interface with the user than with a dialog.

Border Type

../../../_images/gedialog_borders.png

Methods Signatures

Magic Methods

GeDialog.__init__(self)

Init a GeDialog.

Methods to Override

GeDialog.AskClose(self)

Override it to avoid closing the dialog if an error situation has occurred.

GeDialog.Command(self, id, msg)

Override this function if you want to react to user clicks.

GeDialog.CoreMessage(self, id, msg)

Override this function if you want to react to Cinema 4D core messages.

GeDialog.CreateLayout(self)

Override - Called when Cinema 4D is about to display the dialog.

GeDialog.DestroyWindow(self)

Override this method - this function is called when the dialog is about to be closed temporarily, for example for layout switching.

GeDialog.InitValues(self)

Called when the dialog is initialized by the GUI.

GeDialog.Message(self, msg, result)

Override this function to react to more messages than covered by the other functions.

GeDialog.Timer(self, msg)

If you subscribe to timer events using SetTimer() (x), this function is called every x’th millisecond.

Basic Methods

GeDialog.Close(self)

Close the dialog.

GeDialog.Enable(self, gadget, enable)

Enables or disables the dialog gadget, depending on the value of enable.

GeDialog.GetId(self)

Gets the dialog ID.

GeDialog.GetType(self, id)

Return the type of a gadget.

GeDialog.LoadDialogResource(self, id[, lr, flags])

Loads an external resource file.

GeDialog.Open(self, dlgtype[, ...])

Opens the dialog at the specified position.

GeDialog.Restore(self, pluginid, secret)

Used to restore an asynchronous dialog that has been placed in the users layout.

GeDialog.SendMessage(self, gadget, value)

Sends a message to a dialog gadget.

GeDialog.SendParentMessage(self, msg)

Sends a message to the parent dialog.

GeDialog.SetTimer(self, value)

Initializes the timer clock, so that Timer() is called every timer milliseconds. Use SetTimer() (0) to stop the clock.

Coordinate Methods

GeDialog.Global2Local(self)

Transforms global coordinates (relative to the top left corner of the physical window) to local coordinates (relative to the top left corner of the dialog). Result is a dict with member keys x and y of type int.

GeDialog.Local2Global(self)

Transforms local coordinates (relative to the top left corner of the dialog) to global coordinates (relative to the top left corner of the physical window). Result is a dict with member keys x and y of type int.

GeDialog.Local2Screen(self)

Transforms local coordinates (relative to the top left corner of the dialog) to screen coordinates (relative to the top left corner of the system screen). Result is a dict with member keys x and y of type int.

GeDialog.Screen2Local(self)

Transforms screen coordinates (relative to the top left corner of the system screen) to local coordinates (relative to the top left corner of the dialog). Result is a dict with member keys x and y of type int.

Deprecated

GeDialog.GetLong(self, id)

Deprecated since version R15: Use GetInt32() instead.

GeDialog.GetReal(self, id)

Deprecated since version R15: Use GetFloat() instead.

GeDialog.SetLong(self, id, value[, min, ...])

Deprecated since version R15.

GeDialog.SetReal(self, id, value[, min, ...])

Deprecated since version R15: Use SetFloat() instead.

Dialog Change Methods

GeDialog.FreeChildren(self, id)

Clears the item list of combo boxes and popup buttons.

GeDialog.HideElement(self, id, hide)

Hides/unhides an element from the dialog.

GeDialog.LayoutChanged(self, id)

Notifies Cinema 4D that the layout of a dynamic group in the dialog has changed.

GeDialog.LayoutChangedNoRedraw(self, id)

Notifies Cinema 4D that the layout of a dynamic group in the dialog has changed.

GeDialog.LayoutFlushGroup(self, id)

Removes all controls from a group and places the control insertion point within the group.

GeDialog.RemoveElement(self, id)

Removes an element from the dialog.

Dialog Checks Methods

GeDialog.GetFolding(self)

Retrieve if the dialog is open but currently folded away in the layout.

GeDialog.IsActive(self, id)

Checks if the given gadget has the focus.

GeDialog.IsOpen(self)

Checks if the dialog is open.

GeDialog.IsVisible(self)

Checks if the dialog is visible.

Dialog Group Methods

GeDialog.GetVisibleArea(self, scrollgroup)

Queries a scroll group for its currently visible region, a rectangle between (x1,y1) and (x2,y2).

GeDialog.GroupBegin(self, id, flags[, ...])

Begins a group.

GeDialog.GroupBeginInMenuLine(self)

Begins a group in the menu bar of the dialog.

GeDialog.GroupBorder(self, borderstyle)

Sets the border type of the current group, and displays the title in the border if possible.

GeDialog.GroupBorderNoTitle(self, borderstyle)

Sets the border type of the current group, and displays the title in the border if possible.

GeDialog.GroupBorderSpace(self, left, top, right, ...)

Sets the border size around the current group in pixels.

GeDialog.GroupEnd(self)

Ends groups.

GeDialog.GroupSpace(self, spacex, spacey)

Sets the space in pixels between two elements in the current group.

GeDialog.GroupWeightsLoad(self, id, weights)

Sets group weights for group id.

GeDialog.GroupWeightsSave(self, id)

Retrieves group weights for group id.

GeDialog.ScrollGroupBegin(self, id, flags, ...[, ...])

Begins a scrollgroup.

GeDialog.SetVisibleArea(self, scrollgroupid, ...)

Scrolls a scroll group so that the rectangle between (x1,y1) and (x2,y2) is visible.

GeDialog.TabGroupBegin(self, id, flags[, tabtype])

Begins a tab group.

Dialog Information Methods

GeDialog.CheckDropArea(self, id, msg, horiz, vert)

Checks the drag position in a drag event message against a certain dialog element’s position in the layout.

GeDialog.GetColorRGB(self, colorid)

Gets the RGB values associated with a color ID.

GeDialog.GetDragObject(self, msg)

Extracts the object from a drag and drop message.

GeDialog.GetDragPosition(self, msg)

Extracts local drag coordinates from a drag and drop event.

GeDialog.SetDragDestination(self, cursor[, gadgetid])

Sets the correct cursor during drag and drop handling.

Dialog Menu Methods

GeDialog.MenuAddCommand(self, cmdid)

Adds a command item to the current menu.

GeDialog.MenuAddSeparator(self)

Adds a separator to the current menu.

GeDialog.MenuAddString(self, id, string)

Adds a string item to the current menu.

GeDialog.MenuFinished(self)

Call this function when all menus and all items have been added.

GeDialog.MenuFlushAll(self)

Flushes the menu bar of the dialog, removing all menus.

GeDialog.MenuInitString(self, id, enabled, value)

Used to change the enabled/disabled and checked/unchecked state of menu items.

GeDialog.MenuSubBegin(self, string)

Creates a new menu group.

GeDialog.MenuSubEnd(self)

Closes the current menu group, opened with MenuSubBegin().

Dialog Setter Methods

GeDialog.SetDefaultColor(self, id, colorid, color)

Set the default color for GUI elements.

GeDialog.SetFolding(self, allowClose)

Fold the dialog away in the layout.

GeDialog.SetTitle(self, title)

Sets the title of the dialog window.

Gadget Addition Methods

GeDialog.AddButton(self, id, flags[, ...])

Add a button to the dialog.

GeDialog.AddCheckbox(self, id, flags, initw, ...)

Add a checkbox to the dialog.

GeDialog.AddChild(self, id, subid, child)

Adds items to combo boxes or popup buttons. The resource equivalent is CHILDS.

GeDialog.AddColorChooser(self, id, flags[, ...])

Adds a color field with sliders to the layout.

GeDialog.AddColorField(self, id, flags[, ...])

Adds a simple color field without sliders to the layout.

GeDialog.AddComboBox(self, id, flags[, ...])

Adds a combo box to the layout.

GeDialog.AddCustomGui(self, id, pluginid, ...)

Adds a custom GUI to the dialog.

GeDialog.AddDlgGroup(self, type)

Adds a dialog group with standard buttons to the layout.

GeDialog.AddEditNumber(self, id, flags[, ...])

Adds an editable number field to the layout.

GeDialog.AddEditNumberArrows(self, id, flags[, ...])

Adds an editable number field with up/down arrows to the layout.

GeDialog.AddEditSlider(self, id, flags[, ...])

Adds a slider with an editable number field to the layout.

GeDialog.AddEditText(self, id, flags[, ...])

Adds an editable text field to the layout.

GeDialog.AddGadget(self, type, gadget)

Add a gadget to the dialog.

GeDialog.AddMultiLineEditText(self, id, flags[, ...])

Adds an editable text field with multiple lines to the layout.

GeDialog.AddPopupButton(self, id, flags[, ...])

Adds a popup button to the layout.

GeDialog.AddRadioButton(self, id, flags[, ...])

Adds a radio button to the layout.

GeDialog.AddRadioGroup(self, id[, flags, ...])

Adds a radio group to the layout.

GeDialog.AddRadioText(self, id, flags[, ...])

Adds a text radio button to the layout (like the ones to the left in the Cinema 4D material editor).

GeDialog.AddSeparatorH(self, inith[, flags])

Adds a horizontal separator to the layout.

GeDialog.AddSeparatorV(self, initv[, flags])

Adds a vertical separator to the layout.

GeDialog.AddSlider(self, id, flags[, ...])

Adds a slider with an editable number field to the layout.

GeDialog.AddStaticText(self, id, flags[, ...])

Adds a static text field to the layout.

GeDialog.AddSubDialog(self, id, flags[, ...])

Adds a sub-dialog to the layout.

GeDialog.AddUserArea(self, id, flags[, ...])

Adds a user area to the layout.

Gadget Checks Methods

GeDialog.CheckTristateChange(self, id)

Indicates whatever a control’s content has been changed since the last time its value was set manually with.

GeDialog.CheckValueRanges(self)

Checks if the value for all input fields are within the allowed range.

Gadget Getter Methods

GeDialog.FindCustomGui(self, id, pluginid)

Get the custom GUI for a certain ID.

GeDialog.GetBool(self, id)

Retrieves the value of checkbox controls.

GeDialog.GetColorField(self, id)

Retrieves the color and brightness of color controls.

GeDialog.GetFilename(self, id)

Retrieves the text from string controls as a filename.

GeDialog.GetFloat(self, id)

Retrieves the value of float fields.

GeDialog.GetInt32(self, id)

Retrieves the value of integer fields.

GeDialog.GetString(self, id)

Retrieves the text from string controls.

GeDialog.GetTime(self, id, doc)

Retrieves the time of time fields.

GeDialog.GetVector(self, id_x, id_y, id_z)

Retrieves the value of three float fields at the same time as a vector.

Gadget Information Methods

GeDialog.GetItemDim(self, id)

Queries a dialog control for its current position and size in pixels.

Gadget Setter Methods

GeDialog.Activate(self, id)

Sets the focus to a specific control within the dialog.

GeDialog.AddChildren(self, id, bc)

Adds children to a dialog element using a container.

GeDialog.AttachSubDialog(self, userdlg, id)

Attaches a c4d.gui.SubDialog derived object to a sub-dialog control, added with AddSubDialog().

GeDialog.AttachUserArea(self, ua, id[, ...])

Assigns a GeUserArea object to a user area control in the dialog.

GeDialog.SetBool(self, id, value)

Sets the value of checkbox controls.

GeDialog.SetColorField(self, id, color, ...)

Sets the color, brightness and limits of color fields and color choosers.

GeDialog.SetDegree(self, id, value[, min, ...])

Sets the value and limits of an angle field.

GeDialog.SetFilename(self, id, fn[, tristate])

Sets the text of string controls, taking the new value from a filename.

GeDialog.SetFloat(self, id, value[, min, ...])

Sets the value, unit and limits of float fields.

GeDialog.SetInt32(self, id, value[, min, ...])

Sets the value and limits of integer fields.

GeDialog.SetMeter(self, id, value[, min, ...])

Sets the value and limits of a meter field.

GeDialog.SetMultiLineMode(self, id, mode)

Sets the edit mode for multi-line edit fields.

GeDialog.SetMultiLinePos(self, id, line, pos)

Set the cursor position within a dialog multi-line string item.

GeDialog.SetPercent(self, id, value[, min, ...])

Sets the value and limits of a percent field.

GeDialog.SetPopup(self, id, bc)

Sets the item list of a popup button using a popup menu container.

GeDialog.SetString(self, id, value[, ...])

Sets the text of string controls.

GeDialog.SetTime(self, id, doc, value[, ...])

Sets the value and limits of a time field.

Input Events Methods

GeDialog.GetInputEvent(self, askdevice, res)

Gets the next input event for a certain device from the event queue.

GeDialog.GetInputState(self, askdevice, ...)

Polls a certain channel of a device for the current input state.

GeDialog.KillEvents(self)

Flushes all events from the window message queue. For example if you loop while the mouse is down (polling) you can call this command to flush all keydowns/mouseclicks that are made during the loop.

Inheritance

Child Class:

Methods Documentation

GeDialog.__init__(self)

Init a GeDialog.

GeDialog.AskClose(self)
Override it to avoid closing the dialog if an error situation has occurred.
If the user wants to close the dialog with the OK button this function will be called.

Note

If you return False everything will be as usual, but if you return True the dialog won’t close.

Warning

Please pay attention to the result value.
True means, it will not close.
Return type

bool

Returns

True if the dialog shouldn’t be closed, False if it should.

GeDialog.Command(self, id, msg)
Override this function if you want to react to user clicks.
Whenever the user clicks on a gadget and/or changes its value this function will be called.
It is also called when a string menu item is selected. Override it to handle such events.

Note

Remember that you need to call StopAllThreads() before making modifications to the scene.

Parameters
  • id (int) – The ID of the gadget that triggered the event.

  • msg (c4d.BaseContainer) –

    The original message container. Contains the following values:

    BFM_ACTION_ID

    int

    ID of the dialog element that triggered the action.

    BFM_ACTION_VALUE

    any

    Action value.

    BFM_ACTION_INDRAG

    bool

    Slider in dragging mode (not finished).

    BFM_ACTION_STRCHG

    bool

    String in text field changed.

    BFM_ACTION_VALCHG

    bool

    Edit/slider changed.

    BFM_ACTION_ESC

    bool

    Action escaped. Internal.

    BFM_ACTION_RESET

    bool

    Reset to default value on right-click of input field arrows.

    BFM_ACTION_UPDATE

    bool

    Update without verify. Internal.

    BFM_ACTION_KEYDOWN

    bool

    New in version S24: Key Down pressed while editfield is active.

    BFM_ACTION_KEYUP

    bool

    New in version S24: Key Up pressed while editfield is active.

Return type

bool

Returns

False if there was an error, otherwise True.

GeDialog.CoreMessage(self, id, msg)
Override this function if you want to react to Cinema 4D core messages.
The original message is stored in msg.
Parameters
  • id (int) –

    The message ID:

    EVMSG_CHANGE

    Sent by EventAdd().

    EVMSG_DOCUMENTRECALCULATED

    Sent while drawing after the animation, expressions and cache building have been done. It allows that certain managers (e.g. attribute manager) update their values to the changes done by the expressions etc. Any reactions on this message should be pretty fast! No modifying stuff must be done here as the draw thread is running at the same time and accesses the same data!

    EVMSG_TOOLCHANGED

    A tool setting has changed (local event).

    EVMSG_GRAPHVIEWCHANGED

    Something in XPresso has been changed (local event).

    EVMSG_AUTKEYMODECHANGED

    The autokey mode was changed.

    EVMSG_UPDATEHIGHLIGHT

    A special message sent by Cinema 4D in the case that only the highlighting changes. This happens for example when the mouse is moved over the viewport. Plugins usually do not need to care about this.

    EVMSG_UPDATEBASEDRAW

    Sent in the case that the view should be redrawn.

    EVMSG_CHANGEDSCRIPTMODE

    Sent when the script mode changed.

    EVMSG_SETMODE

    Private.

    EVMSG_SHOWIN_FC

    Show in Function Curve editor.

    EVMSG_SHOWIN_LM

    Show in Layer Manager.

    EVMSG_SHOWIN_MT

    Show in Motion editor.

    EVMSG_SHOWIN_SB

    Show in Scene Browser.

    EVMSG_SHOWIN_TL

    Show in Timeline.

    EVMSG_TLOM_MERGE

    Private.

    EVMSG_TIMELINESELECTION

    A timeline selection has been changed (local event).

    EVMSG_TL_FCURVE_POS

    Show and frame fcurve position tracks.

    EVMSG_TL_FCURVE_ROT

    Show and frame fcurve rotation tracks.

    EVMSG_TL_FCURVE_SCALE

    Show and frame fcurve scale tracks.

    EVMSG_BROWSERCHANGE

    Something in the browser has been changed (local event).

    EVMSG_MATERIALSELECTION

    A material selection has been changed (local event).

    EVMSG_FCURVECHANGE

    Something in the F-Curve manager has been changed (local event).

    EVMSG_RAYTRACER_FINISHED

    Private.

    EVMSG_MATERIALPREVIEW

    Private.

    EVMSG_ACTIVEVIEWCHANGED

    Private.

    EVMSG_ASYNCEDITORMOVE

    The user moved something in the editor window. Managers should update things like position fields.

    EVMSG_TIMECHANGED

    Private.

    EVMSG_VIEWWINDOW_OUTPUT

    Private.

    EVMSG_VIEWWINDOW_3DPAINTUPD

    Private.

    EVMSG_UPDATESCHEME

    Scheme has been updated.

    EVMSG_TAKECHANGED

    New in version R17.032: Sent by the Take System when the current Take ID changed to let all managers react to the new status.

  • msg (c4d.BaseContainer) – The message container.

Return type

bool

Returns

Currently not used - but you have to return a bool value.

GeDialog.CreateLayout(self)

Override - Called when Cinema 4D is about to display the dialog.

Return type

bool

Returns

True if successful, or False to signalize an error.

GeDialog.DestroyWindow(self)

Override this method - this function is called when the dialog is about to be closed temporarily, for example for layout switching.

GeDialog.InitValues(self)

Called when the dialog is initialized by the GUI.

Return type

bool

Returns

True if successful, or False to signalize an error.

GeDialog.Message(self, msg, result)
Override this function to react to more messages than covered by the other functions.
Normally this is not necessary.

Note

If overridden, include a call to the base version of this function, GeDialog.Message():

def Message(self, msg, result):
    return c4d.gui.GeDialog.Message(self, msg, result)
Parameters
Return type

int

Returns

The return value depends on the message.

GeDialog.Timer(self, msg)

If you subscribe to timer events using SetTimer() (x), this function is called every x’th millisecond.

Parameters

msg (BaseContainer) – The raw timer message.

GeDialog.Close(self)

Close the dialog.

Return type

bool

Returns

True if successfully closed, otherwise False.

GeDialog.Enable(self, gadget, enable)

Enables or disables the dialog gadget, depending on the value of enable.

Parameters
  • gadget (C4DGadget) – The dialog gadget

  • enabled (bool) – True means enabled, otherwise False.

GeDialog.GetId(self)

Gets the dialog ID.

Return type

int

Returns

The id.

GeDialog.GetType(self, id)

Return the type of a gadget.

Parameters

id (int) – The gadget id.

Return type

int

Returns

The gadget id type.

GeDialog.LoadDialogResource(self, id, lr=None, flags=0)
Loads an external resource file.
This is the preferred method for dialog layout since it gives maximum flexibility and easy multi language support.

Note

The dialog loaded is automatically surrounded by an additional outer group, so flags means the same as with dialog groups (e.g. BFV_CENTER).

Parameters
  • id (int) – The dialog ID.

  • lr (c4d.plugins.GeResource) – A loaded resource or None. If this is None then the global resource singleton is used.

  • flags (int) – Additional layout flags.

Return type

bool

Returns

true if the dialog was successfully loaded, otherwise false.

GeDialog.Open(self, dlgtype, pluginid=0, xpos=- 1, ypos=- 1, defaultw=0, defaulth=0, subid=0)

Opens the dialog at the specified position.

Note

If xpos = -1 and ypos = -1 the dialog will be opened at the current mouse position.
If xpos = -2 and ypos = -2 the dialog will be opened at the center of the screen.
Parameters
  • dlgtype (int) –

    The dialog type:

    DLG_TYPE_MODAL

    Modal dialog.

    DLG_TYPE_MODAL_RESIZEABLE

    Resizable modal dialog.

    DLG_TYPE_ASYNC

    Asynchronous dialog.

    DLG_TYPE_ASYNC_POPUP_RESIZEABLE

    Asynchronous dialog: resizable popup dialog style (no menu bar).

    DLG_TYPE_ASYNC_POPUPEDIT

    Asynchronous dialog: popup dialog style (no menu bar, no window frame).

    DLG_TYPE_ASYNC_FULLSCREEN_WORK

    Asynchronous dialog: fullscreen over desktop area.

    DLG_TYPE_ASYNC_FULLSCREEN_MONITOR

    Asynchronous dialog: fullscreen over the whole monitor area.

  • pluginid (int) – The plugin ID of CommandData.

  • xpos (int) – The X position of the dialog. See note above.

  • ypos (int) – The Y position of the dialog. See note above.

  • defaultw (int) – The default width in pixels.

  • defaulth (int) – The default height in pixels.

  • subid (int) – The dialog sub-ID. This can be used to open several dialogs with a single command plugin for CommandData.ExecuteSubID().

Return type

bool

Returns

True if successful, otherwise False.

GeDialog.Restore(self, pluginid, secret)

Used to restore an asynchronous dialog that has been placed in the users layout.

Note

Just use this method in CommandData.RestoreLayout().

Parameters
Return type

bool

Returns

True if successfully restored, otherwise False.

GeDialog.SendMessage(self, gadget, value)

Sends a message to a dialog gadget.

Parameters
Return type

object

Returns

Depends on the message.

GeDialog.SendParentMessage(self, msg)

Sends a message to the parent dialog.

Parameters

msg (c4d.BaseContainer) – The message container.

Return type

bool

Returns

True if the message was sent.

GeDialog.SetTimer(self, value)

Initializes the timer clock, so that Timer() is called every timer milliseconds. Use SetTimer() (0) to stop the clock.

Note

Depending on the speed of the computer, the operating system, the complexity of the dialog and the threads running in the background, there is no guarantee that event messages will occur on a regular basis.
Using a value of 500 ms should be no problem but if using a value of 1 ms one might get events with the following time spaces: 3 ms, 76 ms, 15 ms, 19 ms, 67 ms…

Note

The timer will be paused while a synchronous dialog is opened in Cinema 4D.

Warning

Keep in mind that using small timer values results in heavy message traffic in the application which may slow down Cinema 4D.

Parameters

value (int) – The timer interval in milliseconds.

GeDialog.Global2Local(self)

Transforms global coordinates (relative to the top left corner of the physical window) to local coordinates (relative to the top left corner of the dialog). Result is a dict with member keys x and y of type int.

Return type

dict{x: int, y: int}

Returns

The converted coordinates or None.

GeDialog.Local2Global(self)

Transforms local coordinates (relative to the top left corner of the dialog) to global coordinates (relative to the top left corner of the physical window). Result is a dict with member keys x and y of type int.

Return type

dict{x: int, y: int}

Returns

The converted coordinates or None.

GeDialog.Local2Screen(self)

Transforms local coordinates (relative to the top left corner of the dialog) to screen coordinates (relative to the top left corner of the system screen). Result is a dict with member keys x and y of type int.

Return type

dict{x: int, y: int}

Returns

The converted coordinates or None.

GeDialog.Screen2Local(self)

Transforms screen coordinates (relative to the top left corner of the system screen) to local coordinates (relative to the top left corner of the dialog). Result is a dict with member keys x and y of type int.

Return type

dict{x: int, y: int}

Returns

The converted coordinates or None.

GeDialog.GetLong(self, id)

Deprecated since version R15: Use GetInt32() instead.

Retrieves the value of integer fields.

Note

Also used for tab groups, radio buttons and combo boxes.

Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

Return type

int

Returns

The value or None if the value was not retrieved.

GeDialog.GetReal(self, id)

Deprecated since version R15: Use GetFloat() instead.

Retrieves the value of float fields.

Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

Return type

float

Returns

The value or None if the value was not retrieved.

GeDialog.SetLong(self, id, value, min=MINLONGl, max=MAXLONGl, step=1, tristate=False, min2=MINLONGl, max2=MAXLONGl)

Deprecated since version R15: Use SetInt32() instead.

Sets the value and limits of integer fields.

Note

Also used for tab groups, radio buttons and combo boxes.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • value (int) – The new value.

  • min (int) – The minimum value accepted.

  • max (int) – The maximum value accepted.

  • step (bool) – The step used for arrow buttons.

  • step – If this is True the control is tinted blue to indicate tristate mode.

  • min2 (int) – The minimum value allowed outside the range used for sliders. Overrides min for the acceptance check.

  • max2 (int) – The minimum value allowed outside the range used for sliders. Overrides max for the acceptance check.

Return type

bool

Returns

True if the value was set.

GeDialog.SetReal(self, id, value, min=sys.float_info.min, max=sys.float_info.max, step=1.0, format=FORMAT_FLOAT, min2=0.0, max2=0.0, quadscale=False, tristate=False)

Deprecated since version R15: Use SetFloat() instead.

Sets the value, unit and limits of float fields.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • value (float) – The new value.

  • min (int) – The minimum value accepted.

  • max (int) – The maximum value accepted.

  • step (float) – The step used for arrow buttons.

  • format (int) –

    The unit and format of the field. Valid formats are:

    FORMAT_FLOAT

    Floating point without unit.

    FORMAT_INT

    Integer without unit.

    FORMAT_PERCENT

    Floating point with % sign, 1.0 = 100%.

    FORMAT_DEGREE

    Floating point with ° sign. Measured in radians, displayed in degrees.

    FORMAT_METER

    Floating point in the current working unit.

    FORMAT_FRAMES

    Time formatted as frames. (Overrided by user preference.)

    FORMAT_SECONDS

    Time formatted as seconds. (Overrided by user preference.)

    FORMAT_SMPTE

    Time formatted as SMPTE. (Overrided by user preference.)

  • min2 (int) – The minimum value allowed outside the range used for sliders. Overrides min for the acceptance check.

  • max2 (int) – The maximum value allowed outside the range used for sliders. Overrides max for the acceptance check.

  • quadscale (bool) – If this is True a quadratic scale is used for the slider, so that more precision is available for lower values.

  • tristate (bool) – If this is True the control is tinted blue to indicate tristate mode.

Return type

bool

Returns

True if the value was set.

GeDialog.FreeChildren(self, id)

Clears the item list of combo boxes and popup buttons.

Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

Return type

bool

Returns

True if the children were removed.

GeDialog.HideElement(self, id, hide)

Hides/unhides an element from the dialog.

Parameters
  • id (int) – The control ID.

  • hide (bool) – True to hide and False to unhide.

Return type

bool

Returns

True if the element was hidden/unhidden.

GeDialog.LayoutChanged(self, id)
Notifies Cinema 4D that the layout of a dynamic group in the dialog has changed.
This is usually done by first calling LayoutFlushGroup() and then adding new controls.
Parameters

id (int) – The ID of the changed group.

Return type

bool

Returns

True if the layout was updated, otherwise False.

GeDialog.LayoutChangedNoRedraw(self, id)
Notifies Cinema 4D that the layout of a dynamic group in the dialog has changed.
This is usually done by first calling LayoutFlushGroup() and then adding new controls.
Parameters

id (Union[c4d.gui.C4DGadget, int]) – The ID of the changed group.

Return type

bool

Returns

True if the layout was updated, otherwise False.

GeDialog.LayoutFlushGroup(self, id)
Removes all controls from a group and places the control insertion point within the group.
This makes it possible to have dynamic groups.

Note

After all components are added call LayoutChanged() with the group ID.

Parameters

id (int) – The control ID.

Return type

bool

Returns

True if the group was flushed.

GeDialog.RemoveElement(self, id)

Removes an element from the dialog.

Parameters

id (int) – The control ID.

Return type

bool

Returns

True if the element was removed.

GeDialog.GetFolding(self)

Retrieve if the dialog is open but currently folded away in the layout.

New in version 24.

Return type

bool

Returns

True if folded.

GeDialog.IsActive(self, id)

Checks if the given gadget has the focus.

Parameters

id (int) – The control ID.

Return type

bool

Returns

True if the control is active, otherwise False.

GeDialog.IsOpen(self)

Checks if the dialog is open.

Return type

bool

Returns

True if it is open, otherwise False.

GeDialog.IsVisible(self)

Checks if the dialog is visible.

Return type

bool

Returns

True if it is visible, otherwise False.

GeDialog.GetVisibleArea(self, scrollgroup)
Queries a scroll group for its currently visible region, a rectangle between (x1,y1) and (x2,y2).
The coordinates are in pixels.
Parameters

scrollgroup (int) – The scroll group ID.

Return type

dict{x1: int, y1: int , x2: int , y2: int }

Returns

The visible area in coordinates, in keys x1, y1, x2, y2.

GeDialog.GroupBegin(self, id, flags, cols=0, rows=0, title='', groupflags=0, initw=0, inith=0)

Begins a group.

Parameters
  • id (int) – The ID of the group.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • cols (int) – Columns.

  • rows (int) – Rows

  • title (str) – The title.

  • groupflags (int) –

    Settings for the group. Can be a combination of the following:

    BFV_GRIDGROUP_EQUALCOLS

    Each column has the same width.

    BFV_GRIDGROUP_EQUALROWS

    Each row has the same height.

    BFV_CMD_EQUALCOLUMNS

    Columns have equal width.

    BFV_BORDERGROUP_CHECKBOX

    Checkbox in title of a border group.

    BFV_BORDERGROUP_FOLD

    Fold symbol in title of a border group. Deprecated.

    BFV_BORDERGROUP_FOLD_OPEN

    Opened fold symbol.

    BFV_BORDERGROUP_FOLD2

    Foldable group, but no switch gadget.

    BFV_GRIDGROUP_ALLOW_WEIGHTS

    Allow the user to move the weights.

    BFV_GRIDGROUP_FORBID_MIRROR

    Do not mirror the layout of the group.

    BFV_DIALOG_REMOVEABLE

    Dialog is removable.

    BFV_DIALOG_BAR_VERT

    Dialog has a vertical dialog bar.

    BFV_DIALOG_NOBUTTONS

    Dialog has no button bar.

    BFV_LAYOUTGROUP_PALETTEOUTLINES

    Layout group has palette outlines.

    BFV_IGNORE_FOCUS

    Group ignores focus.

    BFV_TABGROUP_RELOADDIALOG

    Private.

    BFV_LAYOUTGROUP_NODROP

    Prevents drag and drop onto a tab. Private.

    BFV_LAYOUTGROUP_NODROP2

    Prevents drag and drop between layout groups. Private.

    BFx_NOEQUAL

    Groups with BFV_GRIDGROUP_EQUALCOLS or BFV_GRIDGROUP_EQUALROWS flags can have their own maximum width.

  • initw (int) –

    New in version R14.014: Initial width.

  • inith (int) –

    New in version R14.014: Initial height.

Return type

bool

Returns

True if a group could be begun, otherwise False.

GeDialog.GroupBeginInMenuLine(self)

Begins a group in the menu bar of the dialog.

Note

End the group with GroupEnd()

GeDialog.GroupBorder(self, borderstyle)

Sets the border type of the current group, and displays the title in the border if possible.

Note

Use GroupBorderNoTitle() if you do not have a title.
Otherwise there’ll be a small gap in the border where the title would be.
Parameters

borderstyle (int) –

The style:

BORDER_NONE

No border.

BORDER_THIN_IN

Thin border inward.

BORDER_THIN_OUT

Thin border outward.

BORDER_IN

Normal border inward.

BORDER_OUT

Normal border outward.

BORDER_GROUP_IN

Group border inside.

BORDER_GROUP_OUT

Group border outside.

BORDER_OUT2

Outward border 2.

BORDER_OUT3

Outward border 3

BORDER_BLACK

Thin black line.

BORDER_ACTIVE_1

Active border 1.

BORDER_ACTIVE_2

Active border 2.

BORDER_ACTIVE_3

Active border 3.

BORDER_ACTIVE_4

Active border 4.

BORDER_GROUP_TOP

Border along the top.

BORDER_ROUND

Border with round corners.

BORDER_SCHEME_EDIT

Edit field border like the shortcut gadget for example.

BORDER_SCHEME_EDIT_NUMERIC

Edit field border that is open to the right like the link field for example.

BORDER_OUT3l

Outward border 3, open to the left.

BORDER_OUT3r

Outward border 3, open to the right.

BORDER_THIN_INb

Thin border inward, open to the botton.

BORDER_MASK

Masks out border type.

BORDER_TEXT_DOTTED

New in version R21:
Only used with GeDialog.AddStaticText().
Draws a dotted line at right of text, useful to visually connect the text with its parameter.

BORDER_WITH_TITLE_MONO

Display group title with monospaced font.

BORDER_WITH_TITLE_BOLD

Display group title with bold font.

BORDER_WITH_TITLE

Display group title in the border.

GeDialog.GroupBorderNoTitle(self, borderstyle)

Sets the border type of the current group, and displays the title in the border if possible.

Parameters

borderstyle (int) –

The style:

BORDER_NONE

No border.

BORDER_THIN_IN

Thin border inward.

BORDER_THIN_OUT

Thin border outward.

BORDER_IN

Normal border inward.

BORDER_OUT

Normal border outward.

BORDER_GROUP_IN

Group border inside.

BORDER_GROUP_OUT

Group border outside.

BORDER_OUT2

Outward border 2.

BORDER_OUT3

Outward border 3

BORDER_BLACK

Thin black line.

BORDER_ACTIVE_1

Active border 1.

BORDER_ACTIVE_2

Active border 2.

BORDER_ACTIVE_3

Active border 3.

BORDER_ACTIVE_4

Active border 4.

BORDER_GROUP_TOP

Border along the top.

BORDER_ROUND

Border with round corners.

BORDER_SCHEME_EDIT

Edit field border like the shortcut gadget for example.

BORDER_SCHEME_EDIT_NUMERIC

Edit field border that is open to the right like the link field for example.

BORDER_OUT3l

Outward border 3, open to the left.

BORDER_OUT3r

Outward border 3, open to the right.

BORDER_THIN_INb

Thin border inward, open to the botton.

BORDER_MASK

Masks out border type.

BORDER_TEXT_DOTTED

New in version R21:
Only used with GeDialog.AddStaticText().
Draws a dotted line at right of text, useful to visually connect the text with its parameter.

BORDER_WITH_TITLE_MONO

Display group title with monospaced font.

BORDER_WITH_TITLE_BOLD

Display group title with bold font.

BORDER_WITH_TITLE

Display group title in the border.

GeDialog.GroupBorderSpace(self, left, top, right, bottom)

Sets the border size around the current group in pixels.

Parameters
  • left (int) – The distance to the left of the group.

  • top (int) – The distance above the group.

  • right (int) – The distance to the right of the group.

  • bottom (int) – The distance below the group.

Return type

bool

Returns

True if the border space was set.

GeDialog.GroupEnd(self)

Ends groups.

Return type

bool

Returns

True if the group was ended, otherwise False.

GeDialog.GroupSpace(self, spacex, spacey)
Sets the space in pixels between two elements in the current group.
Equivalent to SPACE in dialog resources.
Parameters
  • spacex (int) – The X distance.

  • spacey (int) – The Y distance.

Return type

bool

Returns

True if the spacing could be set.

GeDialog.GroupWeightsLoad(self, id, weights)

Sets group weights for group id.

The group weights are usually absolute values.

Note

If an element has a bigger minimum size the given weight will be ignored.
The sum of the weights do not need to be 100.

Note

A weight value can be negative.
In this case the group keeps its size absolute and it is not resized proportionally.
def CreateLayout():
    self.GroupBegin(GRP_SUB,c4d.BFH_SCALEFIT|c4d.BFV_SCALEFIT,2,0,"",c4d.BFV_GRIDGROUP_ALLOW_WEIGHTS)

    self.AddStaticText(1000,c4d.BFH_SCALEFIT|c4d.BFV_SCALEFIT,0,0,"SubDialog2",c4d.BORDER_THIN_IN)
    self.AddStaticText(1001,c4d.BFH_SCALEFIT|c4d.BFV_SCALEFIT,0,0,"SubDialog2",c4d.BORDER_THIN_IN)

    self.AddStaticText(1002,c4d.BFH_SCALEFIT|c4d.BFV_SCALEFIT,0,0,"SubDialog2",c4d.BORDER_THIN_IN)
    self.AddStaticText(1003,c4d.BFH_SCALEFIT|c4d.BFV_SCALEFIT,0,0,"SubDialog2",c4d.BORDER_THIN_IN)

    self.AddStaticText(1004,c4d.BFH_SCALEFIT|c4d.BFV_SCALEFIT,0,0,"SubDialog2",c4d.BORDER_THIN_IN)
    self.AddStaticText(1005,c4d.BFH_SCALEFIT|c4d.BFV_SCALEFIT,0,0,"SubDialog2",c4d.BORDER_THIN_IN)

    self.AddEditNumberArrows(1006, c4d.BFH_SCALEFIT)

    if not self.weights_saved:
        #initialization code

        self.weights.SetInt32(c4d.GROUPWEIGHTS_PERCENT_W_CNT, 2)      # number of columns - has to be equal to the given layout
        self.weights.SetFloat(c4d.GROUPWEIGHTS_PERCENT_W_VAL+0,25.0)  # weight for col 1
        self.weights.SetFloat(c4d.GROUPWEIGHTS_PERCENT_W_VAL+1,75.0)  # weight for col 2

        #set the rows
        self.weights.SetInt32(c4d.GROUPWEIGHTS_PERCENT_H_CNT,4)       # number of rows - has to be equal to the given layout
        self.weights.SetFloat(c4d.GROUPWEIGHTS_PERCENT_H_VAL+0,10.0)  # weight for row 1
        self.weights.SetFloat(c4d.GROUPWEIGHTS_PERCENT_H_VAL+1,30.0)  # weight for row 2
        self.weights.SetFloat(c4d.GROUPWEIGHTS_PERCENT_H_VAL+2,60.0)  # weight for row 3
        self.weights.SetFloat(c4d.GROUPWEIGHTS_PERCENT_H_VAL+3,0.0)   # weight for row 4
        self.weights_saved = True

    self.GroupWeightsLoad(GRP_SUB, self.weights)
    self.GroupEnd()
    return True

def Message(self, msg, result):
    if msg.GetId()==c4d.BFM_WEIGHTS_CHANGED:
        #if the weights change because of user interaction you will get notified
        if msg.GetInt32(c4d.BFM_WEIGHTS_CHANGED)==GRP_SUB:
            self.weights = self.GroupWeightsSave(GRP_SUB)
    return GeDialog.Message(self, msg, result)
Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • weights (c4d.BaseContainer) –

    The weights to store:

    GROUPWEIGHTS_PERCENT_W_CNT

    int

    The number of columns. Has to to be equal to the given layout.

    GROUPWEIGHTS_PERCENT_W_VAL

    float

    The column weight for column i is in GROUPWEIGHTS_PERCENT_W_VAL + i.

    GROUPWEIGHTS_PERCENT_H_CNT

    int

    The number of rows. Has to be equal to the given layout.

    GROUPWEIGHTS_PERCENT_H_VAL

    float

    The row weight for row i is in GROUPWEIGHTS_PERCENT_H_VAL + i.

Return type

bool

Returns

True if the group weights could be set, otherwise False.

GeDialog.GroupWeightsSave(self, id)

Retrieves group weights for group id.

Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

Return type

c4d.BaseContainer

Returns

A new container with the weights or None.

GROUPWEIGHTS_PERCENT_W_CNT

int

The number of columns. Has to to be equal to the given layout.

GROUPWEIGHTS_PERCENT_W_VAL

float

The column weight for column i is in GROUPWEIGHTS_PERCENT_W_VAL + i.

GROUPWEIGHTS_PERCENT_H_CNT

int

The number of rows. Has to be equal to the given layout.

GROUPWEIGHTS_PERCENT_H_VAL

float

The row weight for row i is in GROUPWEIGHTS_PERCENT_H_VAL + i.

GeDialog.ScrollGroupBegin(self, id, flags, scrollflags, initw=0, inith=0)

Begins a scrollgroup.

Parameters
  • id (int) – The scroll group ID.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • scrollflags (int) –

    Additional settings for the scroll group. Can be a combination of the following flags:

    SCROLLGROUP_VERT

    Allow the group to scroll vertically.

    SCROLLGROUP_HORIZ

    Allow the group to scroll horizontally.

    SCROLLGROUP_NOBLIT

    Always redraw the whole group, not just new areas, when scrolling.

    SCROLLGROUP_LEFT

    Create the vertical slider to the left.

    SCROLLGROUP_BORDERIN

    Display a small border around the scroll group.

    SCROLLGROUP_STATUSBAR

    Create a status bar for the scroll group.

    SCROLLGROUP_AUTOHORIZ

    Only show horizontal slider if needed.

    SCROLLGROUP_AUTOVERT

    Only show vertical slider if needed.

    SCROLLGROUP_NOSCROLLER

    No scroller.

    SCROLLGROUP_NOVGAP

    No vertical gap.

    SCROLLGROUP_STATUSBAR_EXT_GROUP

    Create an extern group within the statusbar.

    SCROLLGROUP_BORDERINb

    Same as SCROLLGROUP_BORDERIN but open at bottom.

    New in version R21.

    ID_SCROLLGROUP_STATUSBAR_EXTLEFT_GROUP

    ID of the extern left scroll group statusbar group.

    ID_SCROLLGROUP_STATUSBAR_EXTRIGHT_GROUP

    ID of the extern right scroll group statusbar group.

  • initw (int) – The initial width of the scroll area.

  • inith (int) – The initial height of the scroll area.

Return type

bool

Returns

True if scrollgroup was added.

GeDialog.SetVisibleArea(self, scrollgroupid, x1, y1, x2, y2)
Scrolls a scroll group so that the rectangle between (x1,y1) and (x2,y2) is visible.
The coordinates are in pixels.

Note

If the area is smaller than the scroll group then it is moved only as much as necessary.
If the area is bigger than the scroll group then the top left corners are aligned.
Parameters
  • scrollgroup (int) – The scroll group ID.

  • x1 (int) – The X coordinate of the top left corner of the rectangle.

  • y1 (int) – The Y coordinate of the top left corner of the rectangle.

  • x2 (int) – The X coordinate of the bottom right corner of the rectangle.

  • y2 (int) – The Y coordinate of the bottom right corner of the rectangle.

Return type

bool

Returns

True if the group was scrolled or already had the right view.

GeDialog.TabGroupBegin(self, id, flags, tabtype=TAB_TABS)

Begins a tab group.

../../../_images/gedialog_tabgroups.png
Parameters
  • id (int) – The ID of the group.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • tabtype (int) –

    Specifies what kind of tabs to use:

    TAB_TABS

    Normal tabs.

    TAB_NOSELECT

    No tabs.

    TAB_CYCLE

    Popup buttons instead of tabs.

    TAB_RADIO

    Radio buttons instead of tabs.

    TAB_VLTABS

    Vertical tabs, left-sided.

    TAB_VRTABS

    Vertical tabs, right-sided.

Return type

bool

Returns

True if a tab group could be begun, otherwise False.

GeDialog.CheckDropArea(self, id, msg, horiz, vert)

Checks the drag position in a drag event message against a certain dialog element’s position in the layout.

Note

The check can be limited to only X or Y coordinates.

Parameters
  • id (int) – The dialog element that this cursor is for, or 0.

  • msg (c4d.BaseContainer) – The drag message.

  • horiz (bool) – If True the drag position is checked against the horizontal bounds of the region.

  • vert (bool) – If True the drag position is checked against the vertical bounds of the region.

Return type

bool

Returns

True if the drag message is within the bounds specified, otherwise False.

GeDialog.GetColorRGB(self, colorid)

Gets the RGB values associated with a color ID.

Parameters

colorid (int) – The color ID. See COLOR constants.

Return type

dict{r: int, g: int, b: int}

Returns

The color in the dict with the keys r, g and b.

GeDialog.GetDragObject(self, msg)

Extracts the object from a drag and drop message.

Parameters

msg (c4d.BaseContainer) – The original message.

Return type

dict{‘type’: int, ‘object’: any}

Returns

The type of drag and the object itself. The types are:

DRAGTYPE_ATOMARRAY

Atom array. The data is a list of c4d.C4DAtom.

DRAGTYPE_CMDPALETTE

Not supported.

DRAGTYPE_COMMAND

Not supported.

DRAGTYPE_DESCID

Description ID. The data is a dict(‘did’: c4d.DescID, ‘arr’: list of c4d.C4DAtom).

DRAGTYPE_ICON

Not supported.

DRAGTYPE_FILES

Files. The data is a string with the filename.

DRAGTYPE_FILENAME_IMAGE

Image. The data is a string with the filename.

DRAGTYPE_FILENAME_OTHER

Other filename. The data is a string with the filename.

DRAGTYPE_FILENAME_SCENE

Scene filename. The data is a string with the filename.

DRAGTYPE_MANAGER

Not supported.

DRAGTYPE_RGB

RGB color. The data is a c4d.Vector.

DRAGTYPE_RGB_ARRAY

RGB color array. The data is a list of c4d.Vector.

DRAGTYPE_RGBA_ARRAY

RGBA color array. The data is a maxon.BaseArray of maxon.ColorA.

DRAGTYPE_BROWSER

Browser drag message. The data is a list of string with the filename.

GeDialog.GetDragPosition(self, msg)

Extracts local drag coordinates from a drag and drop event.

Parameters

msg (c4d.BaseContainer) – The original message.

Return type

dict{‘x’: int, ‘y’: int}

Returns

The local X and Y position.

GeDialog.SetDragDestination(self, cursor, gadgetid=0)

Sets the correct cursor during drag and drop handling.

Parameters
  • cursor (int) –

    A mouse cursor:

    MOUSE_HIDE

    Hide cursor.

    MOUSE_SHOW

    Show cursor.

    MOUSE_NORMAL

    Normal cursor.

    MOUSE_BUSY

    Busy cursor.

    MOUSE_CROSS

    Cross cursor.

    MOUSE_QUESTION

    Question cursor

    MOUSE_ZOOM_IN

    Zoom in cursor.

    MOUSE_ZOOM_OUT

    Zoom out cursor.

    MOUSE_FORBIDDEN

    Forbidden cursor.

    MOUSE_DELETE

    Delete cursor.

    MOUSE_COPY

    Copy cursor.

    MOUSE_INSERTCOPY

    Insert copy cursor.

    MOUSE_INSERTCOPYDOWN

    Insert copy down cursor.

    MOUSE_MOVE

    Move cursor.

    MOUSE_INSERTMOVE

    Insert move cursor.

    MOUSE_INSERTMOVEDOWN

    Insert move cursor.

    MOUSE_ARROW_H

    Horizontal cursor.

    MOUSE_ARROW_V

    Vertical cursor.

    MOUSE_ARROW_HV

    Horizontal and vertical arrow cursor.

    MOUSE_POINT_HAND

    Point hand cursor.

    MOUSE_MOVE_HAND

    Move hand cursor.

    MOUSE_IBEAM

    I-beam cursor.

    MOUSE_SELECT_LIVE

    Live selection cursor.

    MOUSE_SELECT_FREE

    Free selection cursor.

    MOUSE_SELECT_RECT

    Rectangle selection cursor.

    MOUSE_SELECT_POLY

    Polygon selection cursor.

    MOUSE_SPLINETOOLS

    Spline tools cursor.

    MOUSE_EXTRUDE

    Extrude cursor.

    MOUSE_NORMALMOVE

    Normal move cursor.

    MOUSE_ADDPOINTS

    Add points cursor.

    MOUSE_ADDPOLYGONS

    Add polygons cursor.

    MOUSE_BRIDGE

    Bridge cursor.

    MOUSE_MIRROR

    Mirror cursor.

    MOUSE_PAINTMOVE

    Paint move cursor.

    MOUSE_PAINTSELECTRECT

    Paint select rectangle cursor.

    MOUSE_PAINTSELECTCIRCLE

    Paint select circle cursor.

    MOUSE_PAINTSELECTPOLY

    Paint select polygon cursor.

    MOUSE_PAINTSELECTFREE

    Paint select free cursor.

    MOUSE_PAINTMAGICWAND

    Paint magic wand cursor.

    MOUSE_PAINTCOLORRANGE

    Paint color range cursor.

    MOUSE_PAINTFILL

    Paint fill cursor.

    MOUSE_PAINTPICK

    Paint pick cursor.

    MOUSE_PAINTBRUSH

    Paint brush cursor.

    MOUSE_PAINTCLONE

    Paint clone cursor.

    MOUSE_PAINTTEXT

    Paint text cursor.

    MOUSE_PAINTCROP

    Paint crop cursor.

    MOUSE_PAINTLINE

    Paint line cursor.

    MOUSE_PAINTPOLYSHAPE

    Paint polygon shape cursor.

  • gadgetid (int) – The dialog element that this cursor is for, or 0.

Return type

bool

Returns

True if the cursor could be set, otherwise False.

GeDialog.MenuAddCommand(self, cmdid)
Adds a command item to the current menu.
This can either be a Cinema 4D command or a plugin command.

Note

Particularly useful is IDM_CM_CLOSEWINDOW to add a close item for dialogs.

Parameters

cmdid (int) – A Cinema 4D command id or a plugin ID.

Return type

bool

Returns

True if the command was added.

GeDialog.MenuAddSeparator(self)

Adds a separator to the current menu.

Return type

bool

Returns

True if a separator was added.

GeDialog.MenuAddString(self, id, string)

Adds a string item to the current menu.

Note

Command() will be called when the menu item is selected.

Parameters
  • id (int) – The item ID.

  • string (str) – The item text. Use a &d& suffix for disabled and a c suffix for checked items.

Return type

bool

Returns

True if the menu item was added, otherwise False.

GeDialog.MenuFinished(self)

Call this function when all menus and all items have been added.

Return type

bool

Returns

True if a separator was added.

GeDialog.MenuFlushAll(self)
Flushes the menu bar of the dialog, removing all menus.

Add menus with MenuSubBegin().

Note

Call MenuFinished() when all menus and items have been added.

Return type

bool

Returns

True if the menu bar was flushed.

GeDialog.MenuInitString(self, id, enabled, value)
Used to change the enabled/disabled and checked/unchecked state of menu items.
Can be called after MenuFinished() to update the menu item dynamically.
Parameters
  • id (int) – The menu item ID.

  • enabled (bool) – True if the item is enabled, otherwise False.

  • value (bool) – True if the menu item should be checked.

Return type

bool

Returns

True if the item was set.

GeDialog.MenuSubBegin(self, string)
Creates a new menu group.
At the top level this means a menu, at lower levels a sub-menu.

Note

Call MenuSubEnd() when the menu is finished.

Parameters

string (str) – Name of the sub menu.

Return type

bool

Returns

True if a menu group could be begun.

GeDialog.MenuSubEnd(self)

Closes the current menu group, opened with MenuSubBegin().

Return type

bool

Returns

True if the menu group was ended, otherwise False.

GeDialog.SetDefaultColor(self, id, colorid, color)

Set the default color for GUI elements.

Parameters
GeDialog.SetFolding(self, allowClose)

Fold the dialog away in the layout.

New in version 24.

Parameters

allowClose (bool) – True if the dialog should fold away.

GeDialog.SetTitle(self, title)

Sets the title of the dialog window.

Parameters

title (str) – The title.

GeDialog.AddButton(self, id, flags, initw=0, inith=0, name='')

Add a button to the dialog.

../../../_images/gedialog_button.png
Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

  • name (str) – Name of the button.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddCheckbox(self, id, flags, initw, inith, name)

Add a checkbox to the dialog.

../../../_images/gedialog_checkbox.png
Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

  • name (str) – Name of the checkbox option.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddChild(self, id, subid, child)

Adds items to combo boxes or popup buttons. The resource equivalent is CHILDS.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • subid (int) – ID of the item to add.

  • child (str) – Name of the item to add.

Return type

bool

Returns

True if the child was added.

GeDialog.AddColorChooser(self, id, flags, initw=80, inith=0, layoutflags=False, settings=None)

Adds a color field with sliders to the layout.

../../../_images/gedialog_colorchooser.png
Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

  • layoutflags (int) –

    Flags:

    DR_COLORFIELD_NO_BRIGHTNESS

    Disables the brightness control.

    DR_COLORFIELD_NO_COLOR

    Disables the color control.

    DR_COLORFIELD_BODYPAINT

    Uses the BodyPaint 3D style. Deprecated since R17. Not needed anymore: now just one style.

    DR_COLORFIELD_ICC_BASEDOC

    Uses the color profile of the current BaseDocument.

    DR_COLORFIELD_ICC_BPTEX

    Uses the color profile of the current BodyPaint 3D texture.

    DR_COLORFIELD_NO_MODE_BUTTONS

    New in version R17.032: Hides the color mode buttons.

    DR_COLORFIELD_NO_COLORWHEEL

    New in version R17.032: Hides the Color Wheel mode button.

    DR_COLORFIELD_NO_SPECTRUM

    New in version R17.032: Hides the Color Spectrum mode button.

    DR_COLORFIELD_NO_PICTURE

    New in version R17.032: Hides the Color From Picture mode button.

    DR_COLORFIELD_NO_RGB

    New in version R17.032: Hides the RGB sliders mode button.

    DR_COLORFIELD_NO_HSV

    New in version R17.032: Hides the HSV sliders mode button.

    DR_COLORFIELD_NO_KELVIN

    New in version R17.032: Hides the Kelvin Color Temperature mode button.

    DR_COLORFIELD_NO_MIXER

    New in version R17.032: Hides the Color Mixer mode button.

    DR_COLORFIELD_NO_SWATCHES

    New in version R17.032: Hides the Swatches mode button.

    DR_COLORFIELD_NO_SCREENPICKER

    New in version R17.032: Hides the ScreenPicker mode button.

    DR_COLORFIELD_ENABLE_COLORWHEEL

    New in version R17.032: Enables the Special Color Wheel mode (Special modes are exclusive each other: use only one at a time).

    DR_COLORFIELD_ENABLE_SPECTRUM

    New in version R17.032: Enables the Special Color Spectrum mode (Special modes are exclusive each other: use only one at a time).

    DR_COLORFIELD_ENABLE_PICTURE

    New in version R17.032: Enables the Special Color from Picture mode (Special modes are exclusive each other: use only one at a time).

    DR_COLORFIELD_ENABLE_RGB

    New in version R17.032: Enables the RGB sliders mode.

    DR_COLORFIELD_ENABLE_HSV

    New in version R17.032: Enables the HSV sliders mode.

    DR_COLORFIELD_ENABLE_KELVIN

    New in version R17.032: Enables the Kelvin Color Temperature mode.

    DR_COLORFIELD_ENABLE_MIXER

    New in version R17.032: Enables the Color Mixer mode.

    DR_COLORFIELD_ENABLE_SWATCHES

    New in version R17.032: Enables the Swatches mode.

    DR_COLORFIELD_RGB_HIDE_HEX

    New in version R17.032: Hides the Hexadecimal color field in the RGB Mode.

    DR_COLORFIELD_POPUP

    New in version R17.032: Private.

  • settings (c4d.BaseContainer) –

    Private.

    New in version R17.048: The color chooser settings.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddColorField(self, id, flags, initw=0, inith=0, colorflags=0)

Adds a simple color field without sliders to the layout.

../../../_images/gedialog_colorfield.png
Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

  • colorflags (int) –

    New in version R14.014: Color flags:

    DR_COLORFIELD_NO_BRIGHTNESS

    Disables the brightness control.

    DR_COLORFIELD_NO_COLOR

    Disables the color control.

    DR_COLORFIELD_BODYPAINT

    Uses the BodyPaint 3D style. Deprecated since R17. Not needed anymore: now just one style.

    DR_COLORFIELD_ICC_BASEDOC

    Uses the color profile of the current BaseDocument.

    DR_COLORFIELD_ICC_BPTEX

    Uses the color profile of the current BodyPaint 3D texture.

    DR_COLORFIELD_NO_MODE_BUTTONS

    New in version R17.032: Hides the color mode buttons.

    DR_COLORFIELD_NO_COLORWHEEL

    New in version R17.032: Hides the Color Wheel mode button.

    DR_COLORFIELD_NO_SPECTRUM

    New in version R17.032: Hides the Color Spectrum mode button.

    DR_COLORFIELD_NO_PICTURE

    New in version R17.032: Hides the Color From Picture mode button.

    DR_COLORFIELD_NO_RGB

    New in version R17.032: Hides the RGB sliders mode button.

    DR_COLORFIELD_NO_HSV

    New in version R17.032: Hides the HSV sliders mode button.

    DR_COLORFIELD_NO_KELVIN

    New in version R17.032: Hides the Kelvin Color Temperature mode button.

    DR_COLORFIELD_NO_MIXER

    New in version R17.032: Hides the Color Mixer mode button.

    DR_COLORFIELD_NO_SWATCHES

    New in version R17.032: Hides the Swatches mode button.

    DR_COLORFIELD_NO_SCREENPICKER

    New in version R17.032: Hides the ScreenPicker mode button.

    DR_COLORFIELD_ENABLE_COLORWHEEL

    New in version R17.032: Enables the Special Color Wheel mode (Special modes are exclusive each other: use only one at a time).

    DR_COLORFIELD_ENABLE_SPECTRUM

    New in version R17.032: Enables the Special Color Spectrum mode (Special modes are exclusive each other: use only one at a time).

    DR_COLORFIELD_ENABLE_PICTURE

    New in version R17.032: Enables the Special Color from Picture mode (Special modes are exclusive each other: use only one at a time).

    DR_COLORFIELD_ENABLE_RGB

    New in version R17.032: Enables the RGB sliders mode.

    DR_COLORFIELD_ENABLE_HSV

    New in version R17.032: Enables the HSV sliders mode.

    DR_COLORFIELD_ENABLE_KELVIN

    New in version R17.032: Enables the Kelvin Color Temperature mode.

    DR_COLORFIELD_ENABLE_MIXER

    New in version R17.032: Enables the Color Mixer mode.

    DR_COLORFIELD_ENABLE_SWATCHES

    New in version R17.032: Enables the Swatches mode.

    DR_COLORFIELD_RGB_HIDE_HEX

    New in version R17.032: Hides the Hexadecimal color field in the RGB Mode.

    DR_COLORFIELD_POPUP

    New in version R17.032: Private.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddComboBox(self, id, flags, initw=80, inith=0, specialalign=False, allowfiltering=False)

Adds a combo box to the layout.

../../../_images/gedialog_combobox.png

Note

To add items to the combo box menu use the AddChild() method.

Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

  • specialalign (bool) –

    Used to quantize the width of the combo box.
    If this is True then the width of the combo box will be a multiple of initw.
    For example if initw is 60px and specialalign is True the width will be 60, 120, 180px and so on.

  • allowfiltering (bool) –

    New in version R21: True to allow keyboard filtering of the combobox list.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddCustomGui(self, id, pluginid, name, flags, minw, minh, customdata)

Adds a custom GUI to the dialog.

Parameters
  • id (int) – The ID of the custom GUI to add.

  • pluginid (int) – The plugin ID.

  • name (str) – The name of the added custom GUI. (Not necessarily used.)

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • minw (int) – Minimum width.

  • minh (int) – Minimum height.

  • customdata (c4d.BaseContainer) – Container with settings for the custom GUI element.

Return type

Any custom GUI class

Returns

The custom GUI that was added, or None if an error occured.

Changed in version R18.057:
The method returns a BaseCustomGui when there is no class available for the custom GUI.
This allows to interact with any custom GUI, calling for instance BaseCustomGui.GetData()/SetData().

GeDialog.AddDlgGroup(self, type)

Adds a dialog group with standard buttons to the layout.

../../../_images/gedialog_dlggroup.png

Note

The dialog group contains the standard buttons of a modal dialog (OK and Cancel).
By having these grouped together in a single element, Cinema 4D can change the ordering and alignment of the buttons to suit the operation system used.
Parameters

type (int) –

Specifies what standard buttons to include. Can be a combination of:

DLG_OK

OK button.

DLG_CANCEL

Cancel button.

Return type

bool

Returns

True if the dialog group was added, otherwise False.

GeDialog.AddEditNumber(self, id, flags, initw=80, inith=0)

Adds an editable number field to the layout.

../../../_images/gedialog_editnumber.png
Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddEditNumberArrows(self, id, flags, initw=70, inith=0)

Adds an editable number field with up/down arrows to the layout.

../../../_images/gedialog_editnumberarrows.png
Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddEditSlider(self, id, flags, initw=80, inith=0)

Adds a slider with an editable number field to the layout.

../../../_images/gedialog_editslider.png
Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddEditText(self, id, flags, initw=0, inith=0, editflags=0)

Adds an editable text field to the layout.

../../../_images/gedialog_edittextbox.png
Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

  • editflags (int) –

    Edit flags:

    Symbol ID

    Description

    EDITTEXT_PASSWORD

    Password field.

    EDITTEXT_HELPTEXT

    Sets the help text for an edit field. This text appears if the edit field is empty.

    EDITTEXT_IGNORELEFTRIGHTIFEMPTY

    Ignore Left Right Keys if edit field is empty.

    EDITTEXT_CURSORUPDOWNBUTTONS

    Displays a clear button within the edit field

    EDITTEXT_ENABLECLEARBUTTON

    Returns messages if cursor up/down is pressed (BFM_ACTION_KEYUP, BFM_ACTION_KEYDOWN)

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddGadget(self, type, gadget)

Add a gadget to the dialog.

Several one can be useful:

  • c4d.DIALOG_NOMENUBAR to disables the menu bar.

  • c4d. DIALOG_PIN to add the ability to dock the GeDialog.

Parameters
  • type (int) – The gadget type ID.

  • gadget (int) – The gadget ID.

Returns

Success of the addition of the Gadget.

Return type

bool

GeDialog.AddMultiLineEditText(self, id, flags, initw=0, inith=0, style=0)

Adds an editable text field with multiple lines to the layout.

../../../_images/gedialog_multilineedit.png
Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

  • style (int) –

    A combination of the following flags:

    Symbol ID

    Description

    DR_MULTILINE_MONOSPACED

    Monospaced font.

    DR_MULTILINE_SYNTAXCOLOR

    Python syntax highlighting.

    DR_MULTILINE_STATUSBAR

    Display a status bar with the cursor position.

    DR_MULTILINE_HIGHLIGHTLINE

    Highlight lines.

    DR_MULTILINE_READONLY

    Read-only multi-line field.

    DR_MULTILINE_PYTHON

    Python line return handling.

    DR_MULTILINE_WORDWRAP

    Word-warp multi line field.

    DR_MULTILINE_NO_DARK_BACKGROUND

    New in version S22: Uses not dark but normal background color

    DR_MULTILINE_NO_BORDER

    New in version S22: No border

    DR_MULTILINE_NO_SCROLLBARS

    New in version S22: Shows all the text without scrollbars.

    DR_MULTILINE_BOLD

    New in version S22: Bold font.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddPopupButton(self, id, flags, initw=0, inith=0)

Adds a popup button to the layout.

../../../_images/gedialog_popupbutton.png

Note

To add items to the popup menu use AddChild() or SetPopup().

New in version R19.

Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddRadioButton(self, id, flags, initw=80, inith=0, name='')

Adds a radio button to the layout.

../../../_images/gedialog_radiobutton.png

Note

Used with radio groups created with AddRadioGroup().

Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

  • name (str) – Name of the radio button.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddRadioGroup(self, id, flags=0, columns=0, rows=0)

Adds a radio group to the layout.

../../../_images/gedialog_radiogroup.png

Note

To add items to the radio button group use the AddChild() function.

Parameters
  • id (int) – The control ID.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • columns (int) – Number of columns, or 0 if rows is used.

  • rows (int) – Number of rows, or 0 if columns is used.

Return type

bool

Returns

True if the radio group was added, otherwise False.

GeDialog.AddRadioText(self, id, flags, initw=80, inith=0, name='')

Adds a text radio button to the layout (like the ones to the left in the Cinema 4D material editor).

../../../_images/gedialog_radiotext.png

Note

Used with radio groups created with AddRadioGroup().

Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

  • name (str) – Name of the text radio button.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddSeparatorH(self, inith, flags=BFH_FIT)

Adds a horizontal separator to the layout.

../../../_images/gedialog_separatorh.png
Parameters
  • initw (int) – Initial width.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddSeparatorV(self, initv, flags=BFH_FIT)

Adds a vertical separator to the layout.

../../../_images/gedialog_separatorv.png
Parameters
  • initv (int) – Initial width.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddSlider(self, id, flags, initw=90, inith=0)

Adds a slider with an editable number field to the layout.

../../../_images/gedialog_slider.png
Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddStaticText(self, id, flags, initw=0, inith=0, name='', borderstyle=0)

Adds a static text field to the layout.

../../../_images/gedialog_statictext.png
Parameters
  • id (int) – The unique ID of the dialog.

  • flags (int) –

    Layout flags:

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

  • name (str) – Name of the button.

  • borderstyle (int) –

    Border style:

    BORDER_NONE

    No border.

    BORDER_THIN_IN

    Thin border inward.

    BORDER_THIN_OUT

    Thin border outward.

    BORDER_IN

    Normal border inward.

    BORDER_OUT

    Normal border outward.

    BORDER_GROUP_IN

    Group border inside.

    BORDER_GROUP_OUT

    Group border outside.

    BORDER_OUT2

    Outward border 2.

    BORDER_OUT3

    Outward border 3

    BORDER_BLACK

    Thin black line.

    BORDER_ACTIVE_1

    Active border 1.

    BORDER_ACTIVE_2

    Active border 2.

    BORDER_ACTIVE_3

    Active border 3.

    BORDER_ACTIVE_4

    Active border 4.

    BORDER_GROUP_TOP

    Border along the top.

    BORDER_ROUND

    Border with round corners.

    BORDER_SCHEME_EDIT

    Edit field border like the shortcut gadget for example.

    BORDER_SCHEME_EDIT_NUMERIC

    Edit field border that is open to the right like the link field for example.

    BORDER_OUT3l

    Outward border 3, open to the left.

    BORDER_OUT3r

    Outward border 3, open to the right.

    BORDER_THIN_INb

    Thin border inward, open to the botton.

    BORDER_MASK

    Masks out border type.

    BORDER_TEXT_DOTTED

    New in version R21:
    Only used with GeDialog.AddStaticText().
    Draws a dotted line at right of text, useful to visually connect the text with its parameter.

    BORDER_WITH_TITLE_MONO

    Display group title with monospaced font.

    BORDER_WITH_TITLE_BOLD

    Display group title with bold font.

    BORDER_WITH_TITLE

    Display group title in the border.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.AddSubDialog(self, id, flags, initw=0, inith=0)

Adds a sub-dialog to the layout.

Note

Use AttachSubDialog() to assign a c4d.gui.SubDialog object to the sub-dialog control.

New in version R19.

Parameters
  • id (int) – The sub-dialog ID.

  • flags (int) –

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

Return type

bool

Returns

True if the sub-dialog was added, otherwise False.

GeDialog.AddUserArea(self, id, flags, initw=0, inith=0)

Adds a user area to the layout.

Note

Use AttachUserArea() to assign a GeUserArea object to the user area control.

Parameters
  • id (int) – The user area ID.

  • flags (int) –

    BFH_CENTER

    Centered horizontally.

    BFH_LEFT

    Aligned to the left.

    BFH_RIGHT

    Aligned to the right.

    BFH_FIT

    Fit horizontally. BFH_LEFT | BFH_RIGHT.

    BFH_SCALE

    Scale horizontally if there is more space.

    BFH_SCALEFIT

    Scale fit horizontally. BFH_SCALE | BFH_FIT.

    BFH_MASK

    Masks out flags.

    BFV_CENTER

    Centered vertically.

    BFV_TOP

    Aligned to the top.

    BFV_BOTTOM

    Aligned to the bottom.

    BFV_FIT

    Fit. BFV_BOTTOM | BFV_TOP.

    BFV_SCALE

    Scale vertically if there is more space.

    BFV_SCALEFIT

    Scale fit vertically. BFV_SCALE | BFV_FIT.

    BFV_MASK

    Masks out flags.

  • initw (int) – Initial width.

  • inith (int) – Initial height.

Return type

c4d.gui.C4DGadget

Returns

The added gadget.

GeDialog.CheckTristateChange(self, id)

Indicates whatever a control’s content has been changed since the last time its value was set manually with.

Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

Return type

bool

Returns

True if the control has been changed, otherwise False.

GeDialog.CheckValueRanges(self)

Checks if the value for all input fields are within the allowed range.

Return type

bool

Returns

True if everything is alright, or False if any field is wrong.

GeDialog.FindCustomGui(self, id, pluginid)

Get the custom GUI for a certain ID.

Note

The GUI object must have been previously added with AddCustomGui().

Parameters
  • id (int) – The ID of the custom GUI.

  • pluginid (int) – The plugin ID of the custom GUI.

Return type

Any custom GUI class

Returns

The found custom GUI, or None if it could not be retrieved.

Changed in version R18.057:
The method returns a BaseCustomGui when there is no class available for the custom GUI.
This allows to interact with any custom GUI, calling for instance BaseCustomGui.GetData()/SetData().

GeDialog.GetBool(self, id)

Retrieves the value of checkbox controls.

Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

Return type

bool

Returns

The value or None if the value was not retrieved.

GeDialog.GetColorField(self, id)

Retrieves the color and brightness of color controls.

Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

Return type

dict{brightness: float, color: Vector}

Returns

The value or None if the value was not retrieved.

GeDialog.GetFilename(self, id)

Retrieves the text from string controls as a filename.

Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

Return type

str

Returns

The time or None if the value was not retrieved.

GeDialog.GetFloat(self, id)

Retrieves the value of float fields.

New in version R15.037.

Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

Return type

float

Returns

The value or None if the value was not retrieved.

GeDialog.GetInt32(self, id)

Retrieves the value of integer fields.

New in version R15.037.

Note

Also used for tab groups, radio buttons and combo boxes.

Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

Return type

int

Returns

The value or None if the value was not retrieved.

GeDialog.GetString(self, id)
Retrieves the text from string controls.
Used for all controls that have a text, for example static text fields, edit fields, buttons and checkboxes.
Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

Return type

str

Returns

The value or None if the value was not retrieved.

GeDialog.GetTime(self, id, doc)

Retrieves the time of time fields.

Parameters
Return type

c4d.BaseTime

Returns

The time or None if the value was not retrieved.

GeDialog.GetVector(self, id_x, id_y, id_z)

Retrieves the value of three float fields at the same time as a vector.

Parameters
Return type

c4d.Vector

Returns

The value or None if the value was not retrieved.

GeDialog.GetItemDim(self, id)

Queries a dialog control for its current position and size in pixels.

Parameters

id (Union[c4d.gui.C4DGadget, int]) – The control ID.

Return type

dict(‘x’: int, ‘y’: int, ‘w’: int, ‘h’: int)

Returns

A dictionary with the X/Y coordinates of the upper left corner and the width/height of the control.

GeDialog.Activate(self, id)

Sets the focus to a specific control within the dialog.

Parameters

id (int) – The control ID.

Return type

bool

Returns

True if the control was activated.

GeDialog.AddChildren(self, id, bc)

Adds children to a dialog element using a container.

New in version R19.

Parameters
Return type

bool

Returns

True if the children were added, otherwise False.

GeDialog.AttachSubDialog(self, userdlg, id)
Attaches a c4d.gui.SubDialog derived object to a sub-dialog control, added with AddSubDialog().
To replace the sub-dialog with another one, just call this function again.

New in version R19.

Parameters
  • userdlg (c4d.gui.SubDialog) – The sub-dialog to attach.

  • id (int) – The sub-dialog ID.

Return type

bool

Returns

True if the sub-dialog was attached, otherwise False.

GeDialog.AttachUserArea(self, ua, id, userareaflags=USERAREAFLAGS_COREMESSAGE)
Assigns a GeUserArea object to a user area control in the dialog.
The object will handle all messages to the user area and is responsible for painting the user area.

A good practice is to place the GeUserArea derived object as a member of the GeDialog derived class.
Parameters
  • ua (c4d.gui.GeUserArea) – A user area object to attach.

  • id (Union[c4d.gui.C4DGadget, int]) – The control ID.

  • userareaflags (int) –

    Flags for the user area:

    USERAREAFLAGS_NONE

    None.

    USERAREAFLAGS_TABSTOP

    Tab stop.

    USERAREAFLAGS_HANDLEFOCUS

    Handle focus.

    USERAREAFLAGS_COREMESSAGE

    Receive core messages.

    USERAREAFLAGS_SYNCMESSAGE

    Receive sync messages.

    USERAREAFLAGS_DONT_MIRROR

    Do not mirror the user area.

Return type

bool

Returns

True if the children were removed.

GeDialog.SetBool(self, id, value)

Sets the value of checkbox controls.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • value (bool) – The new value.

Return type

bool

Returns

True if the value was set.

GeDialog.SetColorField(self, id, color, brightness, maxbrightness, flags)

Sets the color, brightness and limits of color fields and color choosers.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • color (c4d.Vector) – The color.

  • brightness (float) – The new brightness value.

  • maxbrightness (float) – The maximum brightness allowed.

  • flags (int) –

    Controls what parts of a color chooser that are available. Possible values are:

    DR_COLORFIELD_NO_BRIGHTNESS

    Disables the brightness control.

    DR_COLORFIELD_NO_COLOR

    Disables the color control.

    DR_COLORFIELD_BODYPAINT

    Uses the BodyPaint 3D style. Deprecated since R17. Not needed anymore: now just one style.

    DR_COLORFIELD_ICC_BASEDOC

    Uses the color profile of the current BaseDocument.

    DR_COLORFIELD_ICC_BPTEX

    Uses the color profile of the current BodyPaint 3D texture.

    DR_COLORFIELD_NO_MODE_BUTTONS

    New in version R17.032: Hides the color mode buttons.

    DR_COLORFIELD_NO_COLORWHEEL

    New in version R17.032: Hides the Color Wheel mode button.

    DR_COLORFIELD_NO_SPECTRUM

    New in version R17.032: Hides the Color Spectrum mode button.

    DR_COLORFIELD_NO_PICTURE

    New in version R17.032: Hides the Color From Picture mode button.

    DR_COLORFIELD_NO_RGB

    New in version R17.032: Hides the RGB sliders mode button.

    DR_COLORFIELD_NO_HSV

    New in version R17.032: Hides the HSV sliders mode button.

    DR_COLORFIELD_NO_KELVIN

    New in version R17.032: Hides the Kelvin Color Temperature mode button.

    DR_COLORFIELD_NO_MIXER

    New in version R17.032: Hides the Color Mixer mode button.

    DR_COLORFIELD_NO_SWATCHES

    New in version R17.032: Hides the Swatches mode button.

    DR_COLORFIELD_NO_SCREENPICKER

    New in version R17.032: Hides the ScreenPicker mode button.

    DR_COLORFIELD_ENABLE_COLORWHEEL

    New in version R17.032: Enables the Special Color Wheel mode (Special modes are exclusive each other: use only one at a time).

    DR_COLORFIELD_ENABLE_SPECTRUM

    New in version R17.032: Enables the Special Color Spectrum mode (Special modes are exclusive each other: use only one at a time).

    DR_COLORFIELD_ENABLE_PICTURE

    New in version R17.032: Enables the Special Color from Picture mode (Special modes are exclusive each other: use only one at a time).

    DR_COLORFIELD_ENABLE_RGB

    New in version R17.032: Enables the RGB sliders mode.

    DR_COLORFIELD_ENABLE_HSV

    New in version R17.032: Enables the HSV sliders mode.

    DR_COLORFIELD_ENABLE_KELVIN

    New in version R17.032: Enables the Kelvin Color Temperature mode.

    DR_COLORFIELD_ENABLE_MIXER

    New in version R17.032: Enables the Color Mixer mode.

    DR_COLORFIELD_ENABLE_SWATCHES

    New in version R17.032: Enables the Swatches mode.

    DR_COLORFIELD_RGB_HIDE_HEX

    New in version R17.032: Hides the Hexadecimal color field in the RGB Mode.

    DR_COLORFIELD_POPUP

    New in version R17.032: Private.

Return type

bool

Returns

True if the value was set.

GeDialog.SetDegree(self, id, value, min=sys.float_info.min, max=sys.float_info.max, step=1.0, tristate=False)

Sets the value and limits of an angle field.

Note

Same as SetFloat() with FORMAT_DEGREE.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • value (float) – The new value.

  • min (int) – The minimum angle accepted in degrees.

  • max (int) – The maximum angle accepted in degrees.

  • step (float) – The step used for arrow buttons in degrees.

  • tristate (bool) – If this is True the control is tinted blue to indicate tristate mode.

Return type

bool

Returns

True if the value was set.

GeDialog.SetFilename(self, id, fn, tristate=False)

Sets the text of string controls, taking the new value from a filename.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • fn (str) – The new filename.

  • tristate (bool) – If this is True the control is tinted blue to indicate tristate mode.

Return type

bool

Returns

True if the value was set.

GeDialog.SetFloat(self, id, value, min=sys.float_info.min, max=sys.float_info.max, step=1.0, format=FORMAT_FLOAT, min2=0.0, max2=0.0, quadscale=False, tristate=False)

Sets the value, unit and limits of float fields.

New in version R15.037.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • value (float) – The new value.

  • min (int) – The minimum value accepted.

  • max (int) – The maximum value accepted.

  • step (float) – The step used for arrow buttons.

  • format (int) –

    The unit and format of the field. Valid formats are:

    FORMAT_FLOAT

    Floating point without unit.

    FORMAT_INT

    Integer without unit.

    FORMAT_PERCENT

    Floating point with % sign, 1.0 = 100%.

    FORMAT_DEGREE

    Floating point with ° sign. Measured in radians, displayed in degrees.

    FORMAT_METER

    Floating point in the current working unit.

    FORMAT_FRAMES

    Time formatted as frames. (Overrided by user preference.)

    FORMAT_SECONDS

    Time formatted as seconds. (Overrided by user preference.)

    FORMAT_SMPTE

    Time formatted as SMPTE. (Overrided by user preference.)

  • min2 (int) – The minimum value allowed outside the range used for sliders. Overrides min for the acceptance check.

  • max2 (int) – The maximum value allowed outside the range used for sliders. Overrides max for the acceptance check.

  • quadscale (bool) – If this is True a quadratic scale is used for the slider, so that more precision is available for lower values.

  • tristate (bool) – If this is True the control is tinted blue to indicate tristate mode.

Return type

bool

Returns

True if the value was set.

GeDialog.SetInt32(self, id, value, min=MINLONGl, max=MAXLONGl, step=1, tristate=False, min2=MINLONGl, max2=MAXLONGl)

Sets the value and limits of integer fields.

New in version R15.037.

Note

Also used for tab groups, radio buttons and combo boxes.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • value (int) – The new value.

  • min (int) – The minimum value accepted.

  • max (int) – The maximum value accepted.

  • step (bool) – The step used for arrow buttons.

  • step – If this is True the control is tinted blue to indicate tristate mode.

  • min2 (int) – The minimum value allowed outside the range used for sliders. Overrides min for the acceptance check.

  • max2 (int) – The minimum value allowed outside the range used for sliders. Overrides max for the acceptance check.

Return type

bool

Returns

True if the value was set.

GeDialog.SetMeter(self, id, value, min=sys.float_info.min, max=sys.float_info.max, step=1.0, tristate=False)

Sets the value and limits of a meter field.

Note

Same as SetFloat() with FORMAT_METER.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • value (float) – The new value.

  • min (int) – The minimum value accepted.

  • max (int) – The maximum value accepted.

  • step (float) – The step used for arrow buttons.

  • tristate (bool) – If this is True the control is tinted blue to indicate tristate mode.

Return type

bool

Returns

True if the value was set.

GeDialog.SetMultiLineMode(self, id, mode)

Sets the edit mode for multi-line edit fields.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • mode (int) –

    The multi-line edit mode:

    SCRIPTMODE_NONE

    Normal multi-line text field.

    SCRIPTMODE_PYTHON

    Python syntax highlighting.

    SCRIPTMODE_AM_ID

    New in version R19: Plain Attribute Manager ID (used for online help and new feature highlighting).

Return type

bool

Returns

True if the multi-line mode was set, otherwise False.

GeDialog.SetMultiLinePos(self, id, line, pos)

Set the cursor position within a dialog multi-line string item.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • line (int) – The line number.

  • pos (int) – The position within the line.

Return type

bool

Returns

True if successful, otherwise False.

GeDialog.SetPercent(self, id, value, min=0.0, max=100.0, step=1.0, tristate=False)

Sets the value and limits of a percent field.

Note

Same as SetFloat() with FORMAT_PERCENT.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • value (float) – The new value.

  • min (int) – The minimum value accepted (percentage units).

  • max (int) – The maximum value accepted (percentage units).

  • step (float) – The step used for arrow buttons (percentage units).

  • tristate (bool) – If this is True the control is tinted blue to indicate tristate mode.

Return type

bool

Returns

True if the value was set.

GeDialog.SetPopup(self, id, bc)

Sets the item list of a popup button using a popup menu container.

New in version R19.

Parameters
Return type

bool

Returns

True if the popup menu was set, otherwise False.

GeDialog.SetString(self, id, value, tristate=False, flags=0)
Sets the text of string controls.
Used for all controls that have a text, for example static text fields, edit fields, buttons and checkboxes.
Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • value (str) – The new string.

  • tristate (bool) – If this is True the control is tinted blue to indicate tristate mode.

  • flags (int) –

    Flags:

    Symbol ID

    Description

    EDITTEXT_PASSWORD

    Password field.

    EDITTEXT_HELPTEXT

    Sets the help text for an edit field. This text appears if the edit field is empty.

    EDITTEXT_IGNORELEFTRIGHTIFEMPTY

    Ignore Left Right Keys if edit field is empty.

    EDITTEXT_CURSORUPDOWNBUTTONS

    Displays a clear button within the edit field

    EDITTEXT_ENABLECLEARBUTTON

    Returns messages if cursor up/down is pressed (BFM_ACTION_KEYUP, BFM_ACTION_KEYDOWN)

Return type

bool

Returns

True if the value was set.

GeDialog.SetTime(self, id, doc, value, min=- MAXTIME, max=MAXTIME, stepframes=1, tristate=False)

Sets the value and limits of a time field.

Note

Same as SetFloat() with FORMAT_FRAMES.

Parameters
  • id (Union[c4d.gui.C4DGadget, int]) – The control ID or int.

  • value (c4d.BaseTime) – The new time.

  • min (c4d.BaseTime) – The minimum time accepted.

  • max (c4d.BaseTime) – The maximum time accepted.

  • stepframes (int) – The frame step used for arrow buttons.

  • tristate (bool) – If this is True the control is tinted blue to indicate tristate mode.

Return type

bool

Returns

True if the value was set.

GeDialog.GetInputEvent(self, askdevice, res)

Gets the next input event for a certain device from the event queue.

See also

Input Events.

Parameters
  • askdevice (int) – The device to ask. Either BFM_INPUT_MOUSE or BFM_INPUT_KEYBOARD.

  • res (c4d.BaseContainer) – The result container.

Return type

bool

Returns

True if the event could be retrieved in res, otherwise False.

GeDialog.GetInputState(self, askdevice, askchannel, res)

Polls a certain channel of a device for the current input state.

See also

Input Events.

Parameters
  • askdevice (int) – The device to ask. Either BFM_INPUT_MOUSE or BFM_INPUT_KEYBOARD.

  • askchannel (int) – The channel to ask.

  • res (c4d.BaseContainer) – The result container.

Return type

bool

Returns

True if the state could be retrieved in res, otherwise False.

GeDialog.KillEvents(self)

Flushes all events from the window message queue. For example if you loop while the mouse is down (polling) you can call this command to flush all keydowns/mouseclicks that are made during the loop.