YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
YSLib::UI 命名空间参考

命名空间

 EventMapping
 事件映射命名空间。
 
 Styles
 

class  AController
 控制器抽象类。 更多...
 
class  AScrollBar
 滚动条。 更多...
 
class  BadEvent
 错误或不存在的部件事件异常。 更多...
 
class  BorderBrush
 边框画刷。 更多...
 
class  BorderResizer
 调整大小的边框。 更多...
 
class  BorderStyle
 边框样式。 更多...
 
class  BufferedRenderer
 带缓冲的部件渲染器。 更多...
 
class  BufferedTextArea
 缓冲文本区域。 更多...
 
class  Button
 按钮。 更多...
 
class  Caret
 插入符光标。 更多...
 
class  CheckBox
 复选框。 更多...
 
class  CheckButton
 复选按钮。 更多...
 
struct  ChildPainter
 子部件绘制仿函数。 更多...
 
class  ColorBox
 拾色框。 更多...
 
class  Console
 控制台。 更多...
 
struct  ContainerSetter
 序列设置仿函数。 更多...
 
class  Control
 控件。 更多...
 
class  Controller
 部件控制器。 更多...
 
struct  CursorEventArgs
 指针设备输入事件参数类。 更多...
 
class  CursorWheelEventArgs
 滚轮事件参数。 更多...
 
class  Desktop
 桌面。 更多...
 
class  DialogBox
 对话框。 更多...
 
class  DialogPanel
 对话面板。 更多...
 
class  DropDownList
 下拉列表。 更多...
 
class  DynamicWidget
 动态部件。 更多...
 
struct  EventTypeMapping
 
struct  EventTypeMapping< Click >
 
struct  EventTypeMapping< ClickAcross >
 
struct  EventTypeMapping< CursorOver >
 
struct  EventTypeMapping< CursorWheel >
 
struct  EventTypeMapping< Enter >
 
struct  EventTypeMapping< GotFocus >
 
struct  EventTypeMapping< KeyDown >
 
struct  EventTypeMapping< KeyHeld >
 
struct  EventTypeMapping< KeyPress >
 
struct  EventTypeMapping< KeyUp >
 
struct  EventTypeMapping< Leave >
 
struct  EventTypeMapping< LostFocus >
 
struct  EventTypeMapping< Move >
 
struct  EventTypeMapping< Paint >
 
struct  EventTypeMapping< Resize >
 
struct  EventTypeMapping< TextInput >
 
struct  EventTypeMapping< TouchDown >
 
struct  EventTypeMapping< TouchHeld >
 
struct  EventTypeMapping< TouchUp >
 
class  FileBox
 文件列表框。 更多...
 
class  GAnimationSession
 动画会话。 更多...
 
class  GMSelector
 选择器模型模板。 更多...
 
class  GSequenceViewer
 序列视图类模板。 更多...
 
class  GUIState
 图形用户界面公共状态。 更多...
 
struct  GValueEventArgs
 简单 UI 事件参数类。 更多...
 
class  GWidgetInserterRegister
 加载器注册接口:加载一个或多个键和添加部件引用例程。 更多...
 
class  GWidgetRegister
 加载器注册接口:加载一个或多个键和类初始化例程。 更多...
 
class  HexModel
 十六进制模型:十六进制视图区域数据源。 更多...
 
class  HexView
 十六进制视图。 更多...
 
class  HexViewArea
 十六进制视图区域。 更多...
 
class  HorizontalScrollBar
 水平滚动条。 更多...
 
class  HorizontalTrack
 水平轨道。 更多...
 
class  HoverUpdater
 悬停更新器。 更多...
 
class  ImageBrush
 图像画刷。 更多...
 
struct  InputEventArgs
 输入事件参数类。 更多...
 
class  InputTimer
 输入计时器。 更多...
 
class  InvalidationUpdater
 无效状态更新器。 更多...
 
struct  KeyEventArgs
 按键输入事件参数类。 更多...
 
class  Label
 标签。 更多...
 
class  ListBox
 带滚动条的文本列表框。 更多...
 
class  MCheckBox
 复选框模块。 更多...
 
class  Menu
 文本菜单。 更多...
 
class  MenuHost
 菜单宿主。 更多...
 
class  MHilightText
 高亮文本模块。 更多...
 
class  MLabel
 标签模块。 更多...
 
class  MLinearUIContainer
 线性部件容器模块。 更多...
 
class  MOriented
 方向模块。 更多...
 
class  MSharedSelection
 单选框模块。 更多...
 
class  MTextList
 文本列表模块。 更多...
 
class  MUIContainer
 部件容器模块。 更多...
 
struct  PaintEventArgs
 部件绘制参数。 更多...
 
class  Panel
 面板。 更多...
 
class  ProgressBar
 进度条。 更多...
 
class  RadioBox
 单选框。 更多...
 
class  RadioButton
 单选按钮。 更多...
 
class  Renderer
 部件渲染器。 更多...
 
struct  RoutedEventArgs
 路由事件参数基类。 更多...
 
class  ScrollableContainer
 带滚动条的容器。 更多...
 
struct  ScrollEventArgs
 滚动事件参数类。 更多...
 
class  SolidBrush
 单色画刷。 更多...
 
class  TabBar
 标签栏控件。 更多...
 
class  TabControl
 标签容器控件。 更多...
 
class  TextArea
 文本区域。 更多...
 
class  TextBox
 文本框。 更多...
 
class  TextInputEventArgs
 文本输入事件参数。 更多...
 
struct  TextSelection
 文本选择区域。 更多...
 
class  Thumb
 基本按钮。 更多...
 
struct  UIEventArgs
 用户界面事件参数基类。 更多...
 
class  UIEventSignal
 用户事件信号:表示携带用户事件的消息处理中断的异常。 更多...
 
class  VerticalScrollBar
 竖直滚动条。 更多...
 
class  VerticalTrack
 竖直轨道。 更多...
 
class  View
 部件视图。 更多...
 
class  Visual
 可视状态。 更多...
 
class  Widget
 部件。 更多...
 
class  WidgetController
 部件控制器。 更多...
 
class  WidgetLoader
 部件加载器。 更多...
 
class  WidgetNotFound
 找不到部件。 更多...
 
class  Window
 窗口。 更多...
 

类型定义

using Form = Window
 
template<typename... _tParams>
using GWidgetCreator = unique_ptr< IWidget >(*)(_tParams...)
 
template<typename... _tParams>
using GWidgetInserter = void(*)(IWidget &, _tParams...)
 
using IndexEventArgs = GValueEventArgs< MTextList::IndexType >
 索引事件。 更多...
 
using ViewerType = GSequenceViewer< ListType >
 视图类型。 更多...
 
using ViewArgs = GValueEventArgs< bool >
 视图参数类型。 更多...
 
template<typename _type >
using GBrushUpdater = std::function< void(const PaintContext &, _type, const Point &, const Point &)>
 画刷更新器类型。 更多...
 
using HBrush = std::function< void(PaintEventArgs &&)>
 画刷回调函数。 更多...
 
using ZOrderType = u8
 
using WheelDelta = ptrdiff_t
 滚轮度量:以角度计量的转动滚轮的幅度。 更多...
 
using VisualEventMap = EventMapping::MapType
 
using WidgetIterator = ystdex::any_input_iterator< IWidget >
 通用部件迭代器。 更多...
 
using WidgetRange = pair< WidgetIterator, WidgetIterator >
 两个部件迭代器组成的左闭右开区间确定的迭代器范围。 更多...
 

枚举

enum  BorderArea : u8 {
  BorderArea::Left = 0, BorderArea::Up = 0, BorderArea::Center = 1, BorderArea::Right = 2,
  BorderArea::Down = 2
}
 边框区域。 更多...
 
enum  TextAlignment {
  TextAlignment::Left = 0, TextAlignment::Up = 0, TextAlignment::Center = 1, TextAlignment::Right = 2,
  TextAlignment::Down = 2
}
 
enum  ScrollCategory {
  ScrollCategory::SmallDecrement = 0, ScrollCategory::SmallIncrement = 1, ScrollCategory::LargeDecrement = 2, ScrollCategory::LargeIncrement = 3,
  ScrollCategory::ThumbPosition = 4, ScrollCategory::ThumbTrack = 5, ScrollCategory::First = 6, ScrollCategory::Last = 7,
  ScrollCategory::EndScroll = 8
}
 滚动类别。 更多...
 
enum  CursorState { CursorState::Outside, CursorState::Over, CursorState::Pressed }
 指针设备光标相对于控件的状态。 更多...
 

函数

YF_API void SwitchVisible (IWidget &)
 切换部件显示状态并无效化。 更多...
 
YF_API void SwitchVisibleToFront (IWidget &)
 切换部件显示状态并请求提升至前端。 更多...
 
template<class _tWidget >
void SetBufferRendererAndText (_tWidget &wgt, const String &s)
 设置部件渲染器为 BufferedRenderer 及部件的 Text 成员。 更多...
 
YF_API shared_ptr
< TextList::ListType > 
FetchVisualStyleNames (String=u"<Default>")
 取视觉样式名称。 更多...
 
yconstexpr Messaging::Priority AnimationPriority (0x20)
 默认背景动画任务消息优先级。 更多...
 
_fCallable void Restart (_tAnimation &ani, IWidget &wgt, _fCallable f)
 
template<class _tAnimation , typename _fCallable , typename _tTimer >
void SetupByTimer (_tAnimation &ani, IWidget &wgt, _tTimer &&timer, _fCallable f)
 安装以计时器控制的动画效果。 更多...
 
 PDefH (void, Activate, Console &console, Drawing::Color fc=Drawing::ColorSpace::White) ImplExpr(Activate(console
 激活:使用指定屏幕、有效性、前景色和默认背景色。 更多...
 
YF_API Rect ParseRect (const string &)
 
template<typename _tWidget , typename... _tParams>
static unique_ptr< IWidget > CreateUniqueWidget (_tParams &&...args)
 注册部件加载器:创建部件。 更多...
 
template<typename _tWidget , typename... _tParams>
static void InsertWidget (IWidget &wgt, _tParams &&...args)
 注册部件加载器:添加部件引用。 更多...
 
bool CheckChildName (const string &str)
 
template<typename... _tParams>
IWidget & AccessWidget (const ValueNode &node, const string &name, _tParams &&...args)
 
template<class _tWidget , typename... _tParams>
_tWidget & AccessWidget (const ValueNode &node, _tParams &&...args)
 
const ZOrderType DefaultMenuZOrder (224)
 默认菜单 Z 顺序值。 更多...
 
YF_API void LocateMenu (Menu &, const Menu &, Menu::IndexType)
 定位菜单:以第二个参数作为参考父菜单,按指定参考偏移索引定位菜单。 更多...
 
 DeclDelegate (HScrollEvent, ScrollEventArgs) class YF_API ATrack
 轨道。 更多...
 
YF_API void DrawTrackBackground (PaintEventArgs &&e, ATrack &)
 绘制指定色调的基本按钮背景。 更多...
 
 DeclEvent (HViewEvent, ViewChanged) DeclEvent(HIndexEvent
 视图变更事件。 更多...
 
Selected DeclEvent (HIndexEvent, Confirmed) explicit TextList(const Rect &
 项目选中确认事件。 更多...
 
Selected const shared_ptr
< ListType > const pair< Color,
Color > & 
DefDeMoveCtor (TextList) DefPredMem(const ynothrow
 
Selected const shared_ptr
< ListType > const pair< Color,
Color > viewer 
PDefH (bool, Contains, ListType::size_type i) ImplBodyMem(viewer
 
 DefGetterMem (const ynothrow, ListType::size_type, SelectedIndex, viewer) SDst GetFullViewHeight() const
 取完整视图高。 更多...
 
SDst GetViewPosition () const
 取视图顶端竖直位置。 更多...
 
void SetList (const shared_ptr< ListType > &)
 设置文本列表。 更多...
 
void SetSelected (ListType::size_type)
 按指定项目索引设置选中项目。 更多...
 
void SetSelected (SPos, SPos)
 按接触点设置选中项目。 更多...
 
void SetSelected (const Point &pt)
 按接触点设置选中项目。 更多...
 
SDst AdjustOffset (bool)
 调整列表视图底项目的竖直偏移量为零。 更多...
 
void AdjustViewForContent ()
 按内容大小依次调整视图中选中和首个项目的索引,然后按需调整竖直偏移量。 更多...
 
void AdjustViewLength ()
 调整视图长度。 更多...
 
virtual bool CheckConfirmed (ListType::size_type) const
 检查列表中的指定项是否有效。 更多...
 
ListType::size_type CheckPoint (SPos, SPos)
 检查点(相对于所在缓冲区的控件坐标)是否在选择范围内, 更多...
 
ListType::size_type CheckPoint (const Point &pt)
 检查点(相对于所在缓冲区的控件坐标)是否在选择范围内, 更多...
 
 PDefH (void, ClearSelected,) ImplBodyMem(viewer
 
void InvalidateSelected (ListType::difference_type offset, ListType::size_type diff=1)
 无效化偏移量对应的列表项区域。 更多...
 
void InvalidateSelected2 (ListType::difference_type, ListType::difference_type)
 无效化偏移量对应的列表项区域。 更多...
 
void LocateViewPosition (SDst)
 定位视图顶端至指定竖直位置。 更多...
 
virtual void DrawItem (const Graphics &, const Rect &mask, const Rect &, ListType::size_type)
 绘制列表项。 更多...
 
virtual void DrawItemBackground (const PaintContext &, const Rect &r)
 描画列表项背景。 更多...
 
virtual void DrawItems (const PaintContext &)
 绘制列表。 更多...
 
void Refresh (PaintEventArgs &&) override
 刷新:按指定参数绘制界面并更新状态。 更多...
 
void ResetView ()
 复位视图。 更多...
 
void SelectFirst ()
 选择第一个项目。 更多...
 
void SelectLast ()
 选择最后一个项目。 更多...
 
void CallSelected ()
 调用选中事件处理器。 更多...
 
void InvokeConfirmed (ListType::size_type)
 检查和调用确认事件处理器。 更多...
 
template<typename _fPixelShader , bool _bSwapLR = false, bool _bSwapUD = false>
void UpdatePixels (_fPixelShader shader, const PaintContext &pc, const Drawing::Image &img, const Point &dst_offset, const Point &src_offset)
 更新:逐像素操作。 更多...
 
 FwdDeclI (IWidget) class ImageBrush
 
bool IsEnabled (const IWidget &wgt)
 判断部件是否为可用的控件。 更多...
 
void SetEnabledOf (IWidget &wgt, bool b)
 设置部件可用性。 更多...
 
YF_API bool Enable (IWidget &, bool=true)
 设置部件可用性,且当可用性改变时无效化部件区域。 更多...
 
template<VisualEvent _vID>
 EventT (typename EventTypeMapping< _vID >::HandlerType)&FetchEvent(IWidget &wgt)
 取部件事件。 更多...
 
template<VisualEvent _vID, typename _tEventArgs >
size_t CallEvent (IWidget &wgt, _tEventArgs &&e)
 调用部件事件,并忽略 BadEvent 异常。 更多...
 
template<VisualEvent _vID, class _tEventArgs >
void OnEvent_Call (_tEventArgs &&e)
 处理事件:直接转发至发送者。 更多...
 
template<class _tEventArgs >
void OnEvent_StopRouting (_tEventArgs &&e)
 
YF_API void OnUIEvent_Invalidate (UIEventArgs &&)
 处理用户界面事件:无效化发送者。 更多...
 
YF_API void OnKeyHeld (KeyEventArgs &&)
 处理键接触保持事件。 更多...
 
YF_API void OnTouchDown_RequestToFrontFocused (CursorEventArgs &&)
 处理屏幕接触开始事件:使用一般接触策略。 更多...
 
YF_API void OnTouchHeld (CursorEventArgs &&)
 处理屏幕接触保持事件。 更多...
 
YF_API void OnTouchHeld_Dragging (CursorEventArgs &&)
 处理屏幕接触移动事件:拖放按下部件。 更多...
 
YF_API void OnTouchHeld_DraggingRaw (CursorEventArgs &&, IWidget &)
 处理屏幕接触移动事件:拖放指定部件。 更多...
 
YF_API void OnKey_Bound_TouchUp (KeyEventArgs &&)
 处理按键事件:按键-指针设备接触结束。 更多...
 
YF_API void OnKey_Bound_TouchDown (KeyEventArgs &&)
 处理按键事件:按键-指针设备接触开始。 更多...
 
YF_API void OnKey_Bound_Click (KeyEventArgs &&)
 处理按键事件:按键-指针设备按下。 更多...
 
YF_API bool IsFocused (const IWidget &)
 判断部件是否取得焦点。 更多...
 
YF_API bool DoRequestFocus (IWidget &, bool release_event={})
 向部件容器请求获得焦点,并指定 GotFocus 事件发送控件。 更多...
 
YF_API bool DoReleaseFocus (IWidget &)
 释放焦点,并指定 LostFocus 事件发送控件。 更多...
 
YF_API void RequestFocusFrom (IWidget &dst, IWidget &src)
 向部件容器请求获得焦点,并指定 GotFocus 事件发送控件。 更多...
 
YF_API void ReleaseFocusFrom (IWidget &dst, IWidget &src)
 释放焦点,并指定 LostFocus 事件发送控件。 更多...
 
 PDefH (void, RequestFocus, IWidget &wgt) ImplExpr(RequestFocusFrom(wgt
 向部件容器释放获得焦点,成功后向自身发送 GotFocus 事件。 更多...
 
wgt PDefH (void, ReleaseFocus, IWidget &wgt) ImplExpr(ReleaseFocusFrom(wgt
 释放焦点,成功后向自身发送 LostFocus 事件。 更多...
 
wgt wgt YF_API void ClearFocusingOf (IWidget &)
 清除焦点指针并以此部件作为事件源调用被清除焦点部件的 LostFocus 事件。 更多...
 
YF_API bool IsFocusedCascade (const IWidget &, const IWidget *={})
 判断部件相对于指针指定的部件是否具有级联焦点。 更多...
 
YF_API void RequestFocusCascade (IWidget &)
 级联请求部件及上层容器焦点。 更多...
 
YF_API void ReleaseFocusCascade (IWidget &)
 级联释放部件及上层容器焦点。 更多...
 
YF_API bool RepeatHeld (InputTimer &, InputTimer::HeldStateType &, const Timers::Duration &, const Timers::Duration &)
 向指定计时器传递参数,根据状态重复按键。 更多...
 
YF_API GUIStateFetchGUIState ()
 取默认图形用户界面公共状态。 更多...
 
bool IsFocusedByShell (const IWidget &wgt, const GUIState &st=FetchGUIState())
 判断指定部件是否被句柄指定的图形用户界面状态锁定为独立焦点。 更多...
 
YF_API IWidget & FetchTopLevel (IWidget &)
 取指定部件的顶层部件。 更多...
 
YF_API IWidget & FetchTopLevel (IWidget &, Point &)
 取指定部件的顶层部件,当返回非第一参数时变换坐标。 更多...
 
YF_API Point LocateOffset (const IWidget *, Point, const IWidget *)
 取相对于第三参数指向的部件的点相对于第一参数指向的容器的偏移坐标。 更多...
 
Point LocateContainerOffset (const IWidget &wgt, const Point &pt)
 取相对部件 wgt 的点 pt 相对于 wgt 的容器的偏移坐标。 更多...
 
YF_API Point LocateForWidget (const IWidget &, const IWidget &)
 取第二参数指定的部件相对于第一参数指定的部件的偏移坐标。 更多...
 
template<class _tWidget , typename _fFetcher >
Point LocateForWidgetNode (IWidget &wgt, _fFetcher fetch_ptr)
 取指定部件相对于视图树中的直接节点指针的偏移坐标。 更多...
 
YF_API Point LocateForParentContainer (const IWidget &)
 取指定部件相对于容器的父容器的偏移坐标。 更多...
 
YF_API void MoveToLeft (IWidget &wgt)
 移动部件 wgt 至容器左端。 更多...
 
YF_API void MoveToRight (IWidget &wgt)
 移动部件 wgt 至容器右端。 更多...
 
YF_API void MoveToTop (IWidget &wgt)
 移动部件 wgt 至容器上端。 更多...
 
YF_API void MoveToBottom (IWidget &wgt)
 移动部件 wgt 至容器下端。 更多...
 
const ZOrderType DefaultZOrder (64)
 默认 Z 顺序值。 更多...
 
const ZOrderType DefaultWindowZOrder (128)
 默认窗口 Z 顺序值。 更多...
 
YF_API bool RemoveFrom (IWidget &, IWidget &)
 从容器中移除部件。 更多...
 
template<class _tCon >
void AddWidget (_tCon &con, IWidget &wgt)
 向部件添加单一子部件。 更多...
 
template<class _tCon >
void AddWidget (_tCon &con, IWidget &wgt, ZOrderType z)
 向部件添加指定 Z 顺序的单一子部件。 更多...
 
template<class _tCon , class... _tWidgets>
void AddWidgets (_tCon &con, _tWidgets &...wgts)
 向部件容器添加子部件。 更多...
 
template<class _tCon , class... _tWidgets>
void AddWidgetsZ (_tCon &con, ZOrderType z, _tWidgets &...wgts)
 向部件容器添加指定 Z 顺序的子部件。 更多...
 
template<class _tCon , class... _tWidgets>
void RemoveWidgets (_tCon &con, _tWidgets &...wgts)
 从部件容器移除子部件。 更多...
 
 DeclDelegate (HUIEvent, UIEventArgs &&) DeclDelegate(HInputEvent
 
InputEventArgs && DeclDelegate (HKeyEvent, KeyEventArgs &&) DeclDelegate(HCursorEvent
 
InputEventArgs CursorEventArgs && DeclDelegate (HPaintEvent, PaintEventArgs &&) DeclDelegate(HCursorWheelEvent
 指针设备滚轮事件。 更多...
 
InputEventArgs CursorEventArgs
CursorWheelEventArgs && 
DeclDelegate (HTextInputEvent, TextInputEventArgs &&) enum VisualEvent
 文本输入事件。 更多...
 
template<class _tEventHandler >
size_t DoEvent (AController &controller, const VisualEvent &id, typename EventArgsHead< typename _tEventHandler::TupleType >::type &&e)
 
template<VisualEvent _vID>
EventMapping::MappedType NewEvent ()
 构造指针指向的 VisualEvent 指定的事件对象。 更多...
 
YF_API EventMapping::ItemTypeGetEvent (EventMapping::MapType &, const VisualEvent &, EventMapping::MappedType(&)())
 在事件映射表中取指定 id 对应的事件。 更多...
 
const IWidget &wgt ImplRet (wgt.GetView().IsVisible()) bool YF_API Contains(const IWidget &
 判断点是否在部件的可视区域内。 更多...
 
 PDefH (bool, Contains, const IWidget &wgt, const Point &pt) ImplRet(Contains(wgt
 判断点是否在部件的可视区域内。 更多...
 
pt pt Y bool YF_API ContainsVisible (const IWidget &wgt, SPos x, SPos y)
 判断点是否在可见部件的可视区域内。 更多...
 
 PDefH (bool, ContainsVisible, const IWidget &wgt, const Point &pt) ImplRet(ContainsVisible(wgt
 判断点是否在可见部件的可视区域内。 更多...
 
pt pt Y PDefH (IWidget *, FetchContainerPtr, const IWidget &wgt) ImplRet(wgt.GetView().ContainerPtr) inline PDefH(IWidget *
 取部件的容器指针。 更多...
 
pt pt Y const IWidget &wgt ImplRet (wgt.GetView().FocusingPtr) inline PDefH(const Point &
 取部件位置。 更多...
 
pt pt Y const IWidget &wgt
const IWidget &wgt 
ImplRet (wgt.GetView().GetLocation()) inline PDefH(const Size &
 取部件大小。 更多...
 
pt pt Y const IWidget &wgt
const IWidget &wgt const
IWidget &wgt 
ImplRet (wgt.GetView().GetSize()) inline PDefH(Rect
 取部件边界。 更多...
 
pt pt Y const IWidget &wgt
const IWidget &wgt const
IWidget &wgt const IWidget
&wgt 
ImplRet ({GetLocationOf(wgt), GetSizeOf(wgt)}) YF_API void SetBoundsOf(IWidget &
 设置部件边界。 更多...
 
pt pt Y const IWidget &wgt
const IWidget &wgt const
IWidget &wgt const IWidget
&wgt const Rect
PDefH (void, SetContainerPtrOf, IWidget &wgt, IWidget *pCon={}) ImplExpr(wgt.GetView().ContainerPtr
 设置部件的容器指针。 更多...
 
YF_API void SetInvalidationToParent (IWidget &)
 在容器设置部件的无效区域。 更多...
 
YF_API void SetLocationOf (IWidget &, const Point &)
 设置部件左上角所在位置(相对于容器的偏移坐标)。 更多...
 
YF_API void SetSizeOf (IWidget &, const Size &)
 设置部件大小。 更多...
 
 PDefH (void, SetVisibleOf, IWidget &wgt, bool b) ImplExpr(wgt.GetView().SetVisible(b)) YF_API void Close(IWidget &)
 设置部件可见性。 更多...
 
YF_API void Hide (IWidget &)
 隐藏部件。 更多...
 
YF_API void Invalidate (IWidget &, const Rect &)
 无效化:使相对于部件的指定区域在直接和间接的窗口缓冲区中无效。 更多...
 
 PDefH (void, Invalidate, IWidget &wgt) ImplExpr(Invalidate(wgt
 无效化:使部件区域在直接和间接的窗口缓冲区中无效。 更多...
 
 GetSizeOf (wgt))) YF_API void InvalidateAll(IWidget &
 无效化:使相对于部件及子部件的指定区域在直接和间接的窗口缓冲区中无效。 更多...
 
const RectPDefH (void, InvalidateAll, IWidget &wgt) ImplExpr(InvalidateAll(wgt
 无效化:使部件及子部件区域在直接和间接的窗口缓冲区中无效。 更多...
 
const Rect const RectPDefH (void, InvalidateChildren, IWidget &wgt) ImplExpr(InvalidateChildren(wgt
 无效化:使部件的子部件区域在直接和间接的窗口缓冲区中无效。 更多...
 
YF_API void PaintChild (IWidget &wgt, PaintEventArgs &&e)
 调用指定子部件的 Paint 事件绘制参数指定的事件发送者。 更多...
 
YF_API Rect PaintChild (IWidget &wgt, const PaintContext &pc)
 调用指定子部件的 Paint 事件绘制指定子部件。 更多...
 
YF_API void PaintVisibleChild (IWidget &, PaintEventArgs &)
 调用 PaintChild 指定子部件并合并参数的重绘区域。 更多...
 
YF_API void RequestToFront (IWidget &)
 请求提升至容器前端。 更多...
 
YF_API void Show (IWidget &)
 显示部件。 更多...
 
void DecorateAsCloseButton (Thumb &tmb)
 
void Activate (Console &, Drawing::Color, Drawing::Color)
 
void Deactivate (Console &)
 
IWidget & AccessWidget (const ValueNode &node)
 
void ResizeForContent (TextList &tl)
 
void UpdateView (TextList &tl, bool is_active)
 
EventMapping::ItemTypeGetEvent (EventMapping::MapType &m, const VisualEvent &id, EventMapping::MappedType(&f)())
 
bool Contains (const IWidget &wgt, SPos x, SPos y)
 
void SetBoundsOf (IWidget &wgt, const Rect &r)
 
void SetInvalidationOf (IWidget &wgt)
 
void Close (IWidget &wgt)
 
void InvalidateAll (IWidget &wgt, const Rect &bounds)
 
void InvalidateChildren (IWidget &wgt, const Rect &bounds)
 
void InvalidateParent (IWidget &wgt)
 
void InvalidateVisibleParent (IWidget &wgt)
 
template<typename _fCallable >
void AnimateTask (_fCallable update, Messaging::Priority prior=UI::AnimationPriority)
 按更新条件和优先级通过消息队列部署动画任务。 更多...
 
template<typename _fCallable >
void AnimateConnection (const shared_ptr< _fCallable > &conn, Messaging::Priority prior=UI::AnimationPriority)
 按指定的连接对象更新动画任务。 更多...
 
template<typename _fCallable >
void Animate (_fCallable f, Messaging::Priority prior=UI::AnimationPriority)
 按指定的可调用对象初始化为连接对象更新动画任务。 更多...
 
template<class _tAnimation , typename _fCallable >
void Setup (_tAnimation &ani, IWidget &wgt, _fCallable f)
 安装动画效果。 更多...
 
template<class _tAnimation , typename _fCallable , typename _fCond >
void Setup (_tAnimation &ani, IWidget &wgt, _fCond cond, _fCallable f)
 
yconstexpr EventPriority BackgroundPriority (0xC0)
 用户界面绘制优先级。 更多...
 
yconstexpr EventPriority BoundaryPriority (0x60)
 
yconstexpr EventPriority ForegroundPriority (0x40)
 

变量

 fc
 
yconstfn const string _tParams && args
 
bool CyclicTraverse
 循环选择遍历。 更多...
 
ViewerType viewer
 列表视图。 更多...
 
SDst top_offset
 列表视图首项目超出上边界的竖直偏移量。 更多...
 
Selected const shared_ptr
< ListType > const pair< Color,
Color
Selected
 
Selected const shared_ptr
< ListType > const pair< Color,
Color > viewer 
Contains
 
 ClearSelected
 
 IsVisible
 
const IWidget &wgt SPos
 
pt X
 
pt pt Y FetchFocusingPtr
 
pt pt Y const IWidget &wgt GetLocationOf
 
pt pt Y const IWidget &wgt
const IWidget &wgt const
IWidget &wgt 
GetBoundsOf
 
yconstfn const stringname
 
yconstfn PDefH (const ValueNode &, AccessWidgetNode, const ValueNode &nd) ImplRet(nd) template< typename..._tParams > const ValueNode &AccessWidgetNode(const ValueNode &node
 按指定名称访问子部件节点。 更多...
 
template<class _tWidget , VisualEvent _vID>
using GWidgetHandlerAdaptor = GHandlerAdaptor< _tWidget, typename EventTypeMapping< _vID >::HandlerType::BaseType >
 
_tWidget & wgt
 
_tWidget _fCallable && f
 
template<VisualEvent _vID, class _tWidget , typename _fCallable >
GWidgetHandlerAdaptor
< _tWidget, _vID > 
MakeWidgetHandlerAdaptor (_tWidget &wgt, _fCallable &&f)
 
template<VisualEvent _vID, class _tTarget , class _tWidget , typename _fCallable >
 EventT (typename EventTypeMapping< _vID >::HandlerType)&AddWidgetHandlerAdaptor(_tTarget &&target
 
pt pt Y const IWidget &wgt
const IWidget &wgt 
GetSizeOf
 无效化:使相对于部件的子部件的指定区域在直接和间接的窗口缓冲区中无效。 更多...
 
YF_API void InvalidateVisible (IWidget &, const Rect &)
 无效化:使相对于可见的部件的指定区域在直接和间接的窗口缓冲区中无效。 更多...
 
 PDefH (void, InvalidateVisible, IWidget &wgt) ImplExpr(InvalidateVisible(wgt
 无效化:使可见的部件区域在直接和间接的窗口缓冲区中无效。 更多...
 

详细描述

自从
build 388

类型定义说明

using YSLib::UI::Form = typedef Window

在文件 form.h40 行定义.

template<typename _type >
using YSLib::UI::GBrushUpdater = typedef std::function<void(const PaintContext&, _type, const Point&, const Point&)>

画刷更新器类型。

模板参数
_type源类型。
注解
第三个参数为目标偏移,第四个参数为源偏移。
自从
build 441

按目标绘制上下文、源和附加偏移更新目标图像的回调接口。

在文件 YBrush.h70 行定义.

template<typename... _tParams>
using YSLib::UI::GWidgetCreator = typedef unique_ptr<IWidget>(*)(_tParams...)
自从
build 494

在文件 Loader.h151 行定义.

template<class _tWidget , VisualEvent _vID>
using YSLib::UI::GWidgetHandlerAdaptor = typedef GHandlerAdaptor<_tWidget, typename EventTypeMapping<_vID>::HandlerType::BaseType>
自从
build 494

在文件 ywgtevt.h585 行定义.

template<typename... _tParams>
using YSLib::UI::GWidgetInserter = typedef void(*)(IWidget&, _tParams...)
自从
build 496

在文件 Loader.h155 行定义.

using YSLib::UI::HBrush = typedef std::function<void(PaintEventArgs&&)>

画刷回调函数。

自从
build 293

在文件 YComponent.h104 行定义.

索引事件。

自从
build 268

在文件 textlist.h47 行定义.

using YSLib::UI::ViewArgs = typedef GValueEventArgs<bool>

视图参数类型。

参数
表示主动定位视图。
自从
build 268

在文件 textlist.h67 行定义.

using YSLib::UI::ViewerType = typedef GSequenceViewer<ListType>

视图类型。

在文件 textlist.h61 行定义.

在文件 ywgtevt.h432 行定义.

using YSLib::UI::WheelDelta = typedef ptrdiff_t

滚轮度量:以角度计量的转动滚轮的幅度。

自从
build 423

在文件 ywgtevt.h210 行定义.

通用部件迭代器。

自从
build 356

在文件 ywidget.h52 行定义.

两个部件迭代器组成的左闭右开区间确定的迭代器范围。

自从
build 357

在文件 ywidget.h57 行定义.

using YSLib::UI::ZOrderType = typedef u8

在文件 yuicont.h146 行定义.

枚举类型说明

enum YSLib::UI::BorderArea : u8
strong

边框区域。

自从
build 444
枚举值
Left 
Up 
Center 
Right 
Down 

在文件 Border.h93 行定义.

指针设备光标相对于控件的状态。

自从
build 463
枚举值
Outside 
Over 
Pressed 

在文件 ycontrol.h345 行定义.

滚动类别。

自从
build 261
枚举值
SmallDecrement 

滚动框小距离减量移动。

SmallIncrement 

滚动框小距离增量移动。

LargeDecrement 

滚动框大距离减量移动。

LargeIncrement 

滚动框大距离增量移动。

ThumbPosition 

滚动框定位(通过直接设置位置)。

ThumbTrack 

滚动框当前正在移动。

First 

滚动框移动至最小位置。

Last 

滚动框移动至最大位置。

EndScroll 

滚动框移动停止。

在文件 scroll.h49 行定义.

枚举值
Left 
Up 
Center 
Right 
Down 

在文件 label.h44 行定义.

函数说明

IWidget& YSLib::UI::AccessWidget ( const ValueNode &  node)

在文件 Loader.cpp66 行定义.

参考 YAssertNonnull.

template<typename... _tParams>
IWidget& YSLib::UI::AccessWidget ( const ValueNode &  node,
const string &  name,
_tParams &&...  args 
)

在文件 Loader.h135 行定义.

参考 args , 以及 yforward.

参考自 AccessWidget().

这是这个函数的调用关系图:

template<class _tWidget , typename... _tParams>
_tWidget& YSLib::UI::AccessWidget ( const ValueNode &  node,
_tParams &&...  args 
)
异常
std::bad_cast不存在指定类型的部件。

在文件 Loader.h142 行定义.

参考 AccessWidget(), args , 以及 yforward.

函数调用图:

void YSLib::UI::Activate ( Console &  ,
Drawing::Color  ,
Drawing::Color   
)
自从
build 494

在文件 Console.cpp45 行定义.

参考自 YSLib::UI::Console::Console().

这是这个函数的调用关系图:

template<class _tCon >
void YSLib::UI::AddWidget ( _tCon &  con,
IWidget &  wgt 
)
inline

向部件添加单一子部件。

自从
build 496

在文件 yuicont.h377 行定义.

参考 wgt.

参考自 InsertWidget().

这是这个函数的调用关系图:

template<class _tCon >
void YSLib::UI::AddWidget ( _tCon &  con,
IWidget &  wgt,
ZOrderType  z 
)
inline

向部件添加指定 Z 顺序的单一子部件。

自从
build 496

在文件 yuicont.h388 行定义.

template<class _tCon , class... _tWidgets>
void YSLib::UI::AddWidgets ( _tCon &  con,
_tWidgets &...  wgts 
)
inline

向部件容器添加子部件。

注解
不保证顺序。
自从
build 303

在文件 yuicont.h400 行定义.

参考 ystdex::unseq_apply().

参考自 YSLib::UI::DialogPanel::DialogPanel(), main() , 以及 YReader::ShlTextReader::SettingSession::SettingSession().

函数调用图:

这是这个函数的调用关系图:

template<class _tCon , class... _tWidgets>
void YSLib::UI::AddWidgetsZ ( _tCon &  con,
ZOrderType  z,
_tWidgets &...  wgts 
)
inline

向部件容器添加指定 Z 顺序的子部件。

注解
不保证顺序。
自从
build 303

在文件 yuicont.h414 行定义.

参考 ystdex::unseq_apply().

函数调用图:

SDst TextList::AdjustOffset ( bool  is_top)
private

调整列表视图底项目的竖直偏移量为零。

后置条件
若调整则 top_offset == 0
返回
返回调整前的偏移量值(取值区间 [0, GetItemHeight()) )。
注解
若没有底项目则不调整,返回 0 。

参数为 true 时,调整列表视图底项目(可能不完全)超出下边界以上的竖直 偏移量为零;否则,调整列表视图首项目(可能不完全)超出上边界以上的竖直偏移量为零。

在文件 textlist.cpp186 行定义.

参考 AdjustViewLength(), top_offset , 以及 viewer.

参考自 SelectFirst() , 以及 SelectLast().

函数调用图:

这是这个函数的调用关系图:

void YSLib::UI::AdjustViewForContent ( )

按内容大小依次调整视图中选中和首个项目的索引,然后按需调整竖直偏移量。

警告
若视图大小变化后不调用此方法调整视图,可能导致选择项越界而行为未定义。
自从
build 392
void YSLib::UI::AdjustViewLength ( )

调整视图长度。

注解
视图长为当项目数足够时所有在视图中显示的(可能不完全)项目总数。
当部件高为 0 时忽略。
警告
设置大小或列表内容后不调用此方法可能导致显示错误。
自从
build 285

参考自 AdjustOffset() , 以及 DrawItems().

这是这个函数的调用关系图:

template<typename _fCallable >
void YSLib::UI::Animate ( _fCallable  f,
Messaging::Priority  prior = UI::AnimationPriority 
)

按指定的可调用对象初始化为连接对象更新动画任务。

自从
build 494

在文件 Animation.h77 行定义.

参考 AnimateConnection().

函数调用图:

template<typename _fCallable >
void YSLib::UI::AnimateConnection ( const shared_ptr< _fCallable > &  conn,
Messaging::Priority  prior = UI::AnimationPriority 
)

按指定的连接对象更新动画任务。

在文件 Animation.h62 行定义.

参考 AnimateTask() , 以及 YAssertNonnull.

参考自 Animate().

函数调用图:

这是这个函数的调用关系图:

template<typename _fCallable >
void YSLib::UI::AnimateTask ( _fCallable  update,
Messaging::Priority  prior = UI::AnimationPriority 
)

按更新条件和优先级通过消息队列部署动画任务。

自从
build 455

在文件 Animation.h53 行定义.

参考 YSLib::Messaging::Renew().

参考自 AnimateConnection().

函数调用图:

这是这个函数的调用关系图:

yconstexpr Messaging::Priority YSLib::UI::AnimationPriority ( 0x20  )

默认背景动画任务消息优先级。

自从
build 450
yconstexpr EventPriority YSLib::UI::BackgroundPriority ( 0xC0  )

用户界面绘制优先级。

自从
build 294

参考自 YSLib::UI::DialogBox::DialogBox(), YSLib::UI::DialogPanel::DialogPanel() , 以及 YSLib::UI::Widget::InitializeEvents().

这是这个函数的调用关系图:

yconstexpr EventPriority YSLib::UI::BoundaryPriority ( 0x60  )

参考自 YSLib::UI::ProgressBar::ProgressBar().

这是这个函数的调用关系图:

template<VisualEvent _vID, typename _tEventArgs >
size_t YSLib::UI::CallEvent ( IWidget &  wgt,
_tEventArgs &&  e 
)
inline

调用部件事件,并忽略 BadEvent 异常。

前置条件
事件参数需可转换为 EventTypeMapping 的 EventType 。
注解
若控件事件不存在则忽略。

在文件 ycontrol.h144 行定义.

void TextList::CallSelected ( )
private

调用选中事件处理器。

在文件 textlist.cpp409 行定义.

参考 Selected , 以及 viewer.

bool YSLib::UI::CheckChildName ( const string &  str)
inline
自从
build 432

在文件 Loader.h75 行定义.

参考自 YSLib::UI::WidgetLoader::TransformUILayout().

这是这个函数的调用关系图:

virtual bool YSLib::UI::CheckConfirmed ( ListType::size_type  ) const
virtual

检查列表中的指定项是否有效。

注解
当且仅当有效时响应 Confirmed 事件。

参考自 YSLib::UI::Menu::CheckConfirmed() , 以及 InvokeConfirmed().

这是这个函数的调用关系图:

TextList::ListType::size_type TextList::CheckPoint ( SPos  x,
SPos  y 
)

检查点(相对于所在缓冲区的控件坐标)是否在选择范围内,

返回
选择的项目索引。

在文件 textlist.cpp254 行定义.

参考 YSLib::Drawing::Rect::Contains(), GetSizeOf, top_offset , 以及 viewer.

参考自 CheckPoint().

函数调用图:

这是这个函数的调用关系图:

ListType::size_type YSLib::UI::CheckPoint ( const Point &  pt)

检查点(相对于所在缓冲区的控件坐标)是否在选择范围内,

返回
选择的项目索引,若无效则为 static_cast<Viewer::IndexType>(-1) 。

在文件 textlist.h223 行定义.

参考 CheckPoint(), YSLib::Drawing::GBinaryGroup< _type >::X , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

函数调用图:

void YSLib::UI::ClearFocusingOf ( IWidget &  wgt)

清除焦点指针并以此部件作为事件源调用被清除焦点部件的 LostFocus 事件。

注解
若此部件非容器则无效。
自从
build 258

在文件 yfocus.cpp112 行定义.

参考 FetchFocusingPtr.

参考自 YSLib::UI::Panel::ClearContents(), Close() , 以及 OnTouchDown_RequestToFrontFocused().

这是这个函数的调用关系图:

void YSLib::UI::Close ( IWidget &  wgt)

在文件 ywidget.cpp95 行定义.

参考 ClearFocusingOf() , 以及 Hide().

参考自 DecorateAsCloseButton(), YSLib::UI::DialogPanel::DialogPanel() , 以及 YReader::ShlTextReader::OnClick().

函数调用图:

这是这个函数的调用关系图:

bool YSLib::UI::Contains ( const IWidget &  wgt,
SPos  x,
SPos  y 
)

在文件 ywidget.cpp40 行定义.

参考 GetBoundsOf.

bool YSLib::UI::ContainsVisible ( const IWidget &  wgt,
SPos  x,
SPos  y 
)

判断点是否在可见部件的可视区域内。

自从
build 173

在文件 ywidget.cpp46 行定义.

参考 Contains , 以及 IsVisible.

template<typename _tWidget , typename... _tParams>
static unique_ptr<IWidget> YSLib::UI::CreateUniqueWidget ( _tParams &&...  args)
static

注册部件加载器:创建部件。

自从
build 433
待办事项:
使用 ISO C++1y 多态 lambda 表达式代替。

在文件 Loader.h54 行定义.

参考 args , 以及 yforward.

参考自 YSLib::UI::GWidgetRegister< const YSLib::Drawing::Rect & >::GetRegister().

这是这个函数的调用关系图:

void YSLib::UI::Deactivate ( Console &  )

在文件 Console.cpp50 行定义.

参考自 YSLib::UI::Console::~Console().

这是这个函数的调用关系图:

YSLib::UI::DeclDelegate ( HScrollEvent  ,
ScrollEventArgs   
)

轨道。

自从
build 167

轨道区域。

自从
build 416

< 值类型。

自从
build 460

滑块:轨道区域上的滚动框。

自从
build 374

< 最小滑块长度。

< 大距离滚动偏移量:滚动事件关联的滑块位置变化绝对值。

< 滑块拖动事件。

< 滚动事件。

构造:使用指定边界和大小。

自从
build 337
build 356

< 滑块拖动事件。

< 滚动事件。

< 取轨道方向。

< 取可滚动区域长度。

< 取轨道方向上的滑块长度。

< 取滑块位置。

< 取轨道方向上的轨道长度。

设置轨道方向上的滑块长度。

设置滑块位置。

设置滚动事件关联值最大取值。

注解
当指定值非正值时无效。
约束 large_delta 不大于指定值。

设置滚动事件关联值。

注解
同步按滑块长度和最大取值的比例设置滑块位置。

设置大距离滚动偏移量。

注解
同步按滑块长度和最大取值的比例设置滑块位置。

检查轨道方向指定位置所在的区域。

定位滑块。

注解
指定滚动事件关联值设置滑块位置并触发对应事件。
当滚动类别为 ScrollCategory::ThumbPosition 值参数为设置指定值; 当滚动类别为 ScrollCategory::SmallDecrementScrollCategory::SmallIncrement 时参数为值变化的绝对值; 其它情况无效。

在文件 scroll.h118 行定义.

参考 DeclEvent(), DeclIEntry, DefDeMoveCtor(), DefEventGetter, DefGetter, DefPred, DefWidgetMemberIteration, GetLocationOf, GetSizeOf, YSLib::Drawing::Horizontal, platform::KeyCategory::None, SPos, ThumbPosition , 以及 YSLib::Drawing::Vertical.

函数调用图:

YSLib::UI::DeclDelegate ( HUIEvent  ,
UIEventArgs &&   
)
InputEventArgs&& YSLib::UI::DeclDelegate ( HKeyEvent  ,
KeyEventArgs &&   
)
自从
build 422
InputEventArgs CursorEventArgs&& YSLib::UI::DeclDelegate ( HPaintEvent  ,
PaintEventArgs &&   
)

指针设备滚轮事件。

自从
build 425
InputEventArgs CursorEventArgs CursorWheelEventArgs&& YSLib::UI::DeclDelegate ( HTextInputEvent  ,
TextInputEventArgs &&   
)

文本输入事件。

自从
build 482

标准控件事件空间。

自从
build 416

< 移动:位置调整。

< 大小调整。

< 键接触结束。

< 键接触开始。

< 键接触保持。

< 键按下。

< 屏幕接触结束。

< 屏幕接触开始。

< 屏幕接触保持。

< 屏幕点击。

屏幕点击在不同部件上。

自从
build 433

指针设备光标悬停。

自从
build 422

指针设备滚轮输入。

自从
build 423

文本输入。

自从
build 482

< 界面绘制。

< 焦点获得。

< 焦点失去。

< 控件进入。

< 控件离开。

在文件 ywgtevt.h301 行定义.

YSLib::UI::DeclEvent ( HViewEvent  ,
ViewChanged   
)

视图变更事件。

自从
build 478

当视图长度或位置发生改变时触发的事件。

项目选择状态变更事件。

自从
build 478

当项目被选中或取消选中时触发的事件。

参考自 DeclDelegate().

这是这个函数的调用关系图:

Selected YSLib::UI::DeclEvent ( HIndexEvent  ,
Confirmed   
) const

项目选中确认事件。

自从
build 478

当前选中项目被确定时触发的事件。

构造:使用指定边界、文本列表和高亮背景色/文本色对。

自从
build 486
void YSLib::UI::DecorateAsCloseButton ( Thumb &  tmb)
related
const ZOrderType YSLib::UI::DefaultMenuZOrder ( 224  )

默认菜单 Z 顺序值。

const ZOrderType YSLib::UI::DefaultWindowZOrder ( 128  )

默认窗口 Z 顺序值。

自从
build 212

参考自 YSLib::UI::Window::operator+=().

这是这个函数的调用关系图:

const ZOrderType YSLib::UI::DefaultZOrder ( 64  )

默认 Z 顺序值。

自从
build 212

参考自 YSLib::UI::WidgetLoader::TransformUILayout().

这是这个函数的调用关系图:

Selected const shared_ptr<ListType> const pair<Color, Color>& YSLib::UI::DefDeMoveCtor ( TextList  ) const

参考自 DeclDelegate().

这是这个函数的调用关系图:

YSLib::UI::DefGetterMem ( const ynothrow  ,
ListType::size_type  ,
SelectedIndex  ,
viewer   
) const

取完整视图高。

注解
依赖于 GetItemHeight 方法的结果。
template<class _tEventHandler >
size_t YSLib::UI::DoEvent ( AController &  controller,
const VisualEvent &  id,
typename EventArgsHead< typename _tEventHandler::TupleType >::type &&  e 
)
自从
build 413

在文件 ywgtevt.h516 行定义.

参考 EventT().

函数调用图:

bool YSLib::UI::DoReleaseFocus ( IWidget &  wgt)

释放焦点,并指定 LostFocus 事件发送控件。

返回
是否成功改变了焦点。
自从
build 315

在文件 yfocus.cpp82 行定义.

参考自 DoRequestFocus() , 以及 ReleaseFocusFrom().

这是这个函数的调用关系图:

bool YSLib::UI::DoRequestFocus ( IWidget &  wgt,
bool  release_event = {} 
)

向部件容器请求获得焦点,并指定 GotFocus 事件发送控件。

参数
release_event是否在需要释放已有焦点时触发事件。
返回
是否成功改变了焦点。
自从
build 315

在文件 yfocus.cpp46 行定义.

参考 DoReleaseFocus(), FetchFocusingPtr, IsFocused(), ReleaseFocusFrom(), wgt , 以及 YAssert.

参考自 RequestFocusFrom().

函数调用图:

这是这个函数的调用关系图:

virtual void YSLib::UI::DrawItem ( const Graphics &  ,
const Rect &  mask,
const Rect &  ,
ListType::size_type   
)
protectedvirtual

绘制列表项。

自从
build 346

参考自 YSLib::UI::Menu::DrawItem() , 以及 DrawItems().

这是这个函数的调用关系图:

void TextList::DrawItemBackground ( const PaintContext &  pc,
const Rect &  r 
)
protectedvirtual

描画列表项背景。

参数
r列表项有效区域边界。
自从
build 346

在文件 textlist.cpp314 行定义.

参考 YSLib::Drawing::Size::Height, YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

参考自 DrawItems().

这是这个函数的调用关系图:

void TextList::DrawItems ( const PaintContext &  pc)
protectedvirtual
bool YSLib::UI::Enable ( IWidget &  wgt,
bool  b = true 
)

设置部件可用性,且当可用性改变时无效化部件区域。

返回
可用性是否改变。
自从
build 286

在文件 ycontrol.cpp90 行定义.

参考 Invalidate(), IsEnabled() , 以及 SetEnabledOf().

参考自 YReader::ShlTextReader::UpdateButtons().

函数调用图:

这是这个函数的调用关系图:

template<VisualEvent _vID, class _tTarget , class _tWidget , typename _fCallable >
YSLib::UI::EventT ( typename EventTypeMapping< _vID >::HandlerType  )
IWidget & YSLib::UI::FetchTopLevel ( IWidget &  wgt)

取指定部件的顶层部件。

返回
若无父部件则为参数自身,否则为视图树中的父部件指针为空指针的部件的引用。
自从
build 282

在文件 yuicont.cpp40 行定义.

IWidget & YSLib::UI::FetchTopLevel ( IWidget &  wgt,
Point &  pt 
)

取指定部件的顶层部件,当返回非第一参数时变换坐标。

返回
若无父部件则为第一参数,否则为视图树中的父部件指针为空指针的部件的引用。
注解
原始坐标相对于指定部件,会被转换为相对于最终节点的坐标。
自从
build 282

在文件 yuicont.cpp49 行定义.

参考 GetLocationOf.

shared_ptr< TextList::ListType > YSLib::UI::FetchVisualStyleNames ( String  default_name = u"<Default>")

取视觉样式名称。

后置条件
结果是指向非空列表的非空指针。
注解
使用参数替换默认名称的空串。
自从
build 469

在文件 ShellHelper.cpp159 行定义.

参考 FetchGUIState(), ystdex::get_key , 以及 YAssert.

函数调用图:

yconstexpr EventPriority YSLib::UI::ForegroundPriority ( 0x40  )
YSLib::UI::FwdDeclI ( IWidget  )
自从
build 294
EventMapping::ItemType& YSLib::UI::GetEvent ( EventMapping::MapType &  m,
const VisualEvent &  id,
EventMapping::MappedType(&)()  f 
)

在文件 ywgtevt.cpp97 行定义.

参考 f , 以及 ystdex::search_map().

函数调用图:

YF_API EventMapping::ItemType& YSLib::UI::GetEvent ( EventMapping::MapType &  ,
const VisualEvent &  ,
EventMapping::  MappedType&)( 
)

在事件映射表中取指定 id 对应的事件。

YSLib::UI::GetSizeOf ( wgt  )

无效化:使相对于部件及子部件的指定区域在直接和间接的窗口缓冲区中无效。

无效化可见的部件区域对应位置的父容器区域。

无效化部件区域对应位置的父容器区域。

无效化:使相对于部件的子部件的指定区域在直接和间接的窗口缓冲区中无效。

自从
build 473
注解
若不存在父容器则忽略。
参见
Invalidate
自从
build 433
注解
若不存在可见的父容器则忽略。
参见
InvalidateParent
InvalidateVisible
SDst TextList::GetViewPosition ( ) const

取视图顶端竖直位置。

注解
依赖于 GetItemHeight 方法的结果。

在文件 textlist.cpp149 行定义.

参考 top_offset , 以及 viewer.

void YSLib::UI::Hide ( IWidget &  wgt)

隐藏部件。

自从
build 229 依次释放部件焦点、设置部件不可见性和无效化。

在文件 ywidget.cpp103 行定义.

参考 Invalidate().

参考自 YReader::ShlTextReader::BaseSession::BaseSession() , 以及 Close().

函数调用图:

这是这个函数的调用关系图:

const IWidget& wgt YSLib::UI::ImplRet ( wgt.  GetView).IsVisible() const

判断点是否在部件的可视区域内。

自从
build 167
pt pt Y const IWidget& wgt const IWidget& wgt const IWidget& wgt YSLib::UI::ImplRet ( wgt.  GetView).GetSize()

取部件边界。

自从
build 190
pt pt Y const IWidget& wgt const IWidget& wgt const IWidget& wgt const IWidget& wgt YSLib::UI::ImplRet ( {GetLocationOf(wgt), GetSizeOf(wgt)}  )

设置部件边界。

注解
调用 SetLocationOf 和 SetSizeOf 。用户程序不应预期具有确定的调用顺序。
自从
build 177
template<typename _tWidget , typename... _tParams>
static void YSLib::UI::InsertWidget ( IWidget &  wgt,
_tParams &&...  args 
)
static

注册部件加载器:添加部件引用。

自从
build 496
待办事项:
使用 ISO C++1y 多态 lambda 表达式代替。

在文件 Loader.h66 行定义.

参考 AddWidget(), args , 以及 yforward.

参考自 YSLib::UI::GWidgetInserterRegister< IWidget & >::GetRegister().

函数调用图:

这是这个函数的调用关系图:

void YSLib::UI::InvalidateAll ( IWidget &  wgt,
const Rect &  bounds 
)

在文件 ywidget.cpp124 行定义.

参考 Invalidate() , 以及 InvalidateChildren().

函数调用图:

void YSLib::UI::InvalidateChildren ( IWidget &  wgt,
const Rect &  bounds 
)

在文件 ywidget.cpp131 行定义.

参考 GetLocationOf , 以及 YSLib::Drawing::r.

参考自 InvalidateAll().

这是这个函数的调用关系图:

void YSLib::UI::InvalidateParent ( IWidget &  wgt)

在文件 ywidget.cpp144 行定义.

参考 GetBoundsOf , 以及 Invalidate().

参考自 YSLib::UI::BorderResizer::Wrap().

函数调用图:

这是这个函数的调用关系图:

void TextList::InvalidateSelected ( ListType::difference_type  offset,
ListType::size_type  diff = 1 
)
protected

无效化偏移量对应的列表项区域。

参数
offset起始偏移量。
diff终止偏移量相对于起始偏移量的距离偏移量。
自从
build 318

在文件 textlist.cpp261 行定义.

参考 YSLib::Drawing::Size::Height, Invalidate(), YSLib::Drawing::r, YSLib::RestrictUnsignedStrict(), top_offset , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

参考自 InvalidateSelected2().

函数调用图:

这是这个函数的调用关系图:

void TextList::InvalidateSelected2 ( ListType::difference_type  x,
ListType::difference_type  y 
)
protected

无效化偏移量对应的列表项区域。

注解
若第二参数小于第一参数则交换它们的值。
区域由参数组成的闭区间指定,若区间左端小于 0 则视为 0 。
自从
build 318

在文件 textlist.cpp279 行定义.

参考 InvalidateSelected() , 以及 ystdex::swap().

函数调用图:

void YSLib::UI::InvalidateVisible ( IWidget &  wgt,
const Rect &  bounds 
)

无效化:使相对于可见的部件的指定区域在直接和间接的窗口缓冲区中无效。

自从
build 455
参见
Invalidate

在文件 ywidget.cpp151 行定义.

参考 GetLocationOf, IsVisible , 以及 YSLib::Drawing::r.

参考自 YSLib::UI::InvalidationUpdater::DefaultInvalidate(), YSLib::UI::InvalidationUpdater::DefaultInvalidateControl(), YSLib::UI::TextBox::InvalidateDefaultCaret() , 以及 InvalidateVisibleParent().

这是这个函数的调用关系图:

void YSLib::UI::InvalidateVisibleParent ( IWidget &  wgt)

在文件 ywidget.cpp166 行定义.

参考 GetBoundsOf, InvalidateVisible() , 以及 IsVisible.

函数调用图:

void TextList::InvokeConfirmed ( ListType::size_type  idx)
private

检查和调用确认事件处理器。

在文件 textlist.cpp415 行定义.

参考 CheckConfirmed().

函数调用图:

bool YSLib::UI::IsFocused ( const IWidget &  wgt)

判断部件是否取得焦点。

在文件 yfocus.cpp38 行定义.

参考 FetchFocusingPtr.

参考自 YSLib::UI::TabBar::DefaultPaintTabBorder(), DoRequestFocus(), YSLib::UI::GUIState::HandleCascade() , 以及 YSLib::UI::Styles::InitExStyles().

这是这个函数的调用关系图:

bool YSLib::UI::IsFocusedByShell ( const IWidget &  wgt,
const GUIState &  st = FetchGUIState() 
)
inline

判断指定部件是否被句柄指定的图形用户界面状态锁定为独立焦点。

自从
build 287

在文件 ygui.h318 行定义.

参考 wgt.

bool YSLib::UI::IsFocusedCascade ( const IWidget &  wgt,
const IWidget *  p_top = {} 
)

判断部件相对于指针指定的部件是否具有级联焦点。

注解
逐级向父部件判断。
若指针指定的部件不包含指定判断焦点的部件或为空,则判断到顶层部件。
和 IsFocused 不同,若无父部件则认为是焦点。
自从
build 482

在文件 yfocus.cpp122 行定义.

参考 FetchFocusingPtr.

参考自 YSLib::UI::Caret::Check().

这是这个函数的调用关系图:

Point YSLib::UI::LocateContainerOffset ( const IWidget &  wgt,
const Point &  pt 
)
inline

取相对部件 wgt 的点 pt 相对于 wgt 的容器的偏移坐标。

自从
build 167

在文件 yuicont.h70 行定义.

参考 GetLocationOf.

参考自 LocateForParentContainer().

这是这个函数的调用关系图:

Point YSLib::UI::LocateForParentContainer ( const IWidget &  wgt)

取指定部件相对于容器的父容器的偏移坐标。

注解
若无容器则返回 Point::Invalid
自从
build 167

在文件 yuicont.cpp104 行定义.

参考 GetLocationOf , 以及 LocateContainerOffset().

函数调用图:

Point YSLib::UI::LocateForWidget ( const IWidget &  a,
const IWidget &  b 
)

取第二参数指定的部件相对于第一参数指定的部件的偏移坐标。

自从
build 489

在文件 yuicont.cpp74 行定义.

参考 ystdex::get_key , 以及 GetLocationOf.

template<class _tWidget , typename _fFetcher >
Point YSLib::UI::LocateForWidgetNode ( IWidget &  wgt,
_fFetcher  fetch_ptr 
)

取指定部件相对于视图树中的直接节点指针的偏移坐标。

模板参数
_Node节点类型。
_fFetcher节点访问器类型。
自从
build 227

在文件 yuicont.h90 行定义.

参考 YSLib::Drawing::GBinaryGroup< SPos >::Invalid, LocateOffset() , 以及 YB_LIKELY.

函数调用图:

void YSLib::UI::LocateMenu ( Menu &  dst,
const Menu &  src,
Menu::IndexType  idx 
)

定位菜单:以第二个参数作为参考父菜单,按指定参考偏移索引定位菜单。

在文件 menu.cpp228 行定义.

参考 SetLocationOf().

参考自 YSLib::UI::Menu::ShowSub().

函数调用图:

这是这个函数的调用关系图:

Point YSLib::UI::LocateOffset ( const IWidget *  p_end,
Point  pt,
const IWidget *  p_wgt 
)

取相对于第三参数指向的部件的点相对于第一参数指向的容器的偏移坐标。

自从
build 229

在文件 yuicont.cpp63 行定义.

参考 GetLocationOf.

参考自 LocateForWidgetNode().

这是这个函数的调用关系图:

void YSLib::UI::LocateViewPosition ( SDst  )

定位视图顶端至指定竖直位置。

template<VisualEvent _vID, class _tWidget , typename _fCallable >
GWidgetHandlerAdaptor<_tWidget, _vID> YSLib::UI::MakeWidgetHandlerAdaptor ( _tWidget &  wgt,
_fCallable &&  f 
)

在文件 ywgtevt.h589 行定义.

参考 f, wgt , 以及 yforward.

void YSLib::UI::MoveToBottom ( IWidget &  wgt)

移动部件 wgt 至容器下端。

前置条件
断言: FetchContainerPtr(wgt) 。
自从
build 171

在文件 yuicont.cpp135 行定义.

参考 GetLocationOf, GetSizeOf, SetLocationOf(), YSLib::Drawing::X , 以及 YAssertNonnull.

参考自 YSLib::UI::AScrollBar::AScrollBar(), YSLib::UI::ScrollableContainer::FixLayout() , 以及 YSLib::UI::ScrollableContainer::ScrollableContainer().

函数调用图:

这是这个函数的调用关系图:

void YSLib::UI::MoveToLeft ( IWidget &  wgt)

移动部件 wgt 至容器左端。

前置条件
断言: FetchContainerPtr(wgt) 。
自从
build 171

在文件 yuicont.cpp113 行定义.

参考 GetLocationOf, SetLocationOf(), YSLib::Drawing::Y , 以及 YAssertNonnull.

函数调用图:

void YSLib::UI::MoveToRight ( IWidget &  wgt)

移动部件 wgt 至容器右端。

前置条件
断言: FetchContainerPtr(wgt) 。
自从
build 171

在文件 yuicont.cpp120 行定义.

参考 GetLocationOf, GetSizeOf, SetLocationOf(), YSLib::Drawing::Width, YSLib::Drawing::Y , 以及 YAssertNonnull.

参考自 YSLib::UI::AScrollBar::AScrollBar(), YSLib::UI::ScrollableContainer::FixLayout() , 以及 YSLib::UI::ScrollableContainer::ScrollableContainer().

函数调用图:

这是这个函数的调用关系图:

void YSLib::UI::MoveToTop ( IWidget &  wgt)

移动部件 wgt 至容器上端。

前置条件
断言: FetchContainerPtr(wgt) 。
自从
build 171

在文件 yuicont.cpp128 行定义.

参考 GetLocationOf, SetLocationOf(), YSLib::Drawing::X , 以及 YAssertNonnull.

函数调用图:

template<VisualEvent _vID>
EventMapping::MappedType YSLib::UI::NewEvent ( )

构造指针指向的 VisualEvent 指定的事件对象。

在文件 ywgtevt.h537 行定义.

参考 EventT().

函数调用图:

template<VisualEvent _vID, class _tEventArgs >
void YSLib::UI::OnEvent_Call ( _tEventArgs &&  e)
inline

处理事件:直接转发至发送者。

模板参数
_vID指定转发的目标事件。
_tEventArgs事件参数类型。
警告
不应使用于自身以免无限递归。
自从
build 300

在文件 ycontrol.h173 行定义.

template<class _tEventArgs >
void YSLib::UI::OnEvent_StopRouting ( _tEventArgs &&  e)
inline

在文件 ycontrol.h184 行定义.

void YSLib::UI::OnKey_Bound_Click ( KeyEventArgs &&  e)

处理按键事件:按键-指针设备按下。

绑定触发 Click 事件。

注解
仅对 Control 及其派生类有效。

在文件 ycontrol.cpp183 行定义.

参考 YSLib::Drawing::GBinaryGroup< SPos >::Invalid.

void YSLib::UI::OnKey_Bound_TouchDown ( KeyEventArgs &&  e)

处理按键事件:按键-指针设备接触开始。

注解
仅对 Control 及其派生类有效。
自从
build 424

绑定触发 TouchDown 事件。

在文件 ycontrol.cpp171 行定义.

参考 YSLib::Drawing::GBinaryGroup< SPos >::Invalid.

参考自 YSLib::UI::AScrollBar::AScrollBar().

这是这个函数的调用关系图:

void YSLib::UI::OnKey_Bound_TouchUp ( KeyEventArgs &&  e)

处理按键事件:按键-指针设备接触结束。

注解
仅对 Control 及其派生类有效。
自从
build 424

绑定触发 TouchUp 事件。

在文件 ycontrol.cpp159 行定义.

参考 YSLib::Drawing::GBinaryGroup< SPos >::Invalid.

参考自 YSLib::UI::AScrollBar::AScrollBar().

这是这个函数的调用关系图:

void YSLib::UI::OnKeyHeld ( KeyEventArgs &&  e)

处理键接触保持事件。

在文件 ycontrol.cpp108 行定义.

参考 FetchGUIState().

参考自 YSLib::UI::AScrollBar::AScrollBar().

函数调用图:

这是这个函数的调用关系图:

void YSLib::UI::OnTouchDown_RequestToFrontFocused ( CursorEventArgs &&  e)

处理屏幕接触开始事件:使用一般接触策略。

屏幕接触时依次进行以下判断: 当事件路由策略非 RoutedEventArgs::Bubble 时请求置于顶端; 当事件路由策略为 RoutedEventArgs::Direct 时清除自身包含的焦点; 当事件路由策略非 RoutedEventArgs::Tunnel 时请求置于顶端。

自从
build 422

在文件 ycontrol.cpp118 行定义.

参考 YSLib::UI::RoutedEventArgs::Bubble, ClearFocusingOf(), YSLib::UI::RoutedEventArgs::Direct, RequestToFront(), YSLib::UI::RoutedEventArgs::Tunnel , 以及 wgt.

函数调用图:

void YSLib::UI::OnTouchHeld ( CursorEventArgs &&  e)

处理屏幕接触保持事件。

注解
重复触发 TouchDown 事件。
自从
build 422

在文件 ycontrol.cpp131 行定义.

参考 YSLib::UI::RoutedEventArgs::Direct , 以及 FetchGUIState().

参考自 YSLib::UI::AScrollBar::AScrollBar().

函数调用图:

这是这个函数的调用关系图:

void YSLib::UI::OnTouchHeld_Dragging ( CursorEventArgs &&  e)

处理屏幕接触移动事件:拖放按下部件。

注解
无效化当前区域,但不无效化移动后区域;通过 Move 事件可以调用无效化。
自从
build 422

在文件 ycontrol.cpp144 行定义.

参考 YSLib::UI::RoutedEventArgs::Direct.

void YSLib::UI::OnTouchHeld_DraggingRaw ( CursorEventArgs &&  e,
IWidget &  wgt 
)

处理屏幕接触移动事件:拖放指定部件。

注解
无效化当前区域,但不无效化移动后区域;通过 Move 事件可以调用无效化。
自从
build 434

在文件 ycontrol.cpp151 行定义.

参考 YSLib::UI::RoutedEventArgs::Direct.

void YSLib::UI::OnUIEvent_Invalidate ( UIEventArgs &&  e)

处理用户界面事件:无效化发送者。

自从
build 486

在文件 ycontrol.cpp102 行定义.

参考 Invalidate().

函数调用图:

void YSLib::UI::PaintChild ( IWidget &  wgt,
PaintEventArgs &&  e 
)

调用指定子部件的 Paint 事件绘制参数指定的事件发送者。

参见
Renderer::Paint
自从
build 263

以 e.Sender() 作为绘制目标,判断其边界是否和区域 e.ClipArea 相交, 若相交区域非空则调用 wgt 的渲染器的 Paint 方法绘制 。 调用中, e.Location 被修改为相对子部件的坐标, e.ClipArea 被覆盖为相交区域。 之后, e 可继续被 e.GetSender() 的渲染器的 Paint 方法修改。

在文件 ywidget.cpp174 行定义.

参考 YSLib::Drawing::Clip(), GetLocationOf , 以及 GetSizeOf.

参考自 YSLib::UI::ChildPainter::operator()(), PaintChild() , 以及 PaintVisibleChild().

函数调用图:

这是这个函数的调用关系图:

Rect YSLib::UI::PaintChild ( IWidget &  wgt,
const PaintContext &  pc 
)

调用指定子部件的 Paint 事件绘制指定子部件。

返回
实际绘制的区域。
注解
使用指定子部件作为事件发送者并复制参数。
自从
build 294

以 wgt 作为绘制目标,判断其边界是否和区域 pc.ClipArea 相交, 若相交区域非空则调用 wgt 的渲染器的 Paint 方法绘制 。

在文件 ywidget.cpp183 行定义.

参考 PaintChild().

函数调用图:

void YSLib::UI::PaintVisibleChild ( IWidget &  wgt,
PaintEventArgs &  e 
)

调用 PaintChild 指定子部件并合并参数的重绘区域。

自从
build 494

在文件 ywidget.cpp192 行定义.

参考 IsVisible , 以及 PaintChild().

参考自 YSLib::UI::MUIContainer::PaintVisibleChildren() , 以及 YSLib::UI::Widget::Refresh().

函数调用图:

这是这个函数的调用关系图:

Rect YSLib::UI::ParseRect ( const string &  str)
自从
build 433

在文件 Loader.cpp43 行定义.

参考 platform::Descriptions::Informative, ystdex::to_string() , 以及 YTraceDe.

参考自 YSLib::UI::WidgetLoader::DetectWidgetNode().

函数调用图:

这是这个函数的调用关系图:

YSLib::UI::PDefH ( void  ,
Activate  ,
Console &  console,
Drawing::Color  fc = Drawing::ColorSpace::White 
)
inline

激活:使用指定屏幕、有效性、前景色和默认背景色。

注解
使用非限定名称查找到的友元函数。
自从
build 494
yconstfn YSLib::UI::PDefH ( const ValueNode &  ,
AccessWidgetNode  ,
const ValueNode &  nd 
) const

按指定名称访问子部件节点。

异常
WidgetNotFound没有找到指定名称的部件。
注解
不抛出 std::out_of_range (已全部捕获并抛出为 WidgetNotFound )。
自从
build 498
YSLib::UI::PDefH ( bool  ,
Contains  ,
const IWidget &  wgt,
const Point &  pt 
)
inline

判断点是否在部件的可视区域内。

自从
build 167
YSLib::UI::PDefH ( bool  ,
ContainsVisible  ,
const IWidget &  wgt,
const Point &  pt 
)
inline

判断点是否在可见部件的可视区域内。

自从
build 173
Selected const shared_ptr<ListType> const pair<Color, Color> viewer YSLib::UI::PDefH ( bool  ,
Contains  ,
ListType::size_type  i 
)
pt pt Y const IWidget& wgt const IWidget& wgt const IWidget& wgt const IWidget& wgt const Rect& YSLib::UI::PDefH ( void  ,
SetContainerPtrOf  ,
IWidget &  wgt,
IWidget *  pCon = {} 
)
inline

设置部件的容器指针。

自从
build 269
YSLib::UI::PDefH ( void  ,
SetVisibleOf  ,
IWidget &  wgt,
bool  b 
)
inline

设置部件可见性。

自从
build 259

关闭部件。

自从
build 275

隐藏部件后取消容器(若存在)焦点状态。

YSLib::UI::PDefH ( void  ,
ClearSelected   
)
YSLib::UI::PDefH ( void  ,
Invalidate  ,
IWidget &  wgt 
)
inline

无效化:使部件区域在直接和间接的窗口缓冲区中无效。

自从
build 224
const Rect& YSLib::UI::PDefH ( void  ,
InvalidateAll  ,
IWidget &  wgt 
)
inline

无效化:使部件及子部件区域在直接和间接的窗口缓冲区中无效。

const Rect const Rect& YSLib::UI::PDefH ( void  ,
InvalidateChildren  ,
IWidget &  wgt 
)
inline

无效化:使部件的子部件区域在直接和间接的窗口缓冲区中无效。

YSLib::UI::PDefH ( void  ,
InvalidateVisible  ,
IWidget &  wgt 
)
inline

无效化:使可见的部件区域在直接和间接的窗口缓冲区中无效。

参见
Invalidate
void YSLib::UI::Refresh ( PaintEventArgs &&  )
override

刷新:按指定参数绘制界面并更新状态。

自从
build 294
void YSLib::UI::ReleaseFocusCascade ( IWidget &  wgt)

级联释放部件及上层容器焦点。

在文件 yfocus.cpp149 行定义.

void YSLib::UI::ReleaseFocusFrom ( IWidget &  dst,
IWidget &  src 
)

释放焦点,并指定 LostFocus 事件发送控件。

参数
dst事件目标。
src事件源。
注解
若成功则在 dst 上触发 src 发送的 LostFocus 事件。

在文件 yfocus.cpp105 行定义.

参考 DoReleaseFocus().

参考自 DoRequestFocus().

函数调用图:

这是这个函数的调用关系图:

bool YSLib::UI::RemoveFrom ( IWidget &  wgt,
IWidget &  con 
)

从容器中移除部件。

返回
是否移除成功。
注解
第二个参数指定的部件作为容器检查和尝试移除第一个参数指定的部件。
若移除成功同时移除焦点指针。
自从
build 494

在文件 yuicont.cpp144 行定义.

参考 FetchFocusingPtr.

参考自 YSLib::UI::Panel::operator-=() , 以及 YSLib::UI::TabBar::operator-=().

这是这个函数的调用关系图:

template<class _tCon , class... _tWidgets>
void YSLib::UI::RemoveWidgets ( _tCon &  con,
_tWidgets &...  wgts 
)
inline

从部件容器移除子部件。

注解
不保证顺序。
自从
build 303

在文件 yuicont.h428 行定义.

参考 ystdex::unseq_apply().

参考自 YReader::ShlTextReader::SettingSession::~SettingSession().

函数调用图:

这是这个函数的调用关系图:

bool YSLib::UI::RepeatHeld ( InputTimer &  tmr,
InputTimer::HeldStateType &  st,
const Timers::Duration &  initial_delay,
const Timers::Duration &  repeated_delay 
)

向指定计时器传递参数,根据状态重复按键。

返回
当且仅当结果为 true 时或之前状态为 HeldStateType::Free 时为 true 。
自从
build 300

在文件 ygui.cpp117 行定义.

参考 YSLib::UI::InputTimer::Free , 以及 YSLib::UI::InputTimer::RefreshHeld().

参考自 YReader::ShlTextReader::OnKeyDown().

函数调用图:

这是这个函数的调用关系图:

void YSLib::UI::RequestFocusCascade ( IWidget &  wgt)

级联请求部件及上层容器焦点。

在文件 yfocus.cpp138 行定义.

void YSLib::UI::RequestFocusFrom ( IWidget &  dst,
IWidget &  src 
)

向部件容器请求获得焦点,并指定 GotFocus 事件发送控件。

参数
dst事件目标。
src事件源。
注解
若成功则在 dst 上触发 src 发送的 GotFocus 事件。

在文件 yfocus.cpp98 行定义.

参考 DoRequestFocus().

函数调用图:

void YSLib::UI::RequestToFront ( IWidget &  wgt)

请求提升至容器前端。

注解
必要时无效化。
自从
build 467
待办事项:
完全实现提升 IWidget 至容器顶端(目前仅实现父容器为 Panel 的情形)。

在文件 ywidget.cpp199 行定义.

参考自 OnTouchDown_RequestToFrontFocused() , 以及 SwitchVisibleToFront().

这是这个函数的调用关系图:

void YSLib::UI::ResetView ( )

复位视图。

注解
若项目列表非空则选择首个项目。
void YSLib::UI::ResizeForContent ( TextList &  tl)
related

在文件 textlist.cpp423 行定义.

参考 SetSizeOf().

函数调用图:

_fCallable void YSLib::UI::Restart ( _tAnimation &  ani,
IWidget &  wgt,
_fCallable  f 
)
inline

在文件 Animation.h177 行定义.

参考 f.

参考自 YSLib::UI::Caret::Caret() , 以及 Setup().

这是这个函数的调用关系图:

void TextList::SelectFirst ( )

选择第一个项目。

注解
仅操作 viewer ,不更新视图。

在文件 textlist.cpp395 行定义.

参考 AdjustOffset(), YSLib::UI::GSequenceViewer< _tCon >::SetSelectedIndex() , 以及 viewer.

函数调用图:

void TextList::SelectLast ( )

选择最后一个项目。

注解
仅操作 viewer ,不更新视图。

在文件 textlist.cpp402 行定义.

参考 AdjustOffset(), YSLib::UI::GSequenceViewer< _tCon >::SetSelectedIndex() , 以及 viewer.

函数调用图:

void YSLib::UI::SetBoundsOf ( IWidget &  wgt,
const Rect &  r 
)

在文件 ywidget.cpp53 行定义.

参考 SetLocationOf() , 以及 SetSizeOf().

参考自 YSLib::UI::TabBar::PerformLayout(), YSLib::UI::TabControl::SwitchPage(), YSLib::UI::TabControl::UpdateTabPages() , 以及 YSLib::UI::BorderResizer::Wrap().

函数调用图:

这是这个函数的调用关系图:

template<class _tWidget >
void YSLib::UI::SetBufferRendererAndText ( _tWidget &  wgt,
const String &  s 
)
inline

设置部件渲染器为 BufferedRenderer 及部件的 Text 成员。

自从
build 301

在文件 ShellHelper.h504 行定义.

参考 platform_ex::Windows::s.

void YSLib::UI::SetEnabledOf ( IWidget &  wgt,
bool  b 
)
inline

设置部件可用性。

在文件 ycontrol.h101 行定义.

参考自 Enable().

这是这个函数的调用关系图:

void YSLib::UI::SetInvalidationOf ( IWidget &  wgt)

在文件 ywidget.cpp60 行定义.

参考 GetSizeOf.

参考自 YSLib::UI::Panel::ClearContents() , 以及 main().

这是这个函数的调用关系图:

void YSLib::UI::SetInvalidationToParent ( IWidget &  wgt)

在容器设置部件的无效区域。

注解
若容器不存在则忽略。
自从
build 229

在文件 ywidget.cpp66 行定义.

参考 GetBoundsOf.

void YSLib::UI::SetList ( const shared_ptr< ListType > &  )

设置文本列表。

注解
若参数为空则忽略,否则设置列表并重置视图。
自从
build 292
void YSLib::UI::SetLocationOf ( IWidget &  wgt,
const Point &  pt 
)

设置部件左上角所在位置(相对于容器的偏移坐标)。

注解
设置视图状态后触发 Move 事件。
自从
build 259

在文件 ywidget.cpp73 行定义.

参考 GetLocationOf , 以及 wgt.

参考自 YSLib::UI::HorizontalTrack::HorizontalTrack(), LocateMenu(), MoveToBottom(), MoveToLeft(), MoveToRight(), MoveToTop(), SetBoundsOf(), YReader::ShlTextReader::ShowMenu() , 以及 YSLib::UI::VerticalTrack::VerticalTrack().

这是这个函数的调用关系图:

void YSLib::UI::SetSelected ( ListType::size_type  )

按指定项目索引设置选中项目。

参考自 SetSelected().

这是这个函数的调用关系图:

void YSLib::UI::SetSelected ( SPos  ,
SPos   
)

按接触点设置选中项目。

void YSLib::UI::SetSelected ( const Point &  pt)

按接触点设置选中项目。

在文件 textlist.h168 行定义.

参考 SetSelected().

函数调用图:

void YSLib::UI::SetSizeOf ( IWidget &  wgt,
const Size &  s 
)

设置部件大小。

注解
依次设置渲染器和视图状态,然后触发 Resize 事件。
自从
build 259

在文件 ywidget.cpp83 行定义.

参考 GetSizeOf , 以及 wgt.

参考自 YSLib::UI::AScrollBar::AScrollBar(), YSLib::UI::ScrollableContainer::FixLayout(), YSLib::UI::ListBox::ListBox(), ResizeForContent(), SetBoundsOf() , 以及 YSLib::DS::UI::DualScreenReader::Stretch().

这是这个函数的调用关系图:

template<class _tAnimation , typename _fCallable >
void YSLib::UI::Setup ( _tAnimation &  ani,
IWidget &  wgt,
_fCallable  f 
)

安装动画效果。

在文件 Animation.h188 行定义.

参考 f , 以及 Restart().

参考自 SetupByTimer().

函数调用图:

这是这个函数的调用关系图:

template<class _tAnimation , typename _fCallable , typename _fCond >
void YSLib::UI::Setup ( _tAnimation &  ani,
IWidget &  wgt,
_fCond  cond,
_fCallable  f 
)

在文件 Animation.h197 行定义.

参考 f , 以及 Restart().

函数调用图:

template<class _tAnimation , typename _fCallable , typename _tTimer >
void YSLib::UI::SetupByTimer ( _tAnimation &  ani,
IWidget &  wgt,
_tTimer &&  timer,
_fCallable  f 
)

安装以计时器控制的动画效果。

在文件 Animation.h210 行定义.

参考 f , 以及 Setup().

函数调用图:

void YSLib::UI::Show ( IWidget &  wgt)

显示部件。

依次设置部件可见性、请求部件焦点和无效化。

自从
build 229

在文件 ywidget.cpp206 行定义.

参考 Invalidate().

参考自 YReader::ShlTextReader::BookmarkSession::BookmarkSession(), YReader::ShlTextReader::Execute(), YReader::ShlTextReader::OnClick(), YReader::ShlTextReader::SettingSession::SettingSession() , 以及 YReader::ShlTextReader::BaseSession::~BaseSession().

函数调用图:

这是这个函数的调用关系图:

void YSLib::UI::SwitchVisible ( IWidget &  wgt)

切换部件显示状态并无效化。

自从
build 229

在文件 ShellHelper.cpp144 行定义.

参考 Invalidate() , 以及 IsVisible.

函数调用图:

void YSLib::UI::SwitchVisibleToFront ( IWidget &  wgt)

切换部件显示状态并请求提升至前端。

自从
build 467

在文件 ShellHelper.cpp151 行定义.

参考 IsVisible , 以及 RequestToFront().

函数调用图:

template<typename _fPixelShader , bool _bSwapLR = false, bool _bSwapUD = false>
void YSLib::UI::UpdatePixels ( _fPixelShader  shader,
const PaintContext &  pc,
const Drawing::Image &  img,
const Point &  dst_offset,
const Point &  src_offset 
)

更新:逐像素操作。

参见
BlitPixels
自从
build 448

在文件 YBrush.h138 行定义.

参考 YSLib::Drawing::g , 以及 YSLib::Drawing::r.

参考自 YSLib::UI::ImageBrush::UpdateComposite().

这是这个函数的调用关系图:

void YSLib::UI::UpdateView ( TextList &  tl,
bool  is_active 
)
related

在文件 textlist.cpp431 行定义.

参考 Invalidate().

参考自 YSLib::UI::FileBox::FileBox(), YSLib::UI::HexViewArea::LocateViewPosition() , 以及 YSLib::UI::HexViewArea::Reset().

函数调用图:

这是这个函数的调用关系图:

变量说明

yconstfn const string _tParams&& YSLib::UI::args
初始值:
{
try
{
return
AccessWidgetNode(node.at("$children").at(name), yforward(args)...);
}
catch(std::out_of_range&)
{
throw WidgetNotFound(node.GetName(), "Widget children not found.");
}
}
YF_API IWidget&
AccessWidget(const ValueNode&)
yconstfn const string _tParams && args
Definition: Loader.h:111
#define YF_API
Definition: Platform.h:64
#define yforward(_expr)
根据参数类型使用 std::forward 传递对应参数。
Definition: ydef.h:722
_tWidget & AccessWidget(const ValueNode &node, _tParams &&...args)
Definition: Loader.h:142
yconstfn const string & name
Definition: Loader.h:110

在文件 Loader.h111 行定义.

参考自 AccessWidget(), ystdex::assign(), ytest::timing::average(), YSLib::CacheLookup(), ystdex::call_once(), ystdex::call_once_init< _type, _tOnceFlag >::call_once_init(), YSLib::CollectNodes(), CreateUniqueWidget(), YSLib::GMRUCache< YSLib::Drawing::Typeface::BitmapKey, YSLib::Drawing::Typeface::SmallBitmapData, YSLib::Drawing::Typeface::BitmapKeyHash >::emplace(), ystdex::forward_as_array(), ystdex::variadic_param< _vN >::get(), ystdex::get_init(), YSLib::GHEvent< _tRet(_tParams...)>::GHEvent(), ystdex::call_once_init< _type, _tOnceFlag >::init(), InsertWidget(), platform::LogWithSource(), ystdex::make_array(), YSLib::ValueNode::MakeNode(), ystdex::nifty_counter< _type >::nifty_counter(), ytest::timing::once(), ytest::timing::once_c(), ystdex::container_inserter< _tCon >::operator()(), ystdex::expanded_caller< _fHandler, _fCallable >::operator()(), YSLib::GDependencyEvent< _tEvent, _tOwnerPointer >::operator()(), YSLib::GHandlerAdaptor< _type, _fCallable >::operator()(), YSLib::PackNodes(), YSLib::Drawing::PutText(), YSLib::UI::GAnimationSession< YSLib::UI::InvalidationUpdater >::Reset(), ystdex::seq_apply(), ystdex::seq_insert(), ystdex::sfmt(), YSLib::TextFile::SkipChar(), YSLib::StringifyToNode(), YSLib::UI::Styles::StyleMap::StyleMap(), ytest::timing::total(), ytest::timing::total_c(), ystdex::unseq_apply(), ystdex::varg() , 以及 ystdex::vsfmt().

YSLib::UI::ClearSelected

在文件 textlist.h229 行定义.

bool YSLib::UI::CyclicTraverse

循环选择遍历。

在文件 textlist.h83 行定义.

参考自 YSLib::UI::Menu::Menu().

YSLib::UI::fc

在文件 Console.h94 行定义.

参考自 YSLib::UI::Console::Console().

pt pt Y YSLib::UI::FetchFocusingPtr
pt pt Y const IWidget& wgt const IWidget& wgt const IWidget& wgt YSLib::UI::GetBoundsOf
Selected const shared_ptr<ListType> const pair<Color, Color> YSLib::UI::Selected

在文件 textlist.h122 行定义.

参考自 CallSelected().

const IWidget &wgt YSLib::UI::SPos
SDst YSLib::UI::top_offset

列表视图首项目超出上边界的竖直偏移量。

在文件 textlist.h87 行定义.

参考自 AdjustOffset(), CheckPoint(), DrawItems(), GetViewPosition() , 以及 InvalidateSelected().

ViewerType YSLib::UI::viewer

列表视图。

在文件 textlist.h86 行定义.

参考自 AdjustOffset(), CallSelected(), CheckPoint(), DrawItems(), GetViewPosition(), SelectFirst() , 以及 SelectLast().

pt YSLib::UI::X

在文件 ywidget.h110 行定义.

参考自 YSLib::UI::VerticalTrack::VerticalTrack().