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

文本阅读器 Shell 。 更多...

#include <ShlReader.h>

类 YReader::ShlTextReader 继承关系图:
YReader::ShlTextReader 的协作图:

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 成员函数 继承自 YReader::ShlReader
 ShlReader (const IO::Path &, const shared_ptr< Desktop > &={}, const shared_ptr< Desktop > &={})
 构造:使用指定路径和上下桌面。 更多...
 
void Exit ()
 退出阅读器:停止后台任务并发送消息准备切换至 ShlExplorer更多...
 
void OnInput () override
 处理输入消息:发送绘制消息,当处于滚屏状态时自动执行滚屏。 更多...
 

Public 属性

ReadingListLastRead
 近期浏览记录。 更多...
 
ReaderSetting CurrentSetting
 当前阅读器设置。 更多...
 

Protected 属性

Timers::Timer tmrScroll
 滚屏计时器。 更多...
 
bool tmrScrollActive
 滚屏计时器激活状态。 更多...
 
InputTimer tmrInput
 按键计时器。 更多...
 
size_t nClick
 记录点击次数。 更多...
 
BookmarkPanel pnlBookmark
 书签管理面板。 更多...
 
DualScreenReader reader
 
ReaderBox boxReader
 
TextInfoBox boxTextInfo
 
SettingPanel pnlSetting
 设置面板。 更多...
 
unique_ptr< TextFilepTextFile
 
MenuHost mhMain
 
- Protected 属性 继承自 YReader::ShlReader
IO::Path CurrentPath
 当前路径。 更多...
 
std::function< void()> fBackgroundTask
 背景任务:用于滚屏。 更多...
 
bool bExit
 退出标识。 更多...
 

Private 成员函数

void Execute (IndexEventArgs::ValueType)
 执行阅读器命令。 更多...
 
void ShowMenu (Menu::ID, const Point &)
 
void StartAutoScroll ()
 开始自动滚屏。 更多...
 
void StopAutoScroll ()
 停止自动滚屏。 更多...
 
void Switch (Text::Encoding)
 切换编码。 更多...
 
void UpdateReadingList (bool)
 更新近期浏览记录并更新按钮状态。 更多...
 
void OnClick (CursorEventArgs &&)
 
void OnKeyDown (KeyEventArgs &&)
 

Private 属性

unique_ptr< BaseSessionsession_ptr
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 YReader::ShlReader
static BookmarkList LoadBookmarks (const string &)
 
static ReaderSetting LoadGlobalConfiguration ()
 载入阅读器配置。 更多...
 
static void SaveBookmarks (const string &, const BookmarkList &)
 
static void SaveGlobalConfiguration (const ReaderSetting &)
 保存阅读器配置。 更多...
 

详细描述

文本阅读器 Shell 。

自从
build 296

在文件 ShlReader.h215 行定义.

构造及析构函数说明

YReader::ShlTextReader::ShlTextReader ( const IO::Path pth,
const shared_ptr< Desktop > &  h_dsk_up = {},
const shared_ptr< Desktop > &  h_dsk_dn = {} 
)

构造:使用指定路径和上下桌面。

参见
ShlDS::ShlDS
自从
build 395

在文件 ShlReader.cpp350 行定义.

YReader::ShlTextReader::~ShlTextReader ( )
override

成员函数说明

void YReader::ShlTextReader::Execute ( IndexEventArgs::ValueType  idx)
private

执行阅读器命令。

自从
build 394
build 397
build 274

在文件 ShlReader.cpp499 行定义.

参考 boxTextInfo, YReader::ShlReader::Exit(), reader, session_ptr, YSLib::UI::Show() , 以及 YReader::TextInfoBox::UpdateData().

函数调用图:

void YReader::ShlTextReader::LoadFile ( const IO::Path pth)

读取文件。

注解
不刷新按钮状态。
自从
build 286

在文件 ShlReader.cpp532 行定义.

参考 YReader::BookmarkPanel::bookmarks, YReader::ShlReader::CurrentPath, ystdex::erase_all_if(), CHRLib::CharSet::Null, pnlBookmark, pTextFile , 以及 reader.

参考自 UpdateReadingList().

函数调用图:

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

bool YReader::ShlTextReader::Locate ( Bookmark::PositionType  pos)

定位到文本中的指定位置:更新阅读器状态、阅读列表和按钮状态。

返回
是否成功:在有效范围内且和原位置不同。
自从
build 394

在文件 ShlReader.cpp547 行定义.

参考 YReader::ShlReader::CurrentPath, YReader::ReadingList::Insert(), LastRead, reader, platform_ex::Windows::s, UpdateButtons() , 以及 YB_LIKELY.

函数调用图:

void YReader::ShlTextReader::OnClick ( CursorEventArgs &&  e)
private
void YReader::ShlTextReader::Scroll ( )

当自动滚屏有效状态为 true 时超时自动滚屏。

自从
build 289

