]> git.lyx.org Git - features.git/commitdiff
Dialogs: discourage non const access to buffer() and bufferview().
authorAbdelrazak Younes <younes@lyx.org>
Mon, 29 Sep 2008 10:52:17 +0000 (10:52 +0000)
committerAbdelrazak Younes <younes@lyx.org>
Mon, 29 Sep 2008 10:52:17 +0000 (10:52 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26620 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/Dialog.cpp
src/frontends/qt4/Dialog.h
src/frontends/qt4/GuiDocument.cpp
src/frontends/qt4/GuiErrorList.cpp
src/frontends/qt4/GuiInfo.cpp
src/frontends/qt4/GuiSpellchecker.cpp
src/frontends/qt4/GuiTabular.cpp
src/frontends/qt4/GuiViewSource.cpp

index ee2557abb3f71da3cf176f01f000e6b93bba3c2f..a7e0b51df951bf092ec2bc4109aee760d0f06cc2 100644 (file)
@@ -106,25 +106,12 @@ KernelDocType Dialog::docType() const
 }
 
 
-BufferView * Dialog::bufferview()
-{
-       return lyxview_->view();
-}
-
-
 BufferView const * Dialog::bufferview() const
 {
        return lyxview_->view();
 }
 
 
-Buffer & Dialog::buffer()
-{
-       LASSERT(lyxview_->buffer(), /**/);
-       return *lyxview_->buffer();
-}
-
-
 Buffer const & Dialog::buffer() const
 {
        LASSERT(lyxview_->buffer(), /**/);
index e68812ca83fe8a612c68a9a2149c05e95560d22c..b69e963742fac3ca212f4f5591322c8273a26bc3 100644 (file)
@@ -251,10 +251,8 @@ public:
        GuiView & lyxview() { return *lyxview_; }
        GuiView const & lyxview() const { return *lyxview_; }
 
-       Buffer & buffer();
        Buffer const & buffer() const;
 
-       BufferView * bufferview();
        BufferView const * bufferview() const;
        //@}
 
index 4d97a78cd4346c4ad67fb9401817aef5835efc64..622156603da014131709f832a85e694c71d07630 100644 (file)
@@ -2216,7 +2216,7 @@ char const * GuiDocument::fontfamilies_gui[5] = {
 
 bool GuiDocument::initialiseParams(string const &)
 {
-       BufferView * view = bufferview();
+       BufferView const * view = bufferview();
        if (!view) {
                bp_ = BufferParams();
                paramsToDialog(bp_);
@@ -2305,7 +2305,7 @@ void GuiDocument::dispatchParams()
                           support::onlyPath(buffer().absFileName()));
                if (isLyXFilename(master_file.absFilename())) {
                        Buffer * master = checkAndLoadLyXFile(master_file);
-                       buffer().setParent(master);
+                       const_cast<Buffer &>(buffer()).setParent(master);
                }
        }
 
@@ -2328,7 +2328,8 @@ void GuiDocument::dispatchParams()
                        "assign branch"));
        }
        // FIXME: If we used an LFUN, we would not need those two lines:
-       bufferview()->processUpdateFlags(Update::Force | Update::FitCursor);
+       BufferView * bv = const_cast<BufferView *>(bufferview());
+       bv->processUpdateFlags(Update::Force | Update::FitCursor);
 }
 
 
index b1ab7b414ea4ed91a13b85d104caa3db8c61cfa1..2b0834d0d49fb22444432569c15af49c38942a81 100644 (file)
@@ -104,7 +104,7 @@ bool GuiErrorList::goTo(int item)
        if (err.par_id == -1)
                return false;
 
-       Buffer & buf = buffer();
+       Buffer const & buf = buffer();
        DocIterator dit = buf.getParFromID(err.par_id);
 
        if (dit == doc_iterator_end(buf.inset())) {
@@ -121,9 +121,10 @@ bool GuiErrorList::goTo(int item)
        pos_type const start = min(err.pos_start, end);
        pos_type const range = end - start;
        dit.pos() = start;
-       bufferview()->putSelectionAt(dit, range, false);
+       BufferView * bv = const_cast<BufferView *>(bufferview());
        // FIXME: If we used an LFUN, we would not need this line:
-       bufferview()->processUpdateFlags(Update::Force | Update::FitCursor);
+       bv->putSelectionAt(dit, range, false);
+       bv->processUpdateFlags(Update::Force | Update::FitCursor);
        return true;
 }
 
