예제 #1
0
int QuickSorter::partition(QVector<int> *v, int i, int f) {
    int pivot = (*v)[f];
    int k=i-1;
    for(int j=i;j<f;j++){
        if( (*v)[j] <= pivot   ){
            if(isInterruptionRequested())
                return 0;
            k++;
            int temp = (*v)[k];
            (*v)[k] = (*v)[j];
            (*v)[j] = temp;
            emit vectorChanged(k);
            emit vectorChanged(j);
            waitInterval();
        }
    }

   int temp = (*v)[k+1];
   (*v)[k+1] = (*v)[f];
   (*v)[f]=temp;
   emit vectorChanged(k+1);
   emit vectorChanged(f);
   waitInterval();
   return k+1;
}
PowerSpectrumDialog::PowerSpectrumDialog(ObjectPtr dataObject, QWidget *parent)
  : DataDialog(dataObject, parent) {

  if (editMode() == Edit)
    setWindowTitle(tr("Edit Power Spectrum"));
  else
    setWindowTitle(tr("New Power Spectrum"));

  _powerSpectrumTab = new PowerSpectrumTab(this);
  addDataTab(_powerSpectrumTab);

  if (editMode() == Edit) {
    configureTab(dataObject);
  } else {
    configureTab(0);
  }

  connect(_powerSpectrumTab, SIGNAL(vectorChanged()), this, SLOT(updateButtons()));
  connect(this, SIGNAL(editMultipleMode()), this, SLOT(editMultipleMode()));
  connect(this, SIGNAL(editSingleMode()), this, SLOT(editSingleMode()));

  connect(_powerSpectrumTab, SIGNAL(modified()), this, SLOT(modified()));
  updateButtons();
}
void PowerSpectrumTab::selectionChanged() {
  emit vectorChanged();
}
예제 #4
0
void HistogramTab::selectionChanged() {
  emit vectorChanged();
}