X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferview_funcs.h;h=161ed4a5ef6805355ef1529e7afc24b3f181691f;hb=66561205e371dcd755f2187d562872c08ea582da;hp=8be453589c0f72cedd0d5e5d0b16427995f90ad6;hpb=566e084f63fb82a2f27e442e21539896f46e7dc6;p=lyx.git diff --git a/src/bufferview_funcs.h b/src/bufferview_funcs.h index 8be453589c..161ed4a5ef 100644 --- a/src/bufferview_funcs.h +++ b/src/bufferview_funcs.h @@ -4,88 +4,72 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * \author Jean-Marc Lasgouttes * \author Angus Leeming * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #ifndef BUFFERVIEW_FUNCS_H #define BUFFERVIEW_FUNCS_H -#include "LString.h" +#include +#include +namespace lyx { + +class Point; class BufferView; -class LyXFont; -class LyXText; +class DocIterator; +class Inset_code; +class Font; namespace bv_funcs { -/** Set \param data using \param font and \param toggle. - * If successful, returns true. - */ -bool font2string(LyXFont const & font, bool toggle, string & data); -/** Set \param font and \param toggle using \param data. - * If successful, returns true. - */ -bool string2font(string const & data, LyXFont & font, bool & toggle); -/** Returns the current freefont, encoded as a string to be passed to the +/// Set \param data using \param font and \param toggle. Return success. +bool font2string(Font const & font, bool toggle, std::string & data); + +/// Set \param font and \param toggle using \param data. Return success. +bool string2font(std::string const & data, Font & font, bool & toggle); + +/** Returns the current freefont, encoded as a std::string to be passed to the * frontends. */ -string const freefont2string(); -/** Set the freefont using the contents of \param data dispatched from - * the frontends and apply it at the current cursor location. - */ -void update_and_apply_freefont(BufferView * bv, string const & data); -/** Apply the contents of freefont at the current cursor location. - */ -void apply_freefont(BufferView * bv); +std::string const freefont2string(); + +Point getPos(BufferView const & bv, DocIterator const & dit, bool boundary); -/// what type of depth change to make -enum DEPTH_CHANGE { - INC_DEPTH, - DEC_DEPTH +enum CurStatus { + CUR_INSIDE, + CUR_ABOVE, + CUR_BELOW }; -/** - * Increase or decrease the nesting depth of the selected paragraph(s) - * if test_only, don't change any depths. Returns whether something - * (would have) changed - */ -extern bool changeDepth(BufferView *, LyXText *, DEPTH_CHANGE, bool test_only); - -/// -extern void emph(BufferView *); -/// -extern void bold(BufferView *); -/// -extern void noun(BufferView *); -/// -extern void lang(BufferView *, string const &); -/// -extern void number(BufferView *); -/// -extern void tex(BufferView *); -/// -extern void code(BufferView *); -/// -extern void sans(BufferView *); -/// -extern void roman(BufferView *); -/// -extern void styleReset(BufferView *); -/// -extern void underline(BufferView *); -/// -extern void fontSize(BufferView *, string const &); -/// Returns the current font and depth as a message. -extern string const currentState(BufferView *); -/// -extern void toggleAndShow(BufferView *, LyXFont const &, - bool toggleall = true); -/// replace selection with insertion -extern void replaceSelection(LyXText * lt); -}; // namespace bv_funcs + +CurStatus status(BufferView const * bv, DocIterator const & dit); + + +Point coordOffset(BufferView const & bv, DocIterator const & dit, bool boundary); + +/// Moves cursor to the next inset with one of the given codes. +void gotoInset(BufferView * bv, std::vector const & codes, + bool same_content); + +/// Moves cursor to the next inset with given code. +void gotoInset(BufferView * bv, Inset_code code, bool same_content); + +/// Looks for next inset with one of the the given code +bool findInset(DocIterator & dit, std::vector const & codes, + bool same_content); + +/// Looks for next inset with the given code +void findInset(DocIterator & dit, Inset_code code, bool same_content); + + +} // namespace bv_funcs + + +} // namespace lyx #endif