예제 #1
0
FermentableDialog::FermentableDialog(MainWindow* parent) :
   QDialog(parent),
   mainWindow(parent),
   fermEdit(new FermentableEditor(this)),
   numFerms(0)
{
   doLayout();

   fermTableModel = new FermentableTableModel(tableWidget, false);
   fermTableModel->setInventoryEditable(true);
   fermTableProxy = new FermentableSortFilterProxyModel(tableWidget);
   fermTableProxy->setSourceModel(fermTableModel);
   tableWidget->setModel(fermTableProxy);
   tableWidget->setSortingEnabled(true);
   tableWidget->sortByColumn( FERMNAMECOL, Qt::AscendingOrder );
   fermTableProxy->setDynamicSortFilter(true);
   fermTableProxy->setFilterKeyColumn(1);

   connect( pushButton_addToRecipe, SIGNAL( clicked() ), this, SLOT( addFermentable() ) );
   connect( pushButton_edit, SIGNAL( clicked() ), this, SLOT( editSelected() ) );
   connect( pushButton_remove, SIGNAL( clicked() ), this, SLOT( removeFermentable() ) );
   connect( pushButton_new, SIGNAL( clicked() ), this, SLOT( newFermentable() ) );
   connect( tableWidget, SIGNAL( doubleClicked(const QModelIndex&) ), this, SLOT(addFermentable(const QModelIndex&)) );
   connect( qLineEdit_searchBox, SIGNAL(textEdited(QString)), this, SLOT(filterFermentables(QString)));
   // Let me see if this works
   fermTableModel->observeDatabase(true);
}
예제 #2
0
void MainWindow::keyReleaseEvent(QKeyEvent *event)
{
    QMainWindow::keyReleaseEvent(event);
    switch(event->key())
    {
    case Qt::Key_Left:
        back();
        break;
    case Qt::Key_Right:
        originalSelected();
        break;
    case Qt::Key_Up:
        backwardSelected();
        break;
    case Qt::Key_Down:
        fordwardSelected();
        break;
    case Qt::Key_Escape:
        editSelected();
        break;
    }
}
예제 #3
0
// ******************************************************************************************
// Create the main content widget
// ******************************************************************************************
QWidget* VirtualJointsWidget::createContentsWidget()
{
  // Main widget
  QWidget *content_widget = new QWidget( this );

  // Basic widget container
  QVBoxLayout *layout = new QVBoxLayout( this );

  // Table ------------ ------------------------------------------------

  data_table_ = new QTableWidget( this );
  data_table_->setColumnCount(4);
  data_table_->setSortingEnabled(true);
  data_table_->setSelectionBehavior( QAbstractItemView::SelectRows );
  connect( data_table_, SIGNAL( cellDoubleClicked( int, int ) ), this, SLOT( editDoubleClicked( int, int ) ) );
  connect( data_table_, SIGNAL( cellClicked( int, int ) ), this, SLOT( previewClicked( int, int ) ) );
  layout->addWidget( data_table_ );

  // Set header labels
  QStringList header_list;
  header_list.append("Virtual Joint Name");
  header_list.append("Child Link");
  header_list.append("Parent Frame");
  header_list.append("Type");
  data_table_->setHorizontalHeaderLabels(header_list);

  // Bottom Buttons --------------------------------------------------

  QHBoxLayout *controls_layout = new QHBoxLayout();

  // Spacer
  QWidget *spacer = new QWidget( this );
  spacer->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
  controls_layout->addWidget( spacer );

  // Edit Selected Button
  btn_edit_ = new QPushButton( "&Edit Selected", this );
  btn_edit_->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred );
  btn_edit_->setMaximumWidth(300);
  btn_edit_->hide(); // show once we know if there are existing poses
  connect(btn_edit_, SIGNAL(clicked()), this, SLOT(editSelected()));
  controls_layout->addWidget(btn_edit_);
  controls_layout->setAlignment( btn_edit_, Qt::AlignRight );

  // Delete Selected Button
  btn_delete_ = new QPushButton( "&Delete Selected", this );
  connect( btn_delete_, SIGNAL(clicked()), this, SLOT( deleteSelected() ) );
  controls_layout->addWidget( btn_delete_ );
  controls_layout->setAlignment(btn_delete_, Qt::AlignRight);

  // Add VJoint Button
  QPushButton *btn_add = new QPushButton( "&Add Virtual Joint", this );
  btn_add->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred );
  btn_add->setMaximumWidth(300);
  connect(btn_add, SIGNAL(clicked()), this, SLOT(showNewScreen()));
  controls_layout->addWidget(btn_add);
  controls_layout->setAlignment( btn_add, Qt::AlignRight );

  // Add layout
  layout->addLayout( controls_layout );


  // Set layout -----------------------------------------------------
  content_widget->setLayout(layout);

  return content_widget;
}
예제 #4
0
// ******************************************************************************************
// Edit whatever element is selected
// ******************************************************************************************
void VirtualJointsWidget::editDoubleClicked( int row, int column )
{
  editSelected();
}
// ******************************************************************************************
// Edit whatever element is selected
// ******************************************************************************************
void EndEffectorsWidget::editDoubleClicked( int row, int column )
{
  editSelected();
}