GuiLabel: generalize initialiseParams() and transfer to InsetParamsWidget as this will be used by other insets. The implementation of the new paramsToDialog(InsetCommandParams) is optional.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35933 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Abdelrazak Younes 2010-10-30 18:40:53 +00:00
parent eb0c10b6b4
commit 5320ce0206
4 changed files with 23 additions and 13 deletions

View File

@ -46,6 +46,12 @@ void GuiLabel::paramsToDialog(Inset const * inset)
{
InsetLabel const * label = static_cast<InsetLabel const *>(inset);
InsetCommandParams const & params = label->params();
paramsToDialog(params);
}
void GuiLabel::paramsToDialog(InsetCommandParams const & params)
{
keywordED->setText(toqstr(params["name"]));
}
@ -58,16 +64,6 @@ docstring GuiLabel::dialogToParams() const
}
bool GuiLabel::initialiseParams(std::string const & data)
{
InsetCommandParams p(insetCode());
if (!InsetCommand::string2params(data, p))
return false;
keywordED->setText(toqstr(p["name"]));
return true;
}
bool GuiLabel::checkWidgets() const
{
if (!InsetParamsWidget::checkWidgets())

View File

@ -33,9 +33,9 @@ private:
InsetCode insetCode() const { return LABEL_CODE; }
FuncCode creationCode() const { return LFUN_INSET_INSERT; }
void paramsToDialog(Inset const *);
void paramsToDialog(InsetCommandParams const & params);
docstring dialogToParams() const;
bool checkWidgets() const;
bool initialiseParams(std::string const &);
//@}
};

View File

@ -13,6 +13,8 @@
#include "InsetParamsWidget.h"
#include "insets/InsetCommand.h"
#include "qt_helpers.h"
#include <QLineEdit>
@ -58,6 +60,16 @@ bool InsetParamsWidget::checkWidgets() const
return valid;
}
bool InsetParamsWidget::initialiseParams(std::string const & data)
{
InsetCommandParams p(insetCode());
if (!InsetCommand::string2params(data, p))
return false;
paramsToDialog(p);
return true;
}
} // namespace frontend
} // namespace lyx

View File

@ -25,6 +25,7 @@ class QLineEdit;
namespace lyx {
class Inset;
class InsetCommandParams;
namespace frontend {
@ -66,8 +67,9 @@ public:
///
virtual docstring dialogToParams() const = 0;
///
virtual bool initialiseParams(std::string const & /* data */)
{ return false; }
virtual void paramsToDialog(InsetCommandParams const & params) {}
///
virtual bool initialiseParams(std::string const & data);
/// \return true if all CheckedWidgets are in a valid state.
virtual bool checkWidgets() const;