]> git.lyx.org Git - features.git/commitdiff
BufferView.[Ch]:
authorAndré Pönitz <poenitz@gmx.net>
Thu, 29 Aug 2002 13:41:58 +0000 (13:41 +0000)
committerAndré Pönitz <poenitz@gmx.net>
Thu, 29 Aug 2002 13:41:58 +0000 (13:41 +0000)
don't provide direct access to WorkArea, use two simple
acessors haveSelction() and workHeight() instead

  [And the ChangeLog entry, which was in the editor but not saved...]

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5173 a592a061-630c-0410-9148-cb99ea01b6c8

src/BufferView.C
src/BufferView.h
src/BufferView_pimpl.C
src/BufferView_pimpl.h
src/ChangeLog
src/text3.C

index 207fc5c7b9c3f3f8e54bab8695c2e42e573c5163..cf61629c17c3a855c9dfc1bd5e88374847a29138 100644 (file)
@@ -86,12 +86,6 @@ LyXScreen & BufferView::screen() const
 }
 
 
-WorkArea & BufferView::workarea() const
-{
-       return pimpl_->workarea();
-}
-
-
 LyXView * BufferView::owner() const
 {
        return pimpl_->owner_;
@@ -937,3 +931,15 @@ Language const * BufferView::getParentLanguage(Inset * inset) const
        return text->cursor.par()->getFontSettings(buffer()->params,
                                                   text->cursor.pos()).language();
 }
+
+
+void BufferView::haveSelection(bool sel)
+{
+       pimpl_->workarea().haveSelection(sel);
+}
+
+
+int BufferView::workHeight() const
+{
+       return pimpl_->workarea().workHeight();
+}
index b775e4b434018b738f0fc889de45c2ddc052e370..1bec27f90aef8bd670ed0d1040e4534a265f4e25 100644 (file)
@@ -30,7 +30,6 @@ class Language;
 class Painter;
 class UpdatableInset;
 class WordLangTuple;
-class WorkArea;
 
 ///
 class BufferView : boost::noncopyable {
@@ -57,8 +56,6 @@ public:
        Painter & painter() const;
        ///
        LyXScreen & screen() const;
-       /// return the work area for this bview
-       WorkArea & workarea() const;
        ///
        void buffer(Buffer * b);
        ///
@@ -192,6 +189,10 @@ public:
        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:
        ///
index 8edfc62a31ff7fb316f6c3319f979b7781388686..163629c76a2be3a803e04dc8b1047fdf0bab7004 100644 (file)
@@ -1067,18 +1067,6 @@ bool BufferView::Pimpl::dispatch(FuncRequest const & ev)
        }
        break;
 
-       case LFUN_HTMLURL:
-       case LFUN_URL:
-       {
-               InsetCommandParams p;
-               if (ev.action == LFUN_HTMLURL)
-                       p.setCmdName("htmlurl");
-               else
-                       p.setCmdName("url");
-               owner_->getDialogs().createUrl(p.getAsString());
-       }
-       break;
-
        // --- accented characters ---------------------------
 
        case LFUN_UMLAUT:
index 15f320bf8f905693c15ac957505665f94194bd14..c967821ad604c9db9f7454c0004b9c11797c247e 100644 (file)
@@ -35,8 +35,6 @@ struct BufferView::Pimpl : public boost::signals::trackable {
              int xpos, int ypos, int width, int height);
        ///
        Painter & painter() const;
-       /// return the work area for this bview
-       WorkArea & workarea() const;
        /// return the screen for this bview
        LyXScreen & screen() const;
        ///
@@ -142,5 +140,7 @@ private:
        Inset * getInsetByCode(Inset::Code code);
        ///
        void MenuInsertLyXFile(string const & filen);
+       /// our workarea
+       WorkArea & Pimpl::workarea() const;
 };
 #endif // BUFFERVIEW_PIMPL_H
