|
YSTest
PreAlpha_b400_20130424
The YSLib Test Project
|
文本阅读器 Shell 。 更多...
#include <ShlReader.h>


类 | |
| class | BaseSession |
| class | BookmarkSession |
| class | SettingSession |
Public 成员函数 | |
| ShlTextReader (const IO::Path &, const shared_ptr< Desktop > &={}, const shared_ptr< Desktop > &={}) | |
| 构造:使用指定路径和上下桌面。 | |
| ~ShlTextReader () override | |
| 析构:释放资源。 | |
| void | LoadFile (const IO::Path &) |
| 读取文件。 | |
| bool | Locate (Bookmark::PositionType) |
| 定位到文本中的指定位置:更新阅读器状态、阅读列表和按钮状态。 | |
| void | Scroll () |
| 当自动滚屏有效状态为 true 时超时自动滚屏。 | |
| void | UpdateButtons () |
| 更新按钮状态。 | |
Public 成员函数 继承自 ShlReader | |
| ShlReader (const IO::Path &, const shared_ptr< Desktop > &={}, const shared_ptr< Desktop > &={}) | |
| 构造:使用指定路径和上下桌面。 | |
| void | Exit () |
| 退出阅读器:停止后台任务并发送消息准备切换至 ShlExplorer 。 | |
| void | OnInput () override |
| 处理输入消息:发送绘制消息,当处于滚屏状态时自动执行滚屏。 | |
Public 成员函数 继承自 ShlDS | |
| ShlDS (const shared_ptr< Desktop > &={}, const shared_ptr< Desktop > &={}) | |
| 构造:使用指定上下桌面。 | |
| DefGetter (const ynothrow, const shared_ptr< Desktop > &, DesktopUpHandle, desktop_up_ptr) DefGetter(const ynothrow | |
| const shared_ptr< Desktop > desktop_down_ptr | DefGetter (const ynothrow, Desktop &, DesktopUp,*desktop_up_ptr) DefGetter(const ynothrow |
| const shared_ptr< Desktop > desktop_down_ptr Desktop *desktop_down_ptr void | OnGotMessage (const Message &) override |
| 消息处理函数。 | |
| void | OnInput () override |
| 处理输入消息:发送绘制消息。 | |
Public 属性 | |
| ReadingList & | LastRead |
| 近期浏览记录。 | |
| ReaderSetting | CurrentSetting |
| 当前阅读器设置。 | |
Protected 属性 | |
| Timers::Timer | tmrScroll |
| 滚屏计时器。 | |
| InputTimer | tmrInput |
| 按键计时器。 | |
| BookmarkPanel | pnlBookmark |
| 书签管理面板。 | |
| DualScreenReader | reader |
| ReaderBox | boxReader |
| TextInfoBox | boxTextInfo |
| SettingPanel | pnlSetting |
| 设置面板。 | |
| unique_ptr< TextFile > | pTextFile |
| MenuHost | mhMain |
Protected 属性 继承自 ShlReader | |
| IO::Path | CurrentPath |
| 当前路径。 | |
| std::function< void()> | fBackgroundTask |
| 背景任务:用于滚屏。 | |
| bool | bExit |
| 退出标识。 | |
Protected 属性 继承自 ShlDS | |
| bool | bUpdateUp |
| 指定当前桌面是否需要更新。 | |
| bool | bUpdateDown |
Private 成员函数 | |
| void | Execute (IndexEventArgs::ValueType) |
| 执行阅读器命令。 | |
| void | ShowMenu (Menu::ID, const Point &) |
| void | StopAutoScroll () |
| 停止自动滚屏。 | |
| void | Switch (Text::Encoding) |
| 切换编码。 | |
| void | UpdateReadingList (bool) |
| 更新近期浏览记录并更新按钮状态。 | |
| void | OnClick (TouchEventArgs &&) |
| void | OnKeyDown (KeyEventArgs &&) |
Private 属性 | |
| unique_ptr< BaseSession > | session_ptr |
额外继承的成员函数 | |
静态 Public 成员函数 继承自 ShlReader | |
| static BookmarkList | LoadBookmarks (const string &) |
| static ReaderSetting | LoadGlobalConfiguration () |
| 载入阅读器配置。 | |
| static void | SaveBookmarks (const string &, const BookmarkList &) |
| static void | SaveGlobalConfiguration (const ReaderSetting &) |
| 保存阅读器配置。 | |
| ShlTextReader::ShlTextReader | ( | const IO::Path & | pth, |
| const shared_ptr< Desktop > & | h_dsk_up = {}, |
||
| const shared_ptr< Desktop > & | h_dsk_dn = {} |
||
| ) |
|
override |
析构:释放资源。
在文件 ShlReader.cpp 第 477 行定义.
参考 BookmarkPanel::bookmarks,ShlReader::CurrentPath,YSLib::IO::Path::GetNativeString(),ReadingList::Insert(),LastRead,pnlBookmark,ShlReader::SaveBookmarks() , 以及 ShlReader::SaveGlobalConfiguration().

|
private |
执行阅读器命令。
在文件 ShlReader.cpp 第 491 行定义.
参考 boxTextInfo,DualScreenReader::Execute(),ShlReader::Exit(),DualScreenReader::LineDownScroll,DualScreenReader::LineUpScroll,reader,DualScreenReader::ScreenDownScroll,DualScreenReader::ScreenUpScroll,session_ptr,Show() , 以及 TextInfoBox::UpdateData().

| void ShlTextReader::LoadFile | ( | const IO::Path & | pth | ) |
读取文件。
在文件 ShlReader.cpp 第 524 行定义.
参考 BookmarkPanel::bookmarks,ShlReader::CurrentPath,ystdex::erase_all_if(),YSLib::IO::Path::GetNativeString(),DualScreenReader::LoadText(),CHRLib::CharSet::Null,pnlBookmark,pTextFile , 以及 reader.
参考自 UpdateReadingList().


| bool ShlTextReader::Locate | ( | Bookmark::PositionType | pos | ) |
定位到文本中的指定位置:更新阅读器状态、阅读列表和按钮状态。
在文件 ShlReader.cpp 第 539 行定义.
参考 ShlReader::CurrentPath,ReadingList::Insert(),LastRead,DualScreenReader::Locate(),reader,UpdateButtons() , 以及 YB_LIKELY.

|
private |
|
private |
在文件 ShlReader.cpp 第 668 行定义.
参考 YSLib::Activate(),platform::KeyCodes::Down,platform::KeyCodes::Enter,platform::KeyCodes::Esc,DualScreenReader::Execute(),ShlReader::Exit(),ShlReader::fBackgroundTask,FetchGUIState(),YSLib::Timers::Timer::IsActive(),platform::KeyCodes::L,platform::KeyCodes::Left,DualScreenReader::LineDownScroll,DualScreenReader::LineUpScroll,mhMain,platform::KeyCodes::R,reader,RepeatHeld(),YSLib::Timers::Timer::Reset(),platform::KeyCodes::Right,DualScreenReader::ScreenDownScroll,DualScreenReader::ScreenUpScroll,Scroll(),DualScreenReader::SetFontSize(),DualScreenReader::SetLineGap(),StopAutoScroll(),tmrInput,tmrScroll,platform::KeyCodes::Up,DualScreenReader::UpdateView(),platform::KeyCodes::X,platform::KeyCodes::Y,YB_LIKELY,YCL_KEY , 以及 YCL_KEY_Start.

| void ShlTextReader::Scroll | ( | ) |
当自动滚屏有效状态为 true 时超时自动滚屏。
在文件 ShlReader.cpp 第 560 行定义.
参考 DualScreenReader::Execute(),YSLib::Timers::Timer::IsActive(),DualScreenReader::LineDownScroll,reader,YSLib::Timers::Timer::Refresh(),DualScreenReader::ScrollByPixel(),tmrScroll , 以及 YB_UNLIKELY.
参考自 OnKeyDown().


|
private |
|
private |
停止自动滚屏。
在文件 ShlReader.cpp 第 594 行定义.
参考 DualScreenReader::AdjustScrollOffset(),Deactivate(),ShlReader::fBackgroundTask,reader , 以及 tmrScroll.
参考自 ShlTextReader::BaseSession::BaseSession() , 以及 OnKeyDown().


|
private |
切换编码。
在文件 ShlReader.cpp 第 602 行定义.
参考 DualScreenReader::LoadText(),pTextFile , 以及 reader.

| void ShlTextReader::UpdateButtons | ( | ) |
更新按钮状态。
在文件 ShlReader.cpp 第 627 行定义.
参考 boxReader,ReaderBox::btnNext,ReaderBox::btnPrev,ReadingList::CheckBoundary(),Enable(),LastRead , 以及 yunseq().
参考自 Locate() , 以及 UpdateReadingList().


|
private |
更新近期浏览记录并更新按钮状态。
| 是否后退。 |
在文件 ShlReader.cpp 第 613 行定义.
参考 ShlReader::CurrentPath,ReadingList::Insert(),LastRead,LoadFile(),DualScreenReader::Locate(),reader,ReadingList::Switch() , 以及 UpdateButtons().

|
protected |
在文件 ShlReader.h 第 268 行定义.
参考自 ShlTextReader::BaseSession::BaseSession() , 以及 UpdateButtons().
|
protected |
在文件 ShlReader.h 第 269 行定义.
参考自 ShlTextReader::BaseSession::BaseSession() , 以及 Execute().
| ReaderSetting ShlTextReader::CurrentSetting |
| ReadingList& ShlTextReader::LastRead |
近期浏览记录。
在文件 ShlReader.h 第 246 行定义.
参考自 Locate(),UpdateButtons(),UpdateReadingList() , 以及 ~ShlTextReader().
|
protected |
在文件 ShlReader.h 第 273 行定义.
参考自 OnKeyDown() , 以及 ShowMenu().
|
protected |
书签管理面板。
在文件 ShlReader.h 第 279 行定义.
参考自 ShlTextReader::BookmarkSession::BookmarkSession(),LoadFile() , 以及 ~ShlTextReader().
|
protected |
|
protected |
在文件 ShlReader.h 第 272 行定义.
参考自 LoadFile() , 以及 Switch().
|
protected |
在文件 ShlReader.h 第 267 行定义.
参考自 Execute(),LoadFile(),Locate(),OnKeyDown(),Scroll(),ShlTextReader::SettingSession::SettingSession(),ShowMenu(),StopAutoScroll(),Switch() , 以及 UpdateReadingList().
|
private |
|
protected |
|
protected |