UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
Extending Editor Functionality
FAQ
编程
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
应用程序接口
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
Rendering-Related Classes

Unigine::WidgetSpinBox Class

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

This class creates a spin box.

Usage Example#

This example illustrates creation of a spinbox via code.

Source code (C++)
// AppWorldLogic.cpp

// including necessary headers and declaring a spinbox
#include <UnigineWidgets.h>
#include <UnigineGUI.h>
using namespace Unigine;
WidgetSpinBoxPtr spinbox;

// ...

// callback to be fired on changing spinbox value
void sbChanged(Unigine::Ptr<Widget> widget) {
	WidgetSpinBoxPtr sb = widget;
	
	// printing the current spinbox value to the console
	Log::message("Spinbox value changed: %d \n", sb->getValue());
}

// Method creating a spinbox with specified parameters at the specified position
WidgetSpinBoxPtr createSB(int x, int y, int min, int max, int value)
{
	// creating a new edit line and adding it to the GUI
	WidgetEditLinePtr new_el = WidgetEditLine::create(Gui::get());
	Gui::get()->addChild(new_el, Gui::ALIGN_OVERLAP);
	
	// setting widget's position
	new_el->setPosition(x, y);
	
	// creating a spinbox with the specified parameters and adding it to the GUI
	WidgetSpinBoxPtr new_sb = WidgetSpinBox::create(Gui::get(), min, max);
	Gui::get()->addChild(new_sb, Gui::ALIGN_OVERLAP);	

	// adding a callback to be fired on changing spinbox value
	new_sb->addCallback(Gui::CHANGED, MakeCallback(sbChanged));
	new_sb->setOrder(1);
	
	// attaching the spinbox to the edit line
	new_el->addAttach(new_sb);
	
	// setting initial spinbox value
	new_sb->setValue(value);

	return new_sb;
}

// ...

int AppWorldLogic::init()
{
	// creating a spinbox with values in [0, 10] range (current - 5) at position (100, 100)
	spinbox = createSB(100, 100, 0, 10, 5);
	return 1;
}

// ...

int AppWorldLogic::shutdown()
{
	// cleanup
	spinbox.destroy();
	return 1;
}

// ...

WidgetSpinBox Class

Members


static WidgetSpinBoxPtr create ( const Ptr<Gui> & gui, int min = 0, int max = 100, int value = 0 ) #

Constructor. Creates a spinbox with given parameters.

Arguments

  • const Ptr<Gui> & gui - GUI, to which the spinbox will belong.
  • int min - Minimum value.
  • int max - Maximum value.
  • int value - Initial value.

void setMaxExpand ( int expand ) #

Sets the maximum value, up to which the upper limit of the range of the spinbox values can be expanded.

Arguments

  • int expand - Maximum value, up to which the spinbox upper limit can be raised.

int getMaxExpand ( ) #

Returns the current maximum value, up to which the upper limit of the range of the spinbox values can be expanded. The upper limit of the spinbox can be expanded only if the spinbox is attached to an editline with the Gui::ATTACH_MAX_EXPAND flag.

Return value

Maximum value, up to which the spinbox upper limit can be raised.

void setMaxValue ( int value ) #

Sets a maximum value of the spinbox.

Arguments

  • int value - Maximum spinbox value.

int getMaxValue ( ) #

Returns a maximum value of the spinbox.

Return value

Maximum spinbox value.

void setMinExpand ( int expand ) #

Sets the minimum value, up to which the lower limit of the range of the spinbox values can be expanded.

Arguments

  • int expand - Minimum value, up to which the spinbox lower limit can be dropped.

int getMinExpand ( ) #

Returns the current minimum value, up to which the lower limit of the range of the spinbox values can be expanded. The lower limit of the spinbox can be expanded only if the spinbox is attached to an editline with the Gui::ATTACH_MIN_EXPAND flag.

Return value

Minimum value, up to which the spinbox lower limit can be dropped.

void setMinValue ( int value ) #

Sets a minimum value of the spinbox.

Arguments

  • int value - Minimum spinbox value.

int getMinValue ( ) #

Returns a minimum value of the spinbox.

Return value

Minimum spinbox value.

void setValue ( int value ) #

Updates the current value of the spinbox.

Arguments

  • int value - New spinbox value.

int getValue ( ) #

Returns the current value of the spinbox.

Return value

Current spinbox value.

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

Sets the color for the widget's button.

Arguments

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

Math::vec4 getButtonColor ( ) #

Returns the current color for the widget's button.

Return value

Four-component vector specifying the color in the RGBA format.
Last update: 2019-12-04