示例#1
0
SceneInspector::SceneInspector(ProbeInterface *probe, QObject *parent)
  : SceneInspectorInterface(parent),
    m_propertyController(new PropertyController("com.kdab.GammaRay.SceneInspector", this)),
    m_clientConnected(false)
{
  Server::instance()->registerMonitorNotifier(Endpoint::instance()->objectAddress(objectName()), this, "clientConnectedChanged");

  registerGraphicsViewMetaTypes();
  registerVariantHandlers();

  connect(probe->probe(), SIGNAL(objectSelected(QObject*,QPoint)),
          SLOT(objectSelected(QObject*,QPoint)));

  ObjectTypeFilterProxyModel<QGraphicsScene> *sceneFilterProxy =
    new ObjectTypeFilterProxyModel<QGraphicsScene>(this);
  sceneFilterProxy->setSourceModel(probe->objectListModel());
  SingleColumnObjectProxyModel *singleColumnProxy = new SingleColumnObjectProxyModel(this);
  singleColumnProxy->setSourceModel(sceneFilterProxy);
  probe->registerModel("com.kdab.GammaRay.SceneList", singleColumnProxy);

  QItemSelectionModel* sceneSelection = ObjectBroker::selectionModel(singleColumnProxy);
  connect(sceneSelection, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
          this, SLOT(sceneSelected(QItemSelection)));

  m_sceneModel = new SceneModel(this);
  probe->registerModel("com.kdab.GammaRay.SceneGraphModel", m_sceneModel);
  m_itemSelectionModel = ObjectBroker::selectionModel(m_sceneModel);
  connect(m_itemSelectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
          this, SLOT(sceneItemSelected(QItemSelection)));

  if (singleColumnProxy->rowCount()) {
    sceneSelection->setCurrentIndex(singleColumnProxy->index(0, 0), QItemSelectionModel::ClearAndSelect);
  }
}
StateMachineViewerServer::StateMachineViewerServer(ProbeInterface *probe, QObject *parent)
  : StateMachineViewerInterface(parent),
    m_stateModel(new StateModel(this)),
    m_transitionModel(new TransitionModel(this)),
    m_maximumDepth(0),
    m_stateMachineWatcher(new StateMachineWatcher(this))
{
  probe->registerModel("com.kdab.GammaRay.StateModel", m_stateModel);
  QItemSelectionModel *stateSelectionModel = ObjectBroker::selectionModel(m_stateModel);
  connect(stateSelectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
          SLOT(stateSelectionChanged()));

  ObjectTypeFilterProxyModel<QStateMachine> *stateMachineFilter =
    new ObjectTypeFilterProxyModel<QStateMachine>(this);
  stateMachineFilter->setSourceModel(probe->objectListModel());
  probe->registerModel("com.kdab.GammaRay.StateMachineModel", stateMachineFilter);
  QItemSelectionModel *stateMachineSelectionModel = ObjectBroker::selectionModel(stateMachineFilter);
  connect(stateMachineSelectionModel, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
          SLOT(handleMachineClicked(QModelIndex)));

  connect(m_stateMachineWatcher, SIGNAL(stateEntered(QAbstractState*)),
          SLOT(stateEntered(QAbstractState*)));
  connect(m_stateMachineWatcher, SIGNAL(stateExited(QAbstractState*)),
          SLOT(stateExited(QAbstractState*)));
  connect(m_stateMachineWatcher, SIGNAL(transitionTriggered(QAbstractTransition*)),
          SLOT(handleTransitionTriggered(QAbstractTransition*)));



  setMaximumDepth(3);
  updateStartStop();
}
TextDocumentInspector::TextDocumentInspector(ProbeInterface *probe, QObject *parent)
    : QObject(parent)
{
    ObjectTypeFilterProxyModel<QTextDocument> *documentFilter
        = new ObjectTypeFilterProxyModel<QTextDocument>(this);
    documentFilter->setSourceModel(probe->objectListModel());
    probe->registerModel(QStringLiteral("com.kdab.GammaRay.TextDocumentsModel"), documentFilter);

    QItemSelectionModel *selectionModel = ObjectBroker::selectionModel(documentFilter);
    connect(selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
            SLOT(documentSelected(QItemSelection,QItemSelection)));

    m_textDocumentModel = new TextDocumentModel(this);
    probe->registerModel(QStringLiteral("com.kdab.GammaRay.TextDocumentModel"),
                         m_textDocumentModel);

    selectionModel = ObjectBroker::selectionModel(m_textDocumentModel);
    connect(selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
            SLOT(documentElementSelected(QItemSelection,QItemSelection)));

    m_textDocumentFormatModel = new TextDocumentFormatModel(this);
    probe->registerModel(QStringLiteral(
                             "com.kdab.GammaRay.TextDocumentFormatModel"),
                         m_textDocumentFormatModel);
}
示例#4
0
StyleInspector::StyleInspector(ProbeInterface *probe, QObject *parent)
  : StyleInspectorInterface(parent),
    m_primitiveModel(new PrimitiveModel(this)),
    m_controlModel(new ControlModel(this)),
    m_complexControlModel(new ComplexControlModel(this)),
    m_pixelMetricModel(new PixelMetricModel(this)),
    m_standardIconModel(new StandardIconModel(this)),
    m_standardPaletteModel(new PaletteModel(this))
{
  ObjectTypeFilterProxyModel<QStyle> *styleFilter = new ObjectTypeFilterProxyModel<QStyle>(this);
  styleFilter->setSourceModel(probe->objectListModel());
  SingleColumnObjectProxyModel *singleColumnProxy = new SingleColumnObjectProxyModel(this);
  singleColumnProxy->setSourceModel(styleFilter);
  probe->registerModel("com.kdab.GammaRay.StyleList", singleColumnProxy);

  QItemSelectionModel *selectionModel = ObjectBroker::selectionModel(singleColumnProxy);
  connect(selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
          this, SLOT(styleSelected(QItemSelection)));

  probe->registerModel("com.kdab.GammaRay.StyleInspector.PrimitiveModel", m_primitiveModel);
  probe->registerModel("com.kdab.GammaRay.StyleInspector.ControlModel", m_controlModel);
  probe->registerModel("com.kdab.GammaRay.StyleInspector.ComplexControlModel", m_complexControlModel);
  probe->registerModel("com.kdab.GammaRay.StyleInspector.PixelMetricModel", m_pixelMetricModel);
  probe->registerModel("com.kdab.GammaRay.StyleInspector.StandardIconModel", m_standardIconModel);
  probe->registerModel("com.kdab.GammaRay.StyleInspector.PaletteModel", m_standardPaletteModel);
}
ScriptEngineDebugger::ScriptEngineDebugger(ProbeInterface *probe, QObject *parent)
  : QObject(parent)
{
  ObjectTypeFilterProxyModel<QScriptEngine> *scriptEngineFilter =
    new ObjectTypeFilterProxyModel<QScriptEngine>(this);
  scriptEngineFilter->setSourceModel(probe->objectListModel());
  SingleColumnObjectProxyModel *singleColumnProxy =
    new SingleColumnObjectProxyModel(this);
  singleColumnProxy->setSourceModel(scriptEngineFilter);

  probe->registerModel("com.kdab.GammaRay.ScriptEngines", singleColumnProxy);
}
示例#6
0
WebInspector::WebInspector(ProbeInterface *probe, QWidget *parent)
  : QWidget(parent), ui(new Ui::WebInspector)
{
  ui->setupUi(this);

  ObjectTypeFilterProxyModel<QWebPage> *webPageFilter =
    new ObjectTypeFilterProxyModel<QWebPage>(this);
  webPageFilter->setSourceModel(probe->objectListModel());
  SingleColumnObjectProxyModel *singleColumnProxy = new SingleColumnObjectProxyModel(this);
  singleColumnProxy->setSourceModel(webPageFilter);
  ui->webPageComboBox->setModel(singleColumnProxy);
  connect(ui->webPageComboBox, SIGNAL(activated(int)), SLOT(webPageSelected(int)));
}
SelectionModelInspector::SelectionModelInspector(ProbeInterface *probe, QObject *parent)
  : QObject(parent)
  , m_current(new QIdentityProxyModel(this))
{
  ObjectTypeFilterProxyModel<QItemSelectionModel> *selectionModelProxy =
    new ObjectTypeFilterProxyModel<QItemSelectionModel>(this);
  selectionModelProxy->setSourceModel(probe->objectListModel());
  probe->registerModel(QStringLiteral("com.kdab.GammaRay.SelectionModelsModel"), selectionModelProxy);

  QItemSelectionModel *selectionModel = ObjectBroker::selectionModel(selectionModelProxy);
  connect(selectionModel, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
          SLOT(currentChanged(QModelIndex)));

  probe->registerModel(QStringLiteral("com.kdab.GammaRay.CurrentSelectionModel"), m_current);
}
示例#8
0
ScriptEngineDebugger::ScriptEngineDebugger(ProbeInterface *probe, QWidget *parent)
  : QWidget(parent), ui(new Ui::ScriptEngineDebugger), debugger(new QScriptEngineDebugger(this))
{
  ui->setupUi(this);

  ObjectTypeFilterProxyModel<QScriptEngine> *scriptEngineFilter =
    new ObjectTypeFilterProxyModel<QScriptEngine>(this);
  scriptEngineFilter->setSourceModel(probe->objectListModel());
  SingleColumnObjectProxyModel *singleColumnProxy =
    new SingleColumnObjectProxyModel(this);
  singleColumnProxy->setSourceModel(scriptEngineFilter);
  ui->scriptEngineComboBox->setModel(singleColumnProxy);
  connect(ui->scriptEngineComboBox, SIGNAL(activated(int)), SLOT(scriptEngineSelected(int)));

  ui->verticalLayout_10->addWidget(debugger->standardWindow());

  if (ui->scriptEngineComboBox->count()) {
    scriptEngineSelected(0);
  }
}
示例#9
0
TextDocumentInspector::TextDocumentInspector(ProbeInterface *probe, QWidget *parent):
  QWidget(parent),
  ui(new Ui::TextDocumentInspector)
{
  ui->setupUi(this);

  ObjectTypeFilterProxyModel<QTextDocument> *documentFilter =
    new ObjectTypeFilterProxyModel<QTextDocument>(this);
  documentFilter->setSourceModel(probe->objectListModel());
  ui->documentList->setModel(documentFilter);
  connect(ui->documentList->selectionModel(),
          SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
          SLOT(documentSelected(QItemSelection,QItemSelection)));
  m_textDocumentModel = new TextDocumentModel(this);
  ui->documentTree->setModel(m_textDocumentModel);
  connect(ui->documentTree->selectionModel(),
          SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
          SLOT(documentElementSelected(QItemSelection,QItemSelection)));
  m_textDocumentFormatModel = new TextDocumentFormatModel(this);
  ui->documentFormatView->setModel(m_textDocumentFormatModel);
}
示例#10
0
SceneInspector::SceneInspector(ProbeInterface *probe, QObject *parent)
  : SceneInspectorInterface(parent),
    m_propertyController(new PropertyController(QStringLiteral("com.kdab.GammaRay.SceneInspector"), this)),
    m_clientConnected(false)
{
  Server::instance()->registerMonitorNotifier(Endpoint::instance()->objectAddress(objectName()), this, "clientConnectedChanged");

  PropertyController::registerExtension<PaintAnalyzerExtension>();

  registerGraphicsViewMetaTypes();
  registerVariantHandlers();

  connect(probe->probe(), SIGNAL(objectSelected(QObject*,QPoint)),
          SLOT(objectSelected(QObject*,QPoint)));
  connect(probe->probe(), SIGNAL(nonQObjectSelected(void*,QString)),
          this, SLOT(objectSelected(void*,QString)));

  ObjectTypeFilterProxyModel<QGraphicsScene> *sceneFilterProxy =
    new ObjectTypeFilterProxyModel<QGraphicsScene>(this);
  sceneFilterProxy->setSourceModel(probe->objectListModel());
  SingleColumnObjectProxyModel *singleColumnProxy = new SingleColumnObjectProxyModel(this);
  singleColumnProxy->setSourceModel(sceneFilterProxy);
  probe->registerModel(QStringLiteral("com.kdab.GammaRay.SceneList"), singleColumnProxy);

  QItemSelectionModel* sceneSelection = ObjectBroker::selectionModel(singleColumnProxy);
  connect(sceneSelection, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
          this, SLOT(sceneSelected(QItemSelection)));

  m_sceneModel = new SceneModel(this);
  auto sceneProxy = new ServerProxyModel<KRecursiveFilterProxyModel>(this);
  sceneProxy->setSourceModel(m_sceneModel);
  sceneProxy->addRole(ObjectModel::ObjectIdRole);
  probe->registerModel(QStringLiteral("com.kdab.GammaRay.SceneGraphModel"), sceneProxy);
  m_itemSelectionModel = ObjectBroker::selectionModel(sceneProxy);
  connect(m_itemSelectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
          this, SLOT(sceneItemSelected(QItemSelection)));
}