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);
  }
}
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);
}
Example #4
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)));
}
Example #5
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);
  }
}
Example #6
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)));
}