void QgsMeshRendererActiveDatasetWidget::syncToLayer() { setEnabled( mMeshLayer ); whileBlocking( mDatasetGroupTreeView )->syncToLayer(); if ( mMeshLayer ) { const QgsMeshRendererSettings rendererSettings = mMeshLayer->rendererSettings(); mActiveDatasetGroup = mDatasetGroupTreeView->activeGroup(); mActiveScalarDataset = rendererSettings.activeScalarDataset(); mActiveVectorDataset = rendererSettings.activeVectorDataset(); } else { mActiveDatasetGroup = -1; mActiveScalarDataset = QgsMeshDatasetIndex(); mActiveVectorDataset = QgsMeshDatasetIndex(); } int val = 0; if ( mActiveScalarDataset.isValid() ) val = mActiveScalarDataset.dataset(); mDatasetSlider->setValue( val ); setSliderRange(); onActiveDatasetChanged( val ); }
extern "C" BOOL setDlgItemSliderRange( HWND hwnd, int id, LONG lower, LONG upper, LONG start, LONG end, LONG minRange, LONG granularity ) { HWND hwndRangeSlider = GetDlgItem( hwnd, id ); return setSliderRange( hwndRangeSlider, lower, upper, start, end, minRange, granularity ); }
void ReniceDlg::cpuSchedulerChanged(int value) { if(value != previous_cpuscheduler) { if( (value == (int)KSysGuard::Process::Other || value == KSysGuard::Process::Batch) && (previous_cpuscheduler == (int)KSysGuard::Process::Fifo || previous_cpuscheduler == (int)KSysGuard::Process::RoundRobin)) { int slider = -ui->sliderCPU->value() * 2 / 5 + 20; setSliderRange(); ui->sliderCPU->setValue( slider ); } else if( (previous_cpuscheduler == (int)KSysGuard::Process::Other || previous_cpuscheduler == KSysGuard::Process::Batch) && (value == (int)KSysGuard::Process::Fifo || value == (int)KSysGuard::Process::RoundRobin)) { int slider = (-ui->sliderCPU->value() + 20) * 5 / 2; setSliderRange(); ui->sliderCPU->setValue( slider ); } } previous_cpuscheduler = value; updateUi(); }
void QgsMeshRendererActiveDatasetWidget::onActiveGroupChanged() { setSliderRange(); // keep the same timestep if possible int val = mDatasetSlider->value(); if ( ( val < 0 ) || ( val > mDatasetSlider->maximum() ) ) val = 0; mDatasetSlider->setValue( val ); onActiveDatasetChanged( val ); mActiveDatasetGroup = mDatasetGroupTreeView->activeGroup(); emit activeDatasetGroupChanged( mActiveDatasetGroup ); }
void ReniceDlg::updateUi() { bool cpuPrioEnabled = ( cpuScheduler->checkedId() != -1); bool ioPrioEnabled = ( ioniceSupported && ioScheduler->checkedId() != -1 && ioScheduler->checkedId() != (int)KSysGuard::Process::Idle && ioScheduler->checkedId() != (int)KSysGuard::Process::None); ui->sliderCPU->setEnabled(cpuPrioEnabled); ui->lblCpuLow->setEnabled(cpuPrioEnabled); ui->lblCpuHigh->setEnabled(cpuPrioEnabled); ui->sliderIO->setEnabled(ioPrioEnabled); ui->lblIOLow->setEnabled(ioPrioEnabled); ui->lblIOHigh->setEnabled(ioPrioEnabled); ui->radioIONormal->setEnabled(ioniceSupported); ui->radioIdle->setEnabled(ioniceSupported); ui->radioRealTime->setEnabled(ioniceSupported); ui->radioBestEffort->setEnabled(ioniceSupported); setSliderRange(); cpuSliderChanged(ui->sliderCPU->value()); ioSliderChanged(ui->sliderIO->value()); }
void MainEditorWindow::setAllSliderRanges() { setSliderRange (delaySlider); }
ReniceDlg::ReniceDlg(QWidget* parent, const QStringList& processes, int currentCpuPrio, int currentCpuSched, int currentIoPrio, int currentIoSched ) : KDialog( parent ) { setObjectName( "Renice Dialog" ); setModal( true ); setCaption( i18n("Set Priority") ); setButtons( Ok | Cancel ); previous_cpuscheduler = 0; connect( this, SIGNAL(okClicked()), SLOT(slotOk()) ); if(currentIoSched == KSysGuard::Process::None) { // CurrentIoSched == 0 means that the priority is set automatically. // Using the formula given by the linux kernel Documentation/block/ioprio currentIoPrio = (currentCpuPrio+20)/5; } if(currentIoSched == (int)KSysGuard::Process::BestEffort && currentIoPrio == (currentCpuPrio+20)/5) { // Unfortunately, in linux you can't ever set a process back to being None. So we fake it :) currentIoSched = KSysGuard::Process::None; } ioniceSupported = (currentIoPrio != -2); QWidget *widget = new QWidget(this); setMainWidget(widget); ui = new Ui_ReniceDlgUi(); ui->setupUi(widget); ui->listWidget->insertItems(0, processes); cpuScheduler = new QButtonGroup(this); cpuScheduler->addButton(ui->radioNormal, (int)KSysGuard::Process::Other); #ifndef Q_OS_SOLARIS cpuScheduler->addButton(ui->radioBatch, (int)KSysGuard::Process::Batch); #else cpuScheduler->addButton(ui->radioBatch, (int)KSysGuard::Process::Interactive); ui->radioBatch->setText( i18nc("Scheduler", "Interactive") ); #endif cpuScheduler->addButton(ui->radioFIFO, (int)KSysGuard::Process::Fifo); cpuScheduler->addButton(ui->radioRR, (int)KSysGuard::Process::RoundRobin); if(currentCpuSched >= 0) { //negative means none of these QAbstractButton *sched = cpuScheduler->button(currentCpuSched); if(sched) { sched->setChecked(true); //Check the current scheduler previous_cpuscheduler = currentCpuSched; } } cpuScheduler->setExclusive(true); ioScheduler = new QButtonGroup(this); ioScheduler->addButton(ui->radioIONormal, (int)KSysGuard::Process::None); ioScheduler->addButton(ui->radioIdle, (int)KSysGuard::Process::Idle); ioScheduler->addButton(ui->radioRealTime, (int)KSysGuard::Process::RealTime); ioScheduler->addButton(ui->radioBestEffort, (int)KSysGuard::Process::BestEffort); if(currentIoSched >= 0) { //negative means none of these QAbstractButton *iosched = ioScheduler->button(currentIoSched); if(iosched) iosched->setChecked(true); //Check the current io scheduler } ioScheduler->setExclusive(true); setSliderRange(); //Update the slider ranges before trying to set their current values if(ioniceSupported) ui->sliderIO->setValue(currentIoPrio); ui->sliderCPU->setValue(currentCpuPrio); ui->imgCPU->setPixmap( KIcon("cpu").pixmap(128, 128) ); ui->imgIO->setPixmap( KIcon("drive-harddisk").pixmap(128, 128) ); newCPUPriority = 40; connect(cpuScheduler, SIGNAL(buttonClicked(int)), this, SLOT(cpuSchedulerChanged(int))); connect(ioScheduler, SIGNAL(buttonClicked(int)), this, SLOT(updateUi())); connect(ui->sliderCPU, SIGNAL(valueChanged(int)), this, SLOT(cpuSliderChanged(int))); connect(ui->sliderIO, SIGNAL(valueChanged(int)), this, SLOT(ioSliderChanged(int))); updateUi(); }