diff options
| author | deva <deva> | 2008-07-11 12:54:42 +0000 | 
|---|---|---|
| committer | deva <deva> | 2008-07-11 12:54:42 +0000 | 
| commit | 5a19d9218a5f3ed7d02b7fabd8f025922e9f7a13 (patch) | |
| tree | 49ee6645bf55e620db824d0c95508a65d4d596e7 /editor/property.cc | |
| parent | 12bd3e7ff088b097bf4e280161aee646fbbb50dc (diff) | |
Now we have a nice little editor.
Diffstat (limited to 'editor/property.cc')
| -rw-r--r-- | editor/property.cc | 89 | 
1 files changed, 89 insertions, 0 deletions
diff --git a/editor/property.cc b/editor/property.cc new file mode 100644 index 0000000..82db9c3 --- /dev/null +++ b/editor/property.cc @@ -0,0 +1,89 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/*************************************************************************** + *            property.cc + * + *  Mon Jul  7 09:57:31 CEST 2008 + *  Copyright 2008 Bent Bisballe Nyeng + *  deva@aasimon.org + ****************************************************************************/ + +/* + *  This file is part of Pracro. + * + *  Pracro is free software; you can redistribute it and/or modify + *  it under the terms of the GNU General Public License as published by + *  the Free Software Foundation; either version 2 of the License, or + *  (at your option) any later version. + * + *  Pracro is distributed in the hope that it will be useful, + *  but WITHOUT ANY WARRANTY; without even the implied warranty of + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + *  GNU General Public License for more details. + * + *  You should have received a copy of the GNU General Public License + *  along with Pracro; if not, write to the Free Software + *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. + */ +#include "property.h" + +#include <QLayout> +#include <QHBoxLayout> + +Property::Property(Widget *widget, QString label, PropertyType type, QString value) +{ +  setAutoFillBackground(true); +  QPalette pal; +  //  pal.setColor(QPalette::Foreground, Qt::black); +  pal.setColor(QPalette::Background, QColor(230, 230, 230)); +  setPalette(pal); + +  this->widget = widget; + +  this->type = type; +  this->label = new QLabel(label); +  this->label->setAlignment(Qt::AlignVCenter | Qt::AlignLeft); +  this->label->setFixedWidth(80); + +  setContentsMargins(0,0,0,0); +  setLayout(new QHBoxLayout()); +  layout()->addWidget(this->label); +  layout()->setSpacing(1); +  layout()->setContentsMargins(0,0,0,0); + +  switch(this->type) { +  case COMBO: +    combo = new QComboBox(); +    combo->addItem("Item1"); +    combo->addItem("Item2"); +    combo->addItem("Item3"); +    combo->addItem("Item4"); +    combo->addItem("Item5"); +    combo->addItem(value); +    combo->setCurrentIndex(combo->findText(value)); +    layout()->addWidget(combo); +    break; +  case LINEEDIT: +    lineedit = new QLineEdit(value); +    layout()->addWidget(lineedit); +    connect(lineedit, SIGNAL(textChanged(QString)), this, SLOT(changed())); +    break; +  case TEXTEDIT: +    textedit = new QTextEdit(); +    textedit->setPlainText(value); +    layout()->addWidget(textedit); +    this->label->setAlignment(Qt::AlignTop | Qt::AlignLeft); +    break; +  case CHECKBOX: +    checkbox = new QCheckBox(); +    if(value == "true") checkbox->setChecked(true); +    else checkbox->setChecked(false); +    layout()->addWidget(checkbox); +    break; +  } +} + +void Property::changed() +{ +  QString value = lineedit->text(); +  widget->setValue(label->text(), value); +}  | 
