28 #include "BufferRef.h" 34 #include "Portability.h" 35 #include "StringRef.h" 40 #ifndef DOXYGEN_SHOULD_SKIP_THIS 280 return std::string(m_data, m_length);
294 std::size_t m_length;
295 std::size_t m_capacity;
451 static constexpr
unsigned DefaultCharacterSize = 13;
459 UI(
Font& font,
unsigned characterSize = DefaultCharacterSize);
469 UI(
const UI&) =
delete;
474 UI& operator=(
const UI&) =
delete;
479 UI(
UI&& other) noexcept;
484 UI& operator=(
UI&& other) noexcept;
493 void processEvent(
const Event& event);
500 void setCharacterSize(
unsigned characterSize);
537 RectF windowGetBounds();
556 void layoutRowDynamic(
float height,
int cols);
567 void layoutRowStatic(
float height,
int itemWidth,
int cols);
578 void layoutRowBegin(
UILayout format,
float height,
int cols);
587 void layoutRowPush(
float width);
612 void separator(
float height);
668 void groupScrolledEnd();
757 void image(
const Texture& texture,
const RectF& textureRect);
791 bool buttonPopBehavior();
811 bool buttonColor(
const Color4f& color);
853 bool checkbox(
StringRef title,
bool& active);
865 bool checkboxFlags(
StringRef title,
unsigned& flags,
unsigned value);
885 bool option(
StringRef title,
bool active);
896 bool radio(
StringRef title,
bool& active);
939 bool sliderFloat(
float min,
float& val,
float max,
float step);
952 bool sliderInt(
int min,
int& val,
int max,
int step);
988 bool colorPicker(
Color4f& color);
1011 void propertyInt(
const std::string& name,
int min,
int& val,
int max,
int step,
float incPerPixel);
1025 void propertyFloat(
const std::string& name,
float min,
float& val,
float max,
float step,
float incPerPixel);
1039 void propertyDouble(
const std::string& name,
double min,
double& val,
double max,
double step,
float incPerPixel);
1069 bool fileSelector(
UIBrowser& browser,
const std::string& title,
const RectF& bounds);
1126 void combobox(
const std::vector<std::string>& items,
int& selected,
int itemHeight,
Vector2f size);
1139 void comboboxSeparator(
const std::string& itemsSeparatedBySeparator,
char separator,
int& selected,
int itemHeight,
Vector2f size);
1264 void contextualClose();
1271 void contextualEnd();
1287 void tooltip(
const std::string& text);
1297 bool tooltipBegin(
float width);
1320 void menubarBegin();
1351 bool menuBeginSymbol(
const std::string&
id,
UISymbol symbol,
Vector2f size);
1413 RectF getWidgetBounds();
1422 bool isWidgetHovered();
1429 void spacing(
int cols);
1463 void setState(State state);
1468 std::unique_ptr<UIImpl> m_impl;
1472 #ifndef DOXYGEN_SHOULD_SKIP_THIS 1476 #ifndef DOXYGEN_SHOULD_SKIP_THIS 1478 struct EnableBitmaskOperators<
UIWindow> {
1479 static constexpr
bool value =
true;
1483 struct EnableBitmaskOperators<
UIEdit> {
1484 static constexpr
bool value =
true;
1489 static constexpr
bool value =
true;
The window's scrollbar can hide automatically.
The window can be moved by the user.
The row has a dynamic layout.
The row has a static layout.
UILayout
Layout property for rows.
Definition: UI.h:87
The structure represents an internal node.
Edit widget is not active and is not being modified.
The button is active once.
Edit widget is currently being modified.
UIEditEvent
Properties for edit events.
Definition: UI.h:200
Base class for all render targets (window, texture, ...)
Definition: RenderTarget.h:73
UIPopup
Type of popup.
Definition: UI.h:245
StringRef asStringRef() const
Definition: UI.h:283
Define the states used for drawing to a RenderTarget.
Definition: RenderStates.h:82
Bitfield relying on an enumeration.
Definition: Flags.h:46
UIEditFilter
Filters for edit.
Definition: UI.h:220
UIProgress
State of the progress bar.
Definition: UI.h:132
std::string asString() const
Definition: UI.h:279
static const UIEditFlags Field
Definition: UI.h:191
The button is active as long as it is pressed.
UIPredefinedStyle
A predefined style.
Definition: UI.h:254
Context for an immediate mode graphical interface.
Definition: UI.h:446
Path currentPath
The current path for searching.
Definition: UI.h:237
The window is scalable by the user.
Abstract base class for objects that can be drawn to a render window.
Definition: Drawable.h:57
Edit widget has received an enter and lost focus.
UIAlignment
The alignment of the text.
Definition: UI.h:107
A texture for colored images.
Definition: Texture.h:301
static const UIEditFlags Box
Definition: UI.h:192
UIButtonBehavior
Behavior for buttons.
Definition: UI.h:123
Vector< unsigned, 2 > Vector2u
A unsigned vector with 2 components.
Definition: Vector.h:1168
Data for file selector.
Definition: UI.h:236
The window can be closed with an icon in the header.
A character buffer for edition.
Definition: UI.h:268
gf::Clipboard provides an interface for getting and setting the contents of the system clipboard...
Definition: Clipboard.h:67
The window can not scale, move or get focus.
The namespace for gf classes.
Definition: Action.h:35
A blue and light gray style.
A constant reference to an array and its size.
Definition: ArrayRef.h:42
A character font.
Definition: Font.h:109
The progress bar can be modified.
A 4D vector.
Definition: Vector.h:838
static const UIEditFlags Simple
Definition: UI.h:190
static const UIEditFlags Editor
Definition: UI.h:193
UICollapse
Collapse property of a tree.
Definition: UI.h:78
UIEdit
Properties for edit widgets.
Definition: UI.h:161
Edit widget went from state inactive to state active.
boost::filesystem::path Path
A path in the filesystem.
Definition: Path.h:44
The progress bar is fixed.
Predefined flags for edit.
Definition: UI.h:189
A constant reference to a string and its size.
Definition: StringRef.h:41
UISymbol
A representative symbol.
Definition: UI.h:141
The window is in the background.
The window has no scrollbar.
UITree
The type of tree.
Definition: UI.h:96
The window's scaler is on the left.
Defines a system event and its parameters.
Definition: Event.h:97
UIWindow
Properties for windows and window-like elements.
Definition: UI.h:52
A dark gray and dark blue style.
The window can be minimized with an icon in the header.
Edit widget went from state active to state inactive.
Path selectedPath
The selected path.
Definition: UI.h:238
The window has a title in the header.