void QtDatasetViewWidget::create(void) { tablewidget = new QTableWidget(this); tablewidget->setColumnCount(3); QStringList headerlist; headerlist << ""<<"Name" << "MSR"; tablewidget->setHorizontalHeaderLabels(headerlist); tablewidget->verticalHeader()->hide(); tablewidget->hideColumn(2); tablewidget->setAlternatingRowColors(true); connect(tablewidget,SIGNAL(itemDoubleClicked(QTableWidgetItem*)), this,SLOT(itemDoublClicked_event(QTableWidgetItem*))); Q3ButtonGroup* opensave_grp = new Q3ButtonGroup( 1, Qt::Horizontal, "File:", this ); opensave_grp->setExclusive( FALSE ); opensave_grp->setAlignment(Qt::AlignLeft); //opensave_grp->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum, false)); QPushButton* openbtn = new QPushButton(QIcon(QPixmap("icons/fileopen.xpm")), "Open", opensave_grp, "open"); connect( openbtn, SIGNAL( clicked () ), this, SLOT( open() ) ); //open->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum, false)); //QPushButton* savebtn = new QPushButton(QIcon(QPixmap("icons/filesave.xpm")), "Save", opensave_grp, "save"); // connect( save, SIGNAL( clicked () ), this, SLOT( save_event() ) ); //save->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum, false)); Q3ButtonGroup *act_grp = new Q3ButtonGroup( 1, Qt::Horizontal, "Actions:", this ); QPushButton* genthumbs_but = new QPushButton("Compute Projections", act_grp); connect(genthumbs_but, SIGNAL( clicked () ), this, SLOT( generatethumbs_event() ) ); QPushButton* openmovie_but = new QPushButton("Open Movie Player", act_grp); connect(openmovie_but, SIGNAL( clicked () ), this, SLOT( openmovieplayer_event() ) ); Q3ButtonGroup *align_grp = new Q3ButtonGroup( 1, Qt::Horizontal, "Alignment:", this ); QPushButton* align_but = new QPushButton("Align Data", align_grp); connect(align_but, SIGNAL( clicked () ), this, SLOT( align_event() ) ); QPushButton* stacks_but = new QPushButton("Compute Stacks", align_grp); connect(stacks_but, SIGNAL( clicked () ), this, SLOT( computestacks_event() ) ); Q3BoxLayout * left_blayout = new Q3BoxLayout ( 0, Q3BoxLayout::TopToBottom, 0, 5, "left_blayout"); left_blayout->setAlignment(Qt::AlignTop); left_blayout->addWidget( opensave_grp, 0, Qt::AlignTop); left_blayout->addWidget( act_grp, 0, Qt::AlignTop); align_grp->hide(); //left_blayout->addWidget( align_grp, 0, Qt::AlignTop); Q3BoxLayout * rigth_blayout = new Q3BoxLayout ( 0, Q3BoxLayout::TopToBottom, 0, 5, "rigth_blayout"); rigth_blayout->addWidget( tablewidget, 10); //our transfertab top level layout Q3BoxLayout * topmost = new Q3BoxLayout ( this, Q3BoxLayout::LeftToRight, 10, 5, "topmost_blayout"); topmost->addLayout( left_blayout, 1); topmost->addLayout( rigth_blayout, 10); }
RateCenterManager::RateCenterManager ( QWidget* parent, const char* name ) : TAAWidget(parent) { setCaption( "Rate Center Manager" ); rcList = new Q3ListView(this, "Rate Center Manager"); rcList->setAllColumnsShowFocus(true); rcList->setRootIsDecorated(true); rcList->addColumn("Country/State/City"); rcList->addColumn("Active"); rcList->addColumn("Avail"); rcList->addColumn("Total"); connect(rcList, SIGNAL(doubleClicked(Q3ListViewItem *)), this, SLOT(itemDoubleClicked(Q3ListViewItem *))); activeColumn = 1; availColumn = 2; totalColumn = 3; idColumn = 4; rcList->setColumnAlignment(activeColumn, Qt::AlignRight); rcList->setColumnAlignment(availColumn, Qt::AlignRight); rcList->setColumnAlignment(totalColumn, Qt::AlignRight); addButton = new QPushButton(this, "Add Button"); addButton->setText("&Add"); connect(addButton, SIGNAL(clicked()), this, SLOT(addClicked())); editButton = new QPushButton(this, "Edit Button"); editButton->setText("&Edit"); connect(editButton, SIGNAL(clicked()), this, SLOT(editClicked())); deleteButton = new QPushButton(this, "Delete Button"); deleteButton->setText("&Delete"); connect(deleteButton, SIGNAL(clicked()), this, SLOT(deleteClicked())); deleteButton->setEnabled(false); closeButton = new QPushButton(this, "Close Button"); closeButton->setText("&Close"); connect(closeButton, SIGNAL(clicked()), this, SLOT(closeClicked())); Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); ml->addWidget(rcList, 1); Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 1); bl->addStretch(1); bl->addWidget(addButton, 0); bl->addWidget(editButton, 0); bl->addWidget(deleteButton, 0); bl->addWidget(closeButton, 0); ml->addLayout(bl, 0); refreshRateCenters(); }
TE_Main::TE_Main(QWidget* parent, const char* name) : TAAWidget(parent) { setCaption( "Targeted Email" ); // Create our widgets. theTabBar = new QTabBar(this); // Create the tabs for the tab bar. theTabBar->addTab("Message"); theTabBar->addTab("Login Types"); theTabBar->addTab("Cities"); qws = new Q3WidgetStack(this, "widgetStack"); // Create the actual tabs now, using the widget stack as the parent. tmessage = new TE_Message(qws); qws->addWidget(tmessage, 0); tlogins = new TE_LoginTypes(qws); qws->addWidget(tlogins, 1); tcities = new TE_Cities(qws); qws->addWidget(tcities, 2); // Buttons now. QPushButton *sendButton = new QPushButton(this, "sendButton"); sendButton->setText("&Send"); connect(sendButton, SIGNAL(clicked()), this, SLOT(sendMessage())); QPushButton *cancelButton = new QPushButton(this, "cancelButton"); cancelButton->setText("&Cancel"); connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelClicked())); // Create our layout. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3); ml->addWidget(theTabBar, 0); ml->addWidget(qws, 1); Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); bl->addStretch(1); bl->addWidget(sendButton, 0); bl->addWidget(cancelButton, 0); ml->addLayout(bl, 0); connect(theTabBar, SIGNAL(selected(int)), qws, SLOT(raiseWidget(int))); // Create our Ctrl-1 through Ctrl-3 hotkeys Q3Accel *ac = new Q3Accel(this); ac->insertItem(Qt::CTRL+Qt::Key_1, 0); ac->insertItem(Qt::CTRL+Qt::Key_2, 1); ac->insertItem(Qt::CTRL+Qt::Key_3, 2); connect(ac, SIGNAL(activated(int)), this, SLOT(raiseTab(int))); }
BillingCycles::BillingCycles ( QWidget* parent, const char* name ) : TAAWidget(parent) { // Create our widgets. list = new Q3ListView(this, "Cycle List"); list->addColumn("Cycle ID"); list->addColumn("Type"); list->addColumn("Description"); list->setAllColumnsShowFocus(true); // Create our buttons. QPushButton *newButton = new QPushButton(this, "New"); newButton->setText("&New"); connect(newButton, SIGNAL(clicked()), this, SLOT(newCycle())); QPushButton *editButton = new QPushButton(this, "Edit"); editButton->setText("&Edit"); connect(editButton, SIGNAL(clicked()), this, SLOT(editCycle())); QPushButton *deleteButton = new QPushButton(this, "Delete"); deleteButton->setText("&Delete"); connect(deleteButton, SIGNAL(clicked()), this, SLOT(deleteCycle())); QPushButton *closeButton = new QPushButton(this, "Close"); closeButton->setText("&Close"); connect(closeButton, SIGNAL(clicked()), this, SLOT(closeClicked())); // Our layout. Very simple. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); ml->addWidget(list, 1); // Buttons. Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 1); bl->addStretch(1); bl->addWidget(newButton, 0); bl->addWidget(editButton, 0); bl->addWidget(deleteButton, 0); bl->addWidget(closeButton, 0); ml->addLayout(bl, 0); // Create our layout. setCaption( "Billing Cycles" ); }
SelectionList::SelectionList ( QWidget* parent, const char* name ) : QDialog ( parent, name ) { setCaption( "Select an Item" ); titleLabel = new QLabel(this, "Title Label"); titleLabel->setText("Please select an option."); titleLabel->setAlignment(Qt::AlignTop|Qt::AlignHCenter); list = new Q3ListView(this, "Selection List"); list->setAllColumnsShowFocus(true); extraLabel = new QLabel(this, "Extra Label"); extraLabel->setText(""); extraLabel->setAlignment(Qt::AlignRight|Qt::AlignVCenter); extraList = new QComboBox(false, this, "Extra List"); acceptButton = new QPushButton(this, "Accept Button"); acceptButton->setText("&Accept"); connect(acceptButton, SIGNAL(clicked()), SLOT(accept())); cancelButton = new QPushButton(this, "Cancel Button"); cancelButton->setText("&Cancel"); connect(cancelButton, SIGNAL(clicked()), SLOT(reject())); // Create the layout for this box. _Very_ simple. Top down box // with a button box at the bottom. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); ml->addWidget(titleLabel, 0); ml->addWidget(list, 1); Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); bl->addWidget(extraLabel, 0); bl->addWidget(extraList, 1); bl->addSpacing(10); bl->addWidget(acceptButton, 0); bl->addWidget(cancelButton, 0); ml->addLayout(bl, 0); extraLabel->hide(); extraList->hide(); }
DomainChecklist::DomainChecklist(QWidget* parent, const char* name, long DomainID) : TAAWidget(parent) { setCaption( "Domain Checklist" ); if (!DomainID) return; myDomainID = DomainID; // Setup the widgets. There are a bunch. QLabel *customerIDLabel = new QLabel("Customer ID:", this, "customerIDLabel"); customerIDLabel->setAlignment(AlignRight|AlignVCenter); customerID = new QLabel(this, "customerID"); customerID->setAlignment(AlignLeft|AlignVCenter); QLabel *loginIDLabel = new QLabel("Login ID:", this, "loginIDLabel"); loginIDLabel->setAlignment(AlignRight|AlignVCenter); loginID = new QLabel(this, "loginID"); loginID->setAlignment(AlignLeft|AlignVCenter); QLabel *customerNameLabel = new QLabel("Customer Name:", this, "customerNameLabel"); customerNameLabel->setAlignment(AlignRight|AlignVCenter); customerName = new QLabel(this, "customerName"); customerName->setAlignment(AlignLeft|AlignVCenter); QLabel *domainNameLabel = new QLabel("Domain Name:", this, "domainNameLabel"); domainNameLabel->setAlignment(AlignRight|AlignVCenter); domainName = new QLabel(this, "domainName"); domainName->setAlignment(AlignLeft|AlignVCenter); hostmasterSubmit = new QCheckBox("Request submitted to Hostmaster", this, "hostmasterSubmit"); hostmastDate = new QLabel(this, "hostmastDate"); hostmastDate->setAlignment(AlignRight|AlignVCenter); internicSubmit = new QCheckBox("Request submitted to InterNIC", this, "internicSubmit"); nicReqDate = new QLabel(this, "nicReqDate"); nicReqDate->setAlignment(AlignRight|AlignVCenter); dnsDone = new QCheckBox("DNS records created/updated", this, "dnsDone"); dnsDate = new QLabel(this, "dnsDate"); dnsDate->setAlignment(AlignRight|AlignVCenter); mailDone = new QCheckBox("Mail system updated", this, "mailDone"); mailDate = new QLabel(this, "mailDate"); mailDate->setAlignment(AlignRight|AlignVCenter); vserverDone = new QCheckBox("Virtual server setup completed", this, "vserverDone"); vserverDate = new QLabel(this, "vserverDate"); vserverDate->setAlignment(AlignRight|AlignVCenter); QLabel *serverListLabel = new QLabel("Server:", this, "serverListLabel"); serverListLabel->setAlignment(AlignRight|AlignVCenter); serverList = new QComboBox(true, this, "serverList"); QLabel *processListLabel = new QLabel("Process:", this, "processListLabel"); processListLabel->setAlignment(AlignRight|AlignVCenter); processList = new QComboBox(true, this, "processList"); QLabel *ipAddressLabel = new QLabel("IP Address:", this, "ipAddressLabel"); ipAddressLabel->setAlignment(AlignRight|AlignVCenter); ipAddress = new QLineEdit(this, "ipAddress"); ipAddress->setMaxLength(16); internicDone = new QCheckBox("InterNIC request completed", this, "internicDone"); nicDoneDate = new QLabel(this, "nicDoneDate"); nicDoneDate->setAlignment(AlignRight|AlignVCenter); QLabel *nicAdminIDLabel = new QLabel("NIC Admin ID:", this, "nicAdminIDLabel"); nicAdminIDLabel->setAlignment(AlignRight|AlignVCenter); nicAdminID = new QLineEdit(this, "nicAdminID"); nicAdminID->setMaxLength(16); QLabel *nicBillIDLabel = new QLabel("NIC Billing ID:", this, "nicBillIDLabel"); nicBillIDLabel->setAlignment(AlignRight|AlignVCenter); nicBillID = new QLineEdit(this, "nicBillID"); nicBillID->setMaxLength(16); domainDone = new QCheckBox("Domain released", this, "domainDone"); doneDate = new QLabel(this, "domainDate"); doneDate->setAlignment(AlignRight|AlignVCenter); // Finally, our buttons. QPushButton *updateButton = new QPushButton("&Update", this, "updateButton"); connect(updateButton, SIGNAL(clicked()), this, SLOT(updateClicked())); QPushButton *saveButton = new QPushButton("&Save", this, "saveButton"); connect(saveButton, SIGNAL(clicked()), this, SLOT(saveClicked())); QPushButton *cancelButton = new QPushButton("&Cancel", this, "cancelButton"); connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelClicked())); // And now for the layout. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 5); // Our info grid. Q3GridLayout *igrid = new Q3GridLayout(3, 4, 3); int curRow = 0; igrid->addWidget(customerIDLabel, curRow, 0); igrid->addWidget(customerID, curRow, 1); igrid->addWidget(loginIDLabel, curRow, 2); igrid->addWidget(loginID, curRow, 3); igrid->setRowStretch(curRow, 0); curRow++; igrid->addWidget(customerNameLabel, curRow, 0); igrid->addMultiCellWidget(customerName, curRow, curRow, 1, 3); igrid->setRowStretch(curRow, 0); curRow++; igrid->addWidget(domainNameLabel, curRow, 0); igrid->addMultiCellWidget(domainName, curRow, curRow, 1, 3); igrid->setRowStretch(curRow, 0); igrid->setColStretch(0, 0); igrid->setColStretch(1, 1); igrid->setColStretch(2, 0); igrid->setColStretch(3, 0); ml->addLayout(igrid, 0); ml->addWidget(new HorizLine(this), 0); Q3GridLayout *gl = new Q3GridLayout(12, 3, 3); curRow = 0; gl->addMultiCellWidget(hostmasterSubmit, curRow, curRow, 0, 1); gl->addWidget(hostmastDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(internicSubmit, curRow, curRow, 0, 1); gl->addWidget(nicReqDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(dnsDone, curRow, curRow, 0, 1); gl->addWidget(dnsDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(mailDone, curRow, curRow, 0, 1); gl->addWidget(mailDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(vserverDone, curRow, curRow, 0, 1); gl->addWidget(vserverDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(serverListLabel, curRow, 0); gl->addMultiCellWidget(serverList, curRow, curRow, 1, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(processListLabel, curRow, 0); gl->addMultiCellWidget(processList, curRow, curRow, 1, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(ipAddressLabel, curRow, 0); gl->addMultiCellWidget(ipAddress, curRow, curRow, 1, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(internicDone, curRow, curRow, 0, 1); gl->addWidget(nicDoneDate, curRow, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(nicAdminIDLabel, curRow, 0); gl->addMultiCellWidget(nicAdminID, curRow, curRow, 1, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(nicBillIDLabel, curRow, 0); gl->addMultiCellWidget(nicBillID, curRow, curRow, 1, 2); gl->setRowStretch(curRow, 0); curRow++; gl->addMultiCellWidget(domainDone, curRow, curRow, 0, 1); gl->addWidget(doneDate, curRow, 2); gl->setRowStretch(curRow, 0); gl->setColStretch(0, 0); gl->setColStretch(1, 1); gl->setColStretch(2, 0); ml->addLayout(gl, 0); ml->addStretch(1); ml->addWidget(new HorizLine(this), 0); Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); bl->addStretch(1); bl->addWidget(updateButton, 0); bl->addWidget(saveButton, 0); bl->addWidget(cancelButton, 0); ml->addLayout(bl, 0); refreshCheckList(); }
ChangeBillingCycle::ChangeBillingCycle(QWidget* parent, const char* name, long CustID) : TAAWidget(parent) { setCaption( "Edit Customer Billing Cycle" ); if (!CustID) return; myCustID = CustID; // Create the widgets QLabel *customerLabel = new QLabel("Customer:", this, "customerLabel"); customerLabel->setAlignment(AlignRight|AlignVCenter); customer = new QLabel(this, "customer"); customer->setAlignment(AlignLeft|AlignVCenter); QLabel *cycleListLabel = new QLabel("New Billing Cycle:", this, "cycleListLabel"); cycleListLabel->setAlignment(AlignRight|AlignVCenter); cycleList = new QComboBox(false, this, "cycleList"); QLabel *effectiveDateLabel = new QLabel("Effective Date:", this, "effectiveDateLabel"); effectiveDateLabel->setAlignment(AlignRight|AlignVCenter); effectiveDate = new Q3DateEdit(QDate::currentDate(), this, "effectiveDate"); QPushButton *saveButton = new QPushButton("&Save", this, "saveButton"); connect(saveButton, SIGNAL(clicked()), this, SLOT(saveBillingCycleChange())); QPushButton *cancelButton = new QPushButton("&Save", this, "cancelButton"); connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelBillingCycleChange())); // Our layout. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3); Q3GridLayout *gl = new Q3GridLayout(2, 3); int curRow = 0; gl->addWidget(customerLabel, curRow, 0); gl->addWidget(customer, curRow, 1); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(cycleListLabel, curRow, 0); gl->addWidget(cycleList, curRow, 1); gl->setRowStretch(curRow, 0); curRow++; gl->addWidget(effectiveDateLabel, curRow, 0); gl->addWidget(effectiveDate, curRow, 1); gl->setRowStretch(curRow, 0); gl->setColStretch(0, 0); gl->setColStretch(1, 1); ml->addLayout(gl, 0); ml->addStretch(1); Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); bl->addStretch(1); bl->addWidget(saveButton, 0); bl->addWidget(cancelButton, 0); ml->addLayout(bl, 0); // Load the list of rate plans. ADB DB; CustomersDB CDB; char tmpStr[1024]; CDB.get(CustID); sprintf(tmpStr, "%s (%ld)", (const char *) CDB.getStr("FullName"), myCustID); customer->setText(tmpStr); DB.query("select CycleID,InternalID from BillingCycles order by CycleID"); while (DB.getrow()) { cycleList->insertItem(DB.curRow["CycleID"]); if (atol(DB.curRow["InternalID"]) == CDB.getLong("BillingCycle")) { cycleList->setCurrentItem(cycleList->count()-1); } } }
LogVoiceMail::LogVoiceMail ( QWidget* parent, const char* name ) : TAAWidget(parent) { setCaption( "Voice Mail Logging" ); // Create the widgets QLabel *dateLabel = new QLabel(this); dateLabel->setAlignment(Qt::AlignRight|Qt::AlignVCenter); dateLabel->setText("D&ate/Time:"); msgDateTime = new Q3DateTimeEdit(QDateTime::currentDateTime(), this, "MsgDateTime"); dateLabel->setBuddy(msgDateTime); QLabel *messageLabel = new QLabel(this); messageLabel->setAlignment(Qt::AlignRight|Qt::AlignTop); messageLabel->setText("M&essage:"); message = new Q3MultiLineEdit(this); message->setWordWrap(Q3MultiLineEdit::WidgetWidth); messageLabel->setBuddy(message); saveButton = new QPushButton(this); saveButton->setText("&Save"); connect(saveButton, SIGNAL(clicked()), this, SLOT(saveMessage())); closeButton = new QPushButton(this); closeButton->setText("&Close"); connect(closeButton, SIGNAL(clicked()), this, SLOT(closeClicked())); statusLabel = new QLabel(this); statusLabel->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); statusLabel->setFrameStyle(Q3Frame::Panel|Q3Frame::Sunken); statusLabel->setMinimumSize(0, 20); // Now, create our layouts // Date/time area. Q3GridLayout *dtl = new Q3GridLayout(2, 4, 3); dtl->setColStretch(0, 0); dtl->setColStretch(1, 1); dtl->setColStretch(2, 0); dtl->setColStretch(3, 1); dtl->setRowStretch(0, 0); dtl->setRowStretch(1, 1); dtl->addWidget(dateLabel, 0, 0); dtl->addMultiCellWidget(msgDateTime, 0, 0, 1, 3); dtl->addWidget(messageLabel, 1, 0); dtl->addMultiCellWidget(message, 1, 1, 1, 3); // The action button layout. Q3BoxLayout *abl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 5); abl->addStretch(1); abl->addWidget(saveButton, 0); abl->addWidget(closeButton, 0); abl->addSpacing(5); // The main layout. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 0, 0); ml->addSpacing(3); ml->addLayout(dtl, 1); ml->addSpacing(3); ml->addLayout(abl, 0); ml->addSpacing(3); ml->addWidget(statusLabel, 0); // Done. msgDateTime->setFocus(); resize(350, 180); }
MakeDeposits::MakeDeposits ( QWidget* parent, const char* name ) : TAAWidget(parent) { setCaption( "Make Deposits" ); // Create our widgets. paymentList = new Q3ListView(this, "paymentList"); int curCol = 1; paymentList->addColumn("Date"); curCol++; paymentList->addColumn("Cust ID"); curCol++; paymentList->addColumn("Customer Name"); curCol++; paymentList->addColumn("Check No"); curCol++; paymentList->addColumn("Amount"); curCol++; paymentList->addColumn("IntID"); paymentList->setColumnAlignment(curCol++, AlignRight); paymentList->setAllColumnsShowFocus(true); paymentList->setMultiSelection(true); connect(paymentList, SIGNAL(selectionChanged()), this, SLOT(itemSelected())); connect(paymentList, SIGNAL(doubleClicked(Q3ListViewItem *)), this, SLOT(itemDoubleClicked(Q3ListViewItem *))); QLabel *selectedItemCountLabel = new QLabel(this, "selectedItemCountLabel"); selectedItemCountLabel->setText("Items Selected:"); selectedItemCountLabel->setAlignment(Qt::AlignRight|Qt::AlignVCenter); selectedItemCount = new QLabel(this, "selectedItemCount"); selectedItemCount->setText("0"); selectedItemCount->setAlignment(Qt::AlignRight|Qt::AlignVCenter); QLabel *undepositedAmountLabel = new QLabel(this, "undepositedAmountLabel"); undepositedAmountLabel->setText("Undeposted amount:"); undepositedAmountLabel->setAlignment(AlignRight | AlignVCenter); undepositedAmount = new QLabel(this, "undepositedAmount"); undepositedAmount->setText("$0.00"); undepositedAmount->setAlignment(AlignRight | AlignVCenter); QLabel *amountSelectedLabel = new QLabel(this, "amountSelectedLabel"); amountSelectedLabel->setText("Amount selected:"); amountSelectedLabel->setAlignment(AlignRight | AlignVCenter); amountSelected = new QLabel(this, "amountSelected"); amountSelected->setText("$0.00"); amountSelected->setAlignment(AlignRight | AlignVCenter); QLabel *targetAccountLabel = new QLabel(this, "targetAccountLabel"); targetAccountLabel->setText("Target Account:"); targetAccountLabel->setAlignment(AlignRight | AlignVCenter); targetAccountList = new QComboBox(false, this, "targetAccountList"); QLabel *transDateLabel = new QLabel(this, "transDateLabel"); transDateLabel->setText("Desposit Date:"); transDateLabel->setAlignment(AlignRight | AlignVCenter); transDate = new Q3DateEdit(QDate::currentDate(), this, "transDate"); // Our buttons now. QPushButton *printButton = new QPushButton(this, "printButton"); printButton->setText("&Print"); connect(printButton, SIGNAL(clicked()), this, SLOT(printSelected())); QPushButton *selectAllButton = new QPushButton(this, "selectAllButton"); selectAllButton->setText("Select &All"); connect(selectAllButton, SIGNAL(clicked()), this, SLOT(selectAll())); QPushButton *selectNoneButton = new QPushButton(this, "selectNoneButton"); selectNoneButton->setText("Select &None"); connect(selectNoneButton, SIGNAL(clicked()), this, SLOT(selectNone())); QPushButton *continueButton = new QPushButton(this, "continueButton"); continueButton->setText("C&ontinue"); connect(continueButton, SIGNAL(clicked()), this, SLOT(processSelections())); QPushButton *cancelButton = new QPushButton(this, "cancelButton"); cancelButton->setText("&Cancel"); connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelSelected())); // Create our layout. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); ml->addWidget(paymentList, 1); // A grid for our labels and account selection. Q3GridLayout *asl = new Q3GridLayout(3, 2); asl->setColStretch(0, 0); asl->setColStretch(1, 1); int curRow = 0; asl->addWidget(selectedItemCountLabel, curRow, 0); asl->addWidget(selectedItemCount, curRow, 1); asl->setRowStretch(curRow++, 0); asl->addWidget(undepositedAmountLabel, curRow, 0); asl->addWidget(undepositedAmount, curRow, 1); asl->setRowStretch(curRow++, 0); asl->addWidget(amountSelectedLabel, curRow, 0); asl->addWidget(amountSelected, curRow, 1); asl->setRowStretch(curRow++, 0); asl->addWidget(targetAccountLabel, curRow, 0); asl->addWidget(targetAccountList, curRow, 1); asl->setRowStretch(curRow++, 0); asl->addWidget(transDateLabel, curRow, 0); asl->addWidget(transDate, curRow, 1); asl->setRowStretch(curRow++, 0); // Now our button layout Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); bl->addStretch(1); bl->addWidget(printButton, 0); bl->addWidget(selectAllButton, 0); bl->addWidget(selectNoneButton, 0); bl->addWidget(continueButton, 0); bl->addWidget(cancelButton, 0); // Add the buttons to our other widget layout //owl->addLayout(bl, 0); // Add the other widget layout to our main layout. ml->addLayout(asl, 0); ml->addWidget(new HorizLine(this), 0); ml->addLayout(bl, 0); // Done with the layout. // Fill our account list. ADB DB; int tmpPos = 0; DB.query("select IntAccountNo, AccountNo, AcctName from Accounts order by AccountNo"); accountIDX = new long[DB.rowCount+2]; accountIDX[0] = 0; QString tmpStr; if (DB.rowCount) while (DB.getrow()) { accountIDX[tmpPos++] = atol(DB.curRow["IntAccountNo"]); tmpStr = DB.curRow["AccountNo"]; tmpStr += " "; tmpStr += DB.curRow["AcctName"]; targetAccountList->insertItem(tmpStr); } selTotal = 0.00; fillDepositList(); }
FreqView::FreqView(int viewID_, QWidget *parent) : ViewWidget(viewID_, parent) { View *view = gdata->view; //setCaption("Frequency View"); Q3BoxLayout *mainLayout = new Q3VBoxLayout(this); mainLayout->setResizeMode(QLayout::SetNoConstraint); //QBoxLayout *topLayout = new QVBoxLayout(mainLayout); //QBoxLayout *rightLayout = new QVBoxLayout(mainLayout); //QBoxLayout *bottomLayout = new QHBoxLayout(mainLayout); QSplitter *splitter = new QSplitter(Qt::Vertical, this); QWidget *topWidget = new QWidget(splitter); //topSplitter->setOpaqueResize(true); Q3BoxLayout *topLayout = new Q3HBoxLayout(topWidget); Q3BoxLayout *topLeftLayout = new Q3VBoxLayout(topLayout); timeAxis = new TimeAxis(topWidget, gdata->leftTime(), gdata->rightTime(), true); timeAxis->setWhatsThis("The time in seconds"); topLeftLayout->addWidget(timeAxis); /* Q3Grid *freqFrame = new Q3Grid(1, topWidget); freqFrame->setFrameStyle(Q3Frame::WinPanel | Q3Frame::Sunken); //freqDrawWidget = new FreqDrawWidget(freqFrame); //freqDrawWidget->setFocusPolicy(Qt::NoFocus); freqWidgetGL = new FreqWidgetGL(freqFrame); freqWidgetGL->setFocusPolicy(Qt::NoFocus); topLeftLayout->addWidget(freqFrame); */ QFrame *freqFrame = new QFrame; freqFrame->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); QVBoxLayout *freqFrameLayout = new QVBoxLayout; freqWidgetGL = new FreqWidgetGL(NULL); freqWidgetGL->setWhatsThis("The line represents the musical pitch of the sound. A higher pitch moves up, with note names shown at the left, with octave numbers. " "The black vertical line shows the current time. This line's position can be moved. " "Pitch-lines are drawn connected only because they change a small amount over a small time step. " "Note: This may cause semi-tone note changes appear to be joined. Clicking the background and dragging moves the view. " "Clicking a pitch-line selects it. Mouse-Wheel scrolls. Shift-Mouse-Wheel zooms"); //freqWidgetGL = new FreqDrawWidget(NULL); freqFrameLayout->addWidget(freqWidgetGL); freqFrameLayout->setMargin(0); freqFrameLayout->setSpacing(0); freqFrame->setLayout(freqFrameLayout); topLeftLayout->addWidget(freqFrame); //Q3BoxLayout *topRightLayout = new Q3VBoxLayout(topLayout); QVBoxLayout *topRightLayout = new QVBoxLayout(); freqWheelY = new QwtWheel(topWidget); freqWheelY->setOrientation(Qt::Vertical); freqWheelY->setWheelWidth(14); freqWheelY->setRange(1.6, 5.0, 0.001, 1); //freqWheelY->setValue(3.2); //view->setZoomFactorY(3.2); freqWheelY->setValue(view->logZoomY()); QToolTip::add(freqWheelY, "Zoom pitch contour view vertically"); topRightLayout->addSpacing(20); topRightLayout->addWidget(freqWheelY, 0); //Create the vertical scrollbar //vScrollBar = new MyScrollBar(0, toInt((view->topNote()-view->viewHeight())*view->stepY()), 20, toInt(view->viewHeight()*view->stepY()), toInt(view->viewBottom()*view->stepY()), Qt::Vertical, this); //vScrollBar = new MyScrollBar(0, gdata->topNote()-view->viewHeight(), 20, view->viewHeight(), view->viewBottom(), 20, Qt::Vertical, this); freqScrollBar = new MyScrollBar(0, gdata->topPitch()-view->viewHeight(), 0.5, view->viewHeight(), 0, 20, Qt::Vertical, topWidget); freqScrollBar->setValue(gdata->topPitch()-view->viewHeight()-view->viewBottom()); topRightLayout->addWidget(freqScrollBar, 4); topLayout->addLayout(topRightLayout); /* QPushButton *buttonPlusY = new QPushButton("+", topSplitter); buttonPlusY->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); buttonPlusY->setFixedSize(15, 15); QToolTip::add(buttonPlusY, "Zoom in vertically"); QPushButton *buttonMinusY = new QPushButton("-", topSplitter); buttonMinusY->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); buttonMinusY->setFixedSize(15, 15); QToolTip::add(buttonMinusY, "Zoom out vertically"); */ //------------bottom half------------------ QWidget *bottomWidget = new QWidget(splitter); Q3BoxLayout *bottomLayout = new Q3VBoxLayout(bottomWidget); Q3BoxLayout *bottomTopLayout = new Q3HBoxLayout(bottomLayout); /* Q3Grid *amplitudeFrame = new Q3Grid(1, bottomWidget); amplitudeFrame->setFrameStyle(Q3Frame::WinPanel | Q3Frame::Sunken); amplitudeWidget = new AmplitudeWidget(amplitudeFrame); bottomTopLayout->addWidget(amplitudeFrame); */ QFrame *amplitudeFrame = new QFrame; amplitudeFrame->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); QVBoxLayout *amplitudeFrameLayout = new QVBoxLayout; amplitudeWidget = new AmplitudeWidget(NULL); amplitudeWidget->setWhatsThis("Shows the volume (or other parameters) at time lined up with the pitch above. Note: You can move the lines to change some thresholds."); amplitudeFrameLayout->addWidget(amplitudeWidget); amplitudeFrameLayout->setMargin(0); amplitudeFrameLayout->setSpacing(0); amplitudeFrame->setLayout(amplitudeFrameLayout); bottomTopLayout->addWidget(amplitudeFrame); Q3BoxLayout *bottomTopRightLayout = new Q3VBoxLayout(bottomTopLayout); amplitudeWheelY = new QwtWheel(bottomWidget); amplitudeWheelY->setOrientation(Qt::Vertical); amplitudeWheelY->setWheelWidth(14); //amplitudeWheelY->setRange(30, 150, 0.1, 1); amplitudeWheelY->setRange(0.2, 1.00, 0.01, 1); amplitudeWheelY->setValue(amplitudeWidget->range()); QToolTip::add(amplitudeWheelY, "Zoom pitch contour view vertically"); bottomTopRightLayout->addWidget(amplitudeWheelY, 0); //Create the vertical scrollbar //amplitudeScrollBar = new MyScrollBar(0, 150, 20, 80, 0, 20, Qt::Vertical, bottomWidget); amplitudeScrollBar = new MyScrollBar(0.0, 1.0-amplitudeWidget->range(), 0.20, amplitudeWidget->range(), 0, 20, Qt::Vertical, bottomWidget); bottomTopRightLayout->addWidget(amplitudeScrollBar, 4); Q3BoxLayout *bottomBottomLayout = new Q3HBoxLayout(bottomLayout); /* QSpinBox *thresholdSpinBox = new QSpinBox(50, 100, 1, bottomWidget, "thresholdSpinBox"); thresholdSpinBox->setSuffix("%"); thresholdSpinBox->setFocusPolicy(Qt::NoFocus); thresholdSpinBox->setValue(gdata->getActiveIntThreshold()); QToolTip::add(thresholdSpinBox, "Threshold used in choosing the octave"); connect(thresholdSpinBox, SIGNAL(valueChanged(int)), gdata, SLOT(resetActiveIntThreshold(int))); //connect(thresholdSpinBox, SIGNAL(valueChanged(int)), freqDrawWidget, SLOT(update())); connect(thresholdSpinBox, SIGNAL(valueChanged(int)), freqWidgetGL, SLOT(update())); connect(gdata, SIGNAL(activeIntThresholdChanged(int)), thresholdSpinBox, SLOT(setValue(int))); */ QComboBox *amplitudeModeComboBox = new QComboBox(bottomWidget, "amplitudeTypeModeBox"); //static const char* amplitudeModeItems[] = { "RMS (Log)", "Peak Amplitude (Log)", "Peak Correlation", "Purity", "Changeness", 0 }; //amplitudeModeComboBox->insertStrList(amplitudeModeItems); //amplitudeModeComboBox->insertStrList(amp_mode_names, NUM_AMP_MODES); amplitudeModeComboBox->setWhatsThis("Select different algorithm parameters to view in the bottom pannel"); int j; QStringList s; for(j=0; j<NUM_AMP_MODES; j++) s << amp_mode_names[j]; amplitudeModeComboBox->addItems(s); connect(amplitudeModeComboBox, SIGNAL(activated(int)), gdata, SLOT(setAmplitudeMode(int))); connect(amplitudeModeComboBox, SIGNAL(activated(int)), amplitudeWidget, SLOT(update())); QComboBox *pitchContourModeComboBox = new QComboBox(bottomWidget, "pitchContourModeComboBox"); pitchContourModeComboBox->setWhatsThis("Select whether the Pitch Contour line fades in/out with clarity/loudness of the sound or is a solid dark line"); //static const char* pitchContourModeItems[] = { "Clarity fading", "Note grouping", 0 }; //pitchContourModeComboBox->insertStrList(pitchContourModeItems); s.clear(); s << "Clarity fading" << "Note grouping"; pitchContourModeComboBox->addItems(s); connect(pitchContourModeComboBox, SIGNAL(activated(int)), gdata, SLOT(setPitchContourMode(int))); //connect(pitchContourModeComboBox, SIGNAL(activated(int)), freqDrawWidget, SLOT(update())); connect(pitchContourModeComboBox, SIGNAL(activated(int)), freqWidgetGL, SLOT(update())); freqWheelX = new QwtWheel(bottomWidget); freqWheelX->setOrientation(Qt::Horizontal); freqWheelX->setWheelWidth(16); freqWheelX->setRange(0.5, 9.0, 0.001, 1); freqWheelX->setValue(2.0); QToolTip::add(freqWheelX, "Zoom horizontally"); bottomBottomLayout->addStretch(2); //bottomBottomLayout->addWidget(thresholdSpinBox, 0); //bottomBottomLayout->addStretch(2); bottomBottomLayout->addWidget(amplitudeModeComboBox, 0); bottomBottomLayout->addStretch(2); bottomBottomLayout->addWidget(pitchContourModeComboBox, 0); bottomBottomLayout->addStretch(2); bottomBottomLayout->addWidget(freqWheelX, 1); bottomBottomLayout->addSpacing(16); //Create the horizontal scrollbar and +/- buttons //hScrollBar = new MyScrollBar(gdata->leftTime(), gdata->rightTime(), 0.1, view->viewWidth(), view->currentTime(), 10000, Qt::Horizontal, this); /* QPushButton *buttonPlusX = new QPushButton("+", this); buttonPlusX->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); buttonPlusX->setFixedSize(15, 15); QToolTip::add(buttonPlusX, "Zoom in horizontal"); QPushButton *buttonMinusX = new QPushButton("-", this); buttonMinusX->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); buttonMinusX->setFixedSize(15, 15); QToolTip::add(buttonMinusX, "Zoom out horizontal"); */ //Create the resize grip. The thing in the bottom right hand corner QSizeGrip *sizeGrip = new QSizeGrip(bottomWidget); sizeGrip->setFixedSize(15, 15); //sizeGrip->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum, false)); sizeGrip->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred, false)); bottomBottomLayout->addWidget(sizeGrip); //Actually add all the widgets into the widget layout //topLayout->addWidget(timeAxis); mainLayout->addWidget(splitter); //rightLayout->addWidget(buttonMinusY); //rightLayout->addWidget(buttonPlusY); //rightLayout->addWidget(vScrollBar); //bottomLayout->addWidget(buttonMinusX); //bottomLayout->addWidget(buttonPlusX); //mainLayout->addWidget(sizeGrip, 1, 1); //Setup all the signals and slots //vertical connect(freqScrollBar, SIGNAL(sliderMoved(double)), view, SLOT(changeViewY(double))); connect(freqScrollBar, SIGNAL(sliderMoved(double)), view, SLOT(doSlowUpdate())); connect(view, SIGNAL(viewBottomChanged(double)), freqScrollBar, SLOT(setValue(double))); /* connect(view, SIGNAL(scrollableYChanged(double)), freqScrollBar, SLOT(setMaxValue(double))); connect(view, SIGNAL(viewHeightChanged(double)), freqScrollBar, SLOT(setPageStep(double))); */ connect(freqWheelY, SIGNAL(valueChanged(double)), view, SLOT(setZoomFactorY(double))); connect(view, SIGNAL(logZoomYChanged(double)), freqWheelY, SLOT(setValue(double))); //connect(view, SIGNAL(logZoomYChanged(double)), freqDrawWidget, SLOT(update())); //horizontal connect(freqWheelX, SIGNAL(valueChanged(double)), view, SLOT(setZoomFactorX(double))); connect(view, SIGNAL(logZoomXChanged(double)), freqWheelX, SLOT(setValue(double))); //connect(view, SIGNAL(logZoomXChanged(double)), view, SLOT(doSlowUpdate())); //connect(buttonPlusX, SIGNAL(clicked()), view, SLOT(viewZoomInX())); //connect(buttonMinusX, SIGNAL(clicked()), view, SLOT(viewZoomOutX())); connect(amplitudeWheelY, SIGNAL(valueChanged(double)), amplitudeWidget, SLOT(setRange(double))); //connect(amplitudeWidget, SIGNAL(dBRangeChanged(double)), amplitudeScrollBar, SLOT(setPageStep(double))); connect(amplitudeWheelY, SIGNAL(valueChanged(double)), amplitudeWidget, SLOT(update())); connect(amplitudeScrollBar, SIGNAL(sliderMoved(double)), amplitudeWidget, SLOT(setOffset(double))); connect(amplitudeScrollBar, SIGNAL(sliderMoved(double)), amplitudeWidget, SLOT(update())); connect(amplitudeWidget, SIGNAL(rangeChanged(double)), this, SLOT(setAmplitudeZoom(double))); connect(amplitudeWidget, SIGNAL(rangeChanged(double)), amplitudeWheelY, SLOT(setValue(double))); connect(amplitudeWidget, SIGNAL(offsetChanged(double)), amplitudeScrollBar, SLOT(setValue(double))); /* connect(hScrollBar, SIGNAL(valueChanged(double)), view, SLOT(setCurrentTime(double))); connect(hScrollBar, SIGNAL(sliderMoved(double)), gdata, SLOT(updateActiveChunkTime(double))); connect(gdata, SIGNAL(leftTimeChanged(double)), hScrollBar, SLOT(setMinValue(double))); connect(gdata, SIGNAL(rightTimeChanged(double)), hScrollBar, SLOT(setMaxValue(double))); connect(view, SIGNAL(currentTimeChanged(double)), hScrollBar, SLOT(setValue(double))); connect(view, SIGNAL(viewWidthChanged(double)), hScrollBar, SLOT(setPageStep(double))); */ //make the widgets get updated when the view changes //connect(gdata->view, SIGNAL(onSlowUpdate(double)), freqDrawWidget, SLOT(update())); connect(gdata->view, SIGNAL(onSlowUpdate(double)), freqWidgetGL, SLOT(update())); //connect(gdata->view, SIGNAL(onSlowUpdate(double)), amplitudeWidget, SLOT(update())); connect(gdata->view, SIGNAL(onSlowUpdate(double)), amplitudeWidget, SLOT(update())); //connect(gdata->view, SIGNAL(onSlowUpdate(double)), timeAxis, SLOT(update())); connect(gdata->view, SIGNAL(onSlowUpdate(double)), timeAxis, SLOT(update())); connect(gdata->view, SIGNAL(timeViewRangeChanged(double, double)), timeAxis, SLOT(setRange(double, double))); }
CustomerSearch::CustomerSearch(QWidget *parent, const char *name, Qt::WFlags f) : TAAWidget(parent, f) { // A simple (in appearance) widget that will allow the user to // search for, and select, a customer. // // The layout will look like so: // // Query: [ Search Box ] [Search] [Clear] // +---------+----------+-----------------------+ // + Cust ID | Login ID | Account Name | // + | | | // +---------+----------+-----------------------+ // // When the user types something in the search box and presses enter // or clicks the search button, the widget will do a search on the // customer database against the search text and fill in the list. // When the user clicks or scrolls onto an entry, itemHighlighted() // will be emitted with the customer ID. When the user double clicks // or presses enter on an entry itemSelected() will be emitted with // the customer ID. searchText = new QLineEdit(this, "SearchText"); searchText->setMaxLength(80); connect(searchText, SIGNAL(returnPressed()), this, SLOT(startSearch())); QLabel *queryLabel = new QLabel(this, "Query Label"); queryLabel->setText("&Query:"); queryLabel->setAlignment(Qt::AlignRight|Qt::AlignVCenter); queryLabel->setBuddy(searchText); searchButton = new QPushButton(this, "SearchButton"); searchButton->setText("Search"); connect(searchButton, SIGNAL(clicked()), this, SLOT(startSearch())); QPushButton *clearButton = new QPushButton(this, "Clear Button"); clearButton->setText("C&lear"); connect(clearButton, SIGNAL(clicked()), this, SLOT(clearSearch())); custList = new Q3ListView(this, "SearchResults"); custList->setMargin(2); custList->setAllColumnsShowFocus(true); custList->setRootIsDecorated(true); custList->addColumn("Account Name"); custList->addColumn("LoginID"); custList->addColumn("Cust ID"); connect(custList, SIGNAL(currentChanged(Q3ListViewItem *)), this, SLOT(itemHighlighted(Q3ListViewItem *))); connect(custList, SIGNAL(doubleClicked(Q3ListViewItem *)), this, SLOT(itemSelected(Q3ListViewItem *))); connect(custList, SIGNAL(returnPressed(Q3ListViewItem *)), this, SLOT(itemSelected(Q3ListViewItem *))); Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 0, 0); Q3BoxLayout *sl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 0); sl->addSpacing(3); sl->addWidget(queryLabel, 0); sl->addSpacing(3); sl->addWidget(searchText, 1); sl->addSpacing(3); sl->addWidget(searchButton, 0); sl->addWidget(clearButton, 0); ml->addLayout(sl, 0); ml->addSpacing(3); ml->addWidget(custList, 1); }
DomainAliases::DomainAliases(QWidget *parent, const char *name) : TAAWidget(parent) { setCaption("Email Alias List"); // Create the widgets we'll need aliasList = new Q3ListView(this, "Alias List"); aliasList->addColumn("Address"); aliasList->addColumn("Domain"); aliasList->addColumn("Mailbox"); aliasList->addColumn("Time Stamp"); aliasList->addColumn("Added By"); aliasList->setAllColumnsShowFocus(true); virtIDCol = 5; address = new QLineEdit(this, "Address Input"); address->setMaxLength(63); QLabel *atLabel = new QLabel(this, "At label"); atLabel->setText("@"); QLabel *mapsToLabel = new QLabel(this, "Maps To label"); mapsToLabel->setText("maps to"); domainList = new QComboBox(this, false); loginList = new QComboBox(this, false); addButton = new QPushButton(this, "Add Button"); addButton->setText("&Add"); connect(addButton, SIGNAL(clicked()), this, SLOT(addAlias())); refreshButton = new QPushButton(this, "Refresh Button"); refreshButton->setText("&Refresh"); connect(refreshButton, SIGNAL(clicked()), this, SLOT(refreshAlias())); autoButton = new QPushButton(this, "Auto Button"); autoButton->setText("A&uto"); connect(autoButton, SIGNAL(clicked()), this, SLOT(autoAlias())); delButton = new QPushButton(this, "Delete Button"); delButton->setText("&Delete"); connect(delButton, SIGNAL(clicked()), this, SLOT(delAlias())); closeButton = new QPushButton(this, "Close Button"); closeButton->setText("&Close"); connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); HorizLine *hline1 = new HorizLine(this); // Our layout now. Very simple top down box. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); ml->addWidget(aliasList, 1); // Add in our "add" line. Q3BoxLayout *addl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); addl->addWidget(address, 1); addl->addWidget(atLabel, 0); addl->addWidget(domainList, 0); addl->addWidget(mapsToLabel, 0); addl->addWidget(loginList, 0); addl->addWidget(addButton, 0); ml->addLayout(addl, 0); ml->addWidget(hline1, 0); Q3GridLayout *bl = new Q3GridLayout(1, 4); int curCol = 0; bl->addWidget(refreshButton, 0, curCol++); bl->addWidget(autoButton, 0, curCol++); bl->addWidget(delButton, 0, curCol++); bl->addWidget(closeButton, 0, curCol++); for (int i = 0; i < curCol; i++) bl->setColStretch(i, 1); bl->setRowStretch(0, 0); // Now, the "button bar layout" to keep things spaced nicely. Q3BoxLayout *bbl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 0); bbl->addStretch(1); bbl->addLayout(bl, 0); ml->addLayout(bbl); }
CallWizard::CallWizard ( QWidget* parent, const char* name ) : TAAWidget(parent) { setCaption("Call Logger"); titleBar = new QStatusBar(this); titleBar->setSizeGripEnabled(false); titleBar->message("Call Logger"); QLabel *hline1 = new QLabel(this); hline1->setFrameStyle(Q3Frame::HLine|Q3Frame::Sunken); hline1->setMaximumHeight(3); hangupButton = new QPushButton(this, "Hangup Button"); hangupButton->setText("Han&g Up"); connect(hangupButton, SIGNAL(clicked()), this, SLOT(stopTimer())); transferButton = new QPushButton(this, "Transfer Button"); transferButton->setText("&Transfer"); transferButton->hide(); proceedButton = new QPushButton(this, "Proceed Button"); proceedButton->setText("&Proceed"); QLabel *hline2 = new QLabel(this); hline2->setFrameStyle(Q3Frame::HLine|Q3Frame::Sunken); hline2->setMaximumHeight(3); status = new QStatusBar(this); status->message("Status bar here."); mainArea = new Q3WidgetStack(this); typeSel = new CallTypeSelector(mainArea, "CallTypeSelector"); mainArea->addWidget(typeSel, 0); mainArea->raiseWidget(0); // Now, do the layout for the widget. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 0, 3); ml->addWidget(titleBar, 0); ml->addWidget(hline1, 0); ml->addWidget(mainArea, 1); Q3BoxLayout *butlay = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); butlay->addStretch(1); butlay->addWidget(hangupButton, 0); butlay->addWidget(transferButton, 0); butlay->addWidget(proceedButton, 0); butlay->addSpacing(3); ml->addLayout(butlay, 0); ml->addWidget(hline2, 0); ml->addWidget(status, 0); callStart = QDateTime::currentDateTime(); callEnd = QDateTime::currentDateTime(); clockLCD = new QLCDNumber(status, "Clock Timer"); clockLCD->setMode(QLCDNumber::DEC); clockLCD->setSegmentStyle(QLCDNumber::Flat); clockLCD->setNumDigits(7); clockLCD->display("0:00:00"); status->addWidget(clockLCD, 0, true); clockTimer = new QTimer(this); connect(clockTimer, SIGNAL(timeout()), this, SLOT(updateClock())); clockTimer->start(1000); timerRunning = 1; // Make it the same width as an 80 column wide RXVT terminal window. resize(499, 385); }
Tab_Logins::Tab_Logins ( QWidget* parent, const char* name, long CustID ) : TAAWidget(parent) { setCaption( "Logins" ); myCustID = CustID; // Create all of our widgets. list = new Q3ListView(this, "LoginList"); list->addColumn("Login ID"); list->addColumn("Login Type"); list->addColumn("Contact Name"); list->addColumn("Last Modified"); list->addColumn("Disk"); list->addColumn("Flags"); list->addColumn("Active"); list->setAllColumnsShowFocus(TRUE); list->setColumnAlignment(4, AlignRight); list->setColumnAlignment(5, AlignRight); list->setColumnAlignment(6, AlignCenter); list->setItemMargin( 2 ); newButton = new QPushButton(this, "NewButton"); newButton->setText("&New"); connect(newButton, SIGNAL(clicked()), this, SLOT(createNewLogin())); openCloseButton = new QPushButton(this, "OpenCloseButton"); openCloseButton->setText("(&De)Activate"); connect(openCloseButton, SIGNAL(clicked()), this, SLOT(unlockLogin())); passwdButton = new QPushButton(this, "PasswdButton"); passwdButton->setText("&Password"); connect(passwdButton, SIGNAL(clicked()), this, SLOT(changePassword())); QPushButton *loginFlagsButton = new QPushButton(this, "LoginFlagsButton"); loginFlagsButton->setText("Fla&gs"); connect(loginFlagsButton, SIGNAL(clicked()), this, SLOT(loginFlagsClicked())); editButton = new QPushButton(this, "EditButton"); editButton->setText("&Edit"); connect(editButton, SIGNAL(clicked()), this, SLOT(editLogin())); modemUsageButton = new QPushButton(this, "Modem Usage Button"); modemUsageButton->setText("&Modem Usage"); connect(modemUsageButton, SIGNAL(clicked()), this, SLOT(modemUsageReport())); bandwidthButton = new QPushButton(this, "BandwidthButton"); bandwidthButton->setText("&Bandwidth"); connect(bandwidthButton, SIGNAL(clicked()), this, SLOT(bandwidthUsageReport())); QPushButton *diskSpaceButton = new QPushButton(this, "DiskSpaceButton"); diskSpaceButton->setText("D&isk Space"); connect(diskSpaceButton, SIGNAL(clicked()), this, SLOT(diskSpaceClicked())); diskSpaceButton->setEnabled(false); adminMenuArea = new QLabel(this, "Admin Menu Area"); adminMenu = new Q3PopupMenu; adminMenu->insertItem("&Set Primary Login", this, SLOT(setPrimaryLogin())); adminMenu->insertItem("&Transfer Login", this, SLOT(transferLogin())); if (isAdmin()) adminMenu->insertItem("&Wipe Login", this, SLOT(wipeLogin())); QMenuBar *tmpMenu; tmpMenu = new QMenuBar(adminMenuArea, "Administrivia"); tmpMenu->insertItem("&Administrivia", adminMenu); hideWiped = new QCheckBox(this, "HideWiped"); hideWiped->setText("&Hide Wiped"); hideWiped->setChecked(true); connect(hideWiped, SIGNAL(toggled(bool)), this, SLOT(hideWipedChanged(bool))); // Create our layouts. A top to bottom box, with a grid in it. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); ml->addWidget(list, 1); Q3GridLayout *bl = new Q3GridLayout(2, 6); bl->addWidget(newButton, 0, 0); bl->addWidget(openCloseButton, 0, 1); bl->addWidget(passwdButton, 0, 2); bl->addWidget(loginFlagsButton, 0, 3); bl->addWidget(adminMenuArea, 0, 5); bl->addWidget(editButton, 1, 0); bl->addWidget(modemUsageButton, 1, 1); bl->addWidget(bandwidthButton, 1, 2); bl->addWidget(diskSpaceButton, 1, 3); bl->addWidget(hideWiped, 1, 5); for (int i = 0 ; i < 5; i++) bl->setColStretch(i, 1); bl->setRowStretch(0, 0); bl->setRowStretch(1, 0); ml->addLayout(bl, 0); // QObject::connect(listtitle, SIGNAL(widthChanged(int, int)), // list, SLOT(setColumnWidth(int, int))); refreshLoginList(0); if (!isManager()) { // wipeButton->hide(); adminMenuArea->hide(); } }
LogCall::LogCall ( QWidget* parent, const char* name ) : TAAWidget(parent) { setCaption("Call Logger"); // Create all of our widgets. loginID = new QLineEdit(this, "loginID"); loginID->setMaxLength(16); connect(loginID, SIGNAL(textChanged(const QString &)), this, SLOT(loginIDChanged(const QString &))); loginIDLabel = new QLabel(loginID, "&Login ID", this); loginIDLabel->setAlignment(AlignRight|AlignVCenter); searchButton = new QPushButton(this, "searchButton"); searchButton->setText("&Search"); connect(searchButton, SIGNAL(clicked()), this, SLOT(findLogin())); // Searching doesn't really work very well, so lets hide the button for // now. searchButton->hide(); callType = new QComboBox(false, this, "callType"); callType->insertItem("Support"); callType->insertItem("Sales"); callType->insertItem("New User"); callType->insertItem("Accounting"); connect(callType, SIGNAL(highlighted(int)), this, SLOT(callTypeChanged(int))); typeLabel = new QLabel(callType, "&Type", this); typeLabel->setAlignment(AlignRight|AlignVCenter); reasonList = new Q3ListView(this, "reasonList"); reasonList->addColumn("Call Subject"); reasonList->setMaximumHeight(125); reasonLabel = new QLabel(reasonList, "&Reason", this); reasonLabel->setAlignment(AlignRight|AlignTop); solutionNotes = new Q3MultiLineEdit(this, "solutionNotes"); solutionNotes->setWordWrap(Q3MultiLineEdit::WidgetWidth); solutionLabel = new QLabel(solutionNotes, "S&olution", this); solutionLabel->setAlignment(AlignRight|AlignTop); // Now, our buttons. custWinButton = new QPushButton(this, "custWinButton"); custWinButton->setText("&Customer Window"); connect(custWinButton, SIGNAL(clicked()), this, SLOT(loadCustomer())); clockButton = new QPushButton(this, "clockButton"); clockButton->setText("Sto&p Timer"); connect(clockButton, SIGNAL(clicked()), this, SLOT(toggleTimer())); doneButton = new QPushButton(this, "doneButton"); doneButton->setText("&Done"); connect(doneButton, SIGNAL(clicked()), this, SLOT(hangupCall())); statusLabel = new QLabel(this, "statusLabel"); statusLabel->setFrameStyle(Q3Frame::Sunken|Q3Frame::WinPanel); clockArea = new QLCDNumber(this, "clockArea"); clockArea->setMode(QLCDNumber::DEC); clockArea->setSegmentStyle(QLCDNumber::Flat); clockArea->setNumDigits(7); // Main Layout, top to bottom, with a grid and stuff thrown in. Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); Q3GridLayout *gl = new Q3GridLayout(3, 5); gl->setRowStretch(0, 0); gl->setRowStretch(1, 0); gl->setRowStretch(2, 1); gl->setColStretch(0, 0); gl->setColStretch(1, 1); gl->setColStretch(2, 0); gl->setColStretch(3, 0); gl->setColStretch(4, 0); gl->addWidget(loginIDLabel, 0, 0); gl->addWidget(loginID, 0, 1); gl->addWidget(searchButton, 0, 2); gl->addWidget(typeLabel, 0, 3); gl->addWidget(callType, 0, 4); gl->addWidget(reasonLabel, 1, 0); gl->addMultiCellWidget(reasonList, 1, 1, 1, 4); gl->addWidget(solutionLabel, 2, 0); gl->addMultiCellWidget(solutionNotes, 2, 2, 1, 4); ml->addLayout(gl, 1); Q3BoxLayout *abl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 0); abl->addWidget(custWinButton, 1); abl->addWidget(clockButton, 1); abl->addWidget(doneButton, 1); // These options don't really work very well, so lets disable them for // now. ml->addLayout(abl, 0); Q3BoxLayout *sbl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); sbl->addWidget(statusLabel, 1); sbl->addWidget(clockArea, 0); ml->addLayout(sbl, 0); // Set the starting login ID to empty, and the starting customer ID to 0 strcpy(myLoginID, ""); myCustID = 0; // Start the clock ticking... callStart.setDate(QDate::currentDate()); callStart.setTime(QTime::currentTime()); // Set the status label to the default. statusLabel->setText("No customer selected."); callTypeChanged(0); // And setup the timer to update our clock once every second. updateClock(); callTimer = new QTimer(this); connect(callTimer, SIGNAL(timeout()), this, SLOT(updateClock())); callTimer->start(1000); // Once every second timerRunning = 1; clockArea->display("00:00:00"); // Make some hotkeys... loginIDLabel->setBuddy(loginID); typeLabel->setBuddy(callType); reasonLabel->setBuddy(reasonList); solutionLabel->setBuddy(solutionNotes); // Add wordwrap. myLinkedCall = 0; loginID->setFocus(); }
/** * CustomLoginFlagEditor::CustomLoginFlagEditor() * * Constructor for the Custom Login Flag Editor. */ CustomLoginFlagEditor::CustomLoginFlagEditor ( QWidget* parent, const char* name, long CustID, const char *loginID ) : TAAWidget(parent) { setCaption( "Login Flags" ); myCustID = CustID; strcpy(myLoginID, loginID); // Create labels to let the user know who we're editing QLabel *custIDLabel = new QLabel(this, "custIDLabel"); char tmpStr[1024]; sprintf(tmpStr, "%ld", myCustID); custIDLabel->setAlignment(AlignRight); custIDLabel->setText("Customer ID:"); QLabel *custIDValue = new QLabel(this, "custIDValue"); custIDValue->setAlignment(AlignLeft); custIDValue->setText(tmpStr); QLabel *loginIDLabel = new QLabel(this, "loginIDLabel"); loginIDLabel->setAlignment(AlignRight); loginIDLabel->setText("Login ID:"); QLabel *loginIDValue = new QLabel(this, "loginIDValue"); loginIDValue->setAlignment(AlignLeft); loginIDValue->setText(myLoginID); QStringList colHeaders; colHeaders += "Flag"; colHeaders += "Value"; // Create all of our widgets. flagTable = new Q3Table(0, 2, this, "flagTable"); flagTable->setColumnLabels(colHeaders); QPushButton *saveButton = new QPushButton(this, "saveButton"); saveButton->setText("&Save"); QPushButton *cancelButton = new QPushButton(this, "cancelButton"); cancelButton->setText("&Cancel"); // Label layout Q3GridLayout *gl = new Q3GridLayout(2, 2); int curRow = 0; gl->addWidget(custIDLabel, curRow, 0); gl->addWidget(custIDValue, curRow, 1); curRow++; gl->addWidget(loginIDLabel, curRow, 0); gl->addWidget(loginIDValue, curRow, 1); curRow++; gl->setColStretch(0, 0); gl->setColStretch(1, 1); // Create the layout Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); ml->addLayout(gl, 0); ml->addWidget(flagTable, 1); Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 1); bl->addStretch(1); bl->addWidget(saveButton, 0); bl->addWidget(cancelButton, 0); ml->addLayout(bl, 0); fillTable(); // Connect our buttons connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelClicked())); connect(saveButton, SIGNAL(clicked()), this, SLOT(saveClicked())); }
CustRegister::CustRegister ( QWidget* parent, const char* name, long CustID ) : TAAWidget(parent) { setCaption( "Register" ); myCustID = CustID; // Create our labels QLabel *custNameLabel = new QLabel(this); custNameLabel->setText("Customer Name:"); custNameLabel->setAlignment(AlignRight); customerName = new QLabel(this); customerName->setAlignment(AlignLeft); QLabel *customerIDLabel = new QLabel(this); customerIDLabel->setText("Customer ID:"); customerIDLabel->setAlignment(AlignRight); custIDLabel = new QLabel(this); custIDLabel->setAlignment(AlignLeft); QLabel *customerBalanceLabel = new QLabel(this); customerBalanceLabel->setText("Current Balance:"); customerBalanceLabel->setAlignment(AlignRight); currentBalanceArea = new QLabel(this); currentBalanceArea->setAlignment(AlignLeft); QLabel *customerStatusLabel = new QLabel(this); customerStatusLabel->setText("Customer Status:"); customerStatusLabel->setAlignment(AlignRight); customerStatus = new QLabel(this); customerStatus->setAlignment(AlignLeft); list = new Q3ListView(this); list->addColumn( "Date" ); list->addColumn( "Login ID" ); list->addColumn( "Item ID" ); list->addColumn( "Qty" ); list->setColumnAlignment(3, Qt::AlignRight); list->addColumn( "Amount" ); list->setColumnAlignment(4, Qt::AlignRight); list->addColumn( "Total" ); list->setColumnAlignment(5, Qt::AlignRight); list->addColumn( "Description" ); //list->addColumn( "TrnsID" ); QPushButton *printButton = new QPushButton(this); printButton->setText("&Print"); connect(printButton, SIGNAL(clicked()), this, SLOT(printRegister())); voidChargeButton = new QPushButton(this); voidChargeButton->setText("&Void"); connect(voidChargeButton, SIGNAL(clicked()), this, SLOT(voidCustCharge())); voidChargeButton->setEnabled(false); delChargeButton = new QPushButton(this); delChargeButton->setText("&Delete"); connect(delChargeButton, SIGNAL(clicked()), this, SLOT(delCustCharge())); editChargeButton = new QPushButton(this); editChargeButton->setText("&Edit"); connect(editChargeButton, SIGNAL(clicked()), this, SLOT(editCustCharge())); editChargeButton->setEnabled(false); newChargeButton = new QPushButton(this); newChargeButton->setText("&New"); connect(newChargeButton, SIGNAL(clicked()), this, SLOT(newCustCharge())); QPushButton *closeButton = new QPushButton(this); closeButton->setText("&Close"); connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); // Now, create our layouts Q3BoxLayout *ml = new Q3BoxLayout(this, Q3BoxLayout::TopToBottom, 3, 3); // The text label layouts Q3GridLayout *tl = new Q3GridLayout(2, 4, 3); tl->setColStretch(0, 0); tl->setColStretch(1, 1); tl->setColStretch(2, 0); tl->setColStretch(3, 1); tl->setRowStretch(0, 0); tl->setRowStretch(1, 0); tl->addWidget(custNameLabel, 0, 0); tl->addWidget(customerName, 0, 1); tl->addWidget(customerBalanceLabel, 0, 2); tl->addWidget(currentBalanceArea, 0, 3); tl->addWidget(customerIDLabel, 1, 0); tl->addWidget(custIDLabel, 1, 1); tl->addWidget(customerStatusLabel, 1, 2); tl->addWidget(customerStatus, 1, 3); ml->addLayout(tl, 0); ml->addWidget(list, 1); // Now, our button area Q3BoxLayout *bl = new Q3BoxLayout(Q3BoxLayout::LeftToRight, 3); bl->addStretch(1); bl->addWidget(printButton, 0); bl->addWidget(voidChargeButton, 0); bl->addWidget(delChargeButton, 0); bl->addWidget(editChargeButton, 0); bl->addWidget(newChargeButton, 0); bl->addSpacing(10); bl->addWidget(closeButton, 0); ml->addLayout(bl, 0); CustomersDB CDB; char tmpStr[1024]; CDB.get(myCustID); customerName->setText(CDB.getStr("FullName")); custIDLabel->setText(CDB.getStr("CustomerID")); sprintf(tmpStr, "$%.2f", CDB.getFloat("CurrentBalance")); currentBalanceArea->setText(tmpStr); if (CDB.getInt("Active")) { strcpy(tmpStr, "Active"); } else { strcpy(tmpStr, "Inactive"); } customerStatus->setText(tmpStr); sprintf(tmpStr, "Register for %s (%ld)", (const char *) CDB.getStr("FullName"), myCustID); setCaption(tmpStr); if (!isManager()) { newChargeButton->hide(); editChargeButton->hide(); delChargeButton->hide(); voidChargeButton->hide(); } //list->setSorting(7, TRUE); // Sort by the internal transaction ID to // make sure that our total works. // The numeric columns should be aligned to the right. list->setAllColumnsShowFocus(TRUE); refreshRegister(1); }