summaryrefslogtreecommitdiffstats
path: root/src/gui/boolfieldwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/boolfieldwidget.cpp')
-rw-r--r--src/gui/boolfieldwidget.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/gui/boolfieldwidget.cpp b/src/gui/boolfieldwidget.cpp
new file mode 100644
index 0000000..5a8e88b
--- /dev/null
+++ b/src/gui/boolfieldwidget.cpp
@@ -0,0 +1,61 @@
+/***************************************************************************
+ copyright : (C) 2005-2006 by Robby Stephenson
+ email : robby@periapsis.org
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of version 2 of the GNU General Public License as *
+ * published by the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+
+#include "boolfieldwidget.h"
+#include "../field.h"
+#include "../latin1literal.h"
+
+#include <qlabel.h>
+#include <qcheckbox.h>
+#include <qlayout.h>
+
+using Tellico::GUI::BoolFieldWidget;
+
+BoolFieldWidget::BoolFieldWidget(Data::FieldPtr field_, QWidget* parent_, const char* name_/*=0*/)
+ : FieldWidget(field_, parent_, name_) {
+
+ m_checkBox = new QCheckBox(this);
+ connect(m_checkBox, SIGNAL(clicked()), SIGNAL(modified()));
+ registerWidget();
+}
+
+QString BoolFieldWidget::text() const {
+ if(m_checkBox->isChecked()) {
+ return QString::fromLatin1("true");
+ }
+
+ return QString();
+}
+
+void BoolFieldWidget::setText(const QString& text_) {
+ blockSignals(true);
+
+ m_checkBox->blockSignals(true);
+ // be lax, don't have to check for "1" or "true"
+ // just check for a non-empty string
+ m_checkBox->setChecked(!text_.isEmpty());
+ m_checkBox->blockSignals(false);
+
+ blockSignals(false);
+}
+
+void BoolFieldWidget::clear() {
+ m_checkBox->setChecked(false);
+ editMultiple(false);
+}
+
+QWidget* BoolFieldWidget::widget() {
+ return m_checkBox;
+}
+
+#include "boolfieldwidget.moc"