void DoubleStringsListSelectionWidget::qtWidgetsConnection() {
  connect(addButton, SIGNAL(clicked()),this, SLOT(pressButtonAdd()));
  connect(removeButton, SIGNAL(clicked()),this, SLOT(pressButtonRem()));
  connect(upButton, SIGNAL(clicked()),this, SLOT(pressButtonUp()));
  connect(downButton, SIGNAL(clicked()),this, SLOT(pressButtonDown()));
  connect(selectButton, SIGNAL(clicked()), this, SLOT(pressButtonSelectAll()));
  connect(unselectButton, SIGNAL(clicked()), this, SLOT(pressButtonUnselectAll()));
}
NominalAxisConfigDialog::NominalAxisConfigDialog(NominalParallelAxis *axis) : QDialog(), axis(axis) {

  setWindowTitle("Nominal Axis Configuration");

  QVBoxLayout *dialogLayout = new QVBoxLayout();
  QVBoxLayout *buttonsUpDownLayout = new QVBoxLayout();
  QHBoxLayout *labelsOrderLayout = new QHBoxLayout();
  QHBoxLayout *okButtonLayout = new QHBoxLayout();

  okButton = new QPushButton("OK");
  axisLabelsOrder = new ItemsListWidget(this);
  QPushButton* up = new QPushButton(QIcon(":/tulip/gui/icons/16/go-up.png"),"");
  QPushButton* lexOrder = new QPushButton(QString("Lexicographic") + QChar(QChar::LineSeparator) +  QString("     order"));
  QPushButton *down = new QPushButton(QIcon(":/tulip/gui/icons/16/go-down.png"),"");


  buttonsUpDownLayout->addWidget(up);
  buttonsUpDownLayout->addWidget(lexOrder);
  buttonsUpDownLayout->addWidget(down);

  labelsOrderLayout->addWidget(axisLabelsOrder);
  labelsOrderLayout->addLayout(buttonsUpDownLayout);

  dialogLayout->addWidget(new QLabel(tr("Axis Labels Order :")));
  dialogLayout->addLayout(labelsOrderLayout);
  okButtonLayout->addStretch(1);
  okButtonLayout->addWidget(okButton);
  okButtonLayout->addStretch(1);
  dialogLayout->addLayout(okButtonLayout);

  vector<string> labelsOrder = axis->getLabelsOrder();
  vector<string>::reverse_iterator it;

  for (it = labelsOrder.rbegin() ; it != labelsOrder.rend() ; ++it) {
    axisLabelsOrder->addItem(QString::fromUtf8((*it).c_str()));
  }

  setLayout(dialogLayout);

  connect(okButton,SIGNAL(clicked()),this,SLOT(close()));
  connect(up,SIGNAL(clicked()),this,SLOT(pressButtonUp()));
  connect(down,SIGNAL(clicked()),this,SLOT(pressButtonDown()));
  connect(lexOrder,SIGNAL(clicked()),this,SLOT(pressButtonLexOrder()));
}