Simplify Dialog::name() handling.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21736 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Abdelrazak Younes 2007-11-23 10:45:14 +00:00
parent d4b02ad711
commit 10cc0a8842
8 changed files with 40 additions and 36 deletions

View File

@ -19,18 +19,29 @@
#include "FuncStatus.h" #include "FuncStatus.h"
#include "LyXFunc.h" #include "LyXFunc.h"
#include <string>
namespace lyx { namespace lyx {
namespace frontend { namespace frontend {
Dialog::Dialog(GuiView & lv, std::string const & name)
: lyxview_(&lv), name_(name.c_str())
{}
Dialog::~Dialog() Dialog::~Dialog()
{} {}
std::string Dialog::name() const
{
return name_;
}
bool Dialog::canApply() const bool Dialog::canApply() const
{ {
FuncRequest const fr(getLfun(), name()); FuncRequest const fr(getLfun(), name_);
FuncStatus const fs(getStatus(fr)); FuncStatus const fs(getStatus(fr));
return fs.enabled(); return fs.enabled();
} }
@ -42,15 +53,15 @@ void Dialog::dispatch(FuncRequest const & fr) const
} }
void Dialog::updateDialog(std::string const & name) const void Dialog::updateDialog() const
{ {
dispatch(FuncRequest(LFUN_DIALOG_UPDATE, name)); dispatch(FuncRequest(LFUN_DIALOG_UPDATE, name_));
} }
void Dialog::disconnect(std::string const & name) const void Dialog::disconnect() const
{ {
lyxview_->disconnectDialog(name); lyxview_->disconnectDialog(name_);
} }

View File

@ -47,7 +47,8 @@ public:
/// \param lv is the access point for the dialog to the LyX kernel. /// \param lv is the access point for the dialog to the LyX kernel.
/// \param name is the identifier given to the dialog by its parent /// \param name is the identifier given to the dialog by its parent
/// container. /// container.
Dialog(GuiView & lv) : lyxview_(&lv) {} Dialog(GuiView & lv, std::string const & name);
virtual ~Dialog(); virtual ~Dialog();
/** \name Container Access /** \name Container Access
@ -107,7 +108,7 @@ public:
//@} //@}
/// ///
virtual std::string name() const = 0; std::string name() const;
//@{ //@{
/** Enable the controller to initialise its data structures. /** Enable the controller to initialise its data structures.
@ -188,7 +189,7 @@ public:
* It must, therefore, ask the kernel to provide this information. * It must, therefore, ask the kernel to provide this information.
* \param name is used to identify the dialog to the kernel. * \param name is used to identify the dialog to the kernel.
*/ */
void updateDialog(std::string const & name) const; void updateDialog() const;
/** A request from the Controller that future changes to the data /** A request from the Controller that future changes to the data
* stored by the dialog are not applied to the inset currently * stored by the dialog are not applied to the inset currently
@ -196,7 +197,7 @@ public:
* a new inset at the cursor position. * a new inset at the cursor position.
* \param name is used to identify the dialog to the kernel. * \param name is used to identify the dialog to the kernel.
*/ */
void disconnect(std::string const & name) const; void disconnect() const;
/** \name Kernel Wrappers /** \name Kernel Wrappers
* Simple wrapper functions to Buffer methods. * Simple wrapper functions to Buffer methods.
@ -229,9 +230,13 @@ protected:
virtual void apply() {} virtual void apply() {}
private: private:
/** The Dialog's name is the means by which a dialog identifies
* itself to the LyXView.
*/
char const * const name_;
///
GuiView * lyxview_; GuiView * lyxview_;
private:
/// intentionally unimplemented, therefore uncopiable /// intentionally unimplemented, therefore uncopiable
Dialog(Dialog const &); Dialog(Dialog const &);
void operator=(Dialog const &); void operator=(Dialog const &);

View File

@ -41,7 +41,7 @@ public:
bool modal = false, ///< Window modality. bool modal = false, ///< Window modality.
Qt::WindowFlags flags = 0 Qt::WindowFlags flags = 0
) )
: QDialog(&parent, flags), name_(name) : QDialog(&parent, flags), Dialog(parent, name)
{ {
setModal(modal); setModal(modal);
QGridLayout * gridLayout = new QGridLayout(this); QGridLayout * gridLayout = new QGridLayout(this);
@ -82,17 +82,15 @@ public:
{ {
widget_->updateView(); widget_->updateView();
} }
std::string name() const { return name_; }
//@} //@}
private: private:
/// The encapsulated widget. /// The encapsulated widget.
MyWidget * widget_; MyWidget * widget_;
std::string name_;
void showEvent(QShowEvent * e) void showEvent(QShowEvent * e)
{ {
QSettings settings; QSettings settings;
std::string key = name_ + "/geometry"; std::string key = name() + "/geometry";
QDialog::restoreGeometry(settings.value(key.c_str()).toByteArray()); QDialog::restoreGeometry(settings.value(key.c_str()).toByteArray());
QDialog::showEvent(e); QDialog::showEvent(e);
} }
@ -100,7 +98,7 @@ private:
void closeEvent(QCloseEvent * e) void closeEvent(QCloseEvent * e)
{ {
QSettings settings; QSettings settings;
std::string key = name_ + "/geometry"; std::string key = name() + "/geometry";
settings.setValue(key.c_str(), QDialog::saveGeometry()); settings.setValue(key.c_str(), QDialog::saveGeometry());
QDialog::closeEvent(e); QDialog::closeEvent(e);
} }

View File

@ -34,7 +34,7 @@ public:
Qt::DockWidgetArea area = Qt::LeftDockWidgetArea, ///< Position of the dock (and also drawer) Qt::DockWidgetArea area = Qt::LeftDockWidgetArea, ///< Position of the dock (and also drawer)
Qt::WindowFlags flags = 0 Qt::WindowFlags flags = 0
) )
: QDockWidget(&parent, flags), Dialog(parent), name_(name) : QDockWidget(&parent, flags), Dialog(parent, name)
{ {
if (flags & Qt::Drawer) if (flags & Qt::Drawer)
setFeatures(QDockWidget::NoDockWidgetFeatures); setFeatures(QDockWidget::NoDockWidgetFeatures);
@ -65,10 +65,7 @@ public:
updateView(); updateView();
} }
bool isClosing() const { return false; } bool isClosing() const { return false; }
std::string name() const { return name_; }
//@} //@}
private:
std::string name_;
}; };
} // frontend } // frontend

