This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Basics
Rendering
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Version Control
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Materials and Shaders
Rebuilding the Engine Tools
GUI
Double Precision Coordinates
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

Unigine::WidgetButton Class

Header: #include <UnigineWidgets.h>
Inherits from: Widget

Interface for widget button handling.

Notice
The button is automatically stretched or shrinked to match the size of the current texture/image. When you resize the button the size of the image does not change. In case you need to create a type of button widget with an auto-adjusted image size, or image rotation, please consider Widget Sprite instead.

See Also#

  • Widgets sample in C# Component Samples suite
  • UnigineScript API sample <UnigineSDK>/data/samples/widgets/button_00

Example#

The following code illustrates how to create a button widget and set its parameters.

Source code (C++)
#include <UnigineWidgets.h>
#include <UnigineUserInterface.h>
using namespace Unigine;

/* .. */

// event handler function
int onButtonClicked()
{
	/* .. */
	
	return 1;
}

/* .. */

// getting a pointer to the system GUI
GuiPtr gui = Gui::getCurrent();

// creating a button widget and setting its caption
WidgetButtonPtr widget_button = WidgetButton::create(gui, "Delete");

// setting a tooltip
widget_button->setToolTip("Delete object(s)");

// rearranging button size
widget_button->arrange();

// setting button position
widget_button->setPosition(10, 10);

// setting onButtonClicked function to handle CLICKED event
widget_button->getEventClicked().connect(onButtonClicked);

// adding created button widget to the system GUI
gui->addChild(widget_button, Gui::ALIGN_OVERLAP | Gui::ALIGN_FIXED);

WidgetButton Class

Members


static WidgetButtonPtr create ( const Ptr<Gui> & gui, const char * str = 0 ) #

Constructor. Creates a button with a given label and adds it to the specified GUI.

Arguments

  • const Ptr<Gui> & gui - GUI, to which the new button will belong.
  • const char * str - Button label. This is an optional parameter.

static WidgetButtonPtr create ( const char * str = 0 ) #

Constructor. Creates a button with a given label and adds it to the Engine GUI.

Arguments

  • const char * str - Button label. This is an optional parameter.

void setBackground ( int background ) #

Sets a value indicating if a background texture should be rendered for the button. By default, the background texture is always rendered. The default is 1.

Arguments

  • int background - 1 to render the background texture, 0 not to render. The default is 1.

int getBackground ( ) const#

Returns a value indicating if a background texture is rendered for the button. The default is 1.

Return value

1 if a background texture is rendered; otherwise, 0.

void setImage ( const Ptr<Image> & image ) #

Sets a new image for the button.
Notice
The button is automatically stretched or shrinked to match the size of the current image. When you resize the button the size of the image does not change. In case you need to create a type of button widget with an auto-adjusted image size, or image rotation, please consider Widget Sprite instead.

Arguments

  • const Ptr<Image> & image - Image to set.

Ptr<Image> getImage ( ) const#

Returns the current button image.
Notice
The button is automatically stretched or shrinked to match the size of the current image. When you resize the button the size of the image does not change. In case you need to create a type of button widget with an auto-adjusted image size, or image rotation, please consider Widget Sprite instead.

Return value

Button image.

void setText ( const char * text ) #

Sets a button text label.

Arguments

  • const char * text - Button label.

const char * getText ( ) const#

Returns the button text label.

Return value

Button label.

void setTextAlign ( int align ) #

Sets alignment of the button label.

Arguments

  • int align - One of the Gui:: Enumeration with ALIGN_* prefixes.

int getTextAlign ( ) const#

Returns alignment of the button label.

Return value

Alignment of the button label: one of the Gui:: Enumeration with ALIGN_* prefixes.

void setTexture ( const char * texture ) #

Sets a new texture to be used as the button image.
Notice
The button is automatically stretched or shrinked to match the size of the current image. When you resize the button the size of the image does not change. In case you need to create a type of button widget with an auto-adjusted image size, or image rotation, please consider Widget Sprite instead.

Arguments

  • const char * texture - Path to a texture file.

const char * getTexture ( ) const#

Returns the path to the current button image texture.
Notice
The button is automatically stretched or shrinked to match the size of the current image. When you resize the button the size of the image does not change. In case you need to create a type of button widget with an auto-adjusted image size, or image rotation, please consider Widget Sprite instead.

Return value

Path to the button image texture.

void setToggleable ( bool toggleable ) #

Sets a value indicating if the button is a toggle button or a simple one.

Arguments

  • bool toggleable - 1 to make the button a toggle button, 0 to make it a simple one. The default is 0.

bool isToggleable ( ) const#

Returns a value indicating if the button is a toggle button or a simple one. The default is 0.

Return value

1 if the button is a toggle button; otherwise, 0.

void setToggled ( bool toggled ) #

Sets a state of the toggle button.

Arguments

  • bool toggled - 1 to press the button, 0 to release it.

bool isToggled ( ) const#

Returns a value indicating if the toggle button is pressed.

Return value

1 if the button is pressed; otherwise, 0.

void setButtonColor ( const Math::vec4 & color ) #

Sets the color to be used for the button.

Arguments

  • const Math::vec4 & color - Four-component vector specifying the color in the RGBA format.

Math::vec4 getButtonColor ( ) const#

Returns the current color for the button.

Return value

Four-component vector specifying the color in the RGBA format.

void setStyleImage ( const Ptr<Image> & image ) #

Sets a button skin image.

Arguments

  • const Ptr<Image> & image - Image to set.

Ptr<Image> getStyleImage ( ) const#

Returns the button skin image.

Return value

Button skin image.

void setStyleTexture ( const char * texture ) #

Sets a button skin texture.

Arguments

  • const char * texture - Path to a texture file.

const char * getStyleTexture ( ) const#

Returns the path to the button skin texture.

Return value

Path to a texture file.
Last update: 2024-04-19
Build: ()