void updateTable(int *het, int depth, uchar *seq, Tables **tables, int count) {

  int index = 0; 
  int start = het[5] - depth + 1;
  for (int i = 0; i < 6; ++i) {
    index <<= 1;
    index += (seq[het[i] - start] - '0'); 
  }
  
  uchar *target = myalloc(depth - 5, uchar);
  for (int i = 0, j = 0; j < depth; ++j) {
    if ((j + start) == het[i]){
      i++;  
    } else {
      target[j - i] = seq[j]; 
    }
  }
  target[depth - 6] = '\0';

  int i;
  for (i = 0; i < (*tables)->num; ++i) {
    if (!strcmp(target, (*tables)->array[i].id)) {
      break;
    }
  }

  if (i != (*tables)->num) {
    (*tables)->array[i].data[index] = count;
    free(target);
  } else {
    if ((*tables)->num == (*tables)->cap) {
       (*tables) = resizeTables((*tables));
    }

    (*tables)->array[(*tables)->num].data = myalloc(64, int);
    memset((*tables)->array[(*tables)->num].data, 0, 64 * sizeof(int));
    (*tables)->array[(*tables)->num].data[index] = count;
    (*tables)->array[(*tables)->num].id = target;
    (*tables)->num++;
  }
}
Beispiel #2
0
void SessionAnalysisWidget::resizeEvent(QResizeEvent *e)
{
    resizeTables();

    QWidget::resizeEvent(e);
}
Beispiel #3
0
void SessionAnalysisWidget::setupTables()
{
    if (ui.lapTimeTableWidget->rowCount() == 0)
        ui.lapTimeTableWidget->insertRow(0);

//    QList<int> sizes = ui.splitter->sizes();

    ColorsManager &sd = ColorsManager::getInstance();
    setItem(ui.lapTimeTableWidget, 0, 0, "P", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidget, 0, 1, "Driver", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignLeft | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidget, 0, 2, "Time", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidget, 0, 3, "Gap", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidget, 0, 4, "Lap", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));

    ui.lapTimeTableWidget->setRowHeight(0, 22);

    if (ui.lapTimeTableWidgetFP->rowCount() == 0)
        ui.lapTimeTableWidgetFP->insertRow(0);

    setItem(ui.lapTimeTableWidgetFP, 0, 0, "P", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetFP, 0, 1, "Driver", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignLeft | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetFP, 0, 2, "Time", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetFP, 0, 3, "Gap", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetFP, 0, 4, "S. time", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));

    ui.lapTimeTableWidgetQuali->setRowHeight(0, 22);

    if (ui.lapTimeTableWidgetQuali->rowCount() == 0)
        ui.lapTimeTableWidgetQuali->insertRow(0);

    setItem(ui.lapTimeTableWidgetQuali, 0, 0, "P", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQuali, 0, 1, "Driver", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignLeft | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQuali, 0, 2, "Time", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQuali, 0, 3, "Gap", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQuali, 0, 4, "S. time", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQuali, 0, 5, "Period", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));

    ui.lapTimeTableWidgetQuali->setRowHeight(0, 22);

    if (ui.lapTimeTableWidgetQ1->rowCount() == 0)
        ui.lapTimeTableWidgetQ1->insertRow(0);

    setItem(ui.lapTimeTableWidgetQ1, 0, 0, "P", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ1, 0, 1, "Driver", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignLeft | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ1, 0, 2, "Time", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ1, 0, 3, "Gap", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ1, 0, 4, "S. time", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));

    ui.lapTimeTableWidgetQ1->setRowHeight(0, 22);

    if (ui.lapTimeTableWidgetQ2->rowCount() == 0)
        ui.lapTimeTableWidgetQ2->insertRow(0);

    setItem(ui.lapTimeTableWidgetQ2, 0, 0, "P", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ2, 0, 1, "Driver", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignLeft | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ2, 0, 2, "Time", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ2, 0, 3, "Gap", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ2, 0, 4, "S. time", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));

    ui.lapTimeTableWidgetQ2->setRowHeight(0, 22);

    if (ui.lapTimeTableWidgetQ3->rowCount() == 0)
        ui.lapTimeTableWidgetQ3->insertRow(0);

    setItem(ui.lapTimeTableWidgetQ3, 0, 0, "P", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ3, 0, 1, "Driver", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignLeft | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ3, 0, 2, "Time", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ3, 0, 3, "Gap", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));
    setItem(ui.lapTimeTableWidgetQ3, 0, 4, "S. time", Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::AlignRight | Qt::AlignVCenter, sd.getColor(LTPackets::DEFAULT));

    ui.lapTimeTableWidgetQ3->setRowHeight(0, 22);

    resizeTables();
}