summaryrefslogtreecommitdiffstats
path: root/src/ModuleWindow.cc
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-08-15 11:27:34 +0000
committerLennart Poettering <lennart@poettering.net>2004-08-15 11:27:34 +0000
commit4b682a9eba6590d8fe090f68dda6afe59ae64f85 (patch)
tree75345c90f9174dd45c9b5196645a5054c889b698 /src/ModuleWindow.cc
parentf8b436993e3ea7059984538cd65d50bd50671fe6 (diff)
Move everything to src/ directory
git-svn-id: file:///home/lennart/svn/public/paman/trunk@8 cdefa82f-4ce1-0310-97f5-ab6066f37c3c
Diffstat (limited to 'src/ModuleWindow.cc')
-rw-r--r--src/ModuleWindow.cc58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/ModuleWindow.cc b/src/ModuleWindow.cc
new file mode 100644
index 0000000..04d8fb5
--- /dev/null
+++ b/src/ModuleWindow.cc
@@ -0,0 +1,58 @@
+#include <iostream>
+
+#include "paman.hh"
+#include "ModuleWindow.hh"
+
+#define GLADE_NAME "moduleWindow"
+
+ModuleWindow::ModuleWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade) :
+ Gtk::Window(cobject),
+ nameLabel(NULL),
+ argumentLabel(NULL),
+ indexLabel(NULL),
+ autoloadedLabel(NULL),
+ usageLabel(NULL),
+ closeButton(NULL) {
+
+ refGlade->get_widget("nameLabel", nameLabel);
+ refGlade->get_widget("argumentLabel", argumentLabel);
+ refGlade->get_widget("indexLabel", indexLabel);
+ refGlade->get_widget("autoloadedLabel", autoloadedLabel);
+ refGlade->get_widget("usageLabel", usageLabel);
+ refGlade->get_widget("closeButton", closeButton);
+
+ closeButton->signal_clicked().connect(sigc::mem_fun(*this, &ModuleWindow::onCloseButton));
+}
+
+ModuleWindow* ModuleWindow::create() {
+ ModuleWindow *w = NULL;
+ Glib::RefPtr<Gnome::Glade::Xml> refXml = Gnome::Glade::Xml::create(GLADE_FILE, GLADE_NAME);
+ refXml->get_widget_derived(GLADE_NAME, w);
+ return w;
+}
+
+void ModuleWindow::updateInfo(const ModuleInfo &i) {
+ char t[20], ss[PA_SAMPLE_SNPRINT_MAX_LENGTH];
+
+ nameLabel->set_text(i.name);
+ if (!i.argument.empty())
+ argumentLabel->set_text(i.argument);
+ else
+ argumentLabel->set_markup("<i>None specified</i>");
+
+ snprintf(t, sizeof(t), "#%u", i.index);
+ indexLabel->set_text(t);
+ autoloadedLabel->set_text(i.autoloaded ? "Yes" : "No");
+
+ if (i.used != (uint32_t) -1) {
+ snprintf(t, sizeof(t), "%u", i.used);
+ usageLabel->set_text(t);
+ } else
+ usageLabel->set_markup("<i>n/a</i>");
+
+ set_title("Module: "+i.name);
+}
+
+void ModuleWindow::onCloseButton() {
+ hide();
+}