1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Add text selection and copying to console

This commit is contained in:
ShadowNinja 2016-02-27 16:04:44 -05:00
parent 3edb7575a1
commit 430929e75a
3 changed files with 103 additions and 59 deletions

View file

@ -150,7 +150,11 @@ public:
void addToHistory(std::wstring line);
// Get current line
std::wstring getLine();
std::wstring getLine() const { return m_line; }
// Get section of line that is currently selected
std::wstring getSelection() const
{ return m_line.substr(m_cursor, m_cursor_len); }
// Clear the current line
void clear();
@ -172,10 +176,13 @@ public:
std::wstring getVisiblePortion() const;
// Get cursor position (relative to visible portion). -1 if invalid
s32 getVisibleCursorPosition() const;
// Get length of cursor selection
s32 getCursorLength() const { return m_cursor_len; }
// Cursor operations
enum CursorOp {
CURSOROP_MOVE,
CURSOROP_SELECT,
CURSOROP_DELETE
};
@ -189,7 +196,8 @@ public:
enum CursorOpScope {
CURSOROP_SCOPE_CHARACTER,
CURSOROP_SCOPE_WORD,
CURSOROP_SCOPE_LINE
CURSOROP_SCOPE_LINE,
CURSOROP_SCOPE_SELECTION
};
// Cursor operation
@ -227,6 +235,8 @@ private:
s32 m_view;
// Cursor (index into m_line)
s32 m_cursor;
// Cursor length (length of selected portion of line)
s32 m_cursor_len;
// Last nick completion start (index into m_line)
s32 m_nick_completion_start;