index 8b3d1f0508c1202bcc42e887669ffb3047c53e85..a5a1db6fe49efb0e5691dde28450dd3b275ca37f 100644 (file)
@@ -4,6 +4,20 @@
        * lyxtext.h:
        * text2.C: remove unused member number_of_rows
 
+       * Makefile.am:
+       * BufferView2.C: remove file, move contents to...
+       * BufferView.C: ... here
+
+       * BufferView_pimpl.C:
+       * factory.C: move more inset creation to factory
+
+       * vspace.C: avoid direct usage of LyXText, ws changes
+
+       * BufferView.[Ch]:
+               don't provide direct access to WorkArea, use two simple
+               acessors haveSelction() and workHeight() instead
+
+
 2002-08-29  John Levon  <levon@movementarian.org>
 
        * BufferView_pimpl.C (dispatch): do not continue when
index 1815fbefa4a88598fd7592842af900ee2bece115..b620c11e71143e39b4b4255989c0dca7623d3dcf 100644 (file)
@@ -28,7 +28,7 @@
 #include "support/lstrings.h"
 #include "frontends/LyXView.h"
 #include "frontends/screen.h"
-#include "frontends/WorkArea.h"
+#include "frontends/Dialogs.h"
 #include "insets/insetspecialchar.h"
 #include "insets/insettext.h"
 #include "insets/insetbib.h"
@@ -75,7 +75,7 @@ namespace {
                }
 
                if (!lt->selection.set())
-                       bv->workarea().haveSelection(false);
+                       bv->haveSelection(false);
 
                bv->switchKeyMap();
        }
