X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.h;h=8d72e59c0c50569ef4bd798a69763499a30f5cb0;hb=eb395d9d313c1bc07ff48b47e080442f095dc97a;hp=822033ede2199a20f0b34f3e0d51cd5b7cb1bcb4;hpb=1fefef39080cbf6565d17acf3995312ce9bf067f;p=lyx.git diff --git a/src/BufferView.h b/src/BufferView.h index 822033ede2..8d72e59c0c 100644 --- a/src/BufferView.h +++ b/src/BufferView.h @@ -1,13 +1,11 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. +/** + * \file BufferView.h + * Copyright 2002 the LyX Team + * Read the file COPYING * - * ====================================================== */ + * \author Lars Gullik Bjønnes +*/ #ifndef BUFFER_VIEW_H #define BUFFER_VIEW_H @@ -16,8 +14,11 @@ #pragma interface #endif -#include FORMS_H_LOCATION +#include "LString.h" #include "undo.h" + +#include "insets/inset.h" + #include class LyXView; @@ -25,10 +26,14 @@ class LyXText; class TeXErrors; class Buffer; class LyXScreen; +class Language; +class Painter; +class UpdatableInset; +class WordLangTuple; class WorkArea; /// -class BufferView : public noncopyable { +class BufferView : boost::noncopyable { public: /// enum UpdateCodes { @@ -41,7 +46,7 @@ public: /// CHANGE = 4 }; - + /// BufferView(LyXView * owner, int , int , int, int); /// @@ -49,130 +54,87 @@ public: /// Buffer * buffer() const; /// - Painter & painter(); - /// - LyXScreen * screen() const; + Painter & painter() const; /// - WorkArea * workarea() const; + LyXScreen & screen() const; + /// return the work area for this bview + WorkArea & workarea() const; /// void buffer(Buffer * b); /// - void resize(int, int, int, int); - /// void resize(); + /** + * Repaint the pixmap. Used for when we don't want + * to go through the full update() logic, just a simple + * repaint of the whole screen. + */ + void repaint(); /// - void redraw(); - /// - void fitCursor(LyXText *); + bool fitCursor(); /// void update(); // - void update(UpdateCodes uc); + void update(LyXText *, UpdateCodes uc); /// void updateScrollbar(); /// - Inset * checkInsetHit(LyXText *, int & x, int & y, - unsigned int button); - /// - void redoCurrentBuffer(); + Inset * checkInsetHit(LyXText *, int & x, int & y); /// - int resizeCurrentBuffer(); - /// - void gotoError(); - /// - void cursorPrevious(); + void redoCurrentBuffer(); /// - void cursorNext(); - /// bool available() const; /// LyXView * owner() const; /// - void beforeChange(); - /// - void savePosition(); - /// - void restorePosition(); + void beforeChange(LyXText *); /// - bool NoSavedPositions(); + void savePosition(unsigned int i); + /// + void restorePosition(unsigned int i); + /// + 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 * theLockingInset() const; /// - void theLockingInset(UpdatableInset * inset); + void theLockingInset(UpdatableInset * inset); /// void updateInset(Inset * inset, bool mark_dirty); /// - bool inset_slept; - /// int slx; /// int sly; /// void insetUnlock(); /// - void insetSleep(); - /// - void insetWakeup(); - /// void replaceWord(string const & replacestring); /// void endOfSpellCheck(); /// void selectLastWord(); - /// - string const nextWord(float & value); - /// - void insertCorrectQuote(); - /// - void gotoNote(); + /// return the next word + WordLangTuple const nextWord(float & value); /// bool gotoLabel(string const & label); /// - void paste(); - /// - void cut(); - /// - void copy(); - /// void pasteEnvironment(); /// 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(); /// @@ -180,16 +142,11 @@ public: /// void setCursorFromRow(int row); /** Insert an inset into the buffer. - Placie it in a layout of lout, + Place 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); - /** Inserts a lyx file at cursor position. - @return #false# if it fails. - */ + bool insertInset(Inset * inset, string const & lout = string()); + /// Inserts a lyx file at cursor position. return #false# if it fails bool insertLyXFile(string const & file); /// bool lockInset(UpdatableInset * inset); @@ -198,7 +155,7 @@ public: /// void hideLockedInsetCursor(); /// - void fitLockedInsetCursor(int x, int y, int asc, int desc); + bool fitLockedInsetCursor(int x, int y, int asc, int desc); /// int unlockInset(UpdatableInset * inset); /// @@ -213,46 +170,31 @@ public: void toggleToggle(); /// void center(); - - /// - bool focus() const; /// - void focus(bool); - /// - bool active() const; - /// - bool belowMouse() const; - /// A callback for the slider in the scrollbar. - void scrollCB(double); + int scroll(long time); - /// - void setState(); + /// Scroll the view by a number of pixels + void scrollDocView(int); /// - 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); - /// - void doubleClick(int x, int y, unsigned int button); - /// - void tripleClick(int x, int y, unsigned int button); + void switchKeyMap(); + /// - void enterView(); + bool ChangeInsets(Inset::Code code, string const & from, + string const & to); /// - void leaveView(); + bool ChangeRefsIfUnique(string const & from, string const & to); /// - bool ChangeRefs(string const & from, string const & to); + bool ChangeCitationsIfUnique(string const & from, string const & to); /// - void pasteClipboard(bool asPara); + string const getClipboard() const; /// void stuffClipboard(string const &) const; + /// + bool dispatch(FuncRequest const & argument); + private: + /// struct Pimpl; /// friend struct BufferView::Pimpl;