.
This commit is contained in:
@@ -30,7 +30,7 @@ QWidget* cPartListItemDelegate::createEditor( QWidget *parent, const QStyleOptio
|
||||
QTextEdit* lpEdit = new QTextEdit(parent);
|
||||
return(lpEdit);
|
||||
}
|
||||
case 2: // distributor
|
||||
case 3: // distributor
|
||||
{
|
||||
cPartDistributorList* lpList = qvariant_cast<cPartDistributorList*>(index.data(Qt::UserRole+1));
|
||||
QComboBox* lpComboBox = new QComboBox(parent);
|
||||
@@ -48,7 +48,7 @@ QWidget* cPartListItemDelegate::createEditor( QWidget *parent, const QStyleOptio
|
||||
}
|
||||
return(lpComboBox);
|
||||
}
|
||||
case 4: // price
|
||||
case 5: // price
|
||||
{
|
||||
QDoubleSpinBox* lpSpinBox = new QDoubleSpinBox(parent);
|
||||
lpSpinBox->setMinimum(0);
|
||||
@@ -56,7 +56,7 @@ QWidget* cPartListItemDelegate::createEditor( QWidget *parent, const QStyleOptio
|
||||
lpSpinBox->setDecimals(2);
|
||||
return(lpSpinBox);
|
||||
}
|
||||
case 5: // description
|
||||
case 6: // description
|
||||
return(QStyledItemDelegate::createEditor(parent, option, index));
|
||||
default:
|
||||
return(0);
|
||||
@@ -96,7 +96,7 @@ void cPartListItemDelegate::setEditorData ( QWidget *editor, const QModelIndex &
|
||||
lpTextEdit->setText(list.join("\n"));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
{
|
||||
QString currentText = index.data(Qt::EditRole).toString();
|
||||
int cbIndex = lpComboBox->findText(currentText);
|
||||
@@ -130,18 +130,18 @@ void cPartListItemDelegate::setModelData ( QWidget *editor, QAbstractItemModel *
|
||||
model->setData(index, list1.join(", "), Qt::EditRole);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
{
|
||||
cPartDistributor* lpPartDistributor = qvariant_cast<cPartDistributor*>(lpComboBox->currentData());
|
||||
|
||||
model->setData(index, lpComboBox->currentText(), Qt::EditRole);
|
||||
|
||||
model->setData(index, QVariant::fromValue(lpPartDistributor), Qt::UserRole);
|
||||
QStandardItemModel* lpModel = (QStandardItemModel*)index.model();
|
||||
QStandardItem* lpItem = lpModel->itemFromIndex(lpModel->index(index.row(), 4));
|
||||
lpItem->setText(QString::number(lpPartDistributor->price(), 'f', 2));
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
if(lpSpinBox)
|
||||
{
|
||||
QStandardItemModel* lpModel = (QStandardItemModel*)index.model();
|
||||
|
||||
@@ -3,7 +3,11 @@
|
||||
|
||||
cPartlistItemEditDialog::cPartlistItemEditDialog(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::cPartlistItemEditDialog)
|
||||
ui(new Ui::cPartlistItemEditDialog),
|
||||
m_lpDistributorList(0),
|
||||
m_lpPartGroupList(0),
|
||||
m_lpPartList(0),
|
||||
m_lpPartDistributorList(0)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
@@ -12,3 +16,61 @@ cPartlistItemEditDialog::~cPartlistItemEditDialog()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void cPartlistItemEditDialog::setList(cDistributorList* lpDistributorList, cPartGroupList* lpPartGroupList, cPartList* lpPartList, cPartDistributorList* lpPartDistributorList)
|
||||
{
|
||||
m_lpDistributorList = lpDistributorList;
|
||||
m_lpPartGroupList = lpPartGroupList;
|
||||
m_lpPartList = lpPartList;
|
||||
m_lpPartDistributorList = lpPartDistributorList;
|
||||
|
||||
if(m_lpPartList)
|
||||
{
|
||||
for(int x = 0;x < m_lpPartList->count();x++)
|
||||
ui->m_lpPartList->addItem(QString("%1 - %2").arg(m_lpPartList->at(x)->partGroup()->name()).arg(m_lpPartList->at(x)->name()), QVariant::fromValue(m_lpPartList->at(x)));
|
||||
}
|
||||
|
||||
fillDistributorList();
|
||||
}
|
||||
|
||||
void cPartlistItemEditDialog::setValues(const QString &szReference, const QString &szGroup, const QString &szPart, const QString &szDistributor, const QString &szState, const qreal &dPrice, const QString &szDescription)
|
||||
{
|
||||
cDistributor* lpDistributor = m_lpDistributorList->find(szDistributor);
|
||||
cPart* lpPart = m_lpPartList->find();
|
||||
|
||||
if(lpPart)
|
||||
{
|
||||
ui->m_lpPartList->setCurrentText(QString("%1 - %2").arg(szGroup).arg(szPart));
|
||||
ui->m_lpPartList->setEnabled(false);
|
||||
}
|
||||
|
||||
fillDistributorList();
|
||||
|
||||
// if(lpDistributor)
|
||||
// ui->m_lpDistributorList->setCurrentText(lpDistributor->name());
|
||||
}
|
||||
|
||||
void cPartlistItemEditDialog::on_m_lpPartList_currentIndexChanged(int /*index*/)
|
||||
{
|
||||
fillDistributorList();
|
||||
}
|
||||
|
||||
void cPartlistItemEditDialog::fillDistributorList()
|
||||
{
|
||||
ui->m_lpDistributorList->clear();
|
||||
|
||||
if(m_lpDistributorList)
|
||||
{
|
||||
cPart* lpPart = qvariant_cast<cPart*>(ui->m_lpPartList->currentData());
|
||||
|
||||
if(lpPart)
|
||||
{
|
||||
ui->m_lpDistributorList->addItem("NONE");
|
||||
for(int x = 0;x < m_lpPartDistributorList->count();x++)
|
||||
{
|
||||
if(lpPart->id() == m_lpPartDistributorList->at(x)->part()->id())
|
||||
ui->m_lpDistributorList->addItem(m_lpPartDistributorList->at(x)->distributor()->name(), QVariant::fromValue(m_lpPartDistributorList->at(x)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
#ifndef CPARTLISTITEMEDITDIALOG_H
|
||||
#define CPARTLISTITEMEDITDIALOG_H
|
||||
|
||||
|
||||
#include "cdistributor.h"
|
||||
#include "cpartgroup.h"
|
||||
#include "cpart.h"
|
||||
#include "cpartdistributor.h"
|
||||
#include "cpartlistitem.h"
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
|
||||
namespace Ui {
|
||||
class cPartlistItemEditDialog;
|
||||
}
|
||||
@@ -15,8 +23,19 @@ public:
|
||||
explicit cPartlistItemEditDialog(QWidget *parent = 0);
|
||||
~cPartlistItemEditDialog();
|
||||
|
||||
void setList(cDistributorList* lpDistributorList, cPartGroupList* lpPartGroupList, cPartList* lpPartList, cPartDistributorList* lpPartDistributorList);
|
||||
void setValues(const QString& szReference, const QString& szGroup, const QString& szPart, const QString& szDistributor, const QString& szState, const qreal& dPrice, const QString& szDescription);
|
||||
private slots:
|
||||
void on_m_lpPartList_currentIndexChanged(int index);
|
||||
|
||||
private:
|
||||
Ui::cPartlistItemEditDialog *ui;
|
||||
Ui::cPartlistItemEditDialog* ui;
|
||||
cDistributorList* m_lpDistributorList;
|
||||
cPartGroupList* m_lpPartGroupList;
|
||||
cPartList* m_lpPartList;
|
||||
cPartDistributorList* m_lpPartDistributorList;
|
||||
|
||||
void fillDistributorList();
|
||||
};
|
||||
|
||||
#endif // CPARTLISTITEMEDITDIALOG_H
|
||||
|
||||
+112
-25
@@ -1,42 +1,129 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<author/>
|
||||
<comment/>
|
||||
<exportmacro/>
|
||||
<class>cPartlistItemEditDialog</class>
|
||||
<widget name="cPartlistItemEditDialog" class="QDialog">
|
||||
<widget class="QDialog" name="cPartlistItemEditDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
<width>500</width>
|
||||
<height>350</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<widget name="buttonBox" class="QDialogButtonBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>240</y>
|
||||
<width>341</width>
|
||||
<height>32</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_4" columnstretch="0,1,0,1">
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Price:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="m_lpPrice"/>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Part:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1" colspan="3">
|
||||
<widget class="QTreeWidget" name="m_lpReplacement">
|
||||
<attribute name="headerVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string notr="true">1</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Order state:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Distributor:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Replacement:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QComboBox" name="m_lpOrderState"/>
|
||||
</item>
|
||||
<item row="0" column="1" colspan="3">
|
||||
<widget class="QComboBox" name="m_lpPartList"/>
|
||||
</item>
|
||||
<item row="1" column="1" colspan="3">
|
||||
<widget class="QComboBox" name="m_lpDistributorList"/>
|
||||
</item>
|
||||
<item row="4" column="2" colspan="2">
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Description</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTextEdit" name="m_lpDescription"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string>Reference</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTextEdit" name="m_lpReference"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="m_lpButtonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<pixmapfunction/>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<sender>m_lpButtonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>cPartlistItemEditDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
@@ -52,7 +139,7 @@
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<sender>m_lpButtonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>cPartlistItemEditDialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
|
||||
+24
-6
@@ -2,6 +2,7 @@
|
||||
#include "ui_cpartlistwindow.h"
|
||||
|
||||
#include "cpartlistitemdelegate.h"
|
||||
#include "cpartlistitemeditdialog.h"
|
||||
|
||||
#include "common.h"
|
||||
|
||||
@@ -213,7 +214,7 @@ void cPartlistWindow::showPartList()
|
||||
m_lpPartListModel->clear();
|
||||
|
||||
QStringList header;
|
||||
header << tr("reference") << tr("part") << tr("distributor") << tr("state") << tr("price") << tr("description");
|
||||
header << tr("reference") << ("group") << tr("part") << tr("distributor") << tr("state") << tr("price") << tr("description");
|
||||
m_lpPartListModel->setHorizontalHeaderLabels(header);
|
||||
ui->m_lpPartList->header()->setMinimumSectionSize(50);
|
||||
|
||||
@@ -226,12 +227,13 @@ void cPartlistWindow::showPartList()
|
||||
lpItems.append(new QStandardItem);
|
||||
|
||||
lpItems.at(0)->setText(lpPartlistItem->reference());
|
||||
lpItems.at(1)->setText(m_lpPartList->find(lpPartlistItem->partID())->name());
|
||||
lpItems.at(1)->setText(m_lpPartList->find(lpPartlistItem->partID())->partGroup()->name());
|
||||
lpItems.at(2)->setText(m_lpPartList->find(lpPartlistItem->partID())->name());
|
||||
if(lpPartlistItem->distributorID())
|
||||
lpItems.at(2)->setText(m_lpDistributorList->find(lpPartlistItem->distributorID())->name());
|
||||
//lpItems.at(3)->setText(lpPartlistItem->state());
|
||||
lpItems.at(4)->setText(QString::number(lpPartlistItem->price(), 'f', 2));
|
||||
lpItems.at(5)->setText(lpPartlistItem->description());
|
||||
lpItems.at(3)->setText(m_lpDistributorList->find(lpPartlistItem->distributorID())->name());
|
||||
//lpItems.at(4)->setText(lpPartlistItem->state());
|
||||
lpItems.at(5)->setText(QString::number(lpPartlistItem->price(), 'f', 2));
|
||||
lpItems.at(6)->setText(lpPartlistItem->description());
|
||||
|
||||
lpItems.at(4)->setTextAlignment(Qt::AlignRight);
|
||||
|
||||
@@ -315,6 +317,22 @@ void cPartlistWindow::onPartAdd()
|
||||
|
||||
void cPartlistWindow::onPartEdit()
|
||||
{
|
||||
cPartlistItemEditDialog* lpDialog = new cPartlistItemEditDialog(this);
|
||||
lpDialog->setList(m_lpDistributorList, m_lpPartGroupList, m_lpPartList, m_lpPartDistributorList);
|
||||
|
||||
QModelIndex index = ui->m_lpPartList->currentIndex();
|
||||
QStandardItem* lpReferenceItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 0));
|
||||
QStandardItem* lpPartGroupItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 1));
|
||||
QStandardItem* lpPartItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 2));
|
||||
QStandardItem* lpDistributorItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 3));
|
||||
QStandardItem* lpStateItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 4));
|
||||
QStandardItem* lpPriceItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 5));
|
||||
QStandardItem* lpDescriptionItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 6));
|
||||
|
||||
lpDialog->setValues(lpReferenceItem->text(), lpPartGroupItem->text(), lpPartItem->text(), lpDistributorItem->text(), lpStateItem->text(), lpPriceItem->text().toDouble(), lpDescriptionItem);
|
||||
lpDialog->exec();
|
||||
|
||||
delete lpDialog;
|
||||
}
|
||||
|
||||
void cPartlistWindow::onPartDelete()
|
||||
|
||||
Reference in New Issue
Block a user