easyVim  1.0
a simple vim-like text editor
Public Types | Public Member Functions | List of all members
ev::window Class Reference

Public Types

enum  WindowStatus {
  NORMAL = 0 , INSERT = 1 , COVER = 2 , COMMAND = 3 ,
  WARNING_TRY_UNSAVE_QUIT = 4 , WARNING_PATTERN_NOT_FOUND = 5
}
 

Public Member Functions

 window (EVFile *f)
 
void init ()
 
void quit ()
 
int getInput ()
 获取用户输入,用户一旦输入就立即返回 More...
 
std::string getCommand ()
 获取命令行输入,遇到'
'返回输入字符串 More...
 
void flushScreen ()
 刷新整个屏幕 More...
 
void flushLine ()
 刷新当前行文本 More...
 
void updateStatus ()
 更新状态栏 More...
 
void moveTo (size_t line, size_t col)
 
bool moveCur ()
 移动光标到当前行,列 More...
 
void moveUp ()
 光标上移 More...
 
void moveDown ()
 光标下移 More...
 
void moveLeft ()
 光标左移 More...
 
void moveRight ()
 光标右移 More...
 
void moveHead ()
 光标移动到行首 More...
 
void moveEnd ()
 光标移动到行尾 More...
 
void moveTop ()
 光标移动到文件首行 More...
 
void moveBottom ()
 光标移动到文件末行 More...
 
WindowStatus getStatus ()
 
bool setStatus (WindowStatus s)
 
void printWin (std::string str)
 
void getCuryx (int &x, int &y)
 
void refreshCur (bool flush=true)
 
size_t getCurRow ()
 
size_t getCurCol ()
 
void setCurRow (size_t row)
 

Member Enumeration Documentation

◆ WindowStatus

Enumerator
NORMAL 

正常模式

INSERT 

插入模式

COVER 

覆盖模式

COMMAND 

命令模式

WARNING_TRY_UNSAVE_QUIT 

尝试不保存退出

WARNING_PATTERN_NOT_FOUND 

未查找到匹配样式

Member Function Documentation

◆ flushLine()

void ev::window::flushLine ( )

刷新当前行文本

@function flushLine

◆ flushScreen()

void ev::window::flushScreen ( )

刷新整个屏幕

@function flushScreen

Todo:
优化显示效果: 1. 行号显示 2. 高亮显示 3. 滚动条

◆ getCommand()

std::string ev::window::getCommand ( )

获取命令行输入,遇到'
'返回输入字符串

@function getCommand

Returns
命令行输入字符串

◆ getInput()

int ev::window::getInput ( )

获取用户输入,用户一旦输入就立即返回

@function getInput

Returns
用户输入的ASCII码

◆ moveBottom()

void ev::window::moveBottom ( )

光标移动到文件末行

@function moveBottom

◆ moveCur()

bool ev::window::moveCur ( )

移动光标到当前行,列

@function moveCur

根据当前光标位置,判断是否需要刷新屏幕

Note
内部方法,理论上不应该被外部调用
Returns
是否需要刷新屏幕

◆ moveDown()

void ev::window::moveDown ( )

光标下移

@function moveDown

◆ moveEnd()

void ev::window::moveEnd ( )

光标移动到行尾

@function moveEnd

◆ moveHead()

void ev::window::moveHead ( )

光标移动到行首

@function moveHead

◆ moveLeft()

void ev::window::moveLeft ( )

光标左移

@function moveLeft

◆ moveRight()

void ev::window::moveRight ( )

光标右移

@function moveRight

◆ moveTop()

void ev::window::moveTop ( )

光标移动到文件首行

@function moveTop

◆ moveUp()

void ev::window::moveUp ( )

光标上移

@function moveUp

◆ updateStatus()

void ev::window::updateStatus ( )

更新状态栏

@function updateStatus

Todo:
优化显示效果: 1. 显示当前行号和列号

The documentation for this class was generated from the following files: