void GameForm::BuildCharacterTabs(){ tabsWidget = new CharacterTabs(); QMdiSubWindow* tabsWindow = ui->gameArea->addSubWindow(tabsWidget); tabsWindow->setWindowTitle("PlayerName"); tabsWindow->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowTitleHint); tabsWindow->setFixedSize(tabsWidget->width()+15, tabsWidget->height()+35); }
void GameForm::BuildTownWindow(){ townWidget = new TownWidget(); QMdiSubWindow* townWindow = ui->gameArea->addSubWindow(townWidget); townWindow->setWindowTitle("The City"); townWindow->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowTitleHint); townWindow->setFixedSize(townWidget->width()+15, townWidget->height()+35); }
void MainWindow::new_combo_trade() { ComboTradeDialog *comboTradeDialog = new ComboTradeDialog; QMdiSubWindow *qMdiSubWindow = ui_->mdiArea_combo->addSubWindow(comboTradeDialog); qMdiSubWindow->setAttribute(Qt::WA_DeleteOnClose); qMdiSubWindow->setFixedSize(320, 240); qMdiSubWindow->setWindowFlags(qMdiSubWindow->windowFlags()& ~Qt::WindowMaximizeButtonHint& ~Qt::WindowMinimizeButtonHint); qMdiSubWindow->show(); }
void MainWindow::new_swing_trade() { QString contractName = tr("Exchange-Contract-").append(QString("%1").arg(swing_counter_)); SwingTradeDialog *swingTradeDialog = new SwingTradeDialog(contractName, swing_counter_, disp_, this); connect(swingTradeDialog, SIGNAL(update_contract(QString)), this, SLOT(update_swing_contract(QString))); QMdiSubWindow *qMdiSubWindow = ui_->mdiArea_swing->addSubWindow(swingTradeDialog); qMdiSubWindow->setAttribute(Qt::WA_DeleteOnClose); qMdiSubWindow->setFixedSize(265, 440); qMdiSubWindow->setWindowFlags(qMdiSubWindow->windowFlags()& ~Qt::WindowMaximizeButtonHint& ~Qt::WindowMinimizeButtonHint); qMdiSubWindow->setWindowTitle(contractName); qMdiSubWindow->show(); swing_counter_++; selcon_->setCurrentText(contractName); }
// #### ITW: InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : QWidget(), ModelView( NULL, this ), m_track( _itv->model() ), m_itv( _itv ), m_instrumentView( NULL ) { setAcceptDrops( true ); // init own layout + widgets setFocusPolicy( Qt::StrongFocus ); QVBoxLayout * vlayout = new QVBoxLayout( this ); vlayout->setMargin( 0 ); vlayout->setSpacing( 0 ); m_generalSettingsWidget = new tabWidget( tr( "GENERAL SETTINGS" ), this ); m_generalSettingsWidget->setFixedHeight( 90 ); // setup line-edit for changing channel-name m_nameLineEdit = new QLineEdit( m_generalSettingsWidget ); m_nameLineEdit->setFont( pointSize<8>( m_nameLineEdit->font() ) ); m_nameLineEdit->setGeometry( 10, 16, 196, 20 ); connect( m_nameLineEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( textChanged( const QString & ) ) ); m_saveSettingsBtn = new QPushButton( embed::getIconPixmap( "project_save" ), "", m_generalSettingsWidget ); m_saveSettingsBtn->setGeometry( 216, 14, 24, 24 ); connect( m_saveSettingsBtn, SIGNAL( clicked() ), this, SLOT( saveSettingsBtnClicked() ) ); toolTip::add( m_saveSettingsBtn, tr( "Save instrument track settings in a preset file" ) ); m_saveSettingsBtn->setWhatsThis( tr( "Click here, if you want to save current channel settings " "in a preset-file. Later you can load this preset by " "double-clicking it in the preset-browser." ) ); // setup volume-knob m_volumeKnob = new knob( knobBright_26, m_generalSettingsWidget, tr( "Instrument volume" ) ); m_volumeKnob->setVolumeKnob( true ); m_volumeKnob->move( 8, 46 ); m_volumeKnob->setHintText( tr( "Volume:" ) + " ", "%" ); m_volumeKnob->setLabel( tr( "VOL" ) ); m_volumeKnob->setWhatsThis( tr( volume_help ) ); // setup panning-knob m_panningKnob = new knob( knobBright_26, m_generalSettingsWidget, tr( "Panning" ) ); m_panningKnob->move( m_volumeKnob->x() + m_volumeKnob->width() + 12, 46 ); m_panningKnob->setHintText( tr( "Panning:" ) + " ", "" ); m_panningKnob->setLabel( tr( "PAN" ) ); m_pitchKnob = new knob( knobBright_26, m_generalSettingsWidget, tr( "Pitch" ) ); m_pitchKnob->move( m_panningKnob->x() + m_panningKnob->width() + 24, 46 ); m_pitchKnob->setHintText( tr( "Pitch:" ) + " ", " " + tr( "cents" ) ); m_pitchKnob->setLabel( tr( "PITCH" ) ); m_pitchRange = new lcdSpinBox( 2, m_generalSettingsWidget, tr( "Pitch range (semitones)" ) ); m_pitchRange->setLabel( tr( "RANGE" ) ); m_pitchRange->move( m_pitchKnob->x() + m_pitchKnob->width() + 8, 46 ); // setup spinbox for selecting FX-channel m_effectChannelNumber = new fxLineLcdSpinBox( 2, m_generalSettingsWidget, tr( "FX channel" ) ); m_effectChannelNumber->setLabel( tr( "FX CHNL" ) ); m_effectChannelNumber->move( m_pitchRange->x() + m_pitchRange->width() + 24, 46 ); m_tabWidget = new tabWidget( "", this ); m_tabWidget->setFixedHeight( INSTRUMENT_HEIGHT + 10 ); // create tab-widgets m_ssView = new InstrumentSoundShapingView( m_tabWidget ); QWidget * instrument_functions = new QWidget( m_tabWidget ); m_chordView = new ChordCreatorView( &m_track->m_chordCreator, instrument_functions ); m_arpView= new ArpeggiatorView( &m_track->m_arpeggiator, instrument_functions ); m_midiView = new InstrumentMidiIOView( m_tabWidget ); m_effectView = new EffectRackView( m_track->m_audioPort.effects(), m_tabWidget ); m_tabWidget->addTab( m_ssView, tr( "ENV/LFO" ), 1 ); m_tabWidget->addTab( instrument_functions, tr( "FUNC" ), 2 ); m_tabWidget->addTab( m_effectView, tr( "FX" ), 3 ); m_tabWidget->addTab( m_midiView, tr( "MIDI" ), 4 ); // setup piano-widget m_pianoView = new PianoView( this ); vlayout->addWidget( m_generalSettingsWidget ); vlayout->addWidget( m_tabWidget ); vlayout->addWidget( m_pianoView ); setModel( _itv->model() ); updateInstrumentView(); setFixedWidth( INSTRUMENT_WIDTH ); resize( sizeHint() ); QMdiSubWindow * subWin = engine::mainWindow()->workspace()->addSubWindow( this ); Qt::WindowFlags flags = subWin->windowFlags(); flags |= Qt::MSWindowsFixedSizeDialogHint; flags &= ~Qt::WindowMaximizeButtonHint; subWin->setWindowFlags( flags ); subWin->setWindowIcon( embed::getIconPixmap( "instrument_track" ) ); subWin->setFixedSize( subWin->size() ); subWin->hide(); }
// #### ITW: InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : QWidget(), ModelView( NULL, this ), m_track( _itv->model() ), m_itv( _itv ), m_instrumentView( NULL ) { setAcceptDrops( true ); // init own layout + widgets setFocusPolicy( Qt::StrongFocus ); QVBoxLayout * vlayout = new QVBoxLayout( this ); vlayout->setMargin( 0 ); vlayout->setSpacing( 0 ); TabWidget* generalSettingsWidget = new TabWidget( tr( "GENERAL SETTINGS" ), this ); QVBoxLayout* generalSettingsLayout = new QVBoxLayout( generalSettingsWidget ); generalSettingsLayout->setContentsMargins( 8, 18, 8, 8 ); generalSettingsLayout->setSpacing( 6 ); QWidget* nameAndChangeTrackWidget = new QWidget( generalSettingsWidget ); QHBoxLayout* nameAndChangeTrackLayout = new QHBoxLayout( nameAndChangeTrackWidget ); nameAndChangeTrackLayout->setContentsMargins( 0, 0, 0, 0 ); nameAndChangeTrackLayout->setSpacing( 2 ); // setup line edit for changing instrument track name m_nameLineEdit = new QLineEdit; m_nameLineEdit->setFont( pointSize<9>( m_nameLineEdit->font() ) ); connect( m_nameLineEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( textChanged( const QString & ) ) ); m_nameLineEdit->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred)); nameAndChangeTrackLayout->addWidget(m_nameLineEdit); // set up left/right arrows for changing instrument m_leftRightNav = new LeftRightNav(this); connect( m_leftRightNav, SIGNAL( onNavLeft() ), this, SLOT( viewPrevInstrument() ) ); connect( m_leftRightNav, SIGNAL( onNavRight() ), this, SLOT( viewNextInstrument() ) ); m_leftRightNav->setWhatsThis( tr( "Use these controls to view and edit the next/previous track in the song editor." ) ); // m_leftRightNav->setShortcuts(); nameAndChangeTrackLayout->addWidget(m_leftRightNav); generalSettingsLayout->addWidget( nameAndChangeTrackWidget ); QGridLayout* basicControlsLayout = new QGridLayout; basicControlsLayout->setHorizontalSpacing(3); basicControlsLayout->setVerticalSpacing(0); basicControlsLayout->setContentsMargins(0, 0, 0, 0); QString labelStyleSheet = "font-size: 6pt;"; Qt::Alignment labelAlignment = Qt::AlignHCenter | Qt::AlignTop; Qt::Alignment widgetAlignment = Qt::AlignHCenter | Qt::AlignCenter; // set up volume knob m_volumeKnob = new Knob( knobBright_26, NULL, tr( "Instrument volume" ) ); m_volumeKnob->setVolumeKnob( true ); m_volumeKnob->setHintText( tr( "Volume:" ), "%" ); m_volumeKnob->setWhatsThis( tr( volume_help ) ); basicControlsLayout->addWidget( m_volumeKnob, 0, 0 ); basicControlsLayout->setAlignment( m_volumeKnob, widgetAlignment ); QLabel *label = new QLabel( tr( "VOL" ), this ); label->setStyleSheet( labelStyleSheet ); basicControlsLayout->addWidget( label, 1, 0); basicControlsLayout->setAlignment( label, labelAlignment ); // set up panning knob m_panningKnob = new Knob( knobBright_26, NULL, tr( "Panning" ) ); m_panningKnob->setHintText( tr( "Panning:" ), "" ); basicControlsLayout->addWidget( m_panningKnob, 0, 1 ); basicControlsLayout->setAlignment( m_panningKnob, widgetAlignment ); label = new QLabel( tr( "PAN" ), this ); label->setStyleSheet( labelStyleSheet ); basicControlsLayout->addWidget( label, 1, 1); basicControlsLayout->setAlignment( label, labelAlignment ); basicControlsLayout->setColumnStretch(2, 1); // set up pitch knob m_pitchKnob = new Knob( knobBright_26, NULL, tr( "Pitch" ) ); m_pitchKnob->setHintText( tr( "Pitch:" ), " " + tr( "cents" ) ); basicControlsLayout->addWidget( m_pitchKnob, 0, 3 ); basicControlsLayout->setAlignment( m_pitchKnob, widgetAlignment ); m_pitchLabel = new QLabel( tr( "PITCH" ), this ); m_pitchLabel->setStyleSheet( labelStyleSheet ); basicControlsLayout->addWidget( m_pitchLabel, 1, 3); basicControlsLayout->setAlignment( m_pitchLabel, labelAlignment ); // set up pitch range knob m_pitchRangeSpinBox= new LcdSpinBox( 2, NULL, tr( "Pitch range (semitones)" ) ); basicControlsLayout->addWidget( m_pitchRangeSpinBox, 0, 4 ); basicControlsLayout->setAlignment( m_pitchRangeSpinBox, widgetAlignment ); m_pitchRangeLabel = new QLabel( tr( "RANGE" ), this ); m_pitchRangeLabel->setStyleSheet( labelStyleSheet ); basicControlsLayout->addWidget( m_pitchRangeLabel, 1, 4); basicControlsLayout->setAlignment( m_pitchRangeLabel, labelAlignment ); basicControlsLayout->setColumnStretch(5, 1); // setup spinbox for selecting FX-channel m_effectChannelNumber = new fxLineLcdSpinBox( 2, NULL, tr( "FX channel" ) ); basicControlsLayout->addWidget( m_effectChannelNumber, 0, 6 ); basicControlsLayout->setAlignment( m_effectChannelNumber, widgetAlignment ); label = new QLabel( tr( "FX" ), this ); label->setStyleSheet( labelStyleSheet ); basicControlsLayout->addWidget( label, 1, 6); basicControlsLayout->setAlignment( label, labelAlignment ); QPushButton* saveSettingsBtn = new QPushButton( embed::getIconPixmap( "project_save" ), QString() ); saveSettingsBtn->setMinimumSize( 32, 32 ); connect( saveSettingsBtn, SIGNAL( clicked() ), this, SLOT( saveSettingsBtnClicked() ) ); ToolTip::add( saveSettingsBtn, tr( "Save current instrument track settings in a preset file" ) ); saveSettingsBtn->setWhatsThis( tr( "Click here, if you want to save current instrument track settings in a preset file. " "Later you can load this preset by double-clicking it in the preset-browser." ) ); basicControlsLayout->addWidget( saveSettingsBtn, 0, 7 ); label = new QLabel( tr( "SAVE" ), this ); label->setStyleSheet( labelStyleSheet ); basicControlsLayout->addWidget( label, 1, 7); basicControlsLayout->setAlignment( label, labelAlignment ); generalSettingsLayout->addLayout( basicControlsLayout ); m_tabWidget = new TabWidget( "", this ); m_tabWidget->setFixedHeight( INSTRUMENT_HEIGHT + 10 ); // create tab-widgets m_ssView = new InstrumentSoundShapingView( m_tabWidget ); // FUNC tab QWidget* instrumentFunctions = new QWidget( m_tabWidget ); QVBoxLayout* instrumentFunctionsLayout = new QVBoxLayout( instrumentFunctions ); instrumentFunctionsLayout->setMargin( 5 ); m_noteStackingView = new InstrumentFunctionNoteStackingView( &m_track->m_noteStacking ); m_arpeggioView = new InstrumentFunctionArpeggioView( &m_track->m_arpeggio ); instrumentFunctionsLayout->addWidget( m_noteStackingView ); instrumentFunctionsLayout->addWidget( m_arpeggioView ); instrumentFunctionsLayout->addStretch(); // MIDI tab m_midiView = new InstrumentMidiIOView( m_tabWidget ); // FX tab m_effectView = new EffectRackView( m_track->m_audioPort.effects(), m_tabWidget ); // MISC tab m_miscView = new InstrumentMiscView( m_track, m_tabWidget ); m_tabWidget->addTab( m_ssView, tr( "ENV/LFO" ), 1 ); m_tabWidget->addTab( instrumentFunctions, tr( "FUNC" ), 2 ); m_tabWidget->addTab( m_effectView, tr( "FX" ), 3 ); m_tabWidget->addTab( m_midiView, tr( "MIDI" ), 4 ); m_tabWidget->addTab( m_miscView, tr( "MISC" ), 5 ); // setup piano-widget m_pianoView = new PianoView( this ); m_pianoView->setFixedSize( INSTRUMENT_WIDTH, PIANO_HEIGHT ); vlayout->addWidget( generalSettingsWidget ); vlayout->addWidget( m_tabWidget ); vlayout->addWidget( m_pianoView ); setModel( _itv->model() ); updateInstrumentView(); setFixedWidth( INSTRUMENT_WIDTH ); resize( sizeHint() ); QMdiSubWindow * subWin = gui->mainWindow()->addWindowedWidget( this ); Qt::WindowFlags flags = subWin->windowFlags(); flags |= Qt::MSWindowsFixedSizeDialogHint; flags &= ~Qt::WindowMaximizeButtonHint; subWin->setWindowFlags( flags ); // Hide the Size and Maximize options from the system menu // since the dialog size is fixed. QMenu * systemMenu = subWin->systemMenu(); systemMenu->actions().at( 2 )->setVisible( false ); // Size systemMenu->actions().at( 4 )->setVisible( false ); // Maximize subWin->setWindowIcon( embed::getIconPixmap( "instrument_track" ) ); subWin->setFixedSize( subWin->size() ); subWin->hide(); }
// #### ITW: InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : QWidget(), ModelView( NULL, this ), m_track( _itv->model() ), m_itv( _itv ), m_instrumentView( NULL ) { setAcceptDrops( true ); // init own layout + widgets setFocusPolicy( Qt::StrongFocus ); QVBoxLayout * vlayout = new QVBoxLayout( this ); vlayout->setMargin( 0 ); vlayout->setSpacing( 0 ); tabWidget* generalSettingsWidget = new tabWidget( tr( "GENERAL SETTINGS" ), this ); QVBoxLayout* generalSettingsLayout = new QVBoxLayout( generalSettingsWidget ); generalSettingsLayout->setContentsMargins( 8, 18, 8, 8 ); generalSettingsLayout->setSpacing( 6 ); // setup line edit for changing instrument track name m_nameLineEdit = new QLineEdit; m_nameLineEdit->setFont( pointSize<9>( m_nameLineEdit->font() ) ); connect( m_nameLineEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( textChanged( const QString & ) ) ); generalSettingsLayout->addWidget( m_nameLineEdit ); QHBoxLayout* basicControlsLayout = new QHBoxLayout; basicControlsLayout->setSpacing( 3 ); // set up volume knob m_volumeKnob = new knob( knobBright_26, NULL, tr( "Instrument volume" ) ); m_volumeKnob->setVolumeKnob( true ); m_volumeKnob->setHintText( tr( "Volume:" ) + " ", "%" ); m_volumeKnob->setLabel( tr( "VOL" ) ); m_volumeKnob->setWhatsThis( tr( volume_help ) ); basicControlsLayout->addWidget( m_volumeKnob ); // set up panning knob m_panningKnob = new knob( knobBright_26, NULL, tr( "Panning" ) ); m_panningKnob->setHintText( tr( "Panning:" ) + " ", "" ); m_panningKnob->setLabel( tr( "PAN" ) ); basicControlsLayout->addWidget( m_panningKnob ); basicControlsLayout->addStretch(); // set up pitch knob m_pitchKnob = new knob( knobBright_26, NULL, tr( "Pitch" ) ); m_pitchKnob->setHintText( tr( "Pitch:" ) + " ", " " + tr( "cents" ) ); m_pitchKnob->setLabel( tr( "PITCH" ) ); basicControlsLayout->addWidget( m_pitchKnob ); // set up pitch range knob m_pitchRangeSpinBox= new LcdSpinBox( 2, NULL, tr( "Pitch range (semitones)" ) ); m_pitchRangeSpinBox->setLabel( tr( "RANGE" ) ); basicControlsLayout->addWidget( m_pitchRangeSpinBox ); basicControlsLayout->addStretch(); // setup spinbox for selecting FX-channel m_effectChannelNumber = new fxLineLcdSpinBox( 2, NULL, tr( "FX channel" ) ); m_effectChannelNumber->setLabel( tr( "FX" ) ); basicControlsLayout->addWidget( m_effectChannelNumber ); basicControlsLayout->addStretch(); QPushButton* saveSettingsBtn = new QPushButton( embed::getIconPixmap( "project_save" ), QString() ); saveSettingsBtn->setMinimumSize( 32, 32 ); connect( saveSettingsBtn, SIGNAL( clicked() ), this, SLOT( saveSettingsBtnClicked() ) ); toolTip::add( saveSettingsBtn, tr( "Save current channel settings in a preset-file" ) ); saveSettingsBtn->setWhatsThis( tr( "Click here, if you want to save current channel settings " "in a preset-file. Later you can load this preset by " "double-clicking it in the preset-browser." ) ); basicControlsLayout->addWidget( saveSettingsBtn ); generalSettingsLayout->addLayout( basicControlsLayout ); m_tabWidget = new tabWidget( "", this ); m_tabWidget->setFixedHeight( INSTRUMENT_HEIGHT + 10 ); // create tab-widgets m_ssView = new InstrumentSoundShapingView( m_tabWidget ); // FUNC tab QWidget* instrumentFunctions = new QWidget( m_tabWidget ); QVBoxLayout* instrumentFunctionsLayout = new QVBoxLayout( instrumentFunctions ); instrumentFunctionsLayout->setMargin( 5 ); m_noteStackingView = new InstrumentFunctionNoteStackingView( &m_track->m_noteStacking ); m_arpeggioView = new InstrumentFunctionArpeggioView( &m_track->m_arpeggio ); instrumentFunctionsLayout->addWidget( m_noteStackingView ); instrumentFunctionsLayout->addWidget( m_arpeggioView ); instrumentFunctionsLayout->addStretch(); // MIDI tab m_midiView = new InstrumentMidiIOView( m_tabWidget ); // FX tab m_effectView = new EffectRackView( m_track->m_audioPort.effects(), m_tabWidget ); m_tabWidget->addTab( m_ssView, tr( "ENV/LFO" ), 1 ); m_tabWidget->addTab( instrumentFunctions, tr( "FUNC" ), 2 ); m_tabWidget->addTab( m_effectView, tr( "FX" ), 3 ); m_tabWidget->addTab( m_midiView, tr( "MIDI" ), 4 ); // setup piano-widget m_pianoView = new PianoView( this ); m_pianoView->setFixedSize( INSTRUMENT_WIDTH, PIANO_HEIGHT ); vlayout->addWidget( generalSettingsWidget ); vlayout->addWidget( m_tabWidget ); vlayout->addWidget( m_pianoView ); setModel( _itv->model() ); updateInstrumentView(); setFixedWidth( INSTRUMENT_WIDTH ); resize( sizeHint() ); QMdiSubWindow * subWin = engine::mainWindow()->workspace()->addSubWindow( this ); Qt::WindowFlags flags = subWin->windowFlags(); flags |= Qt::MSWindowsFixedSizeDialogHint; flags &= ~Qt::WindowMaximizeButtonHint; subWin->setWindowFlags( flags ); subWin->setWindowIcon( embed::getIconPixmap( "instrument_track" ) ); subWin->setFixedSize( subWin->size() ); subWin->hide(); }
PerformanceMeasurement::Panel::Panel(QWidget *parent) : QWidget(parent), Workspace::Instance("Performance Measurement", vars, num_vars), state(INIT1), duration(0), lastRead(0), timestep(0), maxDuration(0), maxTimestep(0), jitter(0) { QWidget::setAttribute(Qt::WA_DeleteOnClose); // Make Mdi QMdiSubWindow *subWindow = new QMdiSubWindow; subWindow->setWindowIcon(QIcon("/usr/local/lib/rtxi/RTXI-widget-icon.png")); subWindow->setAttribute(Qt::WA_DeleteOnClose); subWindow->setFixedSize(310,200); MainWindow::getInstance()->createMdi(subWindow); // Create main layout QVBoxLayout *layout = new QVBoxLayout; QString suffix = QString("s)").prepend(QChar(0x3BC)); // Create child widget and gridLayout QGridLayout *gridLayout = new QGridLayout; durationEdit = new QLineEdit(subWindow); durationEdit->setReadOnly(true); gridLayout->addWidget(new QLabel(tr("Computation Time (").append(suffix)), 1, 0); gridLayout->addWidget(durationEdit, 1, 1); maxDurationEdit = new QLineEdit(subWindow); maxDurationEdit->setReadOnly(true); gridLayout->addWidget(new QLabel(tr("Peak Computation Time (").append(suffix)), 2, 0); gridLayout->addWidget(maxDurationEdit, 2, 1); timestepEdit = new QLineEdit(subWindow); timestepEdit->setReadOnly(true); gridLayout->addWidget(new QLabel(tr("Real-time Period (").append(suffix)), 3, 0); gridLayout->addWidget(timestepEdit, 3, 1); maxTimestepEdit = new QLineEdit(subWindow); maxTimestepEdit->setReadOnly(true); gridLayout->addWidget(new QLabel(tr("Peak Real-time Period (").append(suffix)), 4, 0); gridLayout->addWidget(maxTimestepEdit, 4, 1); timestepJitterEdit = new QLineEdit(subWindow); timestepJitterEdit->setReadOnly(true); gridLayout->addWidget(new QLabel(tr("Real-time Jitter (").append(suffix)), 5, 0); gridLayout->addWidget(timestepJitterEdit, 5, 1); QPushButton *resetButton = new QPushButton("Reset", this); gridLayout->addWidget(resetButton, 6, 1); QObject::connect(resetButton,SIGNAL(released(void)),this,SLOT(reset(void))); // Attach child widget to parent widget layout->addLayout(gridLayout); // Attach gridLayout to Widget setLayout(layout); setWindowTitle(QString::number(getID()) + tr(" RT Benchmarks")); // Set layout to Mdi subWindow->setWidget(this); show(); QTimer *timer = new QTimer(this); timer->start(1000); QObject::connect(timer,SIGNAL(timeout(void)),this,SLOT(update(void))); resetMaxTimer = new QTimer(this); QObject::connect(resetMaxTimer,SIGNAL(timeout(void)),this,SLOT(resetMaxTimeStep(void))); // Connect states to workspace setData(Workspace::STATE, 0, &duration); setData(Workspace::STATE, 1, &maxDuration); setData(Workspace::STATE, 2, ×tep); setData(Workspace::STATE, 3, &maxTimestep); setData(Workspace::STATE, 4, &jitter); setActive(true); saveStats = false; }
SampleTrackWindow::SampleTrackWindow(SampleTrackView * tv) : QWidget(), ModelView(NULL, this), m_track(tv->model()), m_stv(tv) { // init own layout + widgets setFocusPolicy(Qt::StrongFocus); QVBoxLayout * vlayout = new QVBoxLayout(this); vlayout->setMargin(0); vlayout->setSpacing(0); TabWidget* generalSettingsWidget = new TabWidget(tr("GENERAL SETTINGS"), this); QVBoxLayout* generalSettingsLayout = new QVBoxLayout(generalSettingsWidget); generalSettingsLayout->setContentsMargins(8, 18, 8, 8); generalSettingsLayout->setSpacing(6); QWidget* nameWidget = new QWidget(generalSettingsWidget); QHBoxLayout* nameLayout = new QHBoxLayout(nameWidget); nameLayout->setContentsMargins(0, 0, 0, 0); nameLayout->setSpacing(2); // setup line edit for changing sample track name m_nameLineEdit = new QLineEdit; m_nameLineEdit->setFont(pointSize<9>(m_nameLineEdit->font())); connect(m_nameLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(textChanged(const QString &))); m_nameLineEdit->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred)); nameLayout->addWidget(m_nameLineEdit); generalSettingsLayout->addWidget(nameWidget); QGridLayout* basicControlsLayout = new QGridLayout; basicControlsLayout->setHorizontalSpacing(3); basicControlsLayout->setVerticalSpacing(0); basicControlsLayout->setContentsMargins(0, 0, 0, 0); QString labelStyleSheet = "font-size: 6pt;"; Qt::Alignment labelAlignment = Qt::AlignHCenter | Qt::AlignTop; Qt::Alignment widgetAlignment = Qt::AlignHCenter | Qt::AlignCenter; // set up volume knob m_volumeKnob = new Knob(knobBright_26, NULL, tr("Sample volume")); m_volumeKnob->setVolumeKnob(true); m_volumeKnob->setHintText(tr("Volume:"), "%"); basicControlsLayout->addWidget(m_volumeKnob, 0, 0); basicControlsLayout->setAlignment(m_volumeKnob, widgetAlignment); QLabel *label = new QLabel(tr("VOL"), this); label->setStyleSheet(labelStyleSheet); basicControlsLayout->addWidget(label, 1, 0); basicControlsLayout->setAlignment(label, labelAlignment); // set up panning knob m_panningKnob = new Knob(knobBright_26, NULL, tr("Panning")); m_panningKnob->setHintText(tr("Panning:"), ""); basicControlsLayout->addWidget(m_panningKnob, 0, 1); basicControlsLayout->setAlignment(m_panningKnob, widgetAlignment); label = new QLabel(tr("PAN"),this); label->setStyleSheet(labelStyleSheet); basicControlsLayout->addWidget(label, 1, 1); basicControlsLayout->setAlignment(label, labelAlignment); basicControlsLayout->setColumnStretch(2, 1); // setup spinbox for selecting FX-channel m_effectChannelNumber = new FxLineLcdSpinBox(2, NULL, tr("FX channel"), m_stv); basicControlsLayout->addWidget(m_effectChannelNumber, 0, 3); basicControlsLayout->setAlignment(m_effectChannelNumber, widgetAlignment); label = new QLabel(tr("FX"), this); label->setStyleSheet(labelStyleSheet); basicControlsLayout->addWidget(label, 1, 3); basicControlsLayout->setAlignment(label, labelAlignment); generalSettingsLayout->addLayout(basicControlsLayout); m_effectRack = new EffectRackView(tv->model()->audioPort()->effects()); m_effectRack->setFixedSize(240, 242); vlayout->addWidget(generalSettingsWidget); vlayout->addWidget(m_effectRack); setModel(tv->model()); QMdiSubWindow * subWin = gui->mainWindow()->addWindowedWidget(this); Qt::WindowFlags flags = subWin->windowFlags(); flags |= Qt::MSWindowsFixedSizeDialogHint; flags &= ~Qt::WindowMaximizeButtonHint; subWin->setWindowFlags(flags); // Hide the Size and Maximize options from the system menu // since the dialog size is fixed. QMenu * systemMenu = subWin->systemMenu(); systemMenu->actions().at(2)->setVisible(false); // Size systemMenu->actions().at(4)->setVisible(false); // Maximize subWin->setWindowIcon(embed::getIconPixmap("sample_track")); subWin->setFixedSize(subWin->size()); subWin->hide(); }