index 4a838cc0ac8a367554e85db2627feec3b4c3592f..352a36164ce808abb7716e25f0037bd42ad65d15 100644 (file)
@@ -100,8 +100,10 @@ void GuiInfo::applyView()
        dispatch(FuncRequest(LFUN_INSET_MODIFY, argument));
        // FIXME: update the inset contents
        updateLabels(bufferview()->buffer());
-       bufferview()->updateMetrics();
-       bufferview()->buffer().changed();
+       BufferView * bv = const_cast<BufferView *>(bufferview());
+       bv->updateMetrics();
+       bv->buffer().changed();
+       bv->buffer().markDirty();
 }
 
 
index 561b99168f61460ca75be644ed489e0572427259..4440262060f15fc00bec2decc63e15ecf3ab5e59 100644 (file)
@@ -372,11 +372,12 @@ void GuiSpellchecker::check()
 
        int const size = cur.selEnd().pos() - cur.selBegin().pos();
        cur.pos() -= size;
-       bufferview()->putSelectionAt(cur, size, false);
+       BufferView * bv = const_cast<BufferView *>(bufferview());
+       bv->putSelectionAt(cur, size, false);
        // FIXME: if we used a lfun like in find/replace, dispatch would do
        // that for us
        // FIXME: this Controller is very badly designed...
-       bufferview()->processUpdateFlags(Update::Force | Update::FitCursor);
+       bv->processUpdateFlags(Update::Force | Update::FitCursor);
 
        // set suggestions
        if (res != SpellBase::OK && res != SpellBase::IGNORED_WORD) {
@@ -427,10 +428,11 @@ void GuiSpellchecker::replace(docstring const & replacement)
 {
        LYXERR(Debug::GUI, "GuiSpellchecker::replace("
                           << to_utf8(replacement) << ")");
-       cap::replaceSelectionWithString(bufferview()->cursor(), replacement, true);
-       buffer().markDirty();
+       BufferView * bv = const_cast<BufferView *>(bufferview());
+       cap::replaceSelectionWithString(bv->cursor(), replacement, true);
+       bv->buffer().markDirty();
        // If we used an LFUN, we would not need that
-       bufferview()->processUpdateFlags(Update::Force | Update::FitCursor);
+       bv->processUpdateFlags(Update::Force | Update::FitCursor);
        // fix up the count
        --count_;
        check();
index 8b8c2dbaf438e73bfaa55e47c1c1023002b24761..d7217a5223e7d1cbb81684842039f2056e5a310f 100644 (file)
@@ -969,7 +969,7 @@ bool GuiTabular::initialiseParams(string const & data)
                return true;
        }
 
-       InsetTabular tmp(buffer());
+       InsetTabular tmp(const_cast<Buffer &>(buffer()));
        InsetTabular::string2params(data, tmp);
        tabular_ = Tabular(tmp.tabular);
        return true;
@@ -978,7 +978,7 @@ bool GuiTabular::initialiseParams(string const & data)
 
 void GuiTabular::clearParams()
 {
-       InsetTabular tmp(buffer());
+       InsetTabular tmp(const_cast<Buffer &>(buffer()));
        tabular_ = tmp.tabular;
        active_cell_ = Tabular::npos;
 }
index 2d9ec85655efd60093913a431712bba26ee87954..d0e057d2297f4dd0dfad7826827ed82bd6018d68 100644 (file)
@@ -70,7 +70,7 @@ ViewSourceWidget::ViewSourceWidget(GuiViewSource & controller)
 
 void ViewSourceWidget::updateView()
 {
-       BufferView * view = controller_.bufferview();
+       BufferView const * view = controller_.bufferview();
        if (!view) {
                document_->setPlainText(QString());
                setEnabled(false);
@@ -134,7 +134,7 @@ QString GuiViewSource::getContent(bool fullSource)
        pit_type par_begin;
        pit_type par_end;
 
-       BufferView * view = bufferview();
+       BufferView const * view = bufferview();
        if (!view->cursor().selection()) {
                par_begin = view->cursor().bottom().pit();
                par_end = par_begin;