This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
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
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы

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:

DragArea.cs

Source code (C#)
EngineWindowViewport window;

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

private void Init()
{

		// borderless additional window
		window = new EngineWindowViewport(new ivec2(512, 256));
		window.BordersEnabled = false;

		Gui gui = window.SelfGui;

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

		// add a close icon to the window
		WidgetIcon close_icon = new WidgetIcon(gui, "window_close.png");
		close_icon.SetPosition(10, -24);
		close_icon.EventClicked.Connect(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);

		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. By default this option is disabled.

bool Blendable#

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

bool Titleable#

The value indicating if the window is minimized when double-clicking on it. By default this option is disabled.

bool Sizeable#

The value indicating if the window is resizeable. By default this option is disabled.

bool Moveable#

The value indicating if the window is movable. By default this option is disabled.

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: true if background rendering is enabled; otherwise, false.

int DragAreaPaddingLeft#

The Left-side padding in pixels.

int DragAreaPaddingBottom#

The Bottom padding in pixels.

bool GlobalMovement#

The true if the window can be moved across the whole GUI, false if the window can be moved only within the parent widget.

int MinTextureWidth#

The minimum width of the window render, in pixels.

int TextWidth#

The window header width, in pixels.

int TextHeight#

The window header height, in pixels.

bool OutBoundsCallbacksEnabled#

The true if callback processing for the child widgets is enabled, otherwise false.

int MinTextureHeight#

The minimum height of the window render, in pixels.

int Stencil#

The 1 if cutting is enabled; otherwise, 0.

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: 19.04.2024
Build: ()