X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FCursor.h;h=4ef5bc9d6cbde7b7500398c4f092a134766417f0;hb=01da93521d573ca5064ab961ec7062b16bec880a;hp=3d3db5daa2b78bd2c481ddcbc6536caf6c58453d;hpb=64396717dba247e4197cb19bff0428b2806afb6e;p=lyx.git diff --git a/src/Cursor.h b/src/Cursor.h index 3d3db5daa2..4ef5bc9d6c 100644 --- a/src/Cursor.h +++ b/src/Cursor.h @@ -118,7 +118,7 @@ public: /// void setWordSelection(bool set) { word_selection_ = set; } /// - bool wordSelection() { return word_selection_; } + bool wordSelection() const { return word_selection_; } /// did we place the anchor? bool mark() const { return mark_; } /// did we place the anchor? @@ -131,10 +131,10 @@ public: void clearSelection(); /// check whether selection contains specific type of inset /// returns 0 if no selection was made - bool insetInSelection(InsetCode const & inset); + bool insetInSelection(InsetCode const & inset) const; /// count occurences of specific inset type in the selection /// returns 0 if no selection was made - int countInsetsInSelection(InsetCode const & inset); + int countInsetsInSelection(InsetCode const & inset) const; /// access to normalized selection anchor CursorSlice normalAnchor() const; @@ -154,17 +154,13 @@ public: DocIterator selectionEnd() const; /// - docstring selectionAsString(bool with_label) const; + docstring selectionAsString(bool const with_label, + bool const skipdelete = false) const; /// get some interesting description of top position void info(odocstream & os, bool devel_mode) const; /// docstring currentState(bool devel_mode) const; - /// auto-correct mode - bool autocorrect() const { return autocorrect_; } - /// auto-correct mode - bool & autocorrect() { return autocorrect_; } - /// fix cursor in circumstances that should never happen. /// \retval true if a fix occurred. bool fixIfBroken(); @@ -194,7 +190,7 @@ public: /// containing the cursor void recordUndo(UndoKind kind = ATOMIC_UNDO) const; /// Convenience: prepare undo for the inset containing the cursor - void recordUndoInset(Inset const * inset = 0) const; + void recordUndoInset(Inset const * inset = nullptr) const; /// Convenience: prepare undo for the whole buffer void recordUndoFullBuffer() const; /// Convenience: prepare undo for buffer parameters @@ -211,7 +207,7 @@ public: DocIterator newWord() const { return new_word_; } /// are we in math mode (2), text mode (1) or unsure (0)? - int currentMode(); + int currentMode() const; /// Return true if the next or previous inset has confirmDeletion depending /// on the boolean before. If there is a selection, return true if at least @@ -238,8 +234,6 @@ private: // // math specific stuff that could be promoted to "global" later // - /// do we allow autocorrection - bool autocorrect_; // FIXME: make them private public: @@ -276,17 +270,23 @@ public: void setCursorData(CursorData const & data); /// returns true if we made a decision - bool getStatus(FuncRequest const & cmd, FuncStatus & flag) const; + bool getStatus(FuncRequest const & cmd, FuncStatus & status) const; /// dispatch from innermost inset upwards void dispatch(FuncRequest const & cmd); /// display a message void message(docstring const & msg) const; /// display an error message void errorMessage(docstring const & msg) const; - /// get the resut of the last dispatch + /// get the result of the last dispatch DispatchResult const & result() const; - /// + /// Set the cursor language from current input method language + /* Considers first exact math with the codes used in the document, + * then approximate match among the same list, and finally exact + * or partial match with the whole list of languages. + */ + void setLanguageFromInput(); + /// Set the current font of the cursor from its location. void setCurrentFont(); /** @@ -496,8 +496,9 @@ public: /// return true if fullscreen update is needed bool down(); /// move up/down in a text inset, called for LFUN_UP/DOWN, - /// return true if successful, updateNeeded set to true if fullscreen - /// update is needed, otherwise it's not touched + /// return true if the cursor has moved or can move, updateNeeded + /// set to true if fullscreen update is needed, otherwise it's not + /// touched bool upDownInText(bool up, bool & updateNeeded); /// move up/down in math or any non text inset, call for LFUN_UP/DOWN /// return true if successful