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 () |
选择最后一个项目。 | |
![]() | |
Control (const Rect &={}) | |
构造:使用指定边界,默认背景(同 Widget 默认构造)。 | |
Control (const Rect &, NoBackgroundTag) | |
构造:使用指定边界,无背景。 | |
Control (const Control &) | |
复制构造:除容器为空外深复制。 | |
Control (Control &&)=default | |
virtual IWidget * | GetBoundControlPtr (const KeyInput &) |
取按键-指针设备输入默认事件组映射。 | |
void | OnTouch_Close (TouchEventArgs &&) |
处理屏幕事件:关闭显示。 | |
![]() | |
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 > &&) |
设置渲染器为指定指针指向的对象,同时更新渲染器状态。 | |
![]() | |
virtual | ~IWidget () |
Public 属性 | |
Color | HilightBackColor |
高亮背景色。 | |
Color | HilightTextColor |
高亮文本色。 | |
bool | CyclicTraverse |
循环选择遍历。 | |
![]() | |
std::function< IWidget *(const KeyInput &)> | BoundControlPtr |
按键-指针设备输入事件组映射。 | |
![]() | |
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 &) |
绘制列表。 | |
![]() | |
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 |
项目选中确认事件。 | |
额外继承的成员函数 | |
![]() | |
typedef String | ItemType |
项目类型:字符串。 | |
typedef vector< ItemType > | ListType |
列表类型。 | |
typedef ListType::size_type | IndexType |
索引类型。 | |
![]() | |
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 行定义.