Public Member Functions | Protected Slots

SensorUnitEditor Class Reference
[Editors]

Editor for sensor units. More...

#include <projecteditor.h>

Inheritance diagram for SensorUnitEditor:
Inheritance graph
[legend]
Collaboration diagram for SensorUnitEditor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SensorUnitEditor (QWidget *parent=0)
virtual bool isDirty () const

Protected Slots

void onAddButtonPress ()
virtual void updateButtons ()
virtual void onNewButtonPress ()
virtual void onSubmitButtonPress ()
virtual void onUndoButtonPress ()

Detailed Description

Editor for sensor units.


Constructor & Destructor Documentation

SensorUnitEditor::SensorUnitEditor ( QWidget parent = 0  )  [inline]

                                          : BaseEditor(parent) {
        setObjectName("SensorUnitEditor");
        setWindowTitle("Sensor unit editor");

        m_model = new SqlQueryModel(this);
        m_model->setQuery(Database::execStatic("SELECT unit_name || ' (' || unit_symbol || ')' "
                                             "FROM tbl_sensor_units "
                                             "INNER JOIN tbl_units USING (unit_id) ORDER BY 1"));
        m_view = new QListView(this);
        m_view->setModel(m_model);
        m_view->setSelectionMode(QAbstractItemView::NoSelection);

        // button setup
        QVBoxLayout *buttonLayout = new QVBoxLayout();
        buttonLayout->addWidget(button(BaseEditor::ButtonAdd));
        buttonLayout->addStretch();
        buttonLayout->addWidget(button(BaseEditor::ButtonClose));

        mainLayout()->addWidget(m_view, 0, 0, 1, 1);
        mainLayout()->addLayout(buttonLayout, 0, 1, 2, 1);

        connect(button(BaseEditor::ButtonAdd), SIGNAL(clicked()), this, SLOT(onAddButtonPress()));
    }


Member Function Documentation

virtual bool SensorUnitEditor::isDirty (  )  const [inline, virtual]

Implements BaseEditor.

{return false;}

void SensorUnitEditor::onAddButtonPress (  )  [inline, protected, slot]

Referenced by SensorUnitEditor().

                           {
        QSqlQueryModel model;
        model.setQuery(Database::execStatic("SELECT unit_name || ' (' || unit_symbol || ')', unit_id "
                                            "FROM "
                                            " ( "
                                            " SELECT unit_id FROM tbl_units "
                                            " EXCEPT "
                                            " SELECT unit_id FROM tbl_sensor_units "
                                            " ) "
                                            "AS e INNER JOIN tbl_units USING (unit_id) ORDER BY 1"));
        SimpleViewSelectionDialog d("Unit selector", &model, this);
        if (d.exec()){
            int row = d.selection().row();
            bool ok;
            int unit_id = model.index(row, 1).data(Qt::DisplayRole).toInt(&ok);
            Q_ASSERT(ok);
            Q_ASSERT(unit_id != 0);
            Q_ASSERT(unit_id != -1);
            Database::execStatic("INSERT INTO tbl_sensor_units VALUES (" + QString::number(unit_id) + ")");
            m_model->reQuery();
        }
    }

virtual void SensorUnitEditor::onNewButtonPress (  )  [inline, protected, virtual, slot]

Implements BaseEditor.

{};

virtual void SensorUnitEditor::onSubmitButtonPress (  )  [inline, protected, virtual, slot]

Implements BaseEditor.

{};

virtual void SensorUnitEditor::onUndoButtonPress (  )  [inline, protected, virtual, slot]

Implements BaseEditor.

{};

virtual void SensorUnitEditor::updateButtons (  )  [inline, protected, virtual, slot]

Implements BaseEditor.

{};


The documentation for this class was generated from the following file: