void AccountTreeView::contextMenuEvent ( QContextMenuEvent *event ) { kDebug(planDbg()); emit contextMenuRequested( indexAt(event->pos()), event->globalPos() ); }
PackageWidget::PackageWidget(QWidget *parent) : QWidget(parent) , m_backend(0) , m_headerLabel(0) , m_searchEdit(0) , m_packagesType(0) , m_stop(false) { m_watcher = new QFutureWatcher<QList<QApt::Package*> >(this); connect(m_watcher, SIGNAL(finished()), this, SLOT(setSortedPackages())); m_model = new PackageModel(this); PackageDelegate *delegate = new PackageDelegate(this); m_proxyModel = new PackageProxyModel(this); m_proxyModel->setSourceModel(m_model); QVBoxLayout *topVBox = new QVBoxLayout; topVBox->setContentsMargins(0, 0, 0, 0); topVBox->setSpacing(0); m_headerLabel = new QLabel; m_headerLabel->setTextFormat(Qt::RichText); topVBox->addWidget(m_headerLabel); m_searchTimer = new QTimer(this); m_searchTimer->setInterval(300); m_searchTimer->setSingleShot(true); connect(m_searchTimer, SIGNAL(timeout()), this, SLOT(startSearch())); setupActions(); m_searchEdit = new QLineEdit; m_searchEdit->setEnabled(false); m_searchEdit->setPlaceholderText(i18nc("@label Line edit click message", "Search")); m_searchEdit->setClearButtonEnabled(true); m_searchEdit->hide(); // Off by default, use showSearchEdit() to show topVBox->addWidget(m_searchEdit); m_packageView = new PackageView; m_packageView->setModel(m_proxyModel); m_packageView->setItemDelegate(delegate); m_packageView->header()->setSectionResizeMode(0, QHeaderView::Stretch); for (int i = 3; i < NUM_COLUMNS; ++i) { m_packageView->header()->setSectionHidden(i, true); } topVBox->addWidget(m_packageView); m_detailsWidget = new DetailsWidget; connect(m_detailsWidget, SIGNAL(setInstall(QApt::Package*)), this, SLOT(setInstall(QApt::Package*))); connect(m_detailsWidget, SIGNAL(setRemove(QApt::Package*)), this, SLOT(setRemove(QApt::Package*))); connect(m_detailsWidget, SIGNAL(setUpgrade(QApt::Package*)), this, SLOT(setUpgrade(QApt::Package*))); connect(m_detailsWidget, SIGNAL(setReInstall(QApt::Package*)), this, SLOT(setReInstall(QApt::Package*))); connect(m_detailsWidget, SIGNAL(setKeep(QApt::Package*)), this, SLOT(setKeep(QApt::Package*))); connect(m_detailsWidget, SIGNAL(setPurge(QApt::Package*)), this, SLOT(setPurge(QApt::Package*))); m_busyWidget = new KPixmapSequenceOverlayPainter(this); m_busyWidget->setSequence(KPixmapSequence("process-working", KIconLoader::SizeSmallMedium)); m_busyWidget->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); m_busyWidget->setWidget(m_packageView->viewport()); QApplication::setOverrideCursor(Qt::WaitCursor); m_busyWidget->start(); connect(m_packageView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenuRequested(QPoint))); connect(m_packageView, SIGNAL(currentPackageChanged(QModelIndex)), this, SLOT(packageActivated(QModelIndex))); connect(m_packageView, SIGNAL(selectionEmpty()), m_detailsWidget, SLOT(hide())); connect(m_packageView, SIGNAL(selectionMulti()), m_detailsWidget, SLOT(emitHideButtons())); connect(m_packageView->header(), SIGNAL(sectionClicked(int)), this, SLOT(sectionClicked(int))); connect(m_searchEdit, SIGNAL(textChanged(QString)), m_searchTimer, SLOT(start())); QWidget* topWidget = new QWidget; topWidget->setLayout(topVBox); QSplitter *splitter = new QSplitter; splitter->setOrientation(Qt::Vertical); splitter->addWidget(topWidget); splitter->addWidget(m_detailsWidget); setLayout(new QVBoxLayout); layout()->setContentsMargins(0, 0, 0, 0); layout()->addWidget(splitter); }
void CalendarTreeView::contextMenuEvent ( QContextMenuEvent *event ) { //debugPlan; emit contextMenuRequested( indexAt(event->pos()), event->globalPos() ); }
void ActionListView::contextMenuEvent(QContextMenuEvent *event) { emit contextMenuRequested(event, m_model->actionAt(indexAt(event->pos()))); }
int Q3IconView::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = Q3ScrollView::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: selectionChanged(); break; case 1: selectionChanged((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 2: currentChanged((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 3: clicked((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 4: clicked((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 5: pressed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 6: pressed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 7: doubleClicked((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 8: returnPressed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 9: rightButtonClicked((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 10: rightButtonPressed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 11: mouseButtonPressed((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< Q3IconViewItem*(*)>(_a[2])),(*reinterpret_cast< const QPoint(*)>(_a[3]))); break; case 12: mouseButtonClicked((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< Q3IconViewItem*(*)>(_a[2])),(*reinterpret_cast< const QPoint(*)>(_a[3]))); break; case 13: contextMenuRequested((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 14: dropped((*reinterpret_cast< QDropEvent*(*)>(_a[1])),(*reinterpret_cast< const Q3ValueList<Q3IconDragItem>(*)>(_a[2]))); break; case 15: moved(); break; case 16: onItem((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 17: onViewport(); break; case 18: itemRenamed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 19: itemRenamed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 20: arrangeItemsInGrid((*reinterpret_cast< const QSize(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break; case 21: arrangeItemsInGrid((*reinterpret_cast< const QSize(*)>(_a[1]))); break; case 22: arrangeItemsInGrid((*reinterpret_cast< bool(*)>(_a[1]))); break; case 23: arrangeItemsInGrid(); break; case 24: setContentsPos((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 25: updateContents(); break; case 26: doAutoScroll(); break; case 27: adjustItems(); break; case 28: slotUpdate(); break; case 29: movedContents((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; } _id -= 30; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = sorting(); break; case 1: *reinterpret_cast< bool*>(_v) = sortDirection(); break; case 2: *reinterpret_cast< SelectionMode*>(_v) = selectionMode(); break; case 3: *reinterpret_cast< int*>(_v) = gridX(); break; case 4: *reinterpret_cast< int*>(_v) = gridY(); break; case 5: *reinterpret_cast< int*>(_v) = spacing(); break; case 6: *reinterpret_cast< ItemTextPos*>(_v) = itemTextPos(); break; case 7: *reinterpret_cast< QBrush*>(_v) = itemTextBackground(); break; case 8: *reinterpret_cast< Arrangement*>(_v) = arrangement(); break; case 9: *reinterpret_cast< ResizeMode*>(_v) = resizeMode(); break; case 10: *reinterpret_cast< int*>(_v) = maxItemWidth(); break; case 11: *reinterpret_cast< int*>(_v) = maxItemTextLength(); break; case 12: *reinterpret_cast< bool*>(_v) = autoArrange(); break; case 13: *reinterpret_cast< bool*>(_v) = itemsMovable(); break; case 14: *reinterpret_cast< bool*>(_v) = wordWrapIconText(); break; case 15: *reinterpret_cast< bool*>(_v) = showToolTips(); break; case 16: *reinterpret_cast< uint*>(_v) = count(); break; } _id -= 17; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 2: setSelectionMode(*reinterpret_cast< SelectionMode*>(_v)); break; case 3: setGridX(*reinterpret_cast< int*>(_v)); break; case 4: setGridY(*reinterpret_cast< int*>(_v)); break; case 5: setSpacing(*reinterpret_cast< int*>(_v)); break; case 6: setItemTextPos(*reinterpret_cast< ItemTextPos*>(_v)); break; case 7: setItemTextBackground(*reinterpret_cast< QBrush*>(_v)); break; case 8: setArrangement(*reinterpret_cast< Arrangement*>(_v)); break; case 9: setResizeMode(*reinterpret_cast< ResizeMode*>(_v)); break; case 10: setMaxItemWidth(*reinterpret_cast< int*>(_v)); break; case 11: setMaxItemTextLength(*reinterpret_cast< int*>(_v)); break; case 12: setAutoArrange(*reinterpret_cast< bool*>(_v)); break; case 13: setItemsMovable(*reinterpret_cast< bool*>(_v)); break; case 14: setWordWrapIconText(*reinterpret_cast< bool*>(_v)); break; case 15: setShowToolTips(*reinterpret_cast< bool*>(_v)); break; } _id -= 17; } else if (_c == QMetaObject::ResetProperty) { _id -= 17; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 17; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 17; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 17; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 17; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 17; } #endif // QT_NO_PROPERTIES return _id; }
void Wizard::contextMenuEvent( QContextMenuEvent * e ) { e->accept(); QPoint p = e->globalPos(); emit contextMenuRequested(p.x(), p.y()); }
Reviews::Reviews( QWidget * parent, Okular::Document * document ) : QWidget( parent ), m_document( document ) { // create widgets and layout them vertically QVBoxLayout * vLayout = new QVBoxLayout( this ); vLayout->setMargin( 0 ); vLayout->setSpacing( 6 ); m_view = new TreeView( m_document, this ); m_view->setAlternatingRowColors( true ); m_view->setSelectionMode( QAbstractItemView::ExtendedSelection ); m_view->header()->hide(); QToolBar *toolBar = new QToolBar( this ); toolBar->setObjectName( QLatin1String( "reviewOptsBar" ) ); QSizePolicy sp = toolBar->sizePolicy(); sp.setVerticalPolicy( QSizePolicy::Minimum ); toolBar->setSizePolicy( sp ); m_model = new AnnotationModel( m_document, m_view ); m_filterProxy = new PageFilterProxyModel( m_view ); m_groupProxy = new PageGroupProxyModel( m_view ); m_authorProxy = new AuthorGroupProxyModel( m_view ); m_filterProxy->setSourceModel( m_model ); m_groupProxy->setSourceModel( m_filterProxy ); m_authorProxy->setSourceModel( m_groupProxy ); m_view->setModel( m_authorProxy ); m_searchLine = new KTreeViewSearchLine( this, m_view ); m_searchLine->setCaseSensitivity( Okular::Settings::self()->reviewsSearchCaseSensitive() ? Qt::CaseSensitive : Qt::CaseInsensitive ); m_searchLine->setRegularExpression( Okular::Settings::self()->reviewsSearchRegularExpression() ); connect( m_searchLine, SIGNAL(searchOptionsChanged()), this, SLOT(saveSearchOptions()) ); vLayout->addWidget( m_searchLine ); vLayout->addWidget( m_view ); vLayout->addWidget( toolBar ); toolBar->setIconSize( QSize( 16, 16 ) ); toolBar->setMovable( false ); // - add Page button QAction * groupByPageAction = toolBar->addAction( KIcon( "text-x-generic" ), i18n( "Group by Page" ) ); groupByPageAction->setCheckable( true ); connect( groupByPageAction, SIGNAL(toggled(bool)), this, SLOT(slotPageEnabled(bool)) ); groupByPageAction->setChecked( Okular::Settings::groupByPage() ); // - add Author button QAction * groupByAuthorAction = toolBar->addAction( KIcon( "user-identity" ), i18n( "Group by Author" ) ); groupByAuthorAction->setCheckable( true ); connect( groupByAuthorAction, SIGNAL(toggled(bool)), this, SLOT(slotAuthorEnabled(bool)) ); groupByAuthorAction->setChecked( Okular::Settings::groupByAuthor() ); // - add separator toolBar->addSeparator(); // - add Current Page Only button QAction * curPageOnlyAction = toolBar->addAction( KIcon( "arrow-down" ), i18n( "Show reviews for current page only" ) ); curPageOnlyAction->setCheckable( true ); connect( curPageOnlyAction, SIGNAL(toggled(bool)), this, SLOT(slotCurrentPageOnly(bool)) ); curPageOnlyAction->setChecked( Okular::Settings::currentPageOnly() ); connect( m_view, SIGNAL(activated(QModelIndex)), this, SLOT(activated(QModelIndex)) ); m_view->setContextMenuPolicy( Qt::CustomContextMenu ); connect( m_view, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenuRequested(QPoint)) ); }
void CurveSegmentView::contextMenuEvent(QGraphicsSceneContextMenuEvent* ev) { emit contextMenuRequested(ev->screenPos()); }
void TreeLog::on_m_TreeLog_customContextMenuRequested(const QPoint& pos) { emit contextMenuRequested(treeLog().viewport()->mapToGlobal(pos)); }
KoResourceItemChooser::KoResourceItemChooser(QSharedPointer<KoAbstractResourceServerAdapter> resourceAdapter, QWidget *parent ) : QWidget( parent ), d( new Private() ) { Q_ASSERT(resourceAdapter); d->splitter = new QSplitter(this); d->model = new KoResourceModel(resourceAdapter, this); d->view = new KoResourceItemView(this); d->view->setModel(d->model); d->view->setItemDelegate( new KoResourceItemDelegate( this ) ); d->view->setSelectionMode( QAbstractItemView::SingleSelection ); d->view->viewport()->installEventFilter(this); connect(d->view, SIGNAL(currentResourceChanged(QModelIndex)), this, SLOT(activated(QModelIndex))); connect (d->view, SIGNAL(contextMenuRequested(QPoint)), this, SLOT(contextMenuRequested(QPoint))); d->previewScroller = new QScrollArea(this); d->previewScroller->setWidgetResizable(true); d->previewScroller->setBackgroundRole(QPalette::Dark); d->previewScroller->setVisible(false); d->previewScroller->setAlignment(Qt::AlignCenter); d->previewLabel = new QLabel(this); d->previewScroller->setWidget(d->previewLabel); d->splitter->addWidget(d->view); d->splitter->addWidget(d->previewScroller); d->splitter->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); connect(d->splitter, SIGNAL(splitterMoved(int,int)), SIGNAL(splitterMoved())); d->buttonGroup = new QButtonGroup(this); d->buttonGroup->setExclusive(false); QGridLayout* layout = new QGridLayout(this); QGridLayout* buttonLayout = new QGridLayout; QPushButton *button = new QPushButton(this); button->setIcon(koIcon("document-open")); button->setToolTip(i18nc("@info:tooltip", "Import resource")); button->setEnabled(true); d->buttonGroup->addButton(button, Button_Import); buttonLayout->addWidget(button, 0, 0); button = new QPushButton(this); button->setIcon(koIcon("trash-empty")); button->setToolTip(i18nc("@info:tooltip", "Delete resource")); button->setEnabled(false); d->buttonGroup->addButton(button, Button_Remove); buttonLayout->addWidget(button, 0, 1); button = new QPushButton(this); button->setIcon(koIcon("download")); button->setToolTip(i18nc("@info:tooltip", "Download resource")); button->setEnabled(true); button->hide(); d->buttonGroup->addButton(button, Button_GhnsDownload); buttonLayout->addWidget(button, 0, 3); button = new QPushButton(this); button->setIcon(koIcon("go-up")); button->setToolTip(i18nc("@info:tooltip", "Share Resource")); button->setEnabled(false); button->hide(); d->buttonGroup->addButton( button, Button_GhnsUpload); buttonLayout->addWidget(button, 0, 4); connect( d->buttonGroup, SIGNAL(buttonClicked(int)), this, SLOT(slotButtonClicked(int))); buttonLayout->setColumnStretch(0, 1); buttonLayout->setColumnStretch(1, 1); buttonLayout->setColumnStretch(2, 2); buttonLayout->setSpacing(0); buttonLayout->setMargin(0); d->viewModeButton = new QToolButton(this); d->viewModeButton->setIcon(koIcon("view-choose")); d->viewModeButton->setPopupMode(QToolButton::InstantPopup); d->viewModeButton->setVisible(false); d->tagManager = new KoResourceTaggingManager(d->model, this); layout->addWidget(d->tagManager->tagChooserWidget(), 0, 0); layout->addWidget(d->viewModeButton, 0, 1); layout->addWidget(d->splitter, 1, 0, 1, 2); layout->addWidget(d->tagManager->tagFilterWidget(), 2, 0, 1, 2); layout->addLayout(buttonLayout, 3, 0, 1, 2); layout->setMargin(0); layout->setSpacing(0); updateButtonState(); showTaggingBar(false,false); activated(d->model->index(0, 0)); }
void KoResourceItemView::contextMenuEvent(QContextMenuEvent *event) { QTableView::contextMenuEvent(event); emit contextMenuRequested(event->globalPos()); }
MainWindow::MainWindow(QWidget* parent) : CGAL::Qt::DemosMainWindow(parent) { ui = new Ui::MainWindow; ui->setupUi(this); // Save some pointers from ui, for latter use. treeView = ui->treeView; viewer = ui->viewer; // do not save the state of the viewer (anoying) viewer->setStateFileName(QString::null); // setup scene scene = new Scene(this); viewer->setScene(scene); treeView->setModel(scene); // setup the treeview: delegation and columns sizing... treeView->setItemDelegate(new SceneDelegate(this)); treeView->header()->setStretchLastSection(false); treeView->header()->setResizeMode(Scene::NameColumn, QHeaderView::Stretch); treeView->header()->setResizeMode(Scene::NameColumn, QHeaderView::Stretch); treeView->header()->setResizeMode(Scene::ColorColumn, QHeaderView::ResizeToContents); treeView->header()->setResizeMode(Scene::RenderingModeColumn, QHeaderView::Fixed); treeView->header()->setResizeMode(Scene::ABColumn, QHeaderView::Fixed); treeView->header()->setResizeMode(Scene::VisibleColumn, QHeaderView::Fixed); treeView->resizeColumnToContents(Scene::ColorColumn); treeView->resizeColumnToContents(Scene::RenderingModeColumn); treeView->resizeColumnToContents(Scene::ABColumn); treeView->resizeColumnToContents(Scene::VisibleColumn); // setup connections connect(scene, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex & )), this, SLOT(updateInfo())); connect(scene, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex & )), this, SLOT(updateDisplayInfo())); connect(scene, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex & )), viewer, SLOT(updateGL())); connect(scene, SIGNAL(updated()), viewer, SLOT(update())); connect(scene, SIGNAL(updated()), this, SLOT(selectionChanged())); connect(scene, SIGNAL(itemAboutToBeDestroyed(Scene_item*)), this, SLOT(removeManipulatedFrame(Scene_item*))); connect(scene, SIGNAL(updated_bbox()), this, SLOT(updateViewerBBox())); connect(treeView->selectionModel(), SIGNAL(selectionChanged ( const QItemSelection & , const QItemSelection & ) ), this, SLOT(updateInfo())); connect(treeView->selectionModel(), SIGNAL(selectionChanged ( const QItemSelection & , const QItemSelection & ) ), this, SLOT(updateDisplayInfo())); connect(treeView->selectionModel(), SIGNAL(selectionChanged ( const QItemSelection & , const QItemSelection & ) ), this, SLOT(selectionChanged())); treeView->setContextMenuPolicy(Qt::CustomContextMenu); connect(treeView, SIGNAL(customContextMenuRequested(const QPoint & )), this, SLOT(showSceneContextMenu(const QPoint &))); connect(viewer, SIGNAL(selected(int)), this, SLOT(selectSceneItem(int))); connect(viewer, SIGNAL(selectedPoint(double, double, double)), this, SLOT(showSelectedPoint(double, double, double))); connect(viewer, SIGNAL(selectionRay(double, double, double, double, double, double)), scene, SIGNAL(selectionRay(double, double, double, double, double, double))); connect(viewer, SIGNAL(requestContextMenu(QPoint)), this, SLOT(contextMenuRequested(QPoint))); connect(ui->infoLabel, SIGNAL(customContextMenuRequested(const QPoint & )), this, SLOT(showSceneContextMenu(const QPoint &))); connect(ui->actionRecenterScene, SIGNAL(triggered()), viewer->camera(), SLOT(interpolateToFitScene())); connect(ui->actionRecenterScene, SIGNAL(triggered()), viewer, SLOT(update())); connect(ui->actionAntiAliasing, SIGNAL(toggled(bool)), viewer, SLOT(setAntiAliasing(bool))); connect(ui->actionDraw_two_sides, SIGNAL(toggled(bool)), viewer, SLOT(setTwoSides(bool))); // enable anti-aliasing by default // ui->actionAntiAliasing->setChecked(true); // add the "About CGAL..." and "About demo..." entries this->addAboutCGAL(); this->addAboutDemo(":/cgal/Polyhedron_3/about.html"); // Connect the button "addButton" with actionLoad ui->addButton->setDefaultAction(ui->actionLoad); // Same with "removeButton" and "duplicateButton" ui->removeButton->setDefaultAction(ui->actionErase); ui->duplicateButton->setDefaultAction(ui->actionDuplicate); // Connect actionQuit (Ctrl+Q) and qApp->quit() connect(ui->actionQuit, SIGNAL(triggered()), this, SLOT(quit())); // Connect "Select all items" connect(ui->actionSelect_all_items, SIGNAL(triggered()), this, SLOT(selectAll())); // Recent files menu this->addRecentFiles(ui->menuFile, ui->actionQuit); connect(this, SIGNAL(openRecentFile(QString)), this, SLOT(open(QString))); // Reset the "Operation menu" clearMenu(ui->menuOperations); #ifdef QT_SCRIPT_LIB std::cerr << "Enable scripts.\n"; script_engine = new QScriptEngine(this); qScriptRegisterMetaType<Scene_item*>(script_engine, myScene_itemToScriptValue, myScene_itemFromScriptValue); # ifdef QT_SCRIPTTOOLS_LIB QScriptEngineDebugger* debugger = new QScriptEngineDebugger(this); debugger->setObjectName("qt script debugger"); QAction* debuggerMenuAction = menuBar()->addMenu(debugger->createStandardMenu()); debuggerMenuAction->setText(tr("Qt Script &debug")); for(unsigned int i = 0; i < 9; ++i) { QDockWidget* dock = new QDockWidget(debug_widgets_names[i], this); dock->setObjectName(debug_widgets_names[i]); dock->setWidget(debugger->widget(debug_widgets[i])); this->addDockWidget(Qt::BottomDockWidgetArea, dock); dock->hide(); } debugger->setAutoShowStandardWindow(false); debugger->attachTo(script_engine); # endif // QT_SCRIPTTOOLS_LIB QScriptValue fun = script_engine->newFunction(myPrintFunction); script_engine->globalObject().setProperty("print", fun); // evaluate_script("print('hello', 'world', 'from QtScript!')"); QScriptValue mainWindowObjectValue = script_engine->newQObject(this); script_engine->globalObject().setProperty("main_window", mainWindowObjectValue); QScriptValue sceneObjectValue = script_engine->newQObject(scene); mainWindowObjectValue.setProperty("scene", sceneObjectValue); script_engine->globalObject().setProperty("scene", sceneObjectValue); QScriptValue viewerObjectValue = script_engine->newQObject(viewer); mainWindowObjectValue.setProperty("viewer", viewerObjectValue); script_engine->globalObject().setProperty("viewer", viewerObjectValue); QScriptValue cameraObjectValue = script_engine->newQObject(viewer->camera()); viewerObjectValue.setProperty("camera", cameraObjectValue); script_engine->globalObject().setProperty("camera", cameraObjectValue); evaluate_script("var plugins = new Array();"); # ifdef QT_SCRIPTTOOLS_LIB QScriptValue debuggerObjectValue = script_engine->newQObject(debugger); script_engine->globalObject().setProperty("debugger", debuggerObjectValue); # endif #endif // Load plugins, and re-enable actions that need it. loadPlugins(); // Setup the submenu of the View menu that can toggle the dockwidgets Q_FOREACH(QDockWidget* widget, findChildren<QDockWidget*>()) { ui->menuDockWindows->addAction(widget->toggleViewAction()); }
/*! translates \a pos to a model index and emits contextMenuRequested() */ void MetaListViewWidget::slotContextMenuRequested(const QPoint & pos) { QModelIndex index = m_listView->indexAt(pos); emit contextMenuRequested(index); }