lyx_mirror/src/frontends/qt4/QIndex.C
Georg Baum 3bbbc1437b Use the new InsetCommandParams interface (frontend part), from Ugras and me
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15408 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 13:53:43 +00:00

73 lines
1.3 KiB
C

/**
* \file QIndex.C
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author John Levon
*
* Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "debug.h"
#include "ControlCommand.h"
#include "qt_helpers.h"
#include "QIndexDialog.h"
#include "QIndex.h"
#include "Qt2BC.h"
#include "ButtonController.h"
#include <qlabel.h>
#include <qlineedit.h>
#include <qpushbutton.h>
using std::string;
namespace lyx {
namespace frontend {
typedef QController<ControlCommand, QView<QIndexDialog> > base_class;
QIndex::QIndex(Dialog & parent, docstring const & title, QString const & label)
: base_class(parent, title), label_(label)
{
}
void QIndex::build_dialog()
{
dialog_.reset(new QIndexDialog(this));
dialog_->keywordLA->setText(label_);
bcview().setOK(dialog_->okPB);
bcview().setCancel(dialog_->closePB);
bcview().addReadOnly(dialog_->keywordED);
}
void QIndex::update_contents()
{
docstring const contents = controller().params()["name"];
dialog_->keywordED->setText(toqstr(contents));
bc().valid(!contents.empty());
}
void QIndex::apply()
{
controller().params()["name"] = qstring_to_ucs4(dialog_->keywordED->text());
}
bool QIndex::isValid()
{
return !dialog_->keywordED->text().isEmpty();
}
} // namespace frontend
} // namespace lyx