--- /dev/null
+//
+// scmwidget.cpp - Main widget container
+//
+// by James Hammons
+// (C) 2012 Underground Software
+//
+// JLH = James Hammons <jlhamm@acm.org>
+//
+// 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);
+}
+