From b6a33822e5f0b6757ffd11a44b89f667f3867d06 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20P=C3=B6nitz?= Date: Wed, 19 Sep 2007 21:10:00 +0000 Subject: [PATCH] Simpler structure, 2-3s faster compiles. Not that it matters much... git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20361 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/controllers/ControlBox.cpp | 10 ++---- src/frontends/controllers/ControlBox.h | 13 +++---- src/frontends/controllers/ControlBranch.cpp | 9 ++--- src/frontends/controllers/ControlBranch.h | 15 ++++---- .../controllers/ControlCharacter.cpp | 36 +++++++++---------- src/frontends/controllers/ControlCharacter.h | 11 +++--- src/frontends/controllers/ControlCitation.cpp | 2 +- src/frontends/controllers/ControlDocument.cpp | 16 +++------ src/frontends/controllers/ControlDocument.h | 11 +++--- src/frontends/controllers/ControlExternal.cpp | 13 +++---- src/frontends/controllers/ControlExternal.h | 10 ++---- src/frontends/controllers/ControlFloat.cpp | 7 ++-- src/frontends/controllers/ControlFloat.h | 14 ++++---- src/frontends/controllers/ControlGraphics.cpp | 14 ++------ src/frontends/controllers/ControlGraphics.h | 13 ++++--- src/frontends/controllers/ControlNote.cpp | 6 ++-- src/frontends/controllers/ControlNote.h | 15 ++++---- .../controllers/ControlParagraph.cpp | 33 +++-------------- src/frontends/controllers/ControlParagraph.h | 16 ++++----- src/frontends/controllers/ControlPrint.cpp | 16 ++------- src/frontends/controllers/ControlPrint.h | 16 ++++----- src/frontends/controllers/ControlTabular.cpp | 21 +++++++---- src/frontends/controllers/ControlTabular.h | 10 +++--- src/frontends/controllers/ControlWrap.cpp | 7 ++-- src/frontends/controllers/ControlWrap.h | 15 ++++---- src/frontends/controllers/tests/boost.cpp | 1 - 26 files changed, 135 insertions(+), 215 deletions(-) diff --git a/src/frontends/controllers/ControlBox.cpp b/src/frontends/controllers/ControlBox.cpp index 309958fc36..edfbf88bb2 100644 --- a/src/frontends/controllers/ControlBox.cpp +++ b/src/frontends/controllers/ControlBox.cpp @@ -12,7 +12,6 @@ #include "ControlBox.h" #include "FuncRequest.h" -#include "insets/InsetBox.h" #include "gettext.h" @@ -23,16 +22,13 @@ namespace lyx { namespace frontend { ControlBox::ControlBox(Dialog & parent) - : Controller(parent) + : Controller(parent), params_("") {} bool ControlBox::initialiseParams(string const & data) { - InsetBoxParams params(""); - InsetBoxMailer::string2params(data, params); - params_.reset(new InsetBoxParams(params)); - + InsetBoxMailer::string2params(data, params_); return true; } @@ -40,7 +36,7 @@ bool ControlBox::initialiseParams(string const & data) void ControlBox::clearParams() { - params_.reset(); + params_ = InsetBoxParams(""); } diff --git a/src/frontends/controllers/ControlBox.h b/src/frontends/controllers/ControlBox.h index f401086344..0711cbfd85 100644 --- a/src/frontends/controllers/ControlBox.h +++ b/src/frontends/controllers/ControlBox.h @@ -12,15 +12,12 @@ #ifndef CONTROLBOX_H #define CONTROLBOX_H - #include "Dialog.h" +#include "insets/InsetBox.h" + #include -#include namespace lyx { - -class InsetBoxParams; - namespace frontend { class ControlBox : public Controller { @@ -36,13 +33,13 @@ public: /// virtual bool isBufferDependent() const { return true; } /// - InsetBoxParams & params() { return *params_.get(); } + InsetBoxParams & params() { return params_; } /// - InsetBoxParams const & params() const { return *params_.get(); } + InsetBoxParams const & params() const { return params_; } /// private: /// - boost::scoped_ptr params_; + InsetBoxParams params_; }; /// diff --git a/src/frontends/controllers/ControlBranch.cpp b/src/frontends/controllers/ControlBranch.cpp index 20aa483f66..f80ece0ca0 100644 --- a/src/frontends/controllers/ControlBranch.cpp +++ b/src/frontends/controllers/ControlBranch.cpp @@ -17,8 +17,6 @@ #include "BufferParams.h" #include "BranchList.h" #include "FuncRequest.h" -#include "insets/InsetBranch.h" - using std::string; using std::vector; @@ -33,17 +31,14 @@ ControlBranch::ControlBranch(Dialog & parent) bool ControlBranch::initialiseParams(string const & data) { - InsetBranchParams params; - InsetBranchMailer::string2params(data, params); - params_.reset(new InsetBranchParams(params)); - + InsetBranchMailer::string2params(data, params_); return true; } void ControlBranch::clearParams() { - params_.reset(); + params_ = InsetBranchParams(); } void ControlBranch::dispatchParams() diff --git a/src/frontends/controllers/ControlBranch.h b/src/frontends/controllers/ControlBranch.h index 825ca8b0ee..1c2fe9c144 100644 --- a/src/frontends/controllers/ControlBranch.h +++ b/src/frontends/controllers/ControlBranch.h @@ -13,18 +13,17 @@ #ifndef CONTROLBRANCH_H #define CONTROLBRANCH_H - #include "Dialog.h" -#include +#include "insets/InsetBranch.h" namespace lyx { class BranchList; -class InsetBranchParams; namespace frontend { -class ControlBranch : public Controller { +class ControlBranch : public Controller +{ public: /// ControlBranch(Dialog &); @@ -37,14 +36,14 @@ public: /// virtual bool isBufferDependent() const { return true; } /// - InsetBranchParams & params() { return *params_.get(); } - InsetBranchParams const & params() const { return *params_.get(); } + InsetBranchParams & params() { return params_; } + /// + InsetBranchParams const & params() const { return params_; } /// BranchList const & branchlist() const; - private: /// - boost::scoped_ptr params_; + InsetBranchParams params_; }; } // namespace frontend diff --git a/src/frontends/controllers/ControlCharacter.cpp b/src/frontends/controllers/ControlCharacter.cpp index 9154bc0f93..7ee0b2308b 100644 --- a/src/frontends/controllers/ControlCharacter.cpp +++ b/src/frontends/controllers/ControlCharacter.cpp @@ -26,16 +26,21 @@ namespace lyx { namespace frontend { ControlCharacter::ControlCharacter(Dialog & parent) - : Controller(parent), - font_(0), toggleall_(false), reset_lang_(false) + : Controller(parent), font_(0), toggleall_(false), reset_lang_(false) {} +ControlCharacter::~ControlCharacter() +{ + delete font_; +} + + bool ControlCharacter::initialiseParams(string const &) { // Do this the first time only. - if (!font_.get()) - font_.reset(new Font(Font::ALL_IGNORE)); + if (!font_) + font_ = new Font(Font::ALL_IGNORE); // so that the user can press Ok if (getFamily() != Font::IGNORE_FAMILY || @@ -51,26 +56,21 @@ bool ControlCharacter::initialiseParams(string const &) } -void ControlCharacter::clearParams() -{} - - void ControlCharacter::dispatchParams() { // Nothing to dispatch. (Can be called from the Toolbar.) - if (!font_.get()) + if (!font_) return; string data; - if (font2string(*font_.get(), toggleall_, data)) { + if (font2string(*font_, toggleall_, data)) dispatch(FuncRequest(getLfun(), data)); - } } Font::FONT_FAMILY ControlCharacter::getFamily() const { - if (!font_.get()) + if (!font_) return Font::IGNORE_FAMILY; return font_->family(); } @@ -84,7 +84,7 @@ void ControlCharacter::setFamily(Font::FONT_FAMILY val) Font::FONT_SERIES ControlCharacter::getSeries() const { - if (!font_.get()) + if (!font_) return Font::IGNORE_SERIES; return font_->series(); } @@ -98,7 +98,7 @@ void ControlCharacter::setSeries(Font::FONT_SERIES val) Font::FONT_SHAPE ControlCharacter::getShape() const { - if (!font_.get()) + if (!font_) return Font::IGNORE_SHAPE; return font_->shape(); } @@ -112,7 +112,7 @@ void ControlCharacter::setShape(Font::FONT_SHAPE val) Font::FONT_SIZE ControlCharacter::getSize() const { - if (!font_.get()) + if (!font_) return Font::IGNORE_SIZE; return font_->size(); } @@ -126,7 +126,7 @@ void ControlCharacter::setSize(Font::FONT_SIZE val) FONT_STATE ControlCharacter::getBar() const { - if (!font_.get()) + if (!font_) return IGNORE; if (font_->emph() == Font::TOGGLE) @@ -179,7 +179,7 @@ void ControlCharacter::setBar(FONT_STATE val) Color_color ControlCharacter::getColor() const { - if (!font_.get()) + if (!font_) return Color::ignore; return font_->color(); @@ -212,7 +212,7 @@ string ControlCharacter::getLanguage() const { if (reset_lang_) return "reset"; - if (font_.get() && font_->language()) + if (font_ && font_->language()) return font_->language()->lang(); return "ignore"; } diff --git a/src/frontends/controllers/ControlCharacter.h b/src/frontends/controllers/ControlCharacter.h index b36888d46b..8c5deec271 100644 --- a/src/frontends/controllers/ControlCharacter.h +++ b/src/frontends/controllers/ControlCharacter.h @@ -14,8 +14,6 @@ #include "Dialog.h" #include "Font.h" -#include - namespace lyx { @@ -36,14 +34,17 @@ enum FONT_STATE { INHERIT }; -class ControlCharacter : public Controller { +class ControlCharacter : public Controller +{ public: /// ControlCharacter(Dialog &); /// + ~ControlCharacter(); + /// virtual bool initialiseParams(std::string const & data); /// - virtual void clearParams(); + virtual void clearParams() {} /// virtual void dispatchParams(); /// @@ -86,7 +87,7 @@ public: bool getToggleAll() const; private: /// - boost::scoped_ptr font_; + Font * font_; /// bool toggleall_; /// If true the language should be reset. diff --git a/src/frontends/controllers/ControlCitation.cpp b/src/frontends/controllers/ControlCitation.cpp index 2fa35bcac0..4b8ab880d3 100644 --- a/src/frontends/controllers/ControlCitation.cpp +++ b/src/frontends/controllers/ControlCitation.cpp @@ -137,7 +137,7 @@ docstring const escape_special_chars(docstring const & expr) // Note that '[' and '\' must be escaped. // This is a limitation of boost::regex, but all other chars in BREs // are assumed literal. - boost::regex reg("[].|*?+(){}^$\\[\\\\]"); + static const boost::regex reg("[].|*?+(){}^$\\[\\\\]"); // $& is a perl-like expression that expands to all // of the current match diff --git a/src/frontends/controllers/ControlDocument.cpp b/src/frontends/controllers/ControlDocument.cpp index d21f1d3aa7..0eaaa44385 100644 --- a/src/frontends/controllers/ControlDocument.cpp +++ b/src/frontends/controllers/ControlDocument.cpp @@ -63,8 +63,7 @@ ControlDocument::~ControlDocument() bool ControlDocument::initialiseParams(string const &) { - bp_.reset(new BufferParams); - *bp_ = buffer().params(); + bp_ = buffer().params(); loadModuleNames(); return true; } @@ -72,14 +71,7 @@ bool ControlDocument::initialiseParams(string const &) void ControlDocument::clearParams() { - bp_.reset(); -} - - -BufferParams & ControlDocument::params() const -{ - BOOST_ASSERT(bp_.get()); - return *bp_; + bp_ = BufferParams(); } @@ -122,7 +114,7 @@ ControlDocument::getPackageList(string const & modName) const TextClass const & ControlDocument::textClass() const { - return textclasslist[bp_->getBaseClass()]; + return textclasslist[bp_.getBaseClass()]; } @@ -175,7 +167,7 @@ void ControlDocument::dispatchParams() void ControlDocument::setLanguage() const { - Language const * const newL = bp_->language; + Language const * const newL = bp_.language; if (buffer().params().language == newL) return; diff --git a/src/frontends/controllers/ControlDocument.h b/src/frontends/controllers/ControlDocument.h index 8d05f690c1..2d48bee3d7 100644 --- a/src/frontends/controllers/ControlDocument.h +++ b/src/frontends/controllers/ControlDocument.h @@ -14,10 +14,10 @@ #define CONTROLDOCUMENT_H #include "Dialog.h" +#include "BufferParams.h" #include "support/FileName.h" #include "support/filetools.h" #include "support/types.h" -#include #include #include @@ -35,7 +35,8 @@ typedef std::map ModuleMap; /** A controller for Document dialogs. */ -class ControlDocument : public Controller { +class ControlDocument : public Controller +{ public: /// font family names for BufferParams::fontsDefaultFamily static char const * const fontfamilies[5]; @@ -58,7 +59,9 @@ public: /// TextClass const & textClass() const; /// - BufferParams & params() const; + BufferParams & params() { return bp_; } + /// + BufferParams const & params() const { return bp_; } /// BufferId id() const; /// List of available modules @@ -85,7 +88,7 @@ private: /// void loadModuleNames(); /// - boost::scoped_ptr bp_; + BufferParams bp_; /// List of names of available modules std::vector moduleNames_; }; diff --git a/src/frontends/controllers/ControlExternal.cpp b/src/frontends/controllers/ControlExternal.cpp index 6cb7f685e3..4822b2d4b3 100644 --- a/src/frontends/controllers/ControlExternal.cpp +++ b/src/frontends/controllers/ControlExternal.cpp @@ -53,15 +53,14 @@ ControlExternal::ControlExternal(Dialog & parent) bool ControlExternal::initialiseParams(string const & data) { - params_.reset(new InsetExternalParams); - InsetExternalMailer::string2params(data, buffer(), *params_); + InsetExternalMailer::string2params(data, buffer(), params_); return true; } void ControlExternal::clearParams() { - params_.reset(); + params_ = InsetExternalParams(); } @@ -76,22 +75,18 @@ void ControlExternal::dispatchParams() void ControlExternal::setParams(InsetExternalParams const & p) { - BOOST_ASSERT(params_.get()); - *params_ = p; + params_ = p; } InsetExternalParams const & ControlExternal::params() const { - BOOST_ASSERT(params_.get()); - return *params_; + return params_; } void ControlExternal::editExternal() { - BOOST_ASSERT(params_.get()); - dialog().applyView(); string const lfun = InsetExternalMailer::params2string(params(), buffer()); diff --git a/src/frontends/controllers/ControlExternal.h b/src/frontends/controllers/ControlExternal.h index 1c457f724e..5b40fe52fa 100644 --- a/src/frontends/controllers/ControlExternal.h +++ b/src/frontends/controllers/ControlExternal.h @@ -15,19 +15,13 @@ #define CONTROLEXTERNAL_H #include "Dialog.h" - #include "support/types.h" - -#include +#include "insets/InsetExternal.h" #include #include - namespace lyx { - -class InsetExternalParams; - namespace external { class Template; @@ -78,7 +72,7 @@ public: bool bbChanged() const { return bb_changed_; } private: /// - boost::scoped_ptr params_; + InsetExternalParams params_; bool bb_changed_; }; diff --git a/src/frontends/controllers/ControlFloat.cpp b/src/frontends/controllers/ControlFloat.cpp index 1f355af028..a55527e737 100644 --- a/src/frontends/controllers/ControlFloat.cpp +++ b/src/frontends/controllers/ControlFloat.cpp @@ -12,7 +12,6 @@ #include "ControlFloat.h" #include "FuncRequest.h" -#include "insets/InsetFloat.h" using std::string; @@ -27,16 +26,14 @@ ControlFloat::ControlFloat(Dialog & parent) bool ControlFloat::initialiseParams(string const & data) { - InsetFloatParams params; - InsetFloatMailer::string2params(data, params); - params_.reset(new InsetFloatParams(params)); + InsetFloatMailer::string2params(data, params_); return true; } void ControlFloat::clearParams() { - params_.reset(); + params_ = InsetFloatParams(); } diff --git a/src/frontends/controllers/ControlFloat.h b/src/frontends/controllers/ControlFloat.h index 6ba718b5df..06e6fc4a60 100644 --- a/src/frontends/controllers/ControlFloat.h +++ b/src/frontends/controllers/ControlFloat.h @@ -13,15 +13,13 @@ #define CONTROLFLOAT_H #include "Dialog.h" -#include +#include "insets/InsetFloat.h" namespace lyx { - -class InsetFloatParams; - namespace frontend { -class ControlFloat : public Controller { +class ControlFloat : public Controller +{ public: /// ControlFloat(Dialog &); @@ -34,12 +32,12 @@ public: /// virtual bool isBufferDependent() const { return true; } /// - InsetFloatParams & params() { return *params_.get(); } + InsetFloatParams & params() { return params_; } /// - InsetFloatParams const & params() const { return *params_.get(); } + InsetFloatParams const & params() const { return params_; } private: /// - boost::scoped_ptr params_; + InsetFloatParams params_; }; } // namespace frontend diff --git a/src/frontends/controllers/ControlGraphics.cpp b/src/frontends/controllers/ControlGraphics.cpp index f59fdc3ef8..26c95c7b6b 100644 --- a/src/frontends/controllers/ControlGraphics.cpp +++ b/src/frontends/controllers/ControlGraphics.cpp @@ -23,8 +23,6 @@ #include "graphics/GraphicsCacheItem.h" #include "graphics/GraphicsImage.h" -#include "insets/InsetGraphics.h" - #include "support/convert.h" #include "support/FileFilterList.h" #include "support/filetools.h" @@ -60,16 +58,14 @@ ControlGraphics::ControlGraphics(Dialog & parent) bool ControlGraphics::initialiseParams(string const & data) { - InsetGraphicsParams params; - InsetGraphicsMailer::string2params(data, buffer(), params); - params_.reset(new InsetGraphicsParams(params)); + InsetGraphicsMailer::string2params(data, buffer(), params_); return true; } void ControlGraphics::clearParams() { - params_.reset(); + params_ = InsetGraphicsParams(); } @@ -96,9 +92,7 @@ docstring const ControlGraphics::browse(docstring const & in_name) const pair dir2(_("Documents|#o#O"), from_utf8(lyxrc.document_path)); // Show the file browser dialog return browseRelFile(in_name, from_utf8(bufferFilepath()), - title, - FileFilterList(), - false, dir1, dir2); + title, FileFilterList(), false, dir1, dir2); } @@ -140,8 +134,6 @@ bool ControlGraphics::isFilenameValid(string const & fname) const void ControlGraphics::editGraphics() { - BOOST_ASSERT(params_.get()); - dialog().applyView(); string const lfun = InsetGraphicsMailer::params2string(params(), buffer()); diff --git a/src/frontends/controllers/ControlGraphics.h b/src/frontends/controllers/ControlGraphics.h index f6785ee433..adb9d18e88 100644 --- a/src/frontends/controllers/ControlGraphics.h +++ b/src/frontends/controllers/ControlGraphics.h @@ -14,14 +14,12 @@ #ifndef CONTROLGRAPHICS_H #define CONTROLGRAPHICS_H - #include "Dialog.h" - #include "support/docstring.h" +#include "insets/InsetGraphics.h" #include #include -#include namespace lyx { @@ -34,7 +32,8 @@ class LyXView; /** A controller for Graphics dialogs. */ -class ControlGraphics : public Controller { +class ControlGraphics : public Controller +{ public: /// ControlGraphics(Dialog &); @@ -47,9 +46,9 @@ public: /// virtual bool isBufferDependent() const { return true; } /// - InsetGraphicsParams & params() { return *params_.get(); } + InsetGraphicsParams & params() { return params_; } /// - InsetGraphicsParams const & params() const { return *params_.get(); } + InsetGraphicsParams const & params() const { return params_; } /// Browse for a file docstring const browse(docstring const &) const; @@ -64,7 +63,7 @@ public: private: /// - boost::scoped_ptr params_; + InsetGraphicsParams params_; }; diff --git a/src/frontends/controllers/ControlNote.cpp b/src/frontends/controllers/ControlNote.cpp index 5ab3c01136..30619f1a7b 100644 --- a/src/frontends/controllers/ControlNote.cpp +++ b/src/frontends/controllers/ControlNote.cpp @@ -28,16 +28,14 @@ ControlNote::ControlNote(Dialog & parent) bool ControlNote::initialiseParams(string const & data) { - InsetNoteParams params; - InsetNoteMailer::string2params(data, params); - params_.reset(new InsetNoteParams(params)); + InsetNoteMailer::string2params(data, params_); return true; } void ControlNote::clearParams() { - params_.reset(); + params_ = InsetNoteParams(); } diff --git a/src/frontends/controllers/ControlNote.h b/src/frontends/controllers/ControlNote.h index 02cf30de63..6775ffdc62 100644 --- a/src/frontends/controllers/ControlNote.h +++ b/src/frontends/controllers/ControlNote.h @@ -12,18 +12,15 @@ #ifndef CONTROLNOTE_H #define CONTROLNOTE_H - #include "Dialog.h" +#include "insets/InsetNote.h" #include -#include namespace lyx { - -class InsetNoteParams; - namespace frontend { -class ControlNote : public Controller { +class ControlNote : public Controller +{ public: /// ControlNote(Dialog &); @@ -36,13 +33,13 @@ public: /// virtual bool isBufferDependent() const { return true; } /// - InsetNoteParams & params() { return *params_.get(); } + InsetNoteParams & params() { return params_; } /// - InsetNoteParams const & params() const { return *params_.get(); } + InsetNoteParams const & params() const { return params_; } /// private: /// - boost::scoped_ptr params_; + InsetNoteParams params_; }; } // namespace frontend diff --git a/src/frontends/controllers/ControlParagraph.cpp b/src/frontends/controllers/ControlParagraph.cpp index a7a022c37c..4df90883d0 100644 --- a/src/frontends/controllers/ControlParagraph.cpp +++ b/src/frontends/controllers/ControlParagraph.cpp @@ -68,16 +68,13 @@ bool ControlParagraph::initialiseParams(string const & data) } } - ParagraphParameters * tmp = new ParagraphParameters; - tmp->read(lex); + ParagraphParameters tmp; + tmp.read(lex); // For now, only reset the params on "show". // Don't bother checking if the params are different on "update" - if (action == 0) { - params_.reset(tmp); - } else { - delete tmp; - } + if (action == 0) + params_ = tmp; // Read the rest of the data irrespective of "show" or "update" int nset = 0; @@ -124,7 +121,7 @@ bool ControlParagraph::initialiseParams(string const & data) void ControlParagraph::clearParams() { - params_.reset(); + params_ = ParagraphParameters(); } @@ -137,20 +134,6 @@ void ControlParagraph::dispatchParams() } -ParagraphParameters & ControlParagraph::params() -{ - BOOST_ASSERT(params_.get()); - return *params_; -} - - -ParagraphParameters const & ControlParagraph::params() const -{ - BOOST_ASSERT(params_.get()); - return *params_; -} - - bool ControlParagraph::haveMulitParSelection() { Cursor cur = bufferview()->cursor(); @@ -158,12 +141,6 @@ bool ControlParagraph::haveMulitParSelection() } -bool ControlParagraph::inInset() const -{ - return ininset_; -} - - bool ControlParagraph::canIndent() const { return buffer().params().paragraph_separation == diff --git a/src/frontends/controllers/ControlParagraph.h b/src/frontends/controllers/ControlParagraph.h index fae990012c..d396771094 100644 --- a/src/frontends/controllers/ControlParagraph.h +++ b/src/frontends/controllers/ControlParagraph.h @@ -14,15 +14,13 @@ #include "Dialog.h" #include "Layout.h" // for LyXAlignment -#include +#include "ParagraphParameters.h" namespace lyx { - -class ParagraphParameters; - namespace frontend { -class ControlParagraph : public Controller { +class ControlParagraph : public Controller +{ public: /// ControlParagraph(Dialog &); @@ -35,13 +33,13 @@ public: /// virtual bool isBufferDependent() const { return true; } /// - ParagraphParameters & params(); + ParagraphParameters & params() { return params_; } /// - ParagraphParameters const & params() const; + ParagraphParameters const & params() const { return params_; } /// bool haveMulitParSelection(); /// - bool inInset() const; + bool inInset() const { return ininset_; } /// bool canIndent() const; /// @@ -51,7 +49,7 @@ public: private: /// - boost::scoped_ptr params_; + ParagraphParameters params_; /// bool ininset_; /// diff --git a/src/frontends/controllers/ControlPrint.cpp b/src/frontends/controllers/ControlPrint.cpp index bd0271bea4..d29a946872 100644 --- a/src/frontends/controllers/ControlPrint.cpp +++ b/src/frontends/controllers/ControlPrint.cpp @@ -18,7 +18,6 @@ #include "BufferParams.h" #include "FuncRequest.h" #include "gettext.h" -#include "PrinterParams.h" #include "support/convert.h" #include "support/FileFilterList.h" @@ -35,8 +34,7 @@ namespace frontend { ControlPrint::ControlPrint(Dialog & parent) - : Controller(parent), - params_(0) + : Controller(parent) {} @@ -45,8 +43,7 @@ bool ControlPrint::initialiseParams(std::string const &) /// get global printer parameters string const name = changeExtension(buffer().fileName(), lyxrc.print_file_extension); - params_.reset(new PrinterParams(PrinterParams::PRINTER, - lyxrc.printer, name)); + params_ = PrinterParams(PrinterParams::PRINTER, lyxrc.printer, name); dialog().setButtonsValid(true); // so that the user can press Ok return true; @@ -55,14 +52,7 @@ bool ControlPrint::initialiseParams(std::string const &) void ControlPrint::clearParams() { - params_.reset(); -} - - -PrinterParams & ControlPrint::params() const -{ - BOOST_ASSERT(params_.get()); - return *params_; + params_ = PrinterParams(); } diff --git a/src/frontends/controllers/ControlPrint.h b/src/frontends/controllers/ControlPrint.h index 143ef1bcd0..0c48504b8e 100644 --- a/src/frontends/controllers/ControlPrint.h +++ b/src/frontends/controllers/ControlPrint.h @@ -14,20 +14,16 @@ #define CONTROLPRINT_H #include "Dialog.h" - +#include "PrinterParams.h" #include "support/docstring.h" -#include - namespace lyx { - -class PrinterParams; - namespace frontend { /** A controller for Print dialogs. */ -class ControlPrint : public Controller { +class ControlPrint : public Controller +{ public: /// ControlPrint(Dialog &); @@ -47,10 +43,12 @@ public: /// Browse for a file docstring const browse(docstring const &) const; /// - PrinterParams & params() const; + PrinterParams & params() { return params_; } + /// + PrinterParams const & params() const { return params_; } private: /// - boost::scoped_ptr params_; + PrinterParams params_; }; } // namespace frontend diff --git a/src/frontends/controllers/ControlTabular.cpp b/src/frontends/controllers/ControlTabular.cpp index 1c284cd7ec..72ddfbe23c 100644 --- a/src/frontends/controllers/ControlTabular.cpp +++ b/src/frontends/controllers/ControlTabular.cpp @@ -24,10 +24,16 @@ namespace lyx { namespace frontend { ControlTabular::ControlTabular(Dialog & parent) - : Controller(parent), active_cell_(Tabular::npos) + : Controller(parent), active_cell_(Tabular::npos), params_(0) {} +ControlTabular::~ControlTabular() +{ + delete params_; +} + + bool ControlTabular::initialiseParams(string const & data) { // try to get the current cell @@ -46,20 +52,23 @@ bool ControlTabular::initialiseParams(string const & data) } if (current_inset && data.empty()) { - params_.reset(new Tabular(current_inset->tabular)); + delete params_; + params_ = new Tabular(current_inset->tabular); return true; } InsetTabular tmp(buffer()); InsetTabularMailer::string2params(data, tmp); - params_.reset(new Tabular(tmp.tabular)); + delete params_; + params_ = new Tabular(tmp.tabular); return true; } void ControlTabular::clearParams() { - params_.reset(); + delete params_; + params_ = 0; active_cell_ = Tabular::npos; } @@ -72,8 +81,8 @@ Tabular::idx_type ControlTabular::getActiveCell() const Tabular const & ControlTabular::tabular() const { - BOOST_ASSERT(params_.get()); - return *params_.get(); + BOOST_ASSERT(params_); + return *params_; } diff --git a/src/frontends/controllers/ControlTabular.h b/src/frontends/controllers/ControlTabular.h index 0011b9af60..1174ae1356 100644 --- a/src/frontends/controllers/ControlTabular.h +++ b/src/frontends/controllers/ControlTabular.h @@ -18,16 +18,18 @@ #include "Dialog.h" #include "insets/InsetTabular.h" -#include namespace lyx { namespace frontend { -class ControlTabular : public Controller { +class ControlTabular : public Controller +{ public: - + /// ControlTabular(Dialog &); /// + ~ControlTabular(); + /// virtual bool initialiseParams(std::string const & data); /// clean-up on hide. virtual void clearParams(); @@ -78,7 +80,7 @@ private: /// Tabular::idx_type active_cell_; /// - boost::scoped_ptr params_; + Tabular * params_; }; } // namespace frontend diff --git a/src/frontends/controllers/ControlWrap.cpp b/src/frontends/controllers/ControlWrap.cpp index e56e80af8a..bd607f709a 100644 --- a/src/frontends/controllers/ControlWrap.cpp +++ b/src/frontends/controllers/ControlWrap.cpp @@ -12,7 +12,6 @@ #include "ControlWrap.h" #include "FuncRequest.h" -#include "insets/InsetWrap.h" using std::string; @@ -27,16 +26,14 @@ ControlWrap::ControlWrap(Dialog & parent) bool ControlWrap::initialiseParams(string const & data) { - InsetWrapParams params; - InsetWrapMailer::string2params(data, params); - params_.reset(new InsetWrapParams(params)); + InsetWrapMailer::string2params(data, params_); return true; } void ControlWrap::clearParams() { - params_.reset(); + params_ = InsetWrapParams(); } diff --git a/src/frontends/controllers/ControlWrap.h b/src/frontends/controllers/ControlWrap.h index 17f56fb774..9a15b76af7 100644 --- a/src/frontends/controllers/ControlWrap.h +++ b/src/frontends/controllers/ControlWrap.h @@ -13,16 +13,13 @@ #define CONTROLWRAP_H #include "Dialog.h" -#include - +#include "insets/InsetWrap.h" namespace lyx { - -class InsetWrapParams; - namespace frontend { -class ControlWrap : public Controller { +class ControlWrap : public Controller +{ public: /// ControlWrap(Dialog &); @@ -35,12 +32,12 @@ public: /// virtual bool isBufferDependent() const { return true; } /// - InsetWrapParams & params() { return *params_.get(); } + InsetWrapParams & params() { return params_; } /// - InsetWrapParams const & params() const { return *params_.get(); } + InsetWrapParams const & params() const { return params_; } private: /// - boost::scoped_ptr params_; + InsetWrapParams params_; }; } // namespace frontend diff --git a/src/frontends/controllers/tests/boost.cpp b/src/frontends/controllers/tests/boost.cpp index d8f4a9492b..975f48c079 100644 --- a/src/frontends/controllers/tests/boost.cpp +++ b/src/frontends/controllers/tests/boost.cpp @@ -30,5 +30,4 @@ void assertion_failed(char const * /*expr*/, char const * /*function*/, ::abort(); } - } -- 2.39.2