X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.h;h=afe153561e2c5bd3bff1619ab253189b29ec0a22;hb=ebef7baa265f097b3372ed6239495255c6b64e49;hp=18df76f34f2915fff48927f9f79dd99b75996230;hpb=4b07057b7eaf1b91da715f4f266f1395f7d9bf7c;p=lyx.git diff --git a/src/BufferView.h b/src/BufferView.h index 18df76f34f..afe153561e 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-2001 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 @@ -18,8 +16,9 @@ #include "LString.h" #include "undo.h" -#include "commandtags.h" + #include "insets/inset.h" + #include class LyXView; @@ -30,6 +29,7 @@ class LyXScreen; class Language; class Painter; class UpdatableInset; +class WordLangTuple; /// class BufferView : boost::noncopyable { @@ -45,7 +45,7 @@ public: /// CHANGE = 4 }; - + /// BufferView(LyXView * owner, int , int , int, int); /// @@ -53,19 +53,21 @@ public: /// Buffer * buffer() const; /// - Painter & painter(); + Painter & painter() const; /// - LyXScreen * screen() const; + LyXScreen & screen() 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(); + bool fitCursor(); /// void update(); // @@ -73,25 +75,17 @@ public: /// void updateScrollbar(); /// - Inset * checkInsetHit(LyXText *, int & x, int & y); - /// void redoCurrentBuffer(); /// - int resizeCurrentBuffer(); - /// - void cursorPrevious(LyXText *); - /// - void cursorNext(LyXText *); - /// bool available() const; /// LyXView * owner() const; /// void beforeChange(LyXText *); - /// - void savePosition(unsigned int i); - /// - void restorePosition(unsigned int i); + /// + 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. @@ -109,7 +103,7 @@ public: /// UpdatableInset * theLockingInset() const; /// - void theLockingInset(UpdatableInset * inset); + void theLockingInset(UpdatableInset * inset); /// void updateInset(Inset * inset, bool mark_dirty); /// @@ -119,26 +113,16 @@ public: /// void insetUnlock(); /// - void insetSleep(); - /// - void insetWakeup(); - /// void replaceWord(string const & replacestring); /// void endOfSpellCheck(); /// void selectLastWord(); - /// - string const nextWord(float & value); + /// return the next word + WordLangTuple const nextWord(float & value); /// bool gotoLabel(string const & label); /// - void paste(); - /// - void cut(bool realcut = true); - /// - void copy(); - /// void pasteEnvironment(); /// void copyEnvironment(); @@ -153,15 +137,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); bool insertInset(Inset * inset, string const & lout = string()); - /** Inserts a lyx file at cursor position. - @return #false# if it fails. - */ + /// Inserts a lyx file at cursor position. return #false# if it fails bool insertLyXFile(string const & file); /// bool lockInset(UpdatableInset * inset); @@ -170,7 +150,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); /// @@ -185,23 +165,17 @@ 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); + /// scroll document by the given number of lines of default height + void scroll(int lines); + + /// Scroll the view by a number of pixels + void scrollDocView(int); /// - void setState(); + void switchKeyMap(); /// - bool ChangeInsets(Inset::Code code, string const & from, + bool ChangeInsets(Inset::Code code, string const & from, string const & to); /// bool ChangeRefsIfUnique(string const & from, string const & to); @@ -210,12 +184,18 @@ public: /// string const getClipboard() const; /// - void pasteClipboard(bool asPara); - /// void stuffClipboard(string const &) const; /// - bool Dispatch(kb_action action, string const & argument); + bool dispatch(FuncRequest const & argument); + /// height of a normal line in pixels (zoom factor considered) + int defaultHeight() const; + /// + void haveSelection(bool sel); + /// + int workHeight() const; + private: + /// struct Pimpl; /// friend struct BufferView::Pimpl;