@@ -240,7 +240,7 @@ void LyXText::cursorPrevious(BufferView * bv)
 {
        if (!cursor.row()->previous()) {
                if (first_y > 0) {
-                       int new_y = bv->text->first_y - bv->workarea().workHeight();
+                       int new_y = bv->text->first_y - bv->workHeight();
                        bv->screen().draw(bv->text, bv, new_y < 0 ? 0 : new_y);
                        bv->updateScrollbar();
                }
@@ -260,18 +260,18 @@ void LyXText::cursorPrevious(BufferView * bv)
                // as we move the cursor or do something while inside the row (it may
                // span several workarea-heights) we'll move to the top again, but this
                // is better than just jump down and only display part of the row.
-               new_y = bv->text->first_y - bv->workarea().workHeight();
+               new_y = bv->text->first_y - bv->workHeight();
        } else {
                if (inset_owner) {
                        new_y = bv->text->cursor.iy()
                                + bv->theLockingInset()->insetInInsetY() + y
                                + cursor.row()->height()
-                               - bv->workarea().workHeight() + 1;
+                               - bv->workHeight() + 1;
                } else {
                        new_y = cursor.y()
                                - cursor.row()->baseline()
                                + cursor.row()->height()
-                               - bv->workarea().workHeight() + 1;
+                               - bv->workHeight() + 1;
                }
        }
        bv->screen().draw(bv->text, bv, new_y < 0 ? 0 : new_y);
@@ -292,15 +292,15 @@ void LyXText::cursorNext(BufferView * bv)
        if (!cursor.row()->next()) {
                int y = cursor.y() - cursor.row()->baseline() +
                        cursor.row()->height();
-               if (y > int(first_y + bv->workarea().workHeight())) {
+               if (y > int(first_y + bv->workHeight())) {
                        bv->screen().draw(bv->text, bv,
-                                                 bv->text->first_y + bv->workarea().workHeight());
+                                                 bv->text->first_y + bv->workHeight());
                        bv->updateScrollbar();
                }
                return;
        }
 
-       int y = first_y + bv->workarea().workHeight();
+       int y = first_y + bv->workHeight();
        if (inset_owner && !first_y) {
                y -= (bv->text->cursor.iy()
                          - bv->text->first_y
@@ -311,7 +311,7 @@ void LyXText::cursorNext(BufferView * bv)
 
        Row * cursorrow = cursor.row();
        setCursorFromCoordinates(bv, cursor.x_fix(), y);
-       // + workarea().workHeight());
+       // + bv->workHeight());
        finishUndo();
 
        int new_y;
@@ -321,7 +321,7 @@ void LyXText::cursorNext(BufferView * bv)
                // as we move the cursor or do something while inside the row (it may
                // span several workarea-heights) we'll move to the top again, but this
                // is better than just jump down and only display part of the row.
-               new_y = bv->text->first_y + bv->workarea().workHeight();
+               new_y = bv->text->first_y + bv->workHeight();
        } else {
                if (inset_owner) {
                        new_y = bv->text->cursor.iy()
@@ -336,7 +336,7 @@ void LyXText::cursorNext(BufferView * bv)
                LyXCursor cur;
                setCursor(bv, cur, cursor.row()->next()->par(),
                                                cursor.row()->next()->pos(), false);
-               if (cur.y() < int(first_y + bv->workarea().workHeight())) {
+               if (cur.y() < int(first_y + bv->workHeight())) {
                        cursorDown(bv, true);
                }
        }
@@ -1111,7 +1111,7 @@ Inset::RESULT LyXText::dispatch(FuncRequest const & cmd)
                // this was originally a beforeChange(bv->text), i.e
                // the outermost LyXText!
                bv->beforeChange(this);
-               string const clip = bv->workarea().getClipboard();
+               string const clip = bv->getClipboard();
                if (!clip.empty()) {
                        if (cmd.argument == "paragraph")
                                insertStringAsParagraphs(bv, clip);
@@ -1201,7 +1201,7 @@ Inset::RESULT LyXText::dispatch(FuncRequest const & cmd)
                        if (bv_owner)
                                bv->screen().toggleSelection(this, bv, false);
                        update(bv, false);
-                       bv->workarea().haveSelection(selection.set());
+                       bv->haveSelection(selection.set());
                }
                break;
 
@@ -1220,7 +1220,7 @@ Inset::RESULT LyXText::dispatch(FuncRequest const & cmd)
                                selectWord(bv, LyXText::WHOLE_WORD_STRICT);
                        }
                        update(bv, false);
-                       bv->workarea().haveSelection(selection.set());
+                       bv->haveSelection(selection.set());
                }
                break;
 
@@ -1273,7 +1273,7 @@ Inset::RESULT LyXText::dispatch(FuncRequest const & cmd)
        #endif
                // This is to allow jumping over large insets
                if (cursorrow == bv->text->cursor.row()) {
-                       if (cmd.y >= int(bv->workarea().workHeight()))
+                       if (cmd.y >= int(bv->workHeight()))
                                bv->text->cursorDown(bv, false);
                        else if (cmd.y < 0)
                                bv->text->cursorUp(bv, false);
@@ -1430,7 +1430,7 @@ Inset::RESULT LyXText::dispatch(FuncRequest const & cmd)
 
                // finish selection
                if (cmd.button() == mouse_button::button1)
-                       bv->workarea().haveSelection(selection.set());
+                       bv->haveSelection(selection.set());
 
                bv->switchKeyMap();
                bv->owner()->view_state_changed();
@@ -1524,7 +1524,7 @@ Inset::RESULT LyXText::dispatch(FuncRequest const & cmd)
                                cutSelection(bv, false, false);
                                update(bv);
                        }
-                       bv->workarea().haveSelection(false);
+                       bv->haveSelection(false);
                }
 
                bv->beforeChange(this);
@@ -1547,6 +1547,19 @@ Inset::RESULT LyXText::dispatch(FuncRequest const & cmd)
                break;
        }
 
+       case LFUN_HTMLURL: {
+               InsetCommandParams p("htmlurl");
+               bv->owner()->getDialogs().createUrl(p.getAsString());
+               break;
+       }
+
+       case LFUN_URL: {
+               InsetCommandParams p("url");
+               bv->owner()->getDialogs().createUrl(p.getAsString());
+               break;
+       }
+
+
 #if 0
        case LFUN_INSET_LIST:
        case LFUN_INSET_THEOREM: