TABLES:
Vendor
-VID (P-key) | VLID | Name
-CREATE TABLE Vendor (vid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vlid INT, name VARCHAR(100), FOREIGN KEY (vlid) REFERENCES VendorLevel(vlid)) ENGINE=INNODB;
+VID (P-key) | VLID | signedNDA | Name
+CREATE TABLE Vendor (vid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vlid INT, signedNDA TINYINT(1) NOT NULL DEFAULT 0, name VARCHAR(100), FOREIGN KEY (vlid) REFERENCES VendorLevel(vlid)) ENGINE=INNODB;
VendorLevel
VLID (P-key) | VendorUseable | Color | Description
CREATE TABLE VendorLevel (vlid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vendorUsable TINYINT(1) NOT NULL DEFAULT 0, color INT(4), description VARCHAR(100)) ENGINE=INNODB;
VendorType
-VTID (P-key) | VGID | Description
-CREATE TABLE VendorType (vtid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vgid INT, description VARCHAR(100), FOREIGN KEY (vgid) REFERENCES VendorGroup(vgid)) ENGINE=INNODB;
+VTID (P-key) | VGID | SeqNo | Description
+CREATE TABLE VendorType (vtid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vgid INT, seqNo INT(4) NOT NULL, description VARCHAR(100), FOREIGN KEY (vgid) REFERENCES VendorGroup(vgid)) ENGINE=INNODB;
VendorGroup
-VGID (P-key) | Description
-CREATE TABLE VendorGroup (vgid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, description VARCHAR(100)) ENGINE=INNODB;
+VGID (P-key) | SeqNo | Description
+CREATE TABLE VendorGroup (vgid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, seqNo INT(4) NOT NULL, description VARCHAR(100)) ENGINE=INNODB;
VendorSpecificTypes
VID (multi) | VTID (multi)
CREATE TABLE VendorSpecificTypes (vid INT, vtid INT, FOREIGN KEY (vid) REFERENCES Vendor(vid), FOREIGN KEY (vtid) REFERENCES VendorType(vtid)) ENGINE=INNODB;
Location
-LID (P-key) | VID | Description
-CREATE TABLE Location () ENGINE=INNODB;
+LID (P-key) | VID | Address | City | State | Country | Code
+CREATE TABLE Location (lid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vid INT, address VARCHAR(100), city VARCHAR(64), state VARCHAR(64), country VARCHAR(64), code VARCHAR(32), FOREIGN KEY (vid) REFERENCES Vendor(vid)) ENGINE=INNODB;
Contact
CID (P-key) | VID | CTID | Name | Email | Address | Phone1 | Phone2 | Fax
CREATE TABLE UserClass (ucid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, privilegeLevel INT NOT NULL DEFAULT 0, description VARCHAR(100)) ENGINE=INNODB;
PurchaseOrder
-POID (P-key) | VID | Closed | Description
-CREATE TABLE PurchaseOrder (poid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vid INT, closed TINYINT(1) NOT NULL DEFAULT 0, description VARCHAR(200), FOREIGN KEY (vid) REFERENCES Vendor(vid)) ENGINE=INNODB;
+POID (P-key) | VID | Closed | PONumber | OriginalDate | AdjustedDate | Description
+CREATE TABLE PurchaseOrder (poid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vid INT, closed TINYINT(1) NOT NULL DEFAULT 0, poNumber VARCHAR(100), originalDate DATE, adjustedDate DATE, description VARCHAR(200), FOREIGN KEY (vid) REFERENCES Vendor(vid)) ENGINE=INNODB;
Documents
-DID (P-key) | DTID | VID | POID | Document
-CREATE TABLE Documents (did INT NOT NULL PRIMARY KEY AUTO_INCREMENT, dtid INT, vid INT, poid INT, document LONGBLOB, FOREIGN KEY (dtid) REFERENCES DocumentType(dtid), FOREIGN KEY (vid) REFERENCES Vendor(vid), FOREIGN KEY (poid) REFERENCES PurchaseOrder(poid)) ENGINE=INNODB;
+DID (P-key) | DTID | VID | POID | Filename | Document
+CREATE TABLE Documents (did INT NOT NULL PRIMARY KEY AUTO_INCREMENT, dtid INT, vid INT, poid INT, filename VARCHAR(256), document LONGBLOB, FOREIGN KEY (dtid) REFERENCES DocumentType(dtid)) ENGINE=INNODB;
DocumentType
DTID (P-key) | Description
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>728</width>
+ <height>652</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="windowTitle">
+ <string>New Vendor</string>
+ </property>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="geometry">
+ <rect>
+ <x>530</x>
+ <y>600</y>
+ <width>171</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>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>160</y>
+ <width>421</width>
+ <height>171</height>
+ </rect>
+ </property>
+ <property name="title">
+ <string>Primary Location</string>
+ </property>
+ <widget class="QWidget" name="formLayoutWidget_2">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>30</y>
+ <width>401</width>
+ <height>141</height>
+ </rect>
+ </property>
+ <layout class="QFormLayout" name="formLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>Address:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="lineEdit_8"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>City:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>State:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="lineEdit_9"/>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="lineEdit_10"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Country:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="lineEdit_11"/>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Postal Code:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="lineEdit_6"/>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>350</y>
+ <width>421</width>
+ <height>231</height>
+ </rect>
+ </property>
+ <property name="title">
+ <string>Primary Contact</string>
+ </property>
+ <widget class="QWidget" name="formLayoutWidget">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>30</y>
+ <width>401</width>
+ <height>201</height>
+ </rect>
+ </property>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Type:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Name:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="lineEdit_4"/>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="lineEdit_5"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Address:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="lineEdit_3"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Email:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Phone 1:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>Phone 2:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="lineEdit_7"/>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLineEdit" name="lineEdit_12"/>
+ </item>
+ <item row="6" column="1">
+ <widget class="QLineEdit" name="lineEdit_13"/>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_16">
+ <property name="text">
+ <string>Fax:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="comboBox">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>10</y>
+ <width>421</width>
+ <height>141</height>
+ </rect>
+ </property>
+ <property name="title">
+ <string>Vendor</string>
+ </property>
+ <widget class="QWidget" name="formLayoutWidget_3">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>40</y>
+ <width>401</width>
+ <height>61</height>
+ </rect>
+ </property>
+ <layout class="QFormLayout" name="formLayout_3">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::ExpandingFieldsGrow</enum>
+ </property>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Name:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="lineEdit"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Level:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="comboBox_2"/>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QCheckBox" name="checkBox_3">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>110</y>
+ <width>141</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>NDA Signed</string>
+ </property>
+ </widget>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_4">
+ <property name="geometry">
+ <rect>
+ <x>440</x>
+ <y>10</y>
+ <width>281</width>
+ <height>581</height>
+ </rect>
+ </property>
+ <property name="title">
+ <string>Vendor Classes</string>
+ </property>
+ <widget class="QListWidget" name="listWidget">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>40</y>
+ <width>256</width>
+ <height>531</height>
+ </rect>
+ </property>
+ <item>
+ <property name="text">
+ <string>Machine</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Cutter</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Sheet Metal</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>EDM Wire</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>CNC</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Casting</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Electronic Parts</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Distributor</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Manufacturer</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Broker Grey</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Representative</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Printed Circuit Boards</string>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsDragEnabled|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>PCB</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>PCBA</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Testing</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Raw Materials</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Metal</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Plastic</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Extruded</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Lenses</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Distributor</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Manufacturer</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Representative</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Filters</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Cubes</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Lenses</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>COTS</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Screws</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>O-Ring</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Switches</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Captive Fasteners</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Springs & Pins</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Retaining Rings</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Coatings</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Anodized</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Nickel</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Paint</string>
+ </property>
+ <property name="checkState">
+ <enum>Unchecked</enum>
+ </property>
+ </item>
+ </widget>
+ </widget>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
<x>0</x>
<y>0</y>
<width>932</width>
- <height>626</height>
+ <height>826</height>
</rect>
</property>
<property name="windowTitle">
<widget class="QTextBrowser" name="textBrowser">
<property name="geometry">
<rect>
- <x>570</x>
- <y>410</y>
+ <x>790</x>
+ <y>230</y>
<width>141</width>
<height>111</height>
</rect>
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Here's some stuff to look at, isn't it purty? :-)</p></body></html></string>
+</style></head><body style=" font-family:'Sans Serif'; font-size:8pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Still need Action List &amp; Notes</span></p></body></html></string>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
- <x>10</x>
+ <x>60</x>
<y>50</y>
<width>221</width>
<height>16</height>
<enum>Qt::Horizontal</enum>
</property>
</widget>
- <widget class="QLabel" name="label_7">
- <property name="geometry">
- <rect>
- <x>20</x>
- <y>230</y>
- <width>61</width>
- <height>14</height>
- </rect>
- </property>
- <property name="text">
- <string>Contact1:</string>
- </property>
- </widget>
- <widget class="QLineEdit" name="lineEdit_6">
- <property name="geometry">
- <rect>
- <x>90</x>
- <y>230</y>
- <width>221</width>
- <height>22</height>
- </rect>
- </property>
- <property name="text">
- <string>Title, email, phone, fax, etc.</string>
- </property>
- </widget>
<widget class="QCheckBox" name="checkBox">
<property name="geometry">
<rect>
- <x>90</x>
- <y>200</y>
+ <x>10</x>
+ <y>80</y>
<width>121</width>
<height>21</height>
</rect>
<string>NDA Signed</string>
</property>
</widget>
- <widget class="QWidget" name="formLayoutWidget">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>80</y>
- <width>281</width>
- <height>111</height>
- </rect>
- </property>
- <layout class="QFormLayout" name="formLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Address:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="lineEdit_2"/>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>City:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>State:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="lineEdit_4"/>
- </item>
- <item row="3" column="1">
- <widget class="QLineEdit" name="lineEdit_5"/>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>ZIP:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLineEdit" name="lineEdit_3"/>
- </item>
- </layout>
- </widget>
- <widget class="QLabel" name="label_8">
- <property name="geometry">
- <rect>
- <x>20</x>
- <y>250</y>
- <width>61</width>
- <height>14</height>
- </rect>
- </property>
- <property name="text">
- <string>Contact2:</string>
- </property>
- </widget>
- <widget class="QLineEdit" name="lineEdit_7">
- <property name="geometry">
- <rect>
- <x>90</x>
- <y>250</y>
- <width>113</width>
- <height>22</height>
- </rect>
- </property>
- </widget>
<widget class="QLabel" name="label_9">
<property name="geometry">
<rect>
<widget class="QTableWidget" name="tableWidget">
<property name="geometry">
<rect>
- <x>320</x>
- <y>50</y>
- <width>591</width>
+ <x>20</x>
+ <y>570</y>
+ <width>901</width>
<height>192</height>
</rect>
</property>
<widget class="QGroupBox" name="groupBox">
<property name="geometry">
<rect>
- <x>410</x>
- <y>380</y>
+ <x>600</x>
+ <y>370</y>
<width>121</width>
<height>121</height>
</rect>
<widget class="QFrame" name="frame">
<property name="geometry">
<rect>
- <x>10</x>
- <y>380</y>
+ <x>290</x>
+ <y>370</y>
<width>131</width>
<height>121</height>
</rect>
<widget class="QTreeWidget" name="treeWidget">
<property name="geometry">
<rect>
- <x>150</x>
- <y>380</y>
- <width>256</width>
+ <x>10</x>
+ <y>310</y>
+ <width>271</width>
<height>192</height>
</rect>
</property>
</property>
</item>
</widget>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>110</y>
+ <width>271</width>
+ <height>181</height>
+ </rect>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>Primary</string>
+ </attribute>
+ <widget class="QWidget" name="formLayoutWidget_2">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>10</y>
+ <width>261</width>
+ <height>141</height>
+ </rect>
+ </property>
+ <layout class="QFormLayout" name="formLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>Address:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="lineEdit_8"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>City:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>State:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="lineEdit_9"/>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="lineEdit_10"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Country:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="lineEdit_11"/>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Postal Code:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="lineEdit_6"/>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <widget class="QWidget" name="tab_2">
+ <attribute name="title">
+ <string>2nd</string>
+ </attribute>
+ </widget>
+ </widget>
+ <widget class="QTabWidget" name="tabWidget_2">
+ <property name="geometry">
+ <rect>
+ <x>290</x>
+ <y>100</y>
+ <width>481</width>
+ <height>241</height>
+ </rect>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab_3">
+ <attribute name="title">
+ <string>Contact #1</string>
+ </attribute>
+ <widget class="QWidget" name="formLayoutWidget">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>10</y>
+ <width>471</width>
+ <height>201</height>
+ </rect>
+ </property>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Type:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="lineEdit_2"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Name:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="lineEdit_4"/>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="lineEdit_5"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Address:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="lineEdit_3"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Email:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Phone 1:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>Phone 2:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="lineEdit_7"/>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLineEdit" name="lineEdit_12"/>
+ </item>
+ <item row="6" column="1">
+ <widget class="QLineEdit" name="lineEdit_13"/>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_16">
+ <property name="text">
+ <string>Fax:</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <widget class="QWidget" name="tab_4">
+ <attribute name="title">
+ <string>#2</string>
+ </attribute>
+ </widget>
+ <widget class="QWidget" name="tab_5">
+ <attribute name="title">
+ <string>#3</string>
+ </attribute>
+ </widget>
+ </widget>
+ <widget class="QPushButton" name="pushButton_4">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>50</y>
+ <width>21</width>
+ <height>25</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string><</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="pushButton_5">
+ <property name="geometry">
+ <rect>
+ <x>30</x>
+ <y>50</y>
+ <width>21</width>
+ <height>25</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>></string>
+ </property>
+ </widget>
+ <widget class="QListView" name="listView">
+ <property name="geometry">
+ <rect>
+ <x>740</x>
+ <y>360</y>
+ <width>171</width>
+ <height>161</height>
+ </rect>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_17">
+ <property name="geometry">
+ <rect>
+ <x>297</x>
+ <y>350</y>
+ <width>121</width>
+ <height>20</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Caution Advised</string>
+ </property>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="geometry">
+ <rect>
+ <x>440</x>
+ <y>370</y>
+ <width>141</width>
+ <height>121</height>
+ </rect>
+ </property>
+ <property name="title">
+ <string>Vendor Actions</string>
+ </property>
+ <widget class="QPushButton" name="pushButton_8">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>90</y>
+ <width>106</width>
+ <height>25</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Add Location</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="pushButton_7">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>60</y>
+ <width>106</width>
+ <height>25</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Add Contact</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="pushButton_6">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>30</y>
+ <width>106</width>
+ <height>25</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Add Vendor</string>
+ </property>
+ </widget>
+ </widget>
+ <widget class="QLabel" name="label_18">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>540</y>
+ <width>151</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Purchase Orders</string>
+ </property>
+ </widget>
+ <widget class="QToolButton" name="toolButton">
+ <property name="geometry">
+ <rect>
+ <x>170</x>
+ <y>540</y>
+ <width>61</width>
+ <height>25</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Open</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QToolButton" name="toolButton_2">
+ <property name="geometry">
+ <rect>
+ <x>240</x>
+ <y>540</y>
+ <width>61</width>
+ <height>25</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Closed</string>
+ </property>
+ </widget>
+ <widget class="QToolButton" name="toolButton_3">
+ <property name="geometry">
+ <rect>
+ <x>310</x>
+ <y>540</y>
+ <width>61</width>
+ <height>25</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>All</string>
+ </property>
+ </widget>
+ <widget class="Line" name="line_2">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>510</y>
+ <width>701</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<x>0</x>
<y>0</y>
<width>932</width>
- <height>20</height>
+ <height>22</height>
</rect>
</property>
<widget class="QMenu" name="menuMenu1">
`dtid` int(11) DEFAULT NULL,
`vid` int(11) DEFAULT NULL,
`poid` int(11) DEFAULT NULL,
+ `filename` varchar(256) DEFAULT NULL,
`document` longblob,
PRIMARY KEY (`did`),
KEY `dtid` (`dtid`),
/*!40000 ALTER TABLE `History` ENABLE KEYS */;
UNLOCK TABLES;
+--
+-- Table structure for table `Location`
+--
+
+DROP TABLE IF EXISTS `Location`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `Location` (
+ `lid` int(11) NOT NULL AUTO_INCREMENT,
+ `vid` int(11) DEFAULT NULL,
+ `address` varchar(100) DEFAULT NULL,
+ `city` varchar(64) DEFAULT NULL,
+ `state` varchar(64) DEFAULT NULL,
+ `country` varchar(64) DEFAULT NULL,
+ `code` varchar(32) DEFAULT NULL,
+ PRIMARY KEY (`lid`),
+ KEY `vid` (`vid`),
+ CONSTRAINT `Location_ibfk_1` FOREIGN KEY (`vid`) REFERENCES `Vendor` (`vid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `Location`
+--
+
+LOCK TABLES `Location` WRITE;
+/*!40000 ALTER TABLE `Location` DISABLE KEYS */;
+/*!40000 ALTER TABLE `Location` ENABLE KEYS */;
+UNLOCK TABLES;
+
--
-- Table structure for table `Notes`
--
`poid` int(11) NOT NULL AUTO_INCREMENT,
`vid` int(11) DEFAULT NULL,
`closed` tinyint(1) NOT NULL DEFAULT '0',
+ `poNumber` varchar(100) DEFAULT NULL,
+ `originalDate` date DEFAULT NULL,
+ `adjustedDate` date DEFAULT NULL,
`description` varchar(200) DEFAULT NULL,
PRIMARY KEY (`poid`),
KEY `vid` (`vid`),
PRIMARY KEY (`uid`),
KEY `ucid` (`ucid`),
CONSTRAINT `User_ibfk_1` FOREIGN KEY (`ucid`) REFERENCES `UserClass` (`ucid`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
LOCK TABLES `User` WRITE;
/*!40000 ALTER TABLE `User` DISABLE KEYS */;
+INSERT INTO `User` VALUES (1,1,'Administrator','admin','admin_123');
/*!40000 ALTER TABLE `User` ENABLE KEYS */;
UNLOCK TABLES;
`privilegeLevel` int(11) NOT NULL DEFAULT '0',
`description` varchar(100) DEFAULT NULL,
PRIMARY KEY (`ucid`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
LOCK TABLES `UserClass` WRITE;
/*!40000 ALTER TABLE `UserClass` DISABLE KEYS */;
+INSERT INTO `UserClass` VALUES (1,1,'Administrator');
/*!40000 ALTER TABLE `UserClass` ENABLE KEYS */;
UNLOCK TABLES;
CREATE TABLE `Vendor` (
`vid` int(11) NOT NULL AUTO_INCREMENT,
`vlid` int(11) DEFAULT NULL,
+ `signedNDA` tinyint(1) NOT NULL DEFAULT '0',
`name` varchar(100) DEFAULT NULL,
PRIMARY KEY (`vid`),
KEY `vlid` (`vlid`),
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `VendorGroup` (
`vgid` int(11) NOT NULL AUTO_INCREMENT,
+ `seqNo` int(4) NOT NULL,
`description` varchar(100) DEFAULT NULL,
PRIMARY KEY (`vgid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `VendorType` (
`vtid` int(11) NOT NULL AUTO_INCREMENT,
`vgid` int(11) DEFAULT NULL,
+ `seqNo` int(4) NOT NULL,
`description` varchar(100) DEFAULT NULL,
PRIMARY KEY (`vtid`),
KEY `vgid` (`vgid`),
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2012-09-18 19:39:04
+-- Dump completed on 2012-09-19 21:10:12
src/generaltab.h \
src/logindialog.h \
src/main.h \
- src/mainwin.h
+ src/mainwin.h \
+ src/newvendordialog.h \
+ src/sqlsettingsdialog.h \
+ src/vendorclassdialog.h
SOURCES += src/about.cpp \
src/configdialog.cpp \
src/generaltab.cpp \
src/logindialog.cpp \
src/main.cpp \
- src/mainwin.cpp
+ src/mainwin.cpp \
+ src/newvendordialog.cpp \
+ src/sqlsettingsdialog.cpp \
+ src/vendorclassdialog.cpp
"<br><br>"
"<i>The SCheMatic team would like to express their gratitude to:</i>"
"<br><br>"
- "<b>Tracking Point</b> for underwriting the creation of SCheMatic<br>"
+ "Everyone who helped make SCheMatic a reality.<br>"
// "<b>David Raingeard</b> for the original Virtual Jaguar sources<br>"
// "<b>Bernd Schmidt</b> for his UAE 68K emulator<br>"
// "<b>Sam Lantinga</b> for his amazing SDL libraries<br>"
//
// WHO WHEN WHAT
// --- ---------- ------------------------------------------------------------
-// JLH 06/04/2011 Created this file
+// JLH 09/18/2011 Created this file
#include "logindialog.h"
LoginDialog::LoginDialog(QWidget * parent/*= 0*/): QDialog(parent),
-// label1(new QLabel(tr("Username:"))),
-// label2(new QLabel(tr("Password:"))),
buttonBox(new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel)),
edit1(new QLineEdit()),
edit2(new QLineEdit())
formLayout->addRow(tr("&Password:"), edit2);
QVBoxLayout * mainLayout = new QVBoxLayout;
-// mainLayout->addWidget(tabWidget);
mainLayout->addLayout(formLayout);
mainLayout->addWidget(buttonBox);
setLayout(mainLayout);
~LoginDialog();
private:
-// QLabel * label1;
-// QLabel * label2;
- QLabel * title;
+// QLabel * title;
QDialogButtonBox * buttonBox;
public:
//#define DEBUGTP // Toolpalette debugging...
#include "mainwin.h"
-#include <QtSql>
-//#include "main.h"
#include "about.h"
+#include "configdialog.h"
#include "logindialog.h"
+#include "newvendordialog.h"
+#include "sqlsettingsdialog.h"
+#include "vendorclassdialog.h"
MainWindow::MainWindow(): aboutWin(new AboutWindow(this)),
aboutAct->setStatusTip(tr("Blatant self-promotion"));
connect(aboutAct, SIGNAL(triggered()), this, SLOT(ShowAboutWin()));
+ configAct = new QAction(QIcon(":/res/schematic.png"), tr("&Configure..."), this);
+ configAct->setStatusTip(tr("Configure SCheMatic"));
+ connect(configAct, SIGNAL(triggered()), this, SLOT(HandleConfigDialog()));
+
+ vendorClassAct = new QAction(QIcon(":/res/schematic.png"), tr("&Edit Vendor Classes..."), this);
+ vendorClassAct->setStatusTip(tr("Edit Vendor Classes"));
+ connect(vendorClassAct, SIGNAL(triggered()), this, SLOT(HandleVendorClassDialog()));
+
+ newVendorAct = new QAction(QIcon(":/res/schematic.png"), tr("&Add Vendor..."), this);
+ newVendorAct->setStatusTip(tr("Create a new vendor"));
+ connect(newVendorAct, SIGNAL(triggered()), this, SLOT(HandleNewVendorDialog()));
+
// helpAct = new QAction(QIcon(":/res/vj-icon.png"), tr("&Contents..."), this);
// helpAct->setStatusTip(tr("Help is available, if you should need it"));
// connect(helpAct, SIGNAL(triggered()), this, SLOT(ShowHelpWin()));
// fileMenu->addAction(configAct);
menu->addAction(quitAppAct);
+ menu = menuBar()->addMenu(tr("&Edit"));
+ menu->addAction(configAct);
+ menu->addAction(vendorClassAct);
+ menu->addAction(newVendorAct);
+
menu = menuBar()->addMenu(tr("&Help"));
// menu->addAction(helpAct);
menu->addAction(aboutAct);
// Finally, set up database connection
- QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
- db.setHostName("localhost");
- db.setDatabaseName("schematic");
- db.setUserName("scm_user");
- db.setPassword("scm_user");
- bool ok = db.open();
+ db = QSqlDatabase::addDatabase("QMYSQL");
+ bool ok = false;
-#warning "!!! NEED TO SET UP DB SETUP DIALOG IF CONNECTION FAILED !!!"
+ // Prime the SQL Settings dialog (in case we need it)
+ SQLSettingsDialog sqlSettings;
+ sqlSettings.edit1->setText(dbHostName);
+ sqlSettings.edit2->setText(dbName);
+ sqlSettings.edit3->setText(dbUserName);
+ sqlSettings.edit4->setText(dbPassword);
-// printf("Database connection was %sopened successfully.\n", (ok ? "" : "NOT "));
+ do
+ {
+ // Set up the DB connection with saved settings
+ db.setHostName(dbHostName);
+ db.setDatabaseName(dbName);
+ db.setUserName(dbUserName);
+ db.setPassword(dbPassword);
+ ok = db.open();
+
+ // If unsuccessful, run the SQL settings/test dialog
+ if (!ok)
+ {
+ if (sqlSettings.exec())
+ {
+ // User thinks this will work (hit OK button), so prime the variables
+ // for the next attempt
+ dbHostName = sqlSettings.edit1->text();
+ dbName = sqlSettings.edit2->text();
+ dbUserName = sqlSettings.edit3->text();
+ dbPassword = sqlSettings.edit4->text();
+ }
+ else
+ return; // User cancelled the dialog, so quit
+ }
+ }
+ while (!ok);
// Do Login dialog
LoginDialog login;
}
+void MainWindow::HandleConfigDialog(void)
+{
+ ConfigDialog dialog(this);
+ dialog.exec();
+}
+
+
+void MainWindow::HandleVendorClassDialog(void)
+{
+ VendorClassDialog dialog(this);
+
+ if (!dialog.exec())
+ return;
+}
+
+
+void MainWindow::HandleNewVendorDialog(void)
+{
+ NewVendorDialog dialog(this);
+
+ if (!dialog.exec())
+ return;
+}
+
+
void MainWindow::ReadSettings(void)
{
QSettings settings("Underground Software", "SCheMatic");
// size = settings.value("charWndSize", QSize(200, 200)).toSize();
// ((TTEdit *)qApp)->charWnd->resize(size);
// ((TTEdit *)qApp)->charWnd->move(pos);
+
+ dbHostName = settings.value("dbHostName", "localhost").toString();
+ dbName = settings.value("dbName", "schematic").toString();
+ dbUserName = settings.value("dbUserName", "scm_user").toString();
+ dbPassword = settings.value("dbPassword", "scm_user").toString();
}
settings.setValue("size", size());
// settings.setValue("charWndPos", ((TTEdit *)qApp)->charWnd->pos());
// settings.setValue("charWndSize", ((TTEdit *)qApp)->charWnd->size());
+
+ settings.setValue("dbHostName", dbHostName);
+ settings.setValue("dbName", dbName);
+ settings.setValue("dbUserName", dbUserName);
+ settings.setValue("dbPassword", dbPassword);
}
+
#define __MAINWINDOW_H__
#include <QtGui>
+#include <QtSql>
class AboutWindow;
private slots:
void Open();
void ShowAboutWin(void);
+ void HandleConfigDialog(void);
+ void HandleVendorClassDialog(void);
+ void HandleNewVendorDialog(void);
private:
void ReadSettings(void);
QAction * quitAppAct;
QAction * aboutAct;
+ QAction * configAct;
+ QAction * vendorClassAct;
+ QAction * newVendorAct;
+
+ QString dbHostName;
+ QString dbName;
+ QString dbUserName;
+ QString dbPassword;
+
+ QSqlDatabase db;
public:
int loggedInUID;
--- /dev/null
+//
+// newvendordialog.cpp: Create New Vendor dialog
+//
+// Part of the SCheMatic Project
+// (C) 2012 Underground Software
+//
+// JLH = James Hammons <jlhamm@acm.org>
+//
+// WHO WHEN WHAT
+// --- ---------- ------------------------------------------------------------
+// JLH 09/21/2012 Created this file
+
+#include "newvendordialog.h"
+
+
+NewVendorDialog::NewVendorDialog(QWidget * parent/*= 0*/): QDialog(parent),
+ buttonBox(new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel)),
+ edit1(new QLineEdit),
+ combo1(new QComboBox),
+ checkbox1(new QCheckBox(tr("NDA Signed"))),
+ edit2(new QLineEdit),
+ edit3(new QLineEdit),
+ edit4(new QLineEdit),
+ edit5(new QLineEdit),
+ edit6(new QLineEdit),
+ combo2(new QComboBox),
+ edit7(new QLineEdit),
+ edit8(new QLineEdit),
+ edit9(new QLineEdit),
+ edit10(new QLineEdit),
+ edit11(new QLineEdit),
+ edit12(new QLineEdit),
+ list(new QListWidget)
+{
+ connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+ connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+
+ QVBoxLayout * vbox1 = new QVBoxLayout;
+ QVBoxLayout * vbox2 = new QVBoxLayout;
+ QVBoxLayout * vbox3 = new QVBoxLayout;
+ QHBoxLayout * hbox1 = new QHBoxLayout;
+
+ QGroupBox * gb1 = new QGroupBox(tr("Vendor"));
+ QGroupBox * gb2 = new QGroupBox(tr("Primary Location"));
+ QGroupBox * gb3 = new QGroupBox(tr("Primary Contact"));
+ QGroupBox * gb4 = new QGroupBox(tr("Vendor Classes"));
+
+ QFormLayout * form1 = new QFormLayout;
+ QFormLayout * form2 = new QFormLayout;
+ QFormLayout * form3 = new QFormLayout;
+
+ form1->addRow(tr("Name:"), edit1);
+ form1->addRow(tr("Level:"), combo1);
+
+ form2->addRow(tr("Address:"), edit2);
+ form2->addRow(tr("City:"), edit3);
+ form2->addRow(tr("State:"), edit4);
+ form2->addRow(tr("Country:"), edit5);
+ form2->addRow(tr("Postal Code:"), edit6);
+
+ form3->addRow(tr("Type:"), combo2);
+ form3->addRow(tr("Name:"), edit7);
+ form3->addRow(tr("Email:"), edit8);
+ form3->addRow(tr("Address:"), edit9);
+ form3->addRow(tr("Phone 1:"), edit10);
+ form3->addRow(tr("Phone 2:"), edit11);
+ form3->addRow(tr("Fax:"), edit12);
+
+ vbox1->addLayout(form1);
+ vbox1->addWidget(checkbox1);
+ gb1->setLayout(vbox1);
+
+ gb2->setLayout(form2);
+
+ gb3->setLayout(form3);
+
+ vbox2->addWidget(gb1);
+ vbox2->addWidget(gb2);
+ vbox2->addWidget(gb3);
+
+ vbox3->addWidget(list);
+ gb4->setLayout(vbox3);
+
+ hbox1->addLayout(vbox2);
+ hbox1->addWidget(gb4);
+
+ QVBoxLayout * mainLayout = new QVBoxLayout;
+ mainLayout->addLayout(hbox1);
+ mainLayout->addWidget(buttonBox);
+ setLayout(mainLayout);
+
+ setWindowTitle(tr("New Vendor"));
+}
+
+NewVendorDialog::~NewVendorDialog()
+{
+}
+
--- /dev/null
+#ifndef __NEWVENDORDIALOG_H__
+#define __NEWVENDORDIALOG_H__
+
+#include <QtGui>
+
+class NewVendorDialog: public QDialog
+{
+ Q_OBJECT
+
+ public:
+ NewVendorDialog(QWidget * parent = 0);
+ ~NewVendorDialog();
+
+ private:
+ QDialogButtonBox * buttonBox;
+
+ public:
+ QLineEdit * edit1;
+ QComboBox * combo1;
+ QCheckBox * checkbox1;
+
+ QLineEdit * edit2;
+ QLineEdit * edit3;
+ QLineEdit * edit4;
+ QLineEdit * edit5;
+ QLineEdit * edit6;
+
+ QComboBox * combo2;
+ QLineEdit * edit7;
+ QLineEdit * edit8;
+ QLineEdit * edit9;
+ QLineEdit * edit10;
+ QLineEdit * edit11;
+ QLineEdit * edit12;
+
+ QListWidget * list;
+};
+
+#endif // __NEWVENDORDIALOG_H__
--- /dev/null
+//
+// sqlsettingsdialog.cpp: The SQL Settings dialog
+//
+// Part of the SCheMatic Project
+// (C) 2012 Underground Software
+//
+// JLH = James Hammons <jlhamm@acm.org>
+//
+// WHO WHEN WHAT
+// --- ---------- ------------------------------------------------------------
+// JLH 09/19/2012 Created this file
+
+#include "sqlsettingsdialog.h"
+
+
+SQLSettingsDialog::SQLSettingsDialog(QWidget * parent/*= 0*/): QDialog(parent),
+ buttonBox(new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel)),
+ edit1(new QLineEdit()),
+ edit2(new QLineEdit()),
+ edit3(new QLineEdit()),
+ edit4(new QLineEdit())
+{
+ connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+ connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+
+ edit4->setEchoMode(QLineEdit::Password);
+
+ QFormLayout * formLayout = new QFormLayout;
+ formLayout->addRow(tr("&MySQL Server Hostname:"), edit1);
+ formLayout->addRow(tr("&Database Name:"), edit2);
+ formLayout->addRow(tr("&Database Username:"), edit3);
+ formLayout->addRow(tr("&Database Password:"), edit4);
+
+ QVBoxLayout * mainLayout = new QVBoxLayout;
+ mainLayout->addLayout(formLayout);
+ mainLayout->addWidget(buttonBox);
+ setLayout(mainLayout);
+
+ setWindowTitle(tr("MySQL Server Connection"));
+}
+
+SQLSettingsDialog::~SQLSettingsDialog()
+{
+}
--- /dev/null
+#ifndef __SQLSETTINGSDIALOG_H__
+#define __SQLSETTINGSDIALOG_H__
+
+#include <QtGui>
+
+class SQLSettingsDialog: public QDialog
+{
+ Q_OBJECT
+
+ public:
+ SQLSettingsDialog(QWidget * parent = 0);
+ ~SQLSettingsDialog();
+
+ private:
+// QLabel * title;
+ QPushButton * testButton;
+ QDialogButtonBox * buttonBox;
+
+ public:
+ QLineEdit * edit1;
+ QLineEdit * edit2;
+ QLineEdit * edit3;
+ QLineEdit * edit4;
+};
+
+#endif // __SQLSETTINGSDIALOG_H__
--- /dev/null
+//
+// vendorclassdialog.cpp: Vendor Class editing dialog
+//
+// Part of the SCheMatic Project
+// (C) 2012 Underground Software
+//
+// JLH = James Hammons <jlhamm@acm.org>
+//
+// WHO WHEN WHAT
+// --- ---------- ------------------------------------------------------------
+// JLH 09/20/2011 Created this file
+
+#include "vendorclassdialog.h"
+#include <QtSql>
+
+
+VendorClassDialog::VendorClassDialog(QWidget * parent/*= 0*/): QDialog(parent),
+ buttonBox(new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel)),
+ addItem(new QToolButton),
+ deleteItem(new QToolButton),
+ moveItemUp(new QToolButton),
+ moveItemDown(new QToolButton),
+ makeHeader(new QCheckBox(tr("&Heading"))),
+ normalFont(new QFont),
+ boldFont(new QFont),
+ list(new QListWidget)
+// dbRef(db)
+{
+ addItem->setToolButtonStyle(Qt::ToolButtonTextOnly);
+ addItem->setText("+");
+ addItem->setToolTip(tr("Add new vendor class or group."));
+ deleteItem->setToolButtonStyle(Qt::ToolButtonTextOnly);
+ deleteItem->setText("-");
+ deleteItem->setToolTip(tr("Delete highlighted item."));
+ moveItemUp->setArrowType(Qt::UpArrow);
+ moveItemUp->setToolTip(tr("Move highlighted item up in the list."));
+ moveItemDown->setArrowType(Qt::DownArrow);
+ moveItemDown->setToolTip(tr("Move highlighted item down in the list."));
+ makeHeader->setToolTip(tr("Make highlighted item into a vendor group."));
+// list->setToolTip(tr(""));
+
+ QHBoxLayout * buttonLayout = new QHBoxLayout;
+ buttonLayout->addWidget(addItem);
+ buttonLayout->addWidget(deleteItem);
+ buttonLayout->addWidget(moveItemUp);
+ buttonLayout->addWidget(moveItemDown);
+ buttonLayout->addStretch();
+ buttonLayout->addWidget(makeHeader);
+
+ QVBoxLayout * mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(list);
+ mainLayout->addLayout(buttonLayout);
+ mainLayout->addWidget(buttonBox);
+ setLayout(mainLayout);
+
+ setWindowTitle(tr("Vendor Class Editor"));
+
+ connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+ connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+
+ connect(addItem, SIGNAL(clicked()), this, SLOT(AddItem()));
+ connect(deleteItem, SIGNAL(clicked()), this, SLOT(DeleteItem()));
+ connect(moveItemUp, SIGNAL(clicked()), this, SLOT(MoveItemUp()));
+ connect(moveItemDown, SIGNAL(clicked()), this, SLOT(MoveItemDown()));
+ connect(makeHeader, SIGNAL(clicked()), this, SLOT(SetHeaderStateOnItem()));
+ connect(list, SIGNAL(currentRowChanged(int)), this, SLOT(CurrentRowChanged(int)));
+
+ boldFont->setBold(true);
+ LoadList();
+}
+
+
+VendorClassDialog::~VendorClassDialog()
+{
+}
+
+
+void VendorClassDialog::AddItem(void)
+{
+ QListWidgetItem * item = new QListWidgetItem(tr("New Vendor Class"));
+ item->setFlags(item->flags() | Qt::ItemIsEditable);
+
+ // We'll have to use the setData(Qt::UserRole, bool) to set the header/no header data...
+
+// item->setCheckState(Qt::Unchecked);
+// Qt::ItemFlags f = item->flags();
+// //nope, this doesn't work. the above fucks something up that's not unfuckable.
+// f &= ~Qt::ItemIsUserCheckable;
+// item->setFlags(f | Qt::ItemIsEditable);
+
+ int row = list->row(list->currentItem());
+ list->insertItem(row + 1, item);
+}
+
+
+void VendorClassDialog::DeleteItem(void)
+{
+ int row = list->row(list->currentItem());
+ QListWidgetItem * item = list->takeItem(row);
+
+ // This could be called on an empty list, so we have a sanity check here...
+ if (item)
+ delete item;
+}
+
+
+void VendorClassDialog::MoveItemUp(void)
+{
+ int row = list->row(list->currentItem());
+
+ if (row == 0)
+ return;
+
+ QListWidgetItem * item = list->takeItem(row);
+ list->insertItem(row - 1, item);
+ list->setCurrentItem(item);
+}
+
+
+void VendorClassDialog::MoveItemDown(void)
+{
+ int row = list->row(list->currentItem());
+
+ if (row == list->count() - 1)
+ return;
+
+ QListWidgetItem * item = list->takeItem(row);
+ list->insertItem(row + 1, item);
+ list->setCurrentItem(item);
+}
+
+
+void VendorClassDialog::SetHeaderStateOnItem(void)
+{
+ QListWidgetItem * item = list->currentItem();
+ item->setData(Qt::UserRole, makeHeader->isChecked());
+
+ if (makeHeader->isChecked())
+ item->setFont(*boldFont);
+ else
+ item->setFont(*normalFont);
+}
+
+
+void VendorClassDialog::CurrentRowChanged(int /*row*/)
+{
+ // Show our indicator that this item is a header/group or not
+ QListWidgetItem * item = list->currentItem();
+ bool isHeader = item->data(Qt::UserRole).toBool();
+ makeHeader->setChecked(isHeader);
+}
+
+
+// This probably should be in the mainwin class...
+void VendorClassDialog::LoadList(void)
+{
+ std::vector<VendorType> groupList;
+
+ // Pull in definitions from DB for Vendor Classes/Groups
+ QSqlQuery query1("SELECT vgid, seqNo, description FROM VendorGroup ORDER BY seqNo");
+ query1.exec();
+
+ while (query1.next())
+ {
+ VendorType v;
+ v.key = query1.value(0).toInt();
+ v.seqNo = query1.value(1).toInt();
+ v.description = query1.value(2).toString();
+ v.isHeader = true;
+
+ groupList.push_back(v);
+ }
+
+ QSqlQuery query2("SELECT vtid, vgid, seqNo, description FROM VendorType ORDER BY seqNo");
+ query2.exec();
+
+ int previousID = -1, groupListIndex = 0;
+
+ while (query2.next())
+ {
+ VendorType v;
+ v.key = query2.value(0).toInt();
+ int vgid = query2.value(1).toInt();
+ v.seqNo = query2.value(2).toInt();
+ v.description = query2.value(3).toString();
+ v.isHeader = false;
+
+ // Check to see if we need to insert new header yet.
+ // If we're not still in same group, push the next group header into the list
+ // and continue
+ if (previousID != vgid)
+ {
+ oldList.push_back(groupList[groupListIndex++]);
+ previousID = vgid;
+ }
+
+ oldList.push_back(v);
+ }
+
+ // Finally, populate the QListWidget
+ for(int i=0; i<oldList.size(); i++)
+ {
+ QListWidgetItem * item = new QListWidgetItem(oldList[i].description);
+ item->setFlags(item->flags() | Qt::ItemIsEditable);
+ item->setData(Qt::UserRole, oldList[i].isHeader);
+
+ if (oldList[i].isHeader)
+ item->setFont(*boldFont);
+
+ list->insertItem(i, item);
+ }
+}
+
+
+void VendorClassDialog::SaveList(void)
+{
+}
+
--- /dev/null
+#ifndef __VENDORCLASSDIALOG_H__
+#define __VENDORCLASSDIALOG_H__
+
+#include <QtGui>
+#include <vector>
+
+struct VendorType
+{
+ int key;
+ int seqNo;
+ bool isHeader;
+ QString description;
+};
+
+
+class VendorClassDialog: public QDialog
+{
+ Q_OBJECT
+
+ public:
+ VendorClassDialog(QWidget * parent = 0);
+ ~VendorClassDialog();
+
+ private slots:
+ void AddItem(void);
+ void DeleteItem(void);
+ void MoveItemUp(void);
+ void MoveItemDown(void);
+ void SetHeaderStateOnItem(void);
+ void CurrentRowChanged(int);
+
+ private:
+ void LoadList(void);
+ void SaveList(void);
+
+ private:
+ QDialogButtonBox * buttonBox;
+ QToolButton * addItem;
+ QToolButton * deleteItem;
+ QToolButton * moveItemUp;
+ QToolButton * moveItemDown;
+ QCheckBox * makeHeader;
+ std::vector<VendorType> oldList;
+ QFont * normalFont;
+ QFont * boldFont;
+
+ public:
+ QListWidget * list;
+// QSqlDatabase & dbRef;
+};
+
+#endif // __VENDORCLASSDIALOG_H__
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>343</width>
+ <height>439</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Dialog</string>
+ </property>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="geometry">
+ <rect>
+ <x>130</x>
+ <y>310</y>
+ <width>171</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>
+ <widget class="QListWidget" name="listWidget">
+ <property name="geometry">
+ <rect>
+ <x>50</x>
+ <y>50</y>
+ <width>256</width>
+ <height>201</height>
+ </rect>
+ </property>
+ <item>
+ <property name="text">
+ <string>Machine</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Cutter</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Sheet Metal</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>EDM Wire</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>CNC</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Casting</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Electronic Parts</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Distributor</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Manufacturer</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Broker Grey</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Representative</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Printed Circuit Boards</string>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsDragEnabled|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>PCB</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>PCBA</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Testing</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Raw Materials</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Metal</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Plastic</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Extruded</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Lenses</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Distributor</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Manufacturer</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Representative</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Filters</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Cubes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Lenses</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>COTS</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Screws</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>O-Ring</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Switches</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Captive Fasteners</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Springs & Pins</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Retaining Rings</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Coatings</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Anodized</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Nickel</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Paint</string>
+ </property>
+ </item>
+ </widget>
+ <widget class="QWidget" name="horizontalLayoutWidget">
+ <property name="geometry">
+ <rect>
+ <x>50</x>
+ <y>260</y>
+ <width>251</width>
+ <height>31</height>
+ </rect>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QToolButton" name="toolButton_3">
+ <property name="text">
+ <string>+</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="toolButton_4">
+ <property name="text">
+ <string>-</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="toolButton">
+ <property name="text">
+ <string>^</string>
+ </property>
+ <property name="arrowType">
+ <enum>Qt::UpArrow</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="toolButton_2">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="arrowType">
+ <enum>Qt::DownArrow</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="checkBox">
+ <property name="text">
+ <string>Heading</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>