EditorProperty

package
v0.0.0-...-20ed0ac Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2025 License: MIT Imports: 28 Imported by: 0

Documentation

Overview

A custom control for editing properties that can be added to the EditorInspector. It is added via EditorInspectorPlugin.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Advanced

type Advanced = class

Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.

type Any

type Any interface {
	gd.IsClass
	AsEditorProperty() Instance
}

type Expanded

type Expanded = MoreArgs

type Extension

type Extension[T gdclass.Interface] struct{ gdclass.Extension[T, Instance] }

Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this [Extension]See Interface for methods that can be overridden by T.

func (*Extension[T]) AsCanvasItem

func (self *Extension[T]) AsCanvasItem() CanvasItem.Instance

func (*Extension[T]) AsContainer

func (self *Extension[T]) AsContainer() Container.Instance

func (*Extension[T]) AsControl

func (self *Extension[T]) AsControl() Control.Instance

func (*Extension[T]) AsEditorProperty

func (self *Extension[T]) AsEditorProperty() Instance

func (*Extension[T]) AsNode

func (self *Extension[T]) AsNode() Node.Instance

func (*Extension[T]) AsObject

func (self *Extension[T]) AsObject() [1]gd.Object

type ID

type ID Object.ID

ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.

func (ID) Instance

func (id ID) Instance() (Instance, bool)

type Implementation

type Implementation = implementation

Implementation implements Interface with empty methods.

type Instance

type Instance [1]gdclass.EditorProperty

Instance of the class with convieniently typed arguments and results.

var Nil Instance

Nil is a nil/null instance of the class. Equivalent to the zero value.

func New

func New() Instance

func (Instance) AddFocusable

func (self Instance) AddFocusable(control Control.Instance)

If any of the controls added can gain keyboard focus, add it here. This ensures that focus will be restored if the inspector is refreshed.

func (Instance) AsCanvasItem

func (self Instance) AsCanvasItem() CanvasItem.Instance

func (Instance) AsContainer

func (self Instance) AsContainer() Container.Instance

func (Instance) AsControl

func (self Instance) AsControl() Control.Instance

func (Instance) AsEditorProperty

func (self Instance) AsEditorProperty() Instance

func (Instance) AsNode

func (self Instance) AsNode() Node.Instance

func (Instance) AsObject

func (self Instance) AsObject() [1]gd.Object

func (Instance) Checkable

func (self Instance) Checkable() bool

Used by the inspector, set to true when the property is checkable.

func (Instance) Checked

func (self Instance) Checked() bool

Used by the inspector, set to true when the property is checked.

func (Instance) Deletable

func (self Instance) Deletable() bool

Used by the inspector, set to true when the property can be deleted by the user.

func (Instance) Deselect

func (self Instance) Deselect()

Draw property as not selected. Used by the inspector.

func (Instance) DrawBackground

func (self Instance) DrawBackground() bool

Used by the inspector, set to true when the property background is drawn.

func (Instance) DrawLabel

func (self Instance) DrawLabel() bool

Used by the inspector, set to true when the property label is drawn.

func (Instance) DrawWarning

func (self Instance) DrawWarning() bool

Used by the inspector, set to true when the property is drawn with the editor theme's warning color. This is used for editable children's properties.

func (Instance) EmitChanged

func (self Instance) EmitChanged(property string, value any)

If one or several properties have changed, this must be called. 'field' is used in case your editor can modify fields separately (as an example, Vector3.x). The 'changing' argument avoids the editor requesting this property to be refreshed (leave as false if unsure).

func (Instance) GetEditedObject

func (self Instance) GetEditedObject() Object.Instance

Returns the edited object.

Note: This method could return null if the editor has not yet been associated with a property. However, in UpdateProperty and SetReadOnly, this value is guaranteed to be non-null.

func (Instance) GetEditedProperty

func (self Instance) GetEditedProperty() string

Returns the edited property. If your editor is for a single property (added via EditorInspectorPlugin.ParseProperty), then this will return the property.

Note: This method could return null if the editor has not yet been associated with a property. However, in UpdateProperty and SetReadOnly, this value is guaranteed to be non-null.

func (Instance) ID

func (self Instance) ID() ID

func (Instance) IsSelected

func (self Instance) IsSelected() bool

Returns true if property is drawn as selected. Used by the inspector.

func (Instance) Keying

func (self Instance) Keying() bool

Used by the inspector, set to true when the property can add keys for animation.

func (Instance) Label

func (self Instance) Label() string

Set this property to change the label (if you want to show one).

func (Instance) MoreArgs

func (self Instance) MoreArgs() MoreArgs

MoreArgs enables certain functions to be called with additional 'optional' arguments.

func (Instance) NameSplitRatio

func (self Instance) NameSplitRatio() Float.X

Space distribution ratio between the label and the editing field.

func (Instance) OnMultiplePropertiesChanged

func (self Instance) OnMultiplePropertiesChanged(cb func(properties []string, value []any), flags ...Signal.Flags)

Emit it if you want multiple properties modified at the same time. Do not use if added via EditorInspectorPlugin.ParseProperty.

func (Instance) OnObjectIdSelected

func (self Instance) OnObjectIdSelected(cb func(property string, id int), flags ...Signal.Flags)

Used by sub-inspectors. Emit it if what was selected was an Object ID.

func (Instance) OnPropertyCanRevertChanged

func (self Instance) OnPropertyCanRevertChanged(cb func(property string, can_revert bool), flags ...Signal.Flags)

Emitted when the revertability (i.e., whether it has a non-default value and thus is displayed with a revert icon) of a property has changed.

func (Instance) OnPropertyChanged

func (self Instance) OnPropertyChanged(cb func(property string, value any, field string, changing bool), flags ...Signal.Flags)

Do not emit this manually, use the EmitChanged method instead.

func (Instance) OnPropertyChecked

func (self Instance) OnPropertyChecked(cb func(property string, checked bool), flags ...Signal.Flags)

Emitted when a property was checked. Used internally.

func (Instance) OnPropertyDeleted

func (self Instance) OnPropertyDeleted(cb func(property string), flags ...Signal.Flags)

Emitted when a property was deleted. Used internally.

func (Instance) OnPropertyFavorited

func (self Instance) OnPropertyFavorited(cb func(property string, favorited bool), flags ...Signal.Flags)

Emit it if you want to mark a property as favorited, making it appear at the top of the inspector.

func (Instance) OnPropertyKeyed

func (self Instance) OnPropertyKeyed(cb func(property string), flags ...Signal.Flags)

Emit it if you want to add this value as an animation key (check for keying being enabled first).

func (Instance) OnPropertyKeyedWithValue

func (self Instance) OnPropertyKeyedWithValue(cb func(property string, value any), flags ...Signal.Flags)

Emit it if you want to key a property with a single value.

func (Instance) OnPropertyOverridden

func (self Instance) OnPropertyOverridden(cb func(), flags ...Signal.Flags)

Emitted when a setting override for the current project is requested.

func (Instance) OnPropertyPinned

func (self Instance) OnPropertyPinned(cb func(property string, pinned bool), flags ...Signal.Flags)

Emit it if you want to mark (or unmark) the value of a property for being saved regardless of being equal to the default value.

The default value is the one the property will get when the node is just instantiated and can come from an ancestor scene in the inheritance/instantiation chain, a script or a builtin class.

func (Instance) OnResourceSelected

func (self Instance) OnResourceSelected(cb func(path string, resource Resource.Instance), flags ...Signal.Flags)

If you want a sub-resource to be edited, emit this signal with the resource.

func (Instance) OnSelected

func (self Instance) OnSelected(cb func(path string, focusable_idx int), flags ...Signal.Flags)

Emitted when selected. Used internally.

func (Instance) ReadOnly

func (self Instance) ReadOnly() bool

Used by the inspector, set to true when the property is read-only.

func (Instance) Select

func (self Instance) Select()

Draw property as selected. Used by the inspector.

func (Instance) Selectable

func (self Instance) Selectable() bool

Used by the inspector, set to true when the property is selectable.

func (Instance) SetBottomEditor

func (self Instance) SetBottomEditor(editor Control.Instance)

Puts the 'editor' control below the property label. The control must be previously added using Node.AddChild.

func (Instance) SetCheckable

func (self Instance) SetCheckable(value bool)

SetCheckable sets the property returned by [IsCheckable].

func (Instance) SetChecked

func (self Instance) SetChecked(value bool)

SetChecked sets the property returned by [IsChecked].

func (Instance) SetDeletable

func (self Instance) SetDeletable(value bool)

SetDeletable sets the property returned by [IsDeletable].

func (Instance) SetDrawBackground

func (self Instance) SetDrawBackground(value bool)

SetDrawBackground sets the property returned by [IsDrawBackground].

func (Instance) SetDrawLabel

func (self Instance) SetDrawLabel(value bool)

SetDrawLabel sets the property returned by [IsDrawLabel].

func (Instance) SetDrawWarning

func (self Instance) SetDrawWarning(value bool)

SetDrawWarning sets the property returned by [IsDrawWarning].

func (Instance) SetKeying

func (self Instance) SetKeying(value bool)

SetKeying sets the property returned by [IsKeying].

func (Instance) SetLabel

func (self Instance) SetLabel(value string)

SetLabel sets the property returned by [GetLabel].

func (Instance) SetLabelReference

func (self Instance) SetLabelReference(control Control.Instance)

Used by the inspector, set to a control that will be used as a reference to calculate the size of the label.

func (Instance) SetNameSplitRatio

func (self Instance) SetNameSplitRatio(value Float.X)

SetNameSplitRatio sets the property returned by [GetNameSplitRatio].

func (*Instance) SetObject

func (self *Instance) SetObject(obj [1]gd.Object) bool

func (Instance) SetObjectAndProperty

func (self Instance) SetObjectAndProperty(obj Object.Instance, property string)

Assigns object and property to edit.

func (Instance) SetSelectable

func (self Instance) SetSelectable(value bool)

SetSelectable sets the property returned by [IsSelectable].

func (Instance) SetUseFolding

func (self Instance) SetUseFolding(value bool)

SetUseFolding sets the property returned by [IsUsingFolding].

func (Instance) UpdateProperty

func (self Instance) UpdateProperty()

Forces a refresh of the property display.

func (Instance) UseFolding

func (self Instance) UseFolding() bool

Used by the inspector, set to true when the property is using folding.

func (Instance) Virtual

func (self Instance) Virtual(name string) reflect.Value

type Interface

type Interface interface {
	// When this virtual function is called, you must update your editor.
	UpdateProperty()
	// Called when the read-only status of the property is changed. It may be used to change custom controls into a read-only or modifiable state.
	SetReadOnly(read_only bool)
}

type MoreArgs

type MoreArgs [1]gdclass.EditorProperty

MoreArgs is a container for Instance functions with additional 'optional' arguments.

func (MoreArgs) EmitChanged

func (self MoreArgs) EmitChanged(property string, value any, field string, changing bool)

If one or several properties have changed, this must be called. 'field' is used in case your editor can modify fields separately (as an example, Vector3.x). The 'changing' argument avoids the editor requesting this property to be refreshed (leave as false if unsure).

func (MoreArgs) Select

func (self MoreArgs) Select(focusable int)

Draw property as selected. Used by the inspector.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL