namespace EE::UI¶
Overview¶
namespace UI { // namespaces namespace EE::UI::Abstract; namespace EE::UI::CSS; namespace EE::UI::CSS::detail; namespace EE::UI::Doc; namespace EE::UI::LayoutInvalidation; namespace EE::UI::Models; namespace EE::UI::Tools; // typedefs typedef Uint32 LayoutInvalidationFlags; typedef std::pair<Int64, Int64> DocumentLineRange; typedef std::pair<VisibleIndex, VisibleIndex> DocumentViewLineRange; typedef std::function<void(const TextRanges&, const Color&, bool)> DrawTextRangesFn; typedef ResourcePtr<UIIcon> UIIconPtr; typedef ResourceWeakPtr<UIIcon> UIIconWeakPtr; typedef ResourcePtr<UIIconTheme> UIIconThemePtr; typedef ResourceWeakPtr<UIIconTheme> UIIconThemeWeakPtr; typedef SmallVector<Rectf, 4> SpanHitBoxes; typedef ResourcePtr<UITheme> UIThemePtr; typedef ResourceWeakPtr<UITheme> UIThemeWeakPtr; typedef ResourcePtr<UISkin> UISkinPtr; typedef std::shared_ptr<class WebResourceCache> WebResourceCachePtr; typedef Uint64 DocumentSessionId; typedef Uint64 CachePartitionId; // enums enum BackgroundMode; enum BorderStyle; enum BorderType; enum CSSAlignContent; enum CSSAlignItems; enum CSSAlignSelf; enum CSSBaselineAlignment; enum CSSBoxSizing; enum CSSClear; enum CSSDisplay; enum CSSFlexDirection; enum CSSFlexWrap; enum CSSFloat; enum CSSFormattingRole; enum CSSGridAutoFlow; enum CSSJustifyContent; enum CSSJustifyItems; enum CSSJustifySelf; enum CSSListStylePosition; enum CSSListStyleType; enum CSSPosition; enum CSSVisibility; enum ClipType; enum ColorSchemeExtPreference; enum ColorSchemePreference; enum ContrastExtPreference; enum ContrastPreference; enum GridTrackBreadthType; enum HintDisplay; enum InnerWidgetOrientation; enum LayoutInvalidationReason; enum PlacementDirection; enum PlacementLayout; enum PositionPolicy; enum ScrollBarMode; enum ScrollViewType; enum SizePolicy; enum SplitDirection; enum TableLayout; enum UIFlag; enum UINodeType; enum UIOrientation; enum UIScaleType; enum UIValueValidationError; enum UIWindowFlags; enum WebResourceKind; enum WebResourceLoadState; // structs struct Border; struct BorderRadiuseStr; struct BorderRadiuses; struct BorderStr; struct Borders; struct CSSAlignContentHelper; struct CSSAlignItemsHelper; struct CSSAlignSelfHelper; struct CSSBaselineAlignValue; struct CSSBaselineAlignmentHelper; struct CSSBoxSizingHelper; struct CSSClearHelper; struct CSSDisplayHelper; struct CSSFlexDirectionHelper; struct CSSFlexWrapHelper; struct CSSFloatHelper; struct CSSGridAutoFlowHelper; struct CSSJustifyContentHelper; struct CSSJustifyItemsHelper; struct CSSJustifySelfHelper; struct CSSListStylePositionHelper; struct CSSListStyleTypeHelper; struct CSSPositionHelper; struct CSSUsedMargins; struct CSSVisibilityHelper; struct ColorSchemePreferences; struct ContrastPreferences; struct GridAreaTemplate; struct GridAreasParser; struct GridExplicitTrack; struct GridItem; struct GridLineParser; struct GridLineResult; struct GridTrack; struct GridTrackBreadth; struct GridTrackList; struct GridTrackParser; struct GridTrackSize; struct MarginAuto; struct NavigationRequest; struct PopupPlacementConfig; struct PopupPlacementResult; struct UIHTMLWidgetFlexState; struct UIHTMLWidgetGridState; template <typename T> struct UIValueConverter; template <typename T> struct UIValueResult; struct UIValueValidationResult; struct WebOriginKey; struct WebResourceRequest; struct WebResourceResult; // classes class BlockLayouter; class ContextMenuEvent; class DocChangedEvent; class DocEvent; class DocSyntaxDefEvent; class DrawableResolver; class FlexLayouter; class GridLayouter; class IconManager; class InlineLayouter; class KeyBindings; class LinearGradientDrawable; class MouseBindings; class NoneLayouter; class RadialGradientDrawable; class TabEvent; class TableLayouter; class UIAnchor; class UIAnchorSpan; class UIApplication; class UIBackgroundDrawable; class UIBorderDrawable; class UICheckBox; class UIClip; class UICodeEditor; class UICodeEditorPlugin; class UIComboBox; class UIConsole; template <typename T> class UIDataBind; class UIDataBindBool; template <typename... Ts> class UIDataBindHolder; template <typename... Ts> class UIDataBindHolderKV; class UIDataBindString; class UIDropDown; class UIDropDownList; class UIDropDownModelList; class UIEventDispatcher; class UIFileDialog; class UIFontStyleConfig; class UIGlyphIcon; class UIGridLayout; class UIHTMLBody; class UIHTMLDetails; class UIHTMLForm; class UIHTMLHead; class UIHTMLHtml; class UIHTMLImage; class UIHTMLInput; class UIHTMLListItem; class UIHTMLListStyle; class UIHTMLSummary; class UIHTMLTable; class UIHTMLTableBody; class UIHTMLTableCell; class UIHTMLTableFooter; class UIHTMLTableHead; class UIHTMLTableRow; class UIHTMLTextArea; class UIHTMLTextInput; class UIHTMLWidget; class UIIcon; class UIIconTheme; class UIIconThemeManager; class UIImage; template <class TContainer> class UIItemContainer; class UILabelSpan; class UILayout; class UILayouter; class UILayouterManager; class UILineBreak; class UILinearLayout; class UIListBox; class UIListBoxItem; class UIListView; class UILoader; class UIMarkdownView; class UIMenu; class UIMenuBar; class UIMenuCheckBox; class UIMenuItem; class UIMenuRadioButton; class UIMenuSeparator; class UIMenuSubMenu; class UIMessageBox; class UIModelCreator; class UIMultiModelView; class UINode; class UINodeDrawable; class UINodeLink; class UIPlacementUtils; class UIPopUpMenu; class UIProgressBar; class UIProgressBarFiller; template <typename T> class UIProperty; class UIPushButton; class UIRadioButton; class UIRelativeLayout; class UIRichText; class UIRoot; class UISVGIcon; class UISceneNode; class UIScrollBar; class UIScrollView; class UIScrollableWidget; class UISelectButton; class UISkin; class UISkinState; class UISlider; class UISpinBox; class UISplitter; class UISprite; class UIStackLayout; class UIStackWidget; class UIState; class UIStyle; class UISvg; class UITab; class UITabWidget; class UITableCell; class UITableHeaderColumn; class UITableRow; class UITableView; class UITextEdit; class UITextInput; class UITextNode; class UITextSpan; class UITextView; class UITextureRegion; class UITheme; class UIThemeManager; class UITooltip; class UITouchDraggableWidget; class UITreeView; class UITreeViewCell; template <typename T> class UIValueBinding; class UIValueValidationState; class UIViewPager; class UIWebView; class UIWidget; class UIWidgetCreator; class UIWidgetTable; class UIWidgetTableRow; class UIWindow; class UndoCommand; class UndoStack; class WebResourceCache; class WidgetCommandExecuter; // global variables static const Uint32 UI_NODE_DEFAULT_ALIGN = UI_HALIGN_LEFT | UI_VALIGN_CENTER; static const Uint32 UI_NODE_ALIGN_CENTER = UI_HALIGN_CENTER | UI_VALIGN_CENTER; static const Uint32 UI_NODE_DEFAULT_ANCHOR = UI_ANCHOR_LEFT | UI_ANCHOR_TOP; static const Uint32 UI_NODE_DEFAULT_DRAG = UI_DRAG_VERTICAL | UI_DRAG_HORIZONTAL; static const Uint32 UI_NODE_DEFAULT_FLAGS = UI_NODE_DEFAULT_ANCHOR | UI_NODE_DEFAULT_ALIGN | UI_NODE_DEFAULT_DRAG; static const Uint32 UI_NODE_DEFAULT_FLAGS_CENTERED = UI_ANCHOR_LEFT | UI_ANCHOR_TOP | UI_HALIGN_CENTER | UI_VALIGN_CENTER; static const Uint32 UI_WIN_DEFAULT_FLAGS = UI_WIN_CLOSE_BUTTON | UI_WIN_USE_DEFAULT_BUTTONS_ACTIONS | UI_WIN_RESIZEABLE | UI_WIN_SHARE_ALPHA_WITH_CHILDREN; // global functions constexpr LayoutInvalidationFlags toLayoutInvalidationFlags(LayoutInvalidationReason reason); LayoutInvalidationFlags layoutInvalidationFromMessage(const Scene::NodeMessage* msg); template <typename T> UIValueBinding<T> bindValue(ObservableValue<T>& value, UIWidget* widget, const UIValueConverter<T>& converter = UIValueConverter<T>::converterDefault(), const std::string& propertyName = "value", Event::EventType eventType = Event::OnValueChange); } // namespace UI
Detailed Documentation¶
Typedefs¶
typedef std::shared_ptr<class WebResourceCache> WebResourceCachePtr
Shared ownership handle for a WebResourceCache.
A cache can be installed into more than one UIWebView. Sharing the cache does not by itself make all resources visible between those views: sessions must also use the same CachePartitionId.
typedef Uint64 DocumentSessionId
Identifies one document consumer of a WebResourceCache.
UISceneNode creates a session for its current document. A session tracks the current navigation generation and the cache entries leased by that document. IDs are process-wide and opaque.
typedef Uint64 CachePartitionId
Identifies a cache sharing and privacy boundary.
Sessions in the same partition may reuse and coalesce resources. Sessions in different partitions never share entries, even when requesting the same URI. A partition should therefore represent one intentionally shared HTTP state, normally one cookie jar/authentication context.
For example, browser tabs that share cookies should use the same WebResourceCache and CachePartitionId. A private tab or a view logged into a different account must use another partition. Passing zero to createSession() creates a new private partition automatically. Partition IDs are process-wide and opaque.
auto cache = WebResourceCache::New(); auto normalProfile = cache->createPartition(); firstTab->setWebResourceCache( cache, normalProfile ); secondTab->setWebResourceCache( cache, normalProfile ); // May reuse firstTab resources. privateTab->setWebResourceCache( cache, cache->createPartition() ); // Fully isolated entries.
Global Functions¶
template <typename T> UIValueBinding<T> bindValue(ObservableValue<T>& value, UIWidget* widget, const UIValueConverter<T>& converter = UIValueConverter<T>::converterDefault(), const std::string& propertyName = "value", Event::EventType eventType = Event::OnValueChange)
Creates a scoped two-way binding between value and widget.