3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
8 * Full author contact details are available in file CREDITS.
13 #include <libglademm.h>
15 #include "support/lstrings.h"
16 #include "support/filetools.h"
17 #include "ControlCommand.h"
24 GText::GText(Dialog & parent, string const & title, string const & label)
25 : GViewCB<ControlCommand, GViewGladeB>(parent, title),
26 label_(label), entry_(0)
32 string const contents = Glib::locale_from_utf8(entry_->get_text());
33 controller().params().setContents(contents);
38 string const contents = lyx::support::trim(
39 controller().params().getContents());
40 entry_->set_text(Glib::locale_to_utf8(contents));
45 string const gladeName =
46 lyx::support::LibFileSearch("glade", "text", "glade");
47 xml_ = Gnome::Glade::Xml::create(gladeName);
49 Gtk::Button * restore;
53 xml_->get_widget("Label", label);
54 xml_->get_widget("Text", entry_);
55 xml_->get_widget("Restore", restore);
56 xml_->get_widget("Cancel", cancel);
57 xml_->get_widget("Apply", apply);
58 xml_->get_widget("OK", ok);
59 label->set_text(Glib::locale_to_utf8(id_sc::id(label_)));
61 bcview().setApply(apply);
62 bcview().setCancel(cancel);
63 bcview().setRestore(restore);
64 bcview().addReadOnly(entry_);
65 ok->signal_clicked().connect(
66 SigC::slot(*this, &GViewBase::onOK));
67 apply->signal_clicked().connect(
68 SigC::slot(*this, &GViewBase::onApply));
69 cancel->signal_clicked().connect(
70 SigC::slot(*this, &GViewBase::onCancel));
71 restore->signal_clicked().connect(
72 SigC::slot(*this, &GViewBase::onRestore));
73 entry_->signal_changed().connect(
74 SigC::slot(*this, >ext::onEntryChanged));
77 void GText::onEntryChanged()
79 bc().valid(!entry_->get_text().empty());