This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
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
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
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.WidgetWindow Class

Inherits from: Widget

This class creates a titled window.

By default, the window created by means of this class consists of a single vertical column container and a drag area at the top.

The WidgetWindow class provides methods that allow editing the drag area. For example:

WidgetDragAreaClass.cs

Source code (C#)
EngineWindow window;

void on_close()
{
	window.DeleteLater();
}

private void Init()
{
	// create a borderless engine window
	window = new EngineWindow(new ivec2(512, 256));
	window.GroupUsage = false;
	window.BordersEnabled = false;

	Gui gui = window.SelfGui;

	// create a window widget
	WidgetWindow widget_window = new WidgetWindow(gui, "Borderless Window");
	widget_window.Sizeable = false;
	widget_window.Moveable = false;
	// add the window widget to the engine window
	window.AddChild(widget_window, Gui.ALIGN_EXPAND);

	// add a close icon to the widget window
	WidgetIcon close_icon = new WidgetIcon(gui, "window_close.png");
	close_icon.SetPosition(10, -24);
	close_icon.AddCallback(Gui.CALLBACK_INDEX.CLICKED, on_close);
	widget_window.AddChild(close_icon, Gui.ALIGN_OVERLAP | Gui.ALIGN_RIGHT | Gui.ALIGN_TOP);

	// adjust the window's drag area so that it doesn't cross the close icon
	widget_window.SetDragAreaPadding(3, 30, 3, 0);
	widget_window.DragAreaBackground = 1;
	widget_window.DragAreaBackgroundColor = new vec4(1.0f, 0.0f, 0.0f, 0.3f);

	// specify a position of the window and render it
	window.Position = new ivec2(100, 100);
	window.Show();
}

The window will be rendered as follows:

See Also#

  • UnigineScript API sample <UnigineSDK>/data/samples/widgets/window_00
  • C++ API sample <UnigineSDK>/source/samples/Api/Widgets/WidgetWindow
  • C# API sample <UnigineSDK>/source/csharp/samples/Api/Widgets/WidgetWindow

WidgetWindow Class

Properties

string Text#

The current window title.

int TextAlign#

The alignment of the window title.

int PaddingBottom#

The current bottom padding for the widget content.

int PaddingTop#

The current top padding for the widget content.

int PaddingRight#

The current right-side padding for the widget content.

int PaddingLeft#

The current left-side padding for the widget content.

int SpaceY#

The vertical space between the widgets in the window and between them and the window border.

int SpaceX#

The horizontal space between the widgets in the window and between them and the window border.

int MaxHeight#

The maximum height value of the window.

int MaxWidth#

The maximum width value of the window.

mat4 Transform#

The global widget transformation matrix.

vec4 Color#

The color of the global color multiplier.

int SnapDistance#

The distance, at which the window snaps to another window or screen edge. the default is 0 (do not snap).

bool Floatable#

The value indicating if the window is animated when changing to the minimized state and back. the default is 0.

bool Blendable#

The value indicating if the window can fade in and out when changing to the minimized state and back. the default is 0.

bool Titleable#

The value indicating if the window is minimized when double-clicking on it. the default is 0.

bool Sizeable#

The value indicating if the window is resizeable. the default is 0.

bool Moveable#

The value indicating if the window is movable. the default is 1.

vec4 BorderColor#

The four-component vector specifying the color in the RGBA format.

vec4 BackgroundColor#

The four-component vector specifying the color in the RGBA format.

bool DragAreaEnabled#

The Value indicating if the drag area of the window is enabled: true if the drag area is enabled; otherwise, false.

int DragAreaPaddingTop#

The Top padding in pixels.

int DragAreaPaddingRight#

The Right-side padding in pixels.

vec4 DragAreaBackgroundColor#

The Background color.

int DragAreaBackground#

The Value indicating if rendering of the background is enabled: 1 if background rendering is enabled; otherwise, 0.

int DragAreaPaddingLeft#

The Left-side padding in pixels.

int DragAreaPaddingBottom#

The Bottom padding in pixels.

Members


WidgetWindow ( Gui gui, string str = 0, int x = 0, int y = 0 ) #

Constructor. Creates a window with given parameters and adds it to the specified GUI.

Arguments

  • Gui gui - GUI, to which the new window will belong.
  • string str - Window title. This is an optional parameter.
  • int x - Horizontal space between the widgets in the window and between them and the window border. This is an optional parameter.
  • int y - Vertical space between the widgets in the window and between them and the window border. This is an optional parameter.

WidgetWindow ( string str = 0, int x = 0, int y = 0 ) #

Constructor. Creates a window with given parameters and adds it to the Engine GUI.

Arguments

  • string str - Window title. This is an optional parameter.
  • int x - Horizontal space between the widgets in the window and between them and the window border. This is an optional parameter.
  • int y - Vertical space between the widgets in the window and between them and the window border. This is an optional parameter.

void SetPadding ( int l, int r, int t, int b ) #

Sets widget paddings for all sides. Padding clears an area around the content of a widget (inside of it).

Arguments

  • int l - Left-side padding in pixels.
  • int r - Right-side padding in pixels.
  • int t - Top padding in pixels.
  • int b - Bottom padding in pixels.

void SetSpace ( int x, int y ) #

Sets a space between the widgets in the window and between them and the window border.

Arguments

  • int x - Horizontal space. If a negative value is provided, 0 will be used instead.
  • int y - Vertical space. If a negative value is provided, 0 will be used instead.

void SetDragAreaPadding ( int l, int r, int t, int b ) #

Sets paddings for all sides of the drag area.

Arguments

  • int l - Left-side padding in pixels.
  • int r - Right-side padding in pixels.
  • int t - Top padding in pixels.
  • int b - Bottom padding in pixels.
Last update: 2022-12-14
Build: ()