]> git.lyx.org Git - lyx.git/blob - src/bufferview_funcs.h
Alfredo's patch.
[lyx.git] / src / bufferview_funcs.h
1 // -*- C++ -*-
2 /**
3  * \file bufferview_funcs.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Lars Gullik Bjønnes
8  * \author Jean-Marc Lasgouttes
9  * \author Angus Leeming
10  *
11  * Full author contact details are available in file CREDITS.
12  */
13
14 #ifndef BUFFERVIEW_FUNCS_H
15 #define BUFFERVIEW_FUNCS_H
16
17 #include <string>
18
19
20 class BufferView;
21 class LyXFont;
22 class LyXText;
23 class PosIterator;
24
25
26 namespace bv_funcs {
27
28 /** Set \param data using \param font and \param toggle.
29  *  If successful, returns true.
30  */
31 bool font2string(LyXFont const & font, bool toggle, std::string & data);
32 /** Set \param font and \param toggle using \param data.
33  *  If successful, returns true.
34  */
35 bool string2font(std::string const & data, LyXFont & font, bool & toggle);
36 /** Returns the current freefont, encoded as a std::string to be passed to the
37  *  frontends.
38  */
39 std::string const freefont2string();
40 ///
41 void put_selection_at(BufferView * bv, PosIterator const & cur,
42                       int length, bool backwards);
43
44
45 /// what type of depth change to make
46 enum DEPTH_CHANGE {
47         INC_DEPTH,
48         DEC_DEPTH
49 };
50
51 /**
52  * Increase or decrease the nesting depth of the selected paragraph(s)
53  * if test_only, don't change any depths. Returns whether something
54  * (would have) changed
55  */
56 bool changeDepth(BufferView *, LyXText *, DEPTH_CHANGE, bool test_only);
57
58 /// Returns the current font and depth as a message.
59 std::string const currentState(BufferView *);
60 /// replace selection with insertion
61 void replaceSelection(LyXText * lt);
62
63
64 }; // namespace bv_funcs
65
66 #endif