X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.h;h=47deee2bfd57af7b0c6a3ec68c5bc8bda97768d9;hb=82ce6a82ef2c1f1e52616e603914d4184a30e507;hp=766f48f737c083e7e5c614d179f4232be68611d1;hpb=756af0279404b9dba9918dbbbe1c1f8d51d9fe85;p=lyx.git diff --git a/src/BufferView.h b/src/BufferView.h index 766f48f737..47deee2bfd 100644 --- a/src/BufferView.h +++ b/src/BufferView.h @@ -18,15 +18,30 @@ #include FORMS_H_LOCATION #include "undo.h" +#include 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 + }; + /// BufferView(LyXView * owner, int , int , int, int); /// @@ -36,6 +51,10 @@ public: /// Painter & painter(); /// + LyXScreen * screen() const; + /// + WorkArea * workarea() const; + /// void buffer(Buffer * b); /// void resize(int, int, int, int); @@ -44,23 +63,26 @@ public: /// void redraw(); /// - void fitCursor(); + void fitCursor(LyXText *); /// void update(); - /// - void update(signed char f); + // + 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; /// @@ -71,14 +93,20 @@ public: void savePosition(); /// void restorePosition(); + /// + bool NoSavedPositions(); /** This holds the mapping between buffer paragraphs and screen rows. This should be private...but not yet. (Lgb) */ LyXText * text; /// - unsigned short paperWidth() const; + LyXText * getLyXText() const; /// - UpdatableInset * the_locking_inset; + int workWidth() const; + /// + UpdatableInset * theLockingInset() const; + /// + void theLockingInset(UpdatableInset * inset); /// void updateInset(Inset * inset, bool mark_dirty); /// @@ -100,7 +128,7 @@ public: /// void selectLastWord(); /// - char * nextWord(float & value); + string const nextWord(float & value); /// void insertCorrectQuote(); /// @@ -135,37 +163,44 @@ public: 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); /// @@ -192,9 +227,6 @@ public: /// A callback for the slider in the scrollbar. void scrollCB(double); - /// - static void cursorToggleCB(FL_OBJECT * ob, long); - /// void setState(); @@ -217,10 +249,24 @@ public: /// void leaveView(); /// - void workAreaSelectionNotify(Window win, XEvent * event); + 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); + #endif