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
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:
2024-08-01
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)