|
YSTest
PreAlpha_b400_20130424
The YSLib Test Project
|
文本列表。 更多...
#include <textlist.h>


Public 类型 | |
| typedef GSequenceViewer< ListType > | ViewerType |
| 视图类型。 | |
| typedef GValueEventArgs< bool > | ViewArgs |
| 视图参数类型。 | |
| typedef GHEvent< void(ViewArgs)> | HViewEvent |
| 视图事件委托类型。 | |
| typedef String | ItemType |
| 项目类型:字符串。 | |
| typedef vector< ItemType > | ListType |
| 列表类型。 | |
| typedef ListType::size_type | IndexType |
| 索引类型。 | |
Public 成员函数 | |
| TextList (const Rect &={}, const shared_ptr< ListType > &={}, pair< Color, Color >=FetchGUIState().Colors.GetPair(Styles::Highlight, Styles::HighlightText)) | |
| 构造:使用指定边界、文本列表和高亮背景色/文本色对。 | |
| TextList (TextList &&)=default | |
| bool | IsSelected () const ynothrow |
| bool | Contains (ListType::size_type i) |
| GEvent< void(HViewEvent::EventArgsType)> & | GetViewChanged () ynothrow |
| 视图变更事件。 | |
| GEvent< void(HIndexEvent::EventArgsType)> & | GetSelected () ynothrow |
| 项目选择状态变更事件。 | |
| GEvent< void(HIndexEvent::EventArgsType)> & | GetConfirmed () ynothrow |
| 项目选中确定事件。 | |
| ListType::size_type | GetHeadIndex () const ynothrow |
| ListType::size_type | GetSelectedIndex () const ynothrow |
| 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) |
| 按接触点设置选中项目。 | |
| void | AdjustViewForContent () |
| 按内容大小依次调整视图中选中和首个项目的索引,然后按需调整竖直偏移量。 | |
| void | AdjustViewLength () |
| 调整视图长度。 | |
| virtual bool | CheckConfirmed (ListType::size_type) const |
| 检查列表中的指定项是否有效。 | |
| ListType::size_type | CheckPoint (SPos, SPos) |
| 检查点(相对于所在缓冲区的控件坐标)是否在选择范围内, | |
| ListType::size_type | CheckPoint (const Point &pt) |
| 检查点(相对于所在缓冲区的控件坐标)是否在选择范围内, | |
| void | ClearSelected () |
| void | LocateViewPosition (SDst) |
| 定位视图顶端至指定竖直位置。 | |
| void | Refresh (PaintEventArgs &&) override |
| 刷新:按指定参数绘制界面并更新状态。 | |
| void | ResetView () |
| 复位视图。 | |
| void | SelectFirst () |
| 选择第一个项目。 | |
| void | SelectLast () |
| 选择最后一个项目。 | |
Public 成员函数 继承自 YSLib::UI::Control | |
| Control (const Rect &={}) | |
| 构造:使用指定边界,默认背景(同 Widget 默认构造)。 | |
| Control (const Rect &, NoBackgroundTag) | |
| 构造:使用指定边界,无背景。 | |
| Control (const Control &) | |
| 复制构造:除容器为空外深复制。 | |
| Control (Control &&)=default | |
| virtual IWidget * | GetBoundControlPtr (const KeyInput &) |
| 取按键-指针设备输入默认事件组映射。 | |
| void | OnTouch_Close (TouchEventArgs &&) |
| 处理屏幕事件:关闭显示。 | |
Public 成员函数 继承自 YSLib::UI::Widget | |
| Widget (const Rect &={}, Color=Drawing::ColorSpace::White, Color=Drawing::ColorSpace::Black) | |
| template<typename _tView , typename _tRenderer , typename _tController > | |
| Widget (_tView &&pView_=make_unique< View >(), _tRenderer &&pRenderer_=make_unique< Renderer >(), _tController &&pController_={}) | |
| 构造:使用视图指针、渲染器指针和控制器指针,无背景。 | |
| Widget (const Widget &) | |
| 复制构造:除容器指针为空外深复制。 | |
| Widget (Widget &&)=default | |
| virtual | ~Widget () |
| 析构:虚实现。 | |
| SPos | GetX () const ynothrow |
| SPos | GetY () const ynothrow |
| SDst | GetWidth () const ynothrow |
| SDst | GetHeight () const ynothrow |
| virtual Renderer & | GetRenderer () const ynothrow |
| 取渲染器。 | |
| virtual View & | GetView () const ynothrow |
| 取部件视图。 | |
| virtual AController & | GetController () const override |
| 取控制器。 | |
| virtual WidgetRange | GetChildren () override |
| void | SetX (SDst _tempArgName) |
| void | SetY (SDst _tempArgName) |
| void | SetWidth (SDst _tempArgName) |
| void | SetHeight (SDst _tempArgName) |
| void | SetRenderer (unique_ptr< Renderer > &&) |
| 设置渲染器为指定指针指向的对象,同时更新渲染器状态。 | |
| void | SetView (unique_ptr< View > &&) |
| 设置渲染器为指定指针指向的对象,同时更新渲染器状态。 | |
Public 成员函数 继承自 YSLib::UI::IWidget | |
| virtual | ~IWidget () |
Public 属性 | |
| Color | HilightBackColor |
| 高亮背景色。 | |
| Color | HilightTextColor |
| 高亮文本色。 | |
| bool | CyclicTraverse |
| 循环选择遍历。 | |
Public 属性 继承自 YSLib::UI::Control | |
| std::function< IWidget *(const KeyInput &)> | BoundControlPtr |
| 按键-指针设备输入事件组映射。 | |
Public 属性 继承自 YSLib::UI::Widget | |
| HBrush | Background |
| 背景。 | |
| Color | ForeColor |
| 默认前景色。 | |
Protected 成员函数 | |
| void | InvalidateSelected (ListType::difference_type offset, ListType::size_type diff=1) |
| 无效化偏移量对应的列表项区域。 | |
| void | InvalidateSelected2 (ListType::difference_type, ListType::difference_type) |
| 无效化偏移量对应的列表项区域。 | |
| 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 &) |
| 绘制列表。 | |
Protected 成员函数 继承自 YSLib::UI::MTextList | |
| const ListType & | GetList () const ynothrow |
| 取文本列表。 | |
| ListType & | GetListRef () ynothrow |
| 取文本列表引用。 | |
| ItemType * | GetItemPtr (const IndexType &) |
| 取指定项目索引的项目指针。 | |
| const ItemType * | GetItemPtr (const IndexType &) const |
| 取指定项目索引的项目 const 指针。 | |
| SDst | GetItemHeight () const ynothrow |
| 取项目行高。 | |
| SDst | GetMaxTextWidth () const |
| 取文本列表中的最大文本宽度。 | |
| void | SetList (const shared_ptr< ListType > &h) |
| 设置文本列表。 | |
| IndexType | Find (const ItemType &) const |
| 查找项。 | |
| void | RefreshTextState () |
| 刷新文本状态。 | |
| MTextList (const shared_ptr< ListType > &={}, const Drawing::Font &={}) | |
| 构造:使用文本列表句柄和字体指针。 | |
| MTextList (MTextList &&)=default | |
Private 成员函数 | |
| SDst | AdjustOffset (bool) |
| 调整列表视图底项目的竖直偏移量为零。 | |
| void | CallSelected () |
| 调用选中事件处理器。 | |
| void | InvokeConfirmed (ListType::size_type) |
| 检查和调用确认事件处理器。 | |
Private 属性 | |
| ViewerType | viewer |
| 列表视图。 | |
| SDst | top_offset |
| 列表视图首项目超出上边界的竖直偏移量。 | |
| GEvent< void(HViewEvent::EventArgsType)> | ViewChanged |
| 视图变更事件。 | |
| GEvent< void(HIndexEvent::EventArgsType)> | Selected |
| 项目选择状态变更事件。 | |
| GEvent< void(HIndexEvent::EventArgsType)> | Confirmed |
| 项目选中确认事件。 | |
额外继承的成员函数 | |
Protected 类型 继承自 YSLib::UI::MTextList | |
| typedef String | ItemType |
| 项目类型:字符串。 | |
| typedef vector< ItemType > | ListType |
| 列表类型。 | |
| typedef ListType::size_type | IndexType |
| 索引类型。 | |
Protected 属性 继承自 YSLib::UI::MLabel | |
| Drawing::Font | Font |
| 字体。 | |
| Drawing::Padding | Margin |
| 文本和容器的间距。 | |
| TextAlignment | HorizontalAlignment |
| 文本水平和竖直对齐属性。 | |
| TextAlignment | VerticalAlignment |
| bool | AutoWrapLine |
| 启用自动换行。 | |
| String | Text |
| 标签文本。 | |
| typedef GHEvent<void( ViewArgs )> YSLib::UI::TextList::HViewEvent |
| typedef ListType::size_type YSLib::UI::MTextList::IndexType |
| typedef String YSLib::UI::MTextList::ItemType |
| typedef vector<ItemType> YSLib::UI::MTextList::ListType |
| typedef GValueEventArgs<bool> YSLib::UI::TextList::ViewArgs |
视图类型。
在文件 textlist.h 第 57 行定义.
|
explicit |
构造:使用指定边界、文本列表和高亮背景色/文本色对。
|
inlinedefault |
|
private |
调整列表视图底项目的竖直偏移量为零。
top_offset == 0 。 GetItemHeight()) )。 参数为 true 时,调整列表视图底项目(可能不完全)超出下边界以上的竖直 偏移量为零;否则,调整列表视图首项目(可能不完全)超出上边界以上的竖直偏移量为零。
在文件 textlist.cpp 第 181 行定义.
| void TextList::AdjustViewForContent | ( | ) |
按内容大小依次调整视图中选中和首个项目的索引,然后按需调整竖直偏移量。
在文件 textlist.cpp 第 215 行定义.
| void TextList::AdjustViewLength | ( | ) |
调整视图长度。
在文件 textlist.cpp 第 230 行定义.
参考 h.
|
private |
调用选中事件处理器。
在文件 textlist.cpp 第 404 行定义.
|
virtual |
| ListType::size_type YSLib::UI::TextList::CheckPoint | ( | SPos | , |
| SPos | |||
| ) |
检查点(相对于所在缓冲区的控件坐标)是否在选择范围内,
|
inline |
检查点(相对于所在缓冲区的控件坐标)是否在选择范围内,
在文件 textlist.h 第 220 行定义.
参考 YSLib::Drawing::GBinaryGroup< _type >::X , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.
|
inline |
在文件 textlist.h 第 225 行定义.
|
inline |
在文件 textlist.h 第 113 行定义.
|
protectedvirtual |
绘制列表项。
被 YSLib::UI::Menu 重载.
在文件 textlist.cpp 第 301 行定义.
参考 YSLib::Drawing::DrawClippedText().

|
protectedvirtual |
描画列表项背景。
| r | 列表项有效区域边界。 |
在文件 textlist.cpp 第 308 行定义.
参考 YSLib::Drawing::PaintContext::ClipArea,YSLib::Drawing::Graphics::GetBufferPtr(),YSLib::Drawing::Graphics::GetSize(),YSLib::Drawing::Size::Height,YSLib::Drawing::PaintContext::Target,YSLib::Drawing::Size::Width,YSLib::Drawing::GBinaryGroup< _type >::X , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

|
protectedvirtual |
绘制列表。
在文件 textlist.cpp 第 316 行定义.
参考 YSLib::Drawing::AdjustEndOfLine(),YSLib::Drawing::PaintContext::ClipArea,YSLib::Drawing::Rect::GetPoint(),h,YSLib::Drawing::Size::Height,YSLib::Drawing::PaintContext::Location,YSLib::Drawing::PaintContext::Target,YSLib::Drawing::GBinaryGroup< _type >::Y , 以及 yunseq().

|
inline |
项目选中确定事件。
在文件 textlist.h 第 120 行定义.
| SDst TextList::GetFullViewHeight | ( | ) | const |
|
inline |
在文件 textlist.h 第 123 行定义.
|
inline |
项目选择状态变更事件。
在文件 textlist.h 第 118 行定义.
|
inline |
在文件 textlist.h 第 130 行定义.
|
inline |
视图变更事件。
在文件 textlist.h 第 116 行定义.
| SDst TextList::GetViewPosition | ( | ) | const |
|
protected |
无效化偏移量对应的列表项区域。
| offset | 起始偏移量。 |
| diff | 终止偏移量相对于起始偏移量的距离偏移量。 |
在文件 textlist.cpp 第 256 行定义.
参考 YSLib::Drawing::Size::Height,YSLib::UI::Invalidate(),YSLib::RestrictUnsignedStrict() , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

|
protected |
无效化偏移量对应的列表项区域。
在文件 textlist.cpp 第 274 行定义.
参考 std::swap().

|
private |
检查和调用确认事件处理器。
在文件 textlist.cpp 第 410 行定义.
|
inline |
在文件 textlist.h 第 112 行定义.
| void TextList::LocateViewPosition | ( | SDst | h | ) |
|
overridevirtual |
| void TextList::ResetView | ( | ) |
| void TextList::SelectFirst | ( | ) |
| void TextList::SelectLast | ( | ) |
| void TextList::SetList | ( | const shared_ptr< ListType > & | h | ) |
| void YSLib::UI::TextList::SetSelected | ( | ListType::size_type | ) |
按指定项目索引设置选中项目。
| void YSLib::UI::TextList::SetSelected | ( | SPos | , |
| SPos | |||
| ) |
按接触点设置选中项目。
|
inline |
按接触点设置选中项目。
在文件 textlist.h 第 165 行定义.
|
private |
| bool YSLib::UI::TextList::CyclicTraverse |
循环选择遍历。
在文件 textlist.h 第 77 行定义.
| Color YSLib::UI::TextList::HilightBackColor |
高亮背景色。
在文件 textlist.h 第 75 行定义.
| Color YSLib::UI::TextList::HilightTextColor |
高亮文本色。
在文件 textlist.h 第 76 行定义.
|
private |
|
private |
列表视图首项目超出上边界的竖直偏移量。
在文件 textlist.h 第 81 行定义.
|
private |
|
private |
列表视图。
在文件 textlist.h 第 80 行定义.