在文件 ShlReader.cpp568 行定义.

参考 reader, tmrScroll, tmrScrollActive , 以及 YB_UNLIKELY.

参考自 StartAutoScroll().

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

void YReader::ShlTextReader::ShowMenu ( Menu::ID  id,
const Point &  pt 
)
private

在文件 ShlReader.cpp581 行定义.

参考 mhMain, reader, YSLib::UI::SetLocationOf() , 以及 YSLib::UI::MenuHost::Show().

参考自 OnClick().

函数调用图:

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

void YReader::ShlTextReader::StartAutoScroll ( )
private

开始自动滚屏。

自从
build 416

在文件 ShlReader.cpp602 行定义.

参考 YSLib::Activate(), YReader::ShlReader::fBackgroundTask, Scroll(), tmrScroll , 以及 tmrScrollActive.

参考自 OnClick() , 以及 OnKeyDown().

函数调用图:

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

void YReader::ShlTextReader::StopAutoScroll ( )
private

停止自动滚屏。

自从
build 297

在文件 ShlReader.cpp610 行定义.

参考 YReader::ShlReader::fBackgroundTask, reader , 以及 tmrScrollActive.

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

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

void YReader::ShlTextReader::Switch ( Text::Encoding  )
private

切换编码。

注解
若文本文件无效、参数为 Encoding() 或与当前编码相同则忽略。
自从
build 292

在文件 ShlReader.cpp618 行定义.

参考 CHRLib::enc, pTextFile , 以及 reader.

void YReader::ShlTextReader::UpdateButtons ( )

更新按钮状态。

注解
检查近期浏览记录状态确定可用性。
自从
build 286

在文件 ShlReader.cpp643 行定义.

参考 boxReader, YReader::ReaderBox::btnNext, YReader::ReaderBox::btnPrev, YSLib::UI::Enable(), LastRead , 以及 yunseq.

参考自 Locate() , 以及 UpdateReadingList().

函数调用图:

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

void YReader::ShlTextReader::UpdateReadingList ( bool  is_prev)
private

更新近期浏览记录并更新按钮状态。

参数
是否后退。
自从
build 286

在文件 ShlReader.cpp629 行定义.

参考 YReader::ShlReader::CurrentPath, YReader::ReadingList::Insert(), LastRead, LoadFile(), reader , 以及 UpdateButtons().

函数调用图:

类成员变量说明

ReaderBox YReader::ShlTextReader::boxReader
protected
TextInfoBox YReader::ShlTextReader::boxTextInfo
protected

在文件 ShlReader.h281 行定义.

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

ReaderSetting YReader::ShlTextReader::CurrentSetting

当前阅读器设置。

自从
build 334

在文件 ShlReader.h253 行定义.

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

ReadingList& YReader::ShlTextReader::LastRead

近期浏览记录。

自从
build 296

在文件 ShlReader.h248 行定义.

参考自 Locate(), UpdateButtons(), UpdateReadingList() , 以及 ~ShlTextReader().

MenuHost YReader::ShlTextReader::mhMain
protected

在文件 ShlReader.h285 行定义.

参考自 OnKeyDown() , 以及 ShowMenu().

size_t YReader::ShlTextReader::nClick
protected

记录点击次数。

自从
build 416

在文件 ShlReader.h276 行定义.

参考自 OnClick().

BookmarkPanel YReader::ShlTextReader::pnlBookmark
protected

书签管理面板。

自从
build 391

在文件 ShlReader.h291 行定义.

参考自 YReader::ShlTextReader::BookmarkSession::BookmarkSession(), LoadFile() , 以及 ~ShlTextReader().

SettingPanel YReader::ShlTextReader::pnlSetting
protected

设置面板。

在文件 ShlReader.h283 行定义.

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

unique_ptr<TextFile> YReader::ShlTextReader::pTextFile
protected

在文件 ShlReader.h284 行定义.

参考自 LoadFile() , 以及 Switch().

DualScreenReader YReader::ShlTextReader::reader
protected
unique_ptr<BaseSession> YReader::ShlTextReader::session_ptr
private
自从
build 391

在文件 ShlReader.h295 行定义.

参考自 Execute().

InputTimer YReader::ShlTextReader::tmrInput
protected

按键计时器。

注解
独立计时,排除路由事件干扰。
自从
build 300

在文件 ShlReader.h271 行定义.

参考自 OnClick() , 以及 OnKeyDown().

Timers::Timer YReader::ShlTextReader::tmrScroll
protected

滚屏计时器。

自从
build 289

在文件 ShlReader.h260 行定义.

参考自 Scroll() , 以及 StartAutoScroll().

bool YReader::ShlTextReader::tmrScrollActive
protected

滚屏计时器激活状态。

自从
build 405

在文件 ShlReader.h265 行定义.

参考自 OnClick(), OnKeyDown(), Scroll(), StartAutoScroll() , 以及 StopAutoScroll().


该类的文档由以下文件生成: