X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.h;h=50518247c4c9f8ddf5349aae9e13fe08f894e5b9;hb=34d28f9daae536db06d6cf1a9dcf62dc0f5aa432;hp=e1b3bc621812798597dc185814dfec066d444b7d;hpb=797d87b4513088a66b17c7ac653b84e36ea80458;p=lyx.git diff --git a/src/BufferView.h b/src/BufferView.h index e1b3bc6218..50518247c4 100644 --- a/src/BufferView.h +++ b/src/BufferView.h @@ -5,7 +5,7 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. + * Copyright 1995-2001 The LyX Team. * * ====================================================== */ @@ -16,19 +16,23 @@ #pragma interface #endif -#include FORMS_H_LOCATION +#include "LString.h" #include "undo.h" -#include "support/utility.hpp" +#include "commandtags.h" +#include "insets/inset.h" +#include class LyXView; class LyXText; class TeXErrors; class Buffer; class LyXScreen; -class WorkArea; +class Language; +class Painter; +class UpdatableInset; /// -class BufferView : public noncopyable { +class BufferView : boost::noncopyable { public: /// enum UpdateCodes { @@ -53,8 +57,6 @@ public: /// LyXScreen * screen() const; /// - WorkArea * workarea() const; - /// void buffer(Buffer * b); /// void resize(int, int, int, int); @@ -67,46 +69,49 @@ public: /// void update(); // - void update(UpdateCodes uc); + void update(LyXText *, UpdateCodes uc); /// void updateScrollbar(); /// - Inset * checkInsetHit(LyXText *, int & x, int & y, - unsigned int button); + Inset * checkInsetHit(LyXText *, int & x, int & y); /// void redoCurrentBuffer(); /// int resizeCurrentBuffer(); /// - void gotoError(); - /// - void cursorPrevious(); + void cursorPrevious(LyXText *); /// - void cursorNext(); + void cursorNext(LyXText *); /// bool available() const; /// LyXView * owner() const; /// - void beforeChange(); + void beforeChange(LyXText *); /// - void savePosition(); + void savePosition(unsigned int i); /// - void restorePosition(); + void restorePosition(unsigned int i); /// - bool NoSavedPositions(); + bool isSavedPosition(unsigned int i); /** This holds the mapping between buffer paragraphs and screen rows. This should be private...but not yet. (Lgb) */ LyXText * text; /// + LyXText * getLyXText() const; + /// + LyXText * getParentText(Inset * inset) const; + /// + Language const * getParentLanguage(Inset * inset) const; + /// int workWidth() const; /// - UpdatableInset * the_locking_inset; + UpdatableInset * theLockingInset() const; /// - void updateInset(Inset * inset, bool mark_dirty); + void theLockingInset(UpdatableInset * inset); /// - bool inset_slept; + void updateInset(Inset * inset, bool mark_dirty); /// int slx; /// @@ -124,17 +129,13 @@ public: /// void selectLastWord(); /// - char * nextWord(float & value); - /// - void insertCorrectQuote(); - /// - void gotoNote(); + string const nextWord(float & value); /// bool gotoLabel(string const & label); /// void paste(); /// - void cut(); + void cut(bool realcut = true); /// void copy(); /// @@ -142,35 +143,9 @@ public: /// void copyEnvironment(); /// - void hfill(); - /// - void protectedBlank(); - /// - void newline(); - /// - void menuSeparator(); - /// - void endOfSentenceDot(); - /// - void ldots(); - /// - void hyphenationPoint(); - /// 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(); /// @@ -181,10 +156,9 @@ public: 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 - bool open_new_inset(UpdatableInset * new_inset); + //bool insertInset(Inset * inset, string const & lout = string(), + // bool no_table = false); + bool insertInset(Inset * inset, string const & lout = string()); /** Inserts a lyx file at cursor position. @return #false# if it fails. */ @@ -192,11 +166,11 @@ public: /// 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); /// @@ -229,27 +203,20 @@ public: /// void pushIntoUpdateList(Inset * i); /// - void workAreaExpose(); - /// - void workAreaButtonPress(int x, int y, unsigned int button); - /// - void workAreaButtonRelease(int x, int y, unsigned int button); - /// - void workAreaMotionNotify(int x, int y, unsigned int state); + bool ChangeInsets(Inset::Code code, string const & from, + string const & to); /// - void doubleClick(int x, int y, unsigned int button); + bool ChangeRefsIfUnique(string const & from, string const & to); /// - void tripleClick(int x, int y, unsigned int button); + bool ChangeCitationsIfUnique(string const & from, string const & to); /// - void enterView(); - /// - void leaveView(); - /// - bool ChangeRefs(string const & from, string const & to); + string const getClipboard() const; /// void pasteClipboard(bool asPara); /// void stuffClipboard(string const &) const; + /// + bool Dispatch(kb_action action, string const & argument); private: struct Pimpl; ///