#ifndef BUFFER_VIEW_H
#define BUFFER_VIEW_H
+#include "coordcache.h"
#include "cursor.h"
#include "metricsinfo.h"
-
+#include "UpdateFlags.h"
#include "support/types.h"
#include <boost/utility.hpp>
#include <string>
+
+namespace lyx {
+
class Buffer;
class Change;
class DocIterator;
class ParIterator;
class ViewMetricsInfo;
-namespace Update {
- enum flags {
- FitCursor = 1,
- Force = 2,
- SinglePar = 4,
- MultiParSel = 8
- };
-
-inline flags operator|(flags const f, flags const g)
-{
- return static_cast<flags>(int(f) | int(g));
-}
-
-inline flags operator&(flags const f, flags const g)
-{
- return static_cast<flags>(int(f) & int(g));
-}
-
-} // namespace
-
/// Scrollbar Parameters
struct ScrollbarParameters
{
LyXText const * getLyXText() const;
/// move cursor to the named label
- void gotoLabel(lyx::docstring const & label);
+ void gotoLabel(docstring const & label);
/// set the cursor based on the given TeX source row
void setCursorFromRow(int row);
bool dispatch(FuncRequest const & argument);
///
- lyx::docstring const requestSelection();
+ docstring const requestSelection();
///
void clearSelection();
bool workAreaDispatch(FuncRequest const & ev);
/// access to anchor
- lyx::pit_type anchor_ref() const;
+ pit_type anchor_ref() const;
/// access to full cursor
LCursor & cursor();
///
void updateMetrics(bool singlepar = false);
+ ///
+ CoordCache & coordCache() {
+ return coord_cache_;
+ }
+ ///
+ CoordCache const & coordCache() const {
+ return coord_cache_;
+ }
/// get this view's keyboard map handler
Intl & getIntl() { return *intl_.get(); }
///
Intl const & getIntl() const { return *intl_.get(); }
/// This signal is emitted when some message shows up.
- boost::signal<void(lyx::docstring)> message;
+ boost::signal<void(docstring)> message;
/// This signal is emitted when some dialog needs to be shown.
boost::signal<void(std::string name)> showDialog;
///
ViewMetricsInfo metrics_info_;
-
+ CoordCache coord_cache_;
///
Buffer * buffer_;
/// Cursor paragraph Id
int par_id;
/// Cursor position
- lyx::pos_type par_pos;
+ pos_type par_pos;
///
Position() : par_id(0), par_pos(0) {}
///
- Position(std::string const & f, int id, lyx::pos_type pos)
+ Position(std::string const & f, int id, pos_type pos)
: filename(f), par_id(id), par_pos(pos) {}
};
///
///
bool multiparsel_cache_;
///
- lyx::pit_type anchor_ref_;
+ pit_type anchor_ref_;
///
int offset_ref_;
boost::scoped_ptr<Intl> const intl_;
};
+
+} // namespace lyx
+
#endif // BUFFERVIEW_H