diff options
Diffstat (limited to 'src/chat.h')
-rw-r--r-- | src/chat.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/chat.h b/src/chat.h index 367baaaf2..db4146d35 100644 --- a/src/chat.h +++ b/src/chat.h @@ -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; |