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 () |
更新按钮状态。 | |
![]() | |
ShlReader (const IO::Path &, const shared_ptr< Desktop > &={}, const shared_ptr< Desktop > &={}) | |
构造:使用指定路径和上下桌面。 | |
void | Exit () |
退出阅读器:停止后台任务并发送消息准备切换至 ShlExplorer 。 | |
void | OnInput () override |
处理输入消息:发送绘制消息,当处于滚屏状态时自动执行滚屏。 | |
![]() | |
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 |
![]() | |
IO::Path | CurrentPath |
当前路径。 | |
std::function< void()> | fBackgroundTask |
背景任务:用于滚屏。 | |
bool | bExit |
退出标识。 | |
![]() | |
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 |
额外继承的成员函数 | |
![]() | |
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 |