void QQmlEngineControlService::messageReceived(const QByteArray &message) { QMutexLocker lock(&dataMutex); QQmlDebugStream d(message); int command; int engineId; d >> command >> engineId; QQmlEngine *engine = qobject_cast<QQmlEngine *>(objectForId(engineId)); if (command == StartWaitingEngine && startingEngines.contains(engine)) { startingEngines.removeOne(engine); emit attachedToEngine(engine); } else if (command == StopWaitingEngine && stoppingEngines.contains(engine)) { stoppingEngines.removeOne(engine); emit detachedFromEngine(engine); } }
std::vector< koi::RenderablePtr > Scene::getSelectedObjects() const { std::vector< koi::RenderablePtr > selected; for ( koi::RenderablePtr entity : getRenderObjects()) { uint identifier = entity->getIdentifier(); OpenGLShapePtr openGLEntity = objectForId( m_renderEntities, identifier); if ( openGLEntity && openGLEntity->getSelected() ) { selected.push_back( entity ); } } return selected; }
void QDeclarativeInspectorService::messageReceived(const QByteArray &message) { QDataStream ds(message); InspectorProtocol::Message type; ds >> type; switch (type) { case InspectorProtocol::SetCurrentObjects: { int itemCount = 0; ds >> itemCount; QList<QObject*> selectedObjects; for (int i = 0; i < itemCount; ++i) { int debugId = -1; ds >> debugId; if (QObject *obj = objectForId(debugId)) selectedObjects << obj; } emit currentObjectsChanged(selectedObjects); break; } case InspectorProtocol::Reload: { emit reloadRequested(); break; } case InspectorProtocol::SetAnimationSpeed: { qreal speed; ds >> speed; emit animationSpeedChangeRequested(speed); break; } case InspectorProtocol::SetAnimationPaused: { bool paused; ds >> paused; emit executionPauseChangeRequested(paused); break; } case InspectorProtocol::ChangeTool: { InspectorProtocol::Tool tool; ds >> tool; switch (tool) { case InspectorProtocol::ColorPickerTool: emit colorPickerToolRequested(); break; case InspectorProtocol::SelectTool: emit selectToolRequested(); break; case InspectorProtocol::SelectMarqueeTool: emit selectMarqueeToolRequested(); break; case InspectorProtocol::ZoomTool: emit zoomToolRequested(); break; default: qWarning() << "Warning: Unhandled tool:" << tool; } break; } case InspectorProtocol::SetDesignMode: { bool inDesignMode; ds >> inDesignMode; emit designModeBehaviorChanged(inDesignMode); break; } case InspectorProtocol::ShowAppOnTop: { bool showOnTop; ds >> showOnTop; emit showAppOnTopChanged(showOnTop); break; } case InspectorProtocol::CreateObject: { QString qml; int parentId; QString filename; QStringList imports; ds >> qml >> parentId >> imports >> filename; int order = -1; if (!ds.atEnd()) { ds >> order; } emit objectCreationRequested(qml, objectForId(parentId), imports, filename, order); break; } case InspectorProtocol::DestroyObject: { int debugId; ds >> debugId; if (QObject* obj = objectForId(debugId)) { emit objectDeletionRequested(obj); } break; } case InspectorProtocol::MoveObject: { int debugId, newParent; ds >> debugId >> newParent; emit objectReparentRequested(objectForId(debugId), objectForId(newParent)); break; } case InspectorProtocol::ObjectIdList: { int itemCount; ds >> itemCount; m_stringIdForObjectId.clear(); for (int i = 0; i < itemCount; ++i) { int itemDebugId; QString itemIdString; ds >> itemDebugId >> itemIdString; m_stringIdForObjectId.insert(itemDebugId, itemIdString); } break; } case InspectorProtocol::ClearComponentCache: { emit clearComponentCacheRequested(); break; } default: qWarning() << "Warning: Not handling message:" << type; }