MCPcopy Create free account
hub / github.com/MrKepzie/Natron / createMultiInstanceGui

Method createMultiInstanceGui

Gui/MultiInstancePanel.cpp:508–603  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

506}
507
508void
509MultiInstancePanel::createMultiInstanceGui(QVBoxLayout* layout)
510{
511 appendExtraGui(layout);
512 layout->addSpacing(20);
513
514 std::list<KnobPtr > instanceSpecificKnobs;
515 _imp->getInstanceSpecificKnobs(_imp->getMainInstance().get(), &instanceSpecificKnobs);
516
517 _imp->view = new TableView( layout->parentWidget() );
518 QObject::connect( _imp->view, SIGNAL(deleteKeyPressed()), this, SLOT(onDeleteKeyPressed()) );
519 QObject::connect( _imp->view, SIGNAL(itemRightClicked(TableItem*)), this, SLOT(onItemRightClicked(TableItem*)) );
520 TableItemDelegate* delegate = new TableItemDelegate(_imp->view, this);
521 _imp->view->setItemDelegate(delegate);
522
523 _imp->model = new TableModel(0, 0, _imp->view);
524 QObject::connect( _imp->model, SIGNAL(s_itemChanged(TableItem*)), this, SLOT(onItemDataChanged(TableItem*)) );
525 _imp->view->setTableModel(_imp->model);
526
527 QItemSelectionModel *selectionModel = _imp->view->selectionModel();
528 QObject::connect( selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this,
529 SLOT(onSelectionChanged(QItemSelection,QItemSelection)) );
530 QStringList dimensionNames;
531 for (std::list<KnobPtr >::iterator it = instanceSpecificKnobs.begin(); it != instanceSpecificKnobs.end(); ++it) {
532 QString knobDesc( QString::fromUtf8( (*it)->getLabel().c_str() ) );
533 int dims = (*it)->getDimension();
534 for (int i = 0; i < dims; ++i) {
535 QString dimName(knobDesc);
536 if (dims > 1) {
537 dimName += QLatin1Char(' ');
538 dimName += QString::fromUtf8( (*it)->getDimensionName(i).c_str() );
539 }
540 dimensionNames.push_back(dimName);
541 }
542 }
543
544 dimensionNames.prepend( QString::fromUtf8("Script-name") );
545 dimensionNames.prepend( QString::fromUtf8("Enabled") );
546
547 _imp->view->setColumnCount( dimensionNames.size() );
548 _imp->view->setHorizontalHeaderLabels(dimensionNames);
549
550 _imp->view->setAttribute(Qt::WA_MacShowFocusRect, 0);
551 _imp->view->setUniformRowHeights(true);
552
553#if QT_VERSION < 0x050000
554 _imp->view->header()->setResizeMode(QHeaderView::ResizeToContents);
555#else
556 _imp->view->header()->setSectionResizeMode(QHeaderView::ResizeToContents);
557#endif
558 _imp->view->header()->setStretchLastSection(true);
559
560
561 layout->addWidget(_imp->view);
562
563 _imp->buttonsContainer = new QWidget( layout->parentWidget() );
564 _imp->buttonsLayout = new QHBoxLayout(_imp->buttonsContainer);
565 _imp->buttonsLayout->setContentsMargins(0, 0, 0, 0);

Callers 1

initializeExtraGuiMethod · 0.80

Calls 15

QIconClass · 0.85
convertFromPlainTextFunction · 0.85
QStringClass · 0.85
getMainInstanceMethod · 0.80
setTableModelMethod · 0.80
getDimensionNameMethod · 0.80
setColumnCountMethod · 0.80
headerMethod · 0.80
addWidgetMethod · 0.80
getMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected