TunerView::TunerView( int viewID_, QWidget *parent ) : ViewWidget( viewID_, parent) { //setCaption("Chromatic Tuner"); Q3GridLayout *layout = new Q3GridLayout(this, 9, 3, 2); layout->setResizeMode(QLayout::SetNoConstraint); // Tuner widget goes from (0, 0) to (0, 8); //tunerWidget = new TunerWidget(this); tunerWidget = new VibratoTunerWidget(this); layout->addMultiCellWidget(tunerWidget, 0, 0, 0, 8); // Slider goes from (2,0) to (2,9) //slider = new QwtSlider(this, "slider", Qt::Horizontal, QwtSlider::Bottom, QwtSlider::BgTrough); #if QWT_VERSION == 0x050000 slider = new QwtSlider(this, Qt::Horizontal, QwtSlider::Bottom, QwtSlider::BgTrough); #else slider = new QwtSlider(this, Qt::Horizontal, QwtSlider::BottomScale, QwtSlider::BgTrough); #endif slider->setRange(0, 2); slider->setReadOnly(false); layout->addMultiCellWidget(slider, 1, 1, 0, 8); QToolTip::add(slider, "Increase slider to smooth the pitch over a longer time period"); ledBuffer = new QPixmap(); leds.push_back(new LEDIndicator(ledBuffer, this, "A")); leds.push_back(new LEDIndicator(ledBuffer, this, "B")); leds.push_back(new LEDIndicator(ledBuffer, this, "C")); leds.push_back(new LEDIndicator(ledBuffer, this, "D")); leds.push_back(new LEDIndicator(ledBuffer, this, "E")); leds.push_back(new LEDIndicator(ledBuffer, this, "F")); leds.push_back(new LEDIndicator(ledBuffer, this, "G")); leds.push_back(new LEDIndicator(ledBuffer, this, "#")); // Add the leds for note names into the positions (1, 0) to (1, 6) for (int n = 0; n < 7; n++) { layout->addWidget(leds.at(n), 2, n); } // (1, 7) is blank // Add the flat led layout->addWidget(leds.at(7), 2, 8); layout->setRowStretch( 0, 4 ); layout->setRowStretch( 1, 1 ); layout->setRowStretch( 2, 0 ); //connect(gdata->view, SIGNAL(onFastUpdate(double)), this, SLOT(update())); //connect(gdata, SIGNAL(onChunkUpdate()), tunerWidget, SLOT(doUpdate())); connect(gdata, SIGNAL(onChunkUpdate()), this, SLOT(doUpdate())); connect(tunerWidget, SIGNAL(ledSet(int, bool)), this, SLOT(setLed(int, bool))); }
ThetaTab::ThetaTab (QWidget *parent) : QWidget(parent) { QString s; Q3GridLayout *grid = new Q3GridLayout(this, 10, 6, 20, -1, "grid 1"); /* grid->addMultiCellWidget(new QLabel("Tetrode / channel", this), 0, 0, 0, 4); StimChan = new QComboBox( FALSE, this, "Channel Combo Box" ); StimChan->insertStringList(*(daq_io_widget->ChannelStrings)); grid->addMultiCellWidget(StimChan, 0, 0, 3, 3); connect(StimChan, SIGNAL(activated(int)), this, SLOT(updateThetaData(void))); connect(daq_io_widget, SIGNAL(updateChanDisplay(int)), this, SLOT(changeStimChanDisplay(int))); */ grid->addMultiCellWidget(new QLabel("Pulse Length (100 us units)", this), 1, 1, 0, 2); pulse_len = new QSpinBox (0, 10000, 1, this, "Pulse Length"); pulse_len->setValue(DIO_RT_DEFAULT_PULSE_LEN); grid->addMultiCellWidget(pulse_len, 1, 1, 3, 3); connect(pulse_len, SIGNAL(valueChanged(int)), this, SLOT(updateThetaData(void))); grid->addMultiCellWidget(new QLabel("Velocity Threshold (pixels/sec)", this), 2, 2, 0, 2); vel_thresh = new QSpinBox (0, 1000, 1, this, "Velocity Threshold"); vel_thresh->setValue(DIO_RT_DEFAULT_THETA_VEL); grid->addMultiCellWidget(vel_thresh, 2, 2, 3, 3); connect(vel_thresh, SIGNAL(valueChanged(int)), this, SLOT(updateThetaData(void))); grid->addMultiCellWidget(new QLabel("Filter Delay (msec)", this), 3, 3, 0, 2); filt_delay = new QSpinBox (0, 1000, 1, this, "Filter Delay"); filt_delay->setValue(DIO_RT_DEFAULT_THETA_FILTER_DELAY); grid->addMultiCellWidget(filt_delay, 3, 3, 3, 3); connect(filt_delay, SIGNAL(valueChanged(int)), this, SLOT(updateThetaData(void))); grid->addMultiCellWidget(new QLabel("Desired phase of stimulation (deg)", this), 4, 4, 0, 2); theta_phase = new QSpinBox (0, 1000, 1, this, "Desired Phase"); grid->addMultiCellWidget(theta_phase, 4, 4, 3, 3); connect(theta_phase, SIGNAL(valueChanged(int)), this, SLOT(updateThetaData(void))); triggeredStart = new QPushButton("Start", this, "start"); triggeredStart->setToggleButton(TRUE); triggeredStart->setEnabled(FALSE); grid->addMultiCellWidget(triggeredStart, 9, 9, 1, 1); connect(triggeredStart, SIGNAL(toggled(bool)), this, SLOT(startThetaStim(bool))); triggeredStop = new QPushButton("Stop", this, "stop"); triggeredStop->setToggleButton(TRUE); grid->addMultiCellWidget(triggeredStop, 9, 9, 4, 4); connect(triggeredStop, SIGNAL(toggled(bool)), this, SLOT(stopThetaStim(bool))); }
void QStringOption::initWidget() { Q3GridLayout* qgl = new Q3GridLayout(this,2,2); QLabel* label = new QLabel(optionTitle(),this); mpOptionLineEdit = new QLineEdit(this); connect(mpOptionLineEdit,SIGNAL(textChanged(const QString&)), this,SLOT(slotTextChanged(const QString&))); //create pixmap assignPixmap(); qgl->addMultiCellWidget(pixmapWidget(),0,1,0,0); qgl->addWidget(label,0,1); qgl->addWidget(mpOptionLineEdit,1,1); qgl->setSpacing(5); qgl->setColStretch(1,1); qgl->activate(); }
void SaneIntOption::initWidget() { Q3GridLayout* qgl = new Q3GridLayout(this,3,3); mpTitleLabel = new QLabel(optionTitle(),this); mpValueSpinBox = new QSpinBox(INT_MIN,INT_MAX,1,this); mpValueSpinBox->setFocusPolicy(Qt::StrongFocus);//should get focus after clicking //create pixmap assignPixmap(); qgl->addMultiCellWidget(pixmapWidget(),0,2,0,0); qgl->addWidget(mpTitleLabel,1,1); qgl->addWidget(mpValueSpinBox,1,2); qgl->setSpacing(5); qgl->setColStretch(1,1); connect(mpValueSpinBox,SIGNAL(valueChanged(int)),this,SLOT(slotValueChanged(int))); qgl->activate(); }
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(); }
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); }
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(); }