View File

@ -24,7 +24,7 @@ namespace lyx {
namespace frontend { namespace frontend {
GuiDialog::GuiDialog(GuiView & lv, std::string const & name) GuiDialog::GuiDialog(GuiView & lv, std::string const & name)
: Dialog(lv), is_closing_(false), name_(name) : Dialog(lv, name), is_closing_(false)
{} {}
@ -74,7 +74,7 @@ void GuiDialog::slotRestore()
// Tell the controller that a request to refresh the dialog's contents // Tell the controller that a request to refresh the dialog's contents
// has been received. It's up to the controller to supply the necessary // has been received. It's up to the controller to supply the necessary
// info by calling GuiDialog::updateView(). // info by calling GuiDialog::updateView().
updateDialog(name_); updateDialog();
bc().restore(); bc().restore();
} }
@ -167,7 +167,7 @@ void GuiDialog::showData(string const & data)
return; return;
if (!initialiseParams(data)) { if (!initialiseParams(data)) {
lyxerr << "Dialog \"" << name_ lyxerr << "Dialog \"" << name()
<< "\" failed to translate the data " << "\" failed to translate the data "
"string passed to show()" << std::endl; "string passed to show()" << std::endl;
return; return;
@ -186,7 +186,7 @@ void GuiDialog::updateData(string const & data)
return; return;
if (!initialiseParams(data)) { if (!initialiseParams(data)) {
lyxerr << "Dialog \"" << name_ lyxerr << "Dialog \"" << name()
<< "\" could not be initialized" << std::endl; << "\" could not be initialized" << std::endl;
return; return;
} }
@ -205,7 +205,7 @@ void GuiDialog::hide()
clearParams(); clearParams();
hideView(); hideView();
Dialog::disconnect(name_); Dialog::disconnect();
} }
@ -221,7 +221,7 @@ void GuiDialog::apply()
dispatchParams(); dispatchParams();
if (disconnectOnApply() && !is_closing_) { if (disconnectOnApply() && !is_closing_) {
Dialog::disconnect(name_); Dialog::disconnect();
initialiseParams(string()); initialiseParams(string());
updateView(); updateView();
} }
@ -231,7 +231,7 @@ void GuiDialog::apply()
void GuiDialog::showEvent(QShowEvent * e) void GuiDialog::showEvent(QShowEvent * e)
{ {
QSettings settings; QSettings settings;
string key = name_ + "/geometry"; string key = name() + "/geometry";
restoreGeometry(settings.value(key.c_str()).toByteArray()); restoreGeometry(settings.value(key.c_str()).toByteArray());
QDialog::showEvent(e); QDialog::showEvent(e);
} }
@ -240,7 +240,7 @@ void GuiDialog::showEvent(QShowEvent * e)
void GuiDialog::closeEvent(QCloseEvent * e) void GuiDialog::closeEvent(QCloseEvent * e)
{ {
QSettings settings; QSettings settings;
string key = name_ + "/geometry"; string key = name() + "/geometry";
settings.setValue(key.c_str(), saveGeometry()); settings.setValue(key.c_str(), saveGeometry());
QDialog::closeEvent(e); QDialog::closeEvent(e);
} }

View File

@ -115,9 +115,6 @@ public:
*/ */
bool isClosing() const { return is_closing_; } bool isClosing() const { return is_closing_; }
///
std::string name() const { return name_; }
void apply(); void apply();
/// Update the display of the dialog whilst it is still visible. /// Update the display of the dialog whilst it is still visible.
@ -129,10 +126,6 @@ private:
bool updating_; bool updating_;
bool is_closing_; bool is_closing_;
/** The Dialog's name is the means by which a dialog identifies
* itself to the kernel.
*/
std::string name_;
}; };

View File

@ -49,7 +49,7 @@ namespace lyx {
namespace frontend { namespace frontend {
GuiParagraph::GuiParagraph(GuiView & lv) GuiParagraph::GuiParagraph(GuiView & lv)
: Dialog(lv) : Dialog(lv, "paragraph")
{ {
setupUi(this); setupUi(this);
setWindowTitle(qt_("Paragraph Settings")); setWindowTitle(qt_("Paragraph Settings"));

View File

@ -1367,7 +1367,7 @@ void GuiView::updateBufferDependent(bool switched) const
// A bit clunky, but the dialog will request // A bit clunky, but the dialog will request
// that the kernel provides it with the necessary // that the kernel provides it with the necessary
// data. // data.
dialog->updateDialog(dialog->name()); dialog->updateDialog();
} }
} }
} }