[][src]Struct gdnative::prelude::Button

pub struct Button { /* fields omitted */ }

core class Button inherits BaseButton (unsafe).

Official documentation

See the documentation of this class in the Godot engine's official documentation.

Memory management

Non reference counted objects such as the ones of this type are usually owned by the engine.

Button is a reference-only type. Persistent references can only exist in the unsafe Ref<Button> form.

In the cases where Rust code owns an object of this type, for example if the object was just created on the Rust side and not passed to the engine yet, ownership should be either given to the engine or the object must be manually destroyed using Ref::free, or Ref::queue_free if it is a Node.

Class hierarchy

Button inherits methods from:

Safety

All types in the Godot API have "interior mutability" in Rust parlance. To enforce that the official thread-safety guidelines are followed, the typestate pattern is used in the Ref and TRef smart pointers, and the Instance API. The typestate Access in these types tracks whether the access is unique, shared, or exclusive to the current thread. For more information, see the type-level documentation on Ref.

Implementations

impl Button[src]

Constants

impl Button[src]

pub fn new() -> Ref<Button, Unique>[src]

Creates a new instance of this object.

Because this type is not reference counted, the lifetime of the returned object is not automatically managed.

Immediately after creation, the object is owned by the caller, and can be passed to the engine (in which case the engine will be responsible for destroying the object) or destroyed manually using Ref::free, or preferably Ref::queue_free if it is a Node.

pub fn button_icon(&self) -> Option<Ref<Texture, Shared>>[src]

Button's icon, if text is present the icon will be placed before the text.

pub fn clip_text(&self) -> bool[src]

When this property is enabled, text that is too large to fit the button is clipped, when disabled the Button will always be wide enough to hold the text.

pub fn text(&self) -> GodotString[src]

The button's text that will be displayed inside the button's area.

pub fn text_align(&self) -> TextAlign[src]

Text alignment policy for the button's text, use one of the [enum TextAlign] constants.

pub fn is_expand_icon(&self) -> bool[src]

When enabled, the button's icon will expand/shrink to fit the button's size while keeping its aspect.

pub fn is_flat(&self) -> bool[src]

Flat buttons don't display decoration.

pub fn set_button_icon(&self, texture: impl AsArg<Texture>)[src]

Button's icon, if text is present the icon will be placed before the text.

pub fn set_clip_text(&self, enabled: bool)[src]

When this property is enabled, text that is too large to fit the button is clipped, when disabled the Button will always be wide enough to hold the text.

pub fn set_expand_icon(&self, arg0: bool)[src]

When enabled, the button's icon will expand/shrink to fit the button's size while keeping its aspect.

pub fn set_flat(&self, enabled: bool)[src]

Flat buttons don't display decoration.

pub fn set_text(&self, text: impl Into<GodotString>)[src]

The button's text that will be displayed inside the button's area.

pub fn set_text_align(&self, align: i64)[src]

Text alignment policy for the button's text, use one of the [enum TextAlign] constants.

Methods from Deref<Target = BaseButton>

pub fn action_mode(&self) -> ActionMode[src]

Determines when the button is considered clicked, one of the [enum ActionMode] constants.

pub fn button_group(&self) -> Option<Ref<ButtonGroup, Shared>>[src]

[ButtonGroup] associated to the button.

pub fn button_mask(&self) -> i64[src]

Binary mask to choose which mouse buttons this button will respond to.
			To allow both left-click and right-click, use [code]BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT[/code].

pub fn get_draw_mode(&self) -> DrawMode[src]

Returns the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to "draw" signal. The visual state of the button is defined by the [enum DrawMode] enum.

pub fn enabled_focus_mode(&self) -> FocusMode[src]

Focus access mode to use when switching between enabled/disabled (see [member Control.focus_mode] and [member disabled]).

pub fn shortcut(&self) -> Option<Ref<ShortCut, Shared>>[src]

[ShortCut] associated to the button.

pub fn is_disabled(&self) -> bool[src]

If [code]true[/code], the button is in disabled state and can't be clicked or toggled.

pub fn is_hovered(&self) -> bool[src]

Returns [code]true[/code] if the mouse has entered the button and has not left it yet.

pub fn is_keep_pressed_outside(&self) -> bool[src]

If [code]true[/code], the button stays pressed when moving the cursor outside the button while pressing it.
			[b]Note:[/b] This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.

pub fn is_pressed(&self) -> bool[src]

If [code]true[/code], the button's state is pressed. Means the button is pressed down or toggled (if [member toggle_mode] is active).

pub fn is_shortcut_in_tooltip_enabled(&self) -> bool[src]

If [code]true[/code], the button will add information about its shortcut in the tooltip.

pub fn is_toggle_mode(&self) -> bool[src]

If [code]true[/code], the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.

pub fn set_action_mode(&self, mode: i64)[src]

Determines when the button is considered clicked, one of the [enum ActionMode] constants.

pub fn set_button_group(&self, button_group: impl AsArg<ButtonGroup>)[src]

[ButtonGroup] associated to the button.

pub fn set_button_mask(&self, mask: i64)[src]

Binary mask to choose which mouse buttons this button will respond to.
			To allow both left-click and right-click, use [code]BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT[/code].

pub fn set_disabled(&self, disabled: bool)[src]

If [code]true[/code], the button is in disabled state and can't be clicked or toggled.

pub fn set_enabled_focus_mode(&self, mode: i64)[src]

Focus access mode to use when switching between enabled/disabled (see [member Control.focus_mode] and [member disabled]).

pub fn set_keep_pressed_outside(&self, enabled: bool)[src]

If [code]true[/code], the button stays pressed when moving the cursor outside the button while pressing it.
			[b]Note:[/b] This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.

pub fn set_pressed(&self, pressed: bool)[src]

If [code]true[/code], the button's state is pressed. Means the button is pressed down or toggled (if [member toggle_mode] is active).

pub fn set_shortcut(&self, shortcut: impl AsArg<ShortCut>)[src]

[ShortCut] associated to the button.

pub fn set_shortcut_in_tooltip(&self, enabled: bool)[src]

If [code]true[/code], the button will add information about its shortcut in the tooltip.

pub fn set_toggle_mode(&self, enabled: bool)[src]

If [code]true[/code], the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.

Trait Implementations

impl Debug for Button[src]

impl Deref for Button[src]

type Target = BaseButton

The resulting type after dereferencing.

impl DerefMut for Button[src]

impl GodotObject for Button[src]

type RefKind = ManuallyManaged

The memory management kind of this type. This modifies the behavior of the Ref smart pointer. See its type-level documentation for more information. Read more

impl Instanciable for Button[src]

impl QueueFree for Button[src]

impl SubClass<BaseButton> for Button[src]

impl SubClass<Button> for ColorPickerButton[src]

impl SubClass<Button> for OptionButton[src]

impl SubClass<Button> for CheckButton[src]

impl SubClass<Button> for MenuButton[src]

impl SubClass<Button> for CheckBox[src]

impl SubClass<Button> for ToolButton[src]

impl SubClass<CanvasItem> for Button[src]

impl SubClass<Control> for Button[src]

impl SubClass<Node> for Button[src]

impl SubClass<Object> for Button[src]

Auto Trait Implementations

impl RefUnwindSafe for Button

impl !Send for Button

impl !Sync for Button

impl Unpin for Button

impl UnwindSafe for Button

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SubClass<T> for T where
    T: GodotObject
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.