00001 #ifndef ADDCOSTPOSITIONDIALOG_H
00002 #define ADDCOSTPOSITIONDIALOG_H
00003
00004 #include "ui_AddCostPositionDialog.h"
00005 #include "../Models/costtypemodel.h"
00006 #include "../Models/costtypefiltermodel.h"
00007 #include "../Models/costcentremodel.h"
00008 #include "../Models/addcostpositionmodel.h"
00009 #include <QStyledItemDelegate>
00010
00011 class AddCostPositionDialog : public QDialog, private Ui::AddCostPositionDialog
00012 {
00013 Q_OBJECT
00014
00015 public:
00016 AddCostPositionDialog(CostTypeModel *model, CostCentreModel *costcentre, QWidget *parent = 0);
00017
00018 protected:
00019
00020 signals:
00021 void sendingData(QStringList);
00022
00023 private slots:
00024 void addPosition();
00025 void changeCurrentEditingPosition(QModelIndex index);
00026 void fillPositionInformation(QStringList row);
00027 void currentSumChanged(double complete);
00028 void refreshSums();
00029
00030 private:
00031 void createActions();
00032 QStringList costCentreRow();
00033 QStringList currentSelectedRow(QModelIndex index);
00034 void searchForAffectedRows(int rowid);
00035 QModelIndex mapFileIdToAddPositionModel(int fileId);
00036
00037 CostTypeFilterModel *proxyModel;
00038 CostCentreModel *costCentreModel;
00039 CostTypeModel *costTypeModel;
00040
00041 AddCostPositionModel *model;
00042
00043
00044 QStringList p_tmp_currentRow;
00045
00046
00047 QList<int> affectedRows;
00048 QList<int> alreadyAddedRows;
00049
00050 };
00051
00052 class AddCostPositionDelegate: public QStyledItemDelegate
00053 {
00054 Q_OBJECT
00055 public:
00056 virtual void drawFocus(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect) const
00057 {
00058
00059 }
00060 };
00061
00062 #endif