#define BUFFERVIEW_FUNCS_H
#include <string>
-
+#include <vector>
class BufferView;
+class DocIterator;
+class InsetBase_code;
class LyXFont;
-class LyXText;
-class PosIterator;
+class Point;
namespace bv_funcs {
-/** Set \param data using \param font and \param toggle.
- * If successful, returns true.
- */
+/// Set \param data using \param font and \param toggle. Return success.
bool font2string(LyXFont const & font, bool toggle, std::string & data);
-/** Set \param font and \param toggle using \param data.
- * If successful, returns true.
- */
+
+/// Set \param font and \param toggle using \param data. Return success.
bool string2font(std::string const & data, LyXFont & font, bool & toggle);
+
/** Returns the current freefont, encoded as a std::string to be passed to the
* frontends.
*/
std::string const freefont2string();
+Point getPos(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)
-void changeDepth(BufferView *, LyXText *, DEPTH_CHANGE);
-/// Returns whether something would be changed by changeDepth
-bool changeDepthAllowed(BufferView *, LyXText *, DEPTH_CHANGE);
+CurStatus status(BufferView const * bv, DocIterator const & dit);
+
+
+Point coordOffset(DocIterator const & dit, bool boundary);
+
+/// Moves cursor to the next inset with one of the given codes.
+void gotoInset(BufferView * bv, std::vector<InsetBase_code> const & codes,
+ bool same_content);
+
+/// Moves cursor to the next inset with given code.
+void gotoInset(BufferView * bv, InsetBase_code code, bool same_content);
+
+/// Looks for next inset with one of the the given code
+bool findInset(DocIterator & dit, std::vector<InsetBase_code> const & codes,
+ bool same_content);
-/// Returns the current font and depth as a message.
-std::string const currentState(BufferView *);
-/// replace selection with insertion
-void replaceSelection(LyXText * lt);
+/// Looks for next inset with the given code
+void findInset(DocIterator & dit, InsetBase_code code, bool same_content);
-}; // namespace bv_funcs
+} // namespace bv_funcs
#endif