#include FORMS_H_LOCATION
#include "undo.h"
+#include <boost/utility.hpp>
class LyXView;
class LyXText;
class TeXErrors;
class Buffer;
class LyXScreen;
+class WorkArea;
///
-class BufferView {
+class BufferView : public noncopyable {
public:
///
enum UpdateCodes {
+ ///
UPDATE = 0,
+ ///
SELECT = 1,
+ ///
FITCUR = 2,
+ ///
CHANGE = 4
};
///
LyXScreen * screen() const;
///
+ WorkArea * workarea() const;
+ ///
void buffer(Buffer * b);
///
void resize(int, int, int, int);
///
void redraw();
///
- void fitCursor();
+ void fitCursor(LyXText *);
///
void update();
- ///
+ //
void update(UpdateCodes uc);
///
void updateScrollbar();
///
+ Inset * checkInsetHit(LyXText *, int & x, int & y,
+ unsigned int button);
+ ///
void redoCurrentBuffer();
///
int resizeCurrentBuffer();
///
void gotoError();
///
- void cursorPrevious();
+ void cursorPrevious(LyXText *);
///
- void cursorNext();
+ void cursorNext(LyXText *);
///
bool available() const;
///
*/
LyXText * text;
///
+ LyXText * getLyXText() const;
+ ///
int workWidth() const;
///
- UpdatableInset * the_locking_inset;
+ UpdatableInset * theLockingInset() const;
+ ///
+ void theLockingInset(UpdatableInset * inset);
///
void updateInset(Inset * inset, bool mark_dirty);
///
///
void selectLastWord();
///
- char * nextWord(float & value);
+ string const nextWord(float & value);
///
void insertCorrectQuote();
///
void menuUndo();
///
void menuRedo();
+#ifndef NEW_INSETS
///
void toggleFloat();
///
void openStuff();
+#endif
///
void insertNote();
+#ifndef NEW_INSETS
///
void allFloats(char flag, char figmar);
+#endif
/// removes all autodeletable insets
bool removeAutoInsets();
///
void insertErrors(TeXErrors & terr);
///
void setCursorFromRow(int row);
- /** Insert an inset into the buffer
- Insert inset into buffer, placing it in a layout of lout,
- if no_table make sure that it doesn't end up in a table. */
+ /** Insert an inset into the buffer.
+ Placie it in a layout of lout,
+ if no_table make sure that it doesn't end up in a table.
+ */
bool insertInset(Inset * inset, string const & lout = string(),
bool no_table = false);
/// open and lock an updatable inset
- void open_new_inset(UpdatableInset * new_inset);
- /// Inserts a lyx file at cursor position. Returns false if it fails.
+ bool open_new_inset(UpdatableInset * new_inset);
+ /** Inserts a lyx file at cursor position.
+ @return #false# if it fails.
+ */
bool insertLyXFile(string const & file);
///
bool lockInset(UpdatableInset * inset);
///
- void showLockedInsetCursor(long x, long y, int asc, int desc);
+ void showLockedInsetCursor(int x, int y, int asc, int desc);
///
void hideLockedInsetCursor();
///
- void fitLockedInsetCursor(long x, long y, int asc, int desc);
+ void fitLockedInsetCursor(int x, int y, int asc, int desc);
///
int unlockInset(UpdatableInset * inset);
///
/// A callback for the slider in the scrollbar.
void scrollCB(double);
- ///
- static void cursorToggleCB(void * ob);
-
///
void setState();
///
void pushIntoUpdateList(Inset * i);
+#if 0
///
void workAreaExpose();
///
void enterView();
///
void leaveView();
+#endif
///
bool ChangeRefs(string const & from, string const & to);
///
+ bool ChangeRefsIfUnique(string const & from, string const & to);
+ ///
void pasteClipboard(bool asPara);
///
void stuffClipboard(string const &) const;
private:
struct Pimpl;
+ ///
+ friend struct BufferView::Pimpl;
+ ///
Pimpl * pimpl_;
};
+///
BufferView::UpdateCodes operator|(BufferView::UpdateCodes uc1,
BufferView::UpdateCodes uc2);