X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferview_funcs.h;h=161ed4a5ef6805355ef1529e7afc24b3f181691f;hb=66561205e371dcd755f2187d562872c08ea582da;hp=51b0823be3fa72df9a1f73f7c8a17f1d2467fa6e;hpb=b9d61343fc76a681b0264d65703ef2119647df56;p=lyx.git diff --git a/src/bufferview_funcs.h b/src/bufferview_funcs.h index 51b0823be3..161ed4a5ef 100644 --- a/src/bufferview_funcs.h +++ b/src/bufferview_funcs.h @@ -1,59 +1,75 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2001 The LyX Team. +/** + * \file bufferview_funcs.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * ====================================================== */ + * \author Lars Gullik Bjønnes + * \author Jean-Marc Lasgouttes + * \author Angus Leeming + * + * Full author contact details are available in file CREDITS. + */ #ifndef BUFFERVIEW_FUNCS_H #define BUFFERVIEW_FUNCS_H -#ifdef __GNUG__ -#pragma interface -#endif +#include +#include -#include "LString.h" +namespace lyx { +class Point; class BufferView; -class LyXFont; -class LyXText; - -/// -extern void Emph(BufferView *); -/// -extern void Bold(BufferView *); -/// -extern void Noun(BufferView *); -/// -extern void Figure(); -/// -extern void Table(); -/// -extern void Lang(BufferView *, string const &); -/// -extern void Number(BufferView *); -/// -extern void Tex(BufferView *); -/// -extern void changeDepth(BufferView *, LyXText *, int); -/// -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); +class DocIterator; +class Inset_code; +class Font; + +namespace bv_funcs { + +/// 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. + */ +std::string const freefont2string(); + +Point getPos(BufferView const & bv, DocIterator const & dit, bool boundary); + +enum CurStatus { + CUR_INSIDE, + CUR_ABOVE, + CUR_BELOW +}; + + +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