2000-04-12 15:11:29 +00:00
|
|
|
|
// -*- C++ -*-
|
2003-03-12 22:17:50 +00:00
|
|
|
|
/**
|
|
|
|
|
* \file bufferview_funcs.h
|
|
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
|
* Licence details can be found in the file COPYING.
|
2002-03-21 17:27:08 +00:00
|
|
|
|
*
|
2003-08-23 00:17:00 +00:00
|
|
|
|
* \author Lars Gullik Bj<EFBFBD>nnes
|
2003-03-12 22:17:50 +00:00
|
|
|
|
* \author Jean-Marc Lasgouttes
|
|
|
|
|
* \author Angus Leeming
|
2002-03-21 17:27:08 +00:00
|
|
|
|
*
|
2003-08-23 00:17:00 +00:00
|
|
|
|
* Full author contact details are available in file CREDITS.
|
2003-03-12 22:17:50 +00:00
|
|
|
|
*/
|
2000-07-24 13:53:19 +00:00
|
|
|
|
|
2000-04-12 15:11:29 +00:00
|
|
|
|
#ifndef BUFFERVIEW_FUNCS_H
|
|
|
|
|
#define BUFFERVIEW_FUNCS_H
|
|
|
|
|
|
2003-10-06 15:43:21 +00:00
|
|
|
|
#include <string>
|
2005-02-22 11:41:22 +00:00
|
|
|
|
#include <vector>
|
2003-10-06 15:43:21 +00:00
|
|
|
|
|
2004-11-30 01:59:49 +00:00
|
|
|
|
class BufferView;
|
2005-07-15 15:49:40 +00:00
|
|
|
|
class DocIterator;
|
2005-02-22 11:41:22 +00:00
|
|
|
|
class InsetBase_code;
|
2005-07-15 15:49:40 +00:00
|
|
|
|
class LyXFont;
|
2006-10-15 22:32:56 +00:00
|
|
|
|
|
|
|
|
|
namespace lyx {
|
2005-07-15 15:49:40 +00:00
|
|
|
|
class Point;
|
2006-10-15 22:32:56 +00:00
|
|
|
|
}
|
2000-04-12 15:11:29 +00:00
|
|
|
|
|
2003-10-06 15:43:21 +00:00
|
|
|
|
|
2003-04-03 00:36:31 +00:00
|
|
|
|
namespace bv_funcs {
|
|
|
|
|
|
2004-02-13 11:05:29 +00:00
|
|
|
|
/// Set \param data using \param font and \param toggle. Return success.
|
2003-10-06 15:43:21 +00:00
|
|
|
|
bool font2string(LyXFont const & font, bool toggle, std::string & data);
|
2004-02-13 11:05:29 +00:00
|
|
|
|
|
|
|
|
|
/// Set \param font and \param toggle using \param data. Return success.
|
2003-10-06 15:43:21 +00:00
|
|
|
|
bool string2font(std::string const & data, LyXFont & font, bool & toggle);
|
2004-02-13 11:05:29 +00:00
|
|
|
|
|
2003-10-06 15:43:21 +00:00
|
|
|
|
/** Returns the current freefont, encoded as a std::string to be passed to the
|
2003-03-12 22:17:50 +00:00
|
|
|
|
* frontends.
|
|
|
|
|
*/
|
2003-10-06 15:43:21 +00:00
|
|
|
|
std::string const freefont2string();
|
2003-11-03 09:23:23 +00:00
|
|
|
|
|
2006-10-15 22:32:56 +00:00
|
|
|
|
lyx::Point getPos(BufferView & bv, DocIterator const & dit, bool boundary);
|
2004-11-30 01:59:49 +00:00
|
|
|
|
|
|
|
|
|
enum CurStatus {
|
|
|
|
|
CUR_INSIDE,
|
|
|
|
|
CUR_ABOVE,
|
|
|
|
|
CUR_BELOW
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CurStatus status(BufferView const * bv, DocIterator const & dit);
|
|
|
|
|
|
|
|
|
|
|
2006-10-17 16:23:27 +00:00
|
|
|
|
lyx::Point coordOffset(BufferView const & bv, DocIterator const & dit, bool boundary);
|
2004-11-30 01:59:49 +00:00
|
|
|
|
|
2005-06-25 15:57:15 +00:00
|
|
|
|
/// Moves cursor to the next inset with one of the given codes.
|
2005-04-26 11:12:20 +00:00
|
|
|
|
void gotoInset(BufferView * bv, std::vector<InsetBase_code> const & codes,
|
2005-02-22 11:41:22 +00:00
|
|
|
|
bool same_content);
|
|
|
|
|
|
2005-06-25 15:57:15 +00:00
|
|
|
|
/// Moves cursor to the next inset with given code.
|
2005-02-22 11:41:22 +00:00
|
|
|
|
void gotoInset(BufferView * bv, InsetBase_code code, bool same_content);
|
|
|
|
|
|
2005-06-25 15:57:15 +00:00
|
|
|
|
/// Looks for next inset with one of the the given code
|
|
|
|
|
bool findInset(DocIterator & dit, std::vector<InsetBase_code> const & codes,
|
|
|
|
|
bool same_content);
|
|
|
|
|
|
|
|
|
|
/// Looks for next inset with the given code
|
|
|
|
|
void findInset(DocIterator & dit, InsetBase_code code, bool same_content);
|
|
|
|
|
|
2004-11-30 01:59:49 +00:00
|
|
|
|
|
2004-02-13 11:05:29 +00:00
|
|
|
|
} // namespace bv_funcs
|
2003-04-03 00:36:31 +00:00
|
|
|
|
|
2000-04-12 15:11:29 +00:00
|
|
|
|
#endif
|