X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fscmwidget.cpp;fp=src%2Fscmwidget.cpp;h=78f757fe016bc01965f259d7e086bc6e36b073ac;hb=6df1a447a1fa1b9e51fd177a806f910813657b09;hp=0000000000000000000000000000000000000000;hpb=f3116511d09acfd5b32d3412c82c4337d89f2ad9;p=schematic diff --git a/src/scmwidget.cpp b/src/scmwidget.cpp new file mode 100644 index 0000000..78f757f --- /dev/null +++ b/src/scmwidget.cpp @@ -0,0 +1,204 @@ +// +// scmwidget.cpp - Main widget container +// +// by James Hammons +// (C) 2012 Underground Software +// +// JLH = James Hammons +// +// Who When What +// --- ---------- ------------------------------------------------------------- +// JLH 09/24/2012 Created this file +// + +#include "scmwidget.h" +#include "addresswidget.h" +#include "contactwidget.h" + + +SCMWidget::SCMWidget(QWidget * parent/*= 0*/): QWidget(parent), + purchaseOrders(new QTreeView), + vendorName(new QLabel), + ndaSigned(new QLabel), + vendorAddress(new QTabWidget), + vendorContact(new QTabWidget), + vendorClass(new QListWidget), + username(new QLabel), + vendorLevel(new VendorLevelWidget), + alerts(new QListWidget), + notes(new QListWidget), + nextVendorButton(new QToolButton), + previousVendorButton(new QToolButton), + editVendor(new QPushButton("Edit Vendor")), + addVendor(new QPushButton("Add Vendor")), + addLocation(new QPushButton("Add Location")), + addContact(new QPushButton("Add Contact")), + createAlert(new QPushButton("Create")), + createNote(new QPushButton("Create")), + showOpen(new QPushButton("Open")), + showClosed(new QPushButton("Closed")), + showAll(new QPushButton("All")), + createPO(new QPushButton("Create")) +{ + // Create main page widgets & layout + + purchaseOrders->setRootIsDecorated(false); + purchaseOrders->setAlternatingRowColors(true); + + QAbstractItemModel * model = new QStandardItemModel(0, 7); + model->setHeaderData(0, Qt::Horizontal, tr("PO #")); + model->setHeaderData(1, Qt::Horizontal, tr("Vendor")); + model->setHeaderData(2, Qt::Horizontal, tr("Desc.")); + model->setHeaderData(3, Qt::Horizontal, tr("OAD")); + model->setHeaderData(4, Qt::Horizontal, tr("UAD")); + model->setHeaderData(5, Qt::Horizontal, tr("Docs")); + model->setHeaderData(6, Qt::Horizontal, tr("FAI")); + + model->insertRow(0); + model->setData(model->index(0, 0), "FE823724"); + model->setData(model->index(0, 1), "Sanford & Sons"); + model->setData(model->index(0, 2), "Misc. Junk"); + model->setData(model->index(0, 3), "09/30/2012"); + model->setData(model->index(0, 4), ""); + model->setData(model->index(0, 5), ""); + model->setData(model->index(0, 6), ""); + + model->insertRow(0); + model->setData(model->index(0, 0), "89237923-123"); + model->setData(model->index(0, 1), "Digikey"); + model->setData(model->index(0, 2), "Small capacitors"); + model->setData(model->index(0, 3), "10/08/2012"); + model->setData(model->index(0, 4), "11/30/2012"); + model->setData(model->index(0, 5), "1"); + model->setData(model->index(0, 6), "Yes"); + + model->insertRow(0); + model->setData(model->index(0, 0), "T9234CS32"); + model->setData(model->index(0, 1), "Big, Faceless Company"); + model->setData(model->index(0, 2), "Important Stuff you need RIGHT NOW"); + model->setData(model->index(0, 3), "09/28/2012"); + model->setData(model->index(0, 4), "09/29/2012"); + model->setData(model->index(0, 5), "5"); + model->setData(model->index(0, 6), "Yes"); + + purchaseOrders->setModel(model); + + nextVendorButton->setArrowType(Qt::RightArrow); + nextVendorButton->setToolTip(tr("Move to next Vendor in Database.")); + previousVendorButton->setArrowType(Qt::LeftArrow); + previousVendorButton->setToolTip(tr("Move to previous Vendor in Database.")); + + QFont * vendorFont = new QFont; + vendorFont->setPointSize(12); + vendorName->setFont(*vendorFont); + vendorName->setText("Vendor Name"); + + QHBoxLayout * hbox1 = new QHBoxLayout; + hbox1->addWidget(previousVendorButton); + hbox1->addWidget(nextVendorButton); + hbox1->addWidget(vendorName); + + // Vendor address widgets + + AddressWidget * vaw1 = new AddressWidget(this); + vaw1->SetFields("123 Any Street", "Any City", "Anywhere", "USA", "01234"); + vendorAddress->addTab(vaw1, tr("Primary")); + vendorAddress->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum); + + // Vendor contact widgets + + ContactWidget * vcw1 = new ContactWidget(this); + vcw1->SetFields("Sales", "Joe Blow", "joe.blow@widget.com", "Singapore", "512-222-2222", "", "512-122-2123"); + vendorContact->addTab(vcw1, tr("Contact #1")); + vendorContact->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum); + + // Vendor class list + + QVBoxLayout * vbox1 = new QVBoxLayout; + vbox1->addWidget(vendorClass); + QGroupBox * gb1 = new QGroupBox(tr("Vendor Classes")); + gb1->setLayout(vbox1); + + // Vendor action push buttons + + QVBoxLayout * vbox4 = new QVBoxLayout; + QHBoxLayout * hbox3 = new QHBoxLayout; + QGroupBox * gb2 = new QGroupBox(tr("Vendor Actions")); + + vbox4->addWidget(editVendor); + vbox4->addWidget(addVendor); + vbox4->addWidget(addLocation); + vbox4->addWidget(addContact); + gb2->setLayout(vbox4); + + hbox3->addWidget(vendorLevel); + hbox3->addWidget(gb2); + + // Alerts & notes + + QVBoxLayout * vbox5 = new QVBoxLayout; + QHBoxLayout * hbox4 = new QHBoxLayout; + QHBoxLayout * hbox5 = new QHBoxLayout; + + QLabel * label1 = new QLabel(tr("Alerts")); + QLabel * label2 = new QLabel(tr("Notes")); + hbox4->addWidget(label1); + hbox4->addStretch(); + hbox4->addWidget(createAlert); + hbox5->addWidget(label2); + hbox5->addStretch(); + hbox5->addWidget(createNote); + + vbox5->addLayout(hbox4); + vbox5->addWidget(alerts); + vbox5->addLayout(hbox5); + vbox5->addWidget(notes); + + // Purchase Order headers + + QHBoxLayout * hbox6 = new QHBoxLayout; + QLabel * label3 = new QLabel(tr("Purchase Orders")); + hbox6->addWidget(label3); + hbox6->addSpacing(32); + hbox6->addWidget(showOpen); + hbox6->addWidget(showClosed); + hbox6->addWidget(showAll); + hbox6->addStretch(); + hbox6->addWidget(createPO); + + // Horizontal line + + QFrame * hline = new QFrame(this); + hline->setFrameShape(QFrame::HLine); + hline->setFrameShadow(QFrame::Sunken); + + QFrame * hline2 = new QFrame(this); + hline2->setFrameShape(QFrame::HLine); + hline2->setFrameShadow(QFrame::Sunken); + + QHBoxLayout * hbox2 = new QHBoxLayout; + QVBoxLayout * vbox2 = new QVBoxLayout; + QVBoxLayout * vbox3 = new QVBoxLayout; + + vbox3->addWidget(vendorContact); +// vbox3->addWidget(vendorLevel); + vbox3->addLayout(hbox3); + + vbox2->addWidget(vendorAddress); + vbox2->addWidget(gb1); + + hbox2->addLayout(vbox2); + hbox2->addLayout(vbox3); + hbox2->addLayout(vbox5); + + QVBoxLayout * mainLayout = new QVBoxLayout; + mainLayout->addWidget(username); + mainLayout->addWidget(hline); + mainLayout->addLayout(hbox1); + mainLayout->addLayout(hbox2); + mainLayout->addWidget(hline2); + mainLayout->addLayout(hbox6); + mainLayout->addWidget(purchaseOrders); + setLayout(mainLayout); +} +