Unigine::Widgets
Unigine::Widgets are user classes that allow to code user interface only once and use them for both internal GUI (in-app) and external one (rendered in separate windows):
- If the Unigine-based application is run without the Interface plugin, widgets will be created inside the window, in the same way as default GUI is usually rendered.
- If the Interface plugin is loaded on the application start-up (via extern_plugin console command), widgets will be automatically created in separate windows in addition to the main application window.
Available Widgets
Unigine::Widgets act identical to UnigineScript widgets and support completely the same interface:
- Unigine::Widgets::Button — the same as WidgetButton
- Unigine::Widgets::Canvas — the same as WidgetCanvas
- Unigine::Widgets::CheckBox — the same as WidgetCheckBox
- Unigine::Widgets::ComboBox — the same as WidgetComboBox
- Unigine::Widgets::Dialog — the same as WidgetDialog
- Unigine::Widgets::DialogColor — the same as WidgetDialogColor
- Unigine::Widgets::DialogFile — the same as WidgetDialogFile
- Unigine::Widgets::DialogImage — the same as WidgetDialogImage
- Unigine::Widgets::DialogMessage — the same as WidgetDialogMessage
- Unigine::Widgets::EditLine — the same as WidgetEditLine
- Unigine::Widgets::EditText — the same as WidgetEditText
- Unigine::Widgets::GridBox — the same as WidgetGridBox
- Unigine::Widgets::GroupBox — the same as WidgetGroupBox
- Unigine::Widgets::HBox — the same as WidgetHBox
- Unigine::Widgets::HPaned — the same as WidgetHPaned
- Unigine::Widgets::Icon — the same as WidgetIcon
- Unigine::Widgets::Label — the same as WidgetLabel
- Unigine::Widgets::ListBox — the same as WidgetListBox
- Unigine::Widgets::ScrollBox — the same as WidgetScrollBox
- Unigine::Widgets::Slider — the same as WidgetSlider
- Unigine::Widgets::Spacer — the same as WidgetSpacer
- Unigine::Widgets::Sprite — the same as WidgetSprite
- Unigine::Widgets::TabBox — the same as WidgetTabBox
- Unigine::Widgets::TreeBox — the same as WidgetTreeBox
- Unigine::Widgets::VBox — the same as WidgetVBox
- Unigine::Widgets::VPaned — the same as WidgetVPaned
- Unigine::Widgets::Window — the same as WidgetWindow
Also, there are three additional widgets available:
- Unigine::Widgets::DockBox — a widget that can be dragged and docked inside a window.
- Unigine::Widgets::Graph — a widget to create flow graphs. Unigine::Schemer editor is implemented based on this class.
- Unigine::Widgets::MdiBox — a widget to create multiple windows inside other windows
How to Use Unigine::Widgets Widgets
- Include the necessary headers for widgets you are going to create in your script:
#include <core/systems/widgets/widget.h> #include <core/systems/widgets/widget_window.h>
- Create a widget:
When the application is run, either internal WidgetWindow or external InterfaceWidgetWindow will be automatically created depending on whether the Interface plugin is used or not.
int init() { // You can declare the namespace for convenience using Unigine::Widgets; // Create Unigine::Widgets::Window Window window = new Window("Unigine::Widgets::Window"); // Add the widget to the rendered GUI addChild(window,ALIGN_OVERLAP | ALIGN_CENTER); return 1; }
Last update: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)