Skip to content
Closed
24 changes: 12 additions & 12 deletions .github/ci/packages.apt
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,18 @@ python3-gz-transport14
python3-pybind11
python3-pytest
python3-sdformat15
qml-module-qt-labs-folderlistmodel
qml-module-qt-labs-settings
qml-module-qtgraphicaleffects
qml-module-qtqml-models2
qml-module-qtquick-controls
qml-module-qtquick-controls2
qml-module-qtquick-dialogs
qml-module-qtquick-layouts
qml-module-qtquick2
qtbase5-dev
qtdeclarative5-dev
qtquickcontrols2-5-dev
qml6-module-qt-labs-folderlistmodel
qml6-module-qt-labs-settings
qml6-module-qt5compat-graphicaleffects
qml6-module-qtqml-models
qml6-module-qtquick-controls
qml6-module-qtquick-dialogs
qml6-module-qtquick-layouts
qml6-module-qtquick
qt6-5compat-dev
qt6-base-dev
qt6-base-private-dev
qt6-declarative-dev
uuid-dev
xvfb
x11-utils
Expand Down
16 changes: 14 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,25 @@ set(GZ_FUEL_TOOLS_VER ${gz-fuel_tools10_VERSION_MAJOR})
#--------------------------------------
# Find gz-gui
gz_find_package(gz-gui REQUIRED)
gz_find_package (Qt5

set(QT_MAJOR_VERSION 6)
set(QT_MINOR_VERSION 4)
gz_find_package (Qt${QT_MAJOR_VERSION}
VERSION ${QT_MAJOR_VERSION}.${QT_MINOR_VERSION}
COMPONENTS
Core
Quick
QuickControls2
REQUIRED
PKGCONFIG "Qt5Core Qt5Quick Qt5QuickControls2")
PKGCONFIG "Qt${QT_MAJOR_VERSION}Core Qt${QT_MAJOR_VERSION}Quick Qt${QT_MAJOR_VERSION}QuickControls2")

set(CMAKE_AUTOMOC TRUE)
set(CMAKE_AUTOUIC TRUE)
set(CMAKE_AUTORCC TRUE)
if(POLICY CMP0100)
cmake_policy(SET CMP0100 NEW)
endif()


#--------------------------------------
# Find gz-physics
Expand Down
2 changes: 1 addition & 1 deletion examples/plugin/gui_system_plugin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ set(CMAKE_AUTOMOC ON)

find_package(gz-sim REQUIRED COMPONENTS gui)

QT5_ADD_RESOURCES(resources_RCC ${PROJECT_NAME}.qrc)
QT_ADD_RESOURCES(resources_RCC ${PROJECT_NAME}.qrc)

add_library(${PROJECT_NAME} SHARED
${PROJECT_NAME}.cc
Expand Down
2 changes: 1 addition & 1 deletion examples/plugin/gui_system_plugin/GuiSystemPlugin.qml
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ import QtQuick.Controls 2.2
// Display custom property text
Text {
width: 300
text: GuiSystemPlugin.customProperty
text: _GuiSystemPlugin.customProperty
}
2 changes: 1 addition & 1 deletion examples/plugin/rendering_plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ set(CMAKE_AUTOMOC ON)

find_package(gz-gui REQUIRED)

QT5_ADD_RESOURCES(resources_RCC ${GUI_PLUGIN}.qrc)
QT_ADD_RESOURCES(resources_RCC ${GUI_PLUGIN}.qrc)

add_library(${GUI_PLUGIN} SHARED
${GUI_PLUGIN}.cc
Expand Down
2 changes: 1 addition & 1 deletion examples/plugin/rendering_plugins/RenderingGuiPlugin.qml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Rectangle {
Button {
text: qsTr("Random GUI color!")
onClicked: {
RenderingGuiPlugin.RandomColor();
_RenderingGuiPlugin.RandomColor();
}
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
Expand Down
11 changes: 7 additions & 4 deletions src/gui/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ set(CMAKE_AUTORCC ON)

# CMake AUTOMOC does not generate moc_*.cpp files automatically for headers
# located in different directories than the containing .cc file. For Qt header
# files in `include/gz/sim/gui`, we use qt5_wrap_cpp instead. There is
# files in `include/gz/sim/gui`, we use qt_wrap_cpp instead. There is
# no need to add entries for Qt header files in `src/gui/`.
qt5_wrap_cpp(gui_sources
qt_wrap_cpp(gui_sources
${PROJECT_SOURCE_DIR}/include/gz/sim/gui/GuiSystem.hh
)

Expand All @@ -51,8 +51,11 @@ target_link_libraries(${gui_target}
gz-gui::gz-gui
gz-transport${GZ_TRANSPORT_VER}::gz-transport${GZ_TRANSPORT_VER}
gz-utils${GZ_UTILS_VER}::gz-utils${GZ_UTILS_VER}
${Qt5Core_LIBRARIES}
${Qt5Widgets_LIBRARIES}
Qt::Core
Qt::Qml
Qt::Quick
Qt::QuickControls2
Qt::Widgets
)

set(CMAKE_AUTOMOC OFF)
Expand Down
8 changes: 6 additions & 2 deletions src/gui/Gui.cc
Original file line number Diff line number Diff line change
Expand Up @@ -434,8 +434,8 @@ std::unique_ptr<gz::gui::Application> createGui(

// Let QML files use C++ functions and properties
auto context = new QQmlContext(app->Engine()->rootContext());
context->setContextProperty("AboutDialogHandler", aboutDialogHandler);
context->setContextProperty("GuiFileHandler", guiFileHandler);
context->setContextProperty("_AboutDialogHandler", aboutDialogHandler);
context->setContextProperty("_GuiFileHandler", guiFileHandler);

// Instantiate GazeboDrawer.qml file into a component
QQmlComponent component(app->Engine(), ":/Gazebo/GazeboDrawer.qml");
Expand All @@ -452,6 +452,10 @@ std::unique_ptr<gz::gui::Application> createGui(
}
else
{
if (component.isError())
{
qWarning() << component.errors();
}
gzerr << "Failed to instantiate custom drawer, drawer will be empty"
<< std::endl;
}
Expand Down
8 changes: 4 additions & 4 deletions src/gui/GuiRunner.cc
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ using namespace sim;

// Register SerializedStepMap to the Qt meta type system so we can pass objects
// of this type in QMetaObject::invokeMethod
Q_DECLARE_METATYPE(msgs::SerializedStepMap)
Q_DECLARE_METATYPE(gz::msgs::SerializedStepMap)

/////////////////////////////////////////////////
class gz::sim::GuiRunner::Implementation
Expand Down Expand Up @@ -109,7 +109,7 @@ class gz::sim::GuiRunner::Implementation
GuiRunner::GuiRunner(const std::string &_worldName)
: dataPtr(utils::MakeUniqueImpl<Implementation>())
{
qRegisterMetaType<msgs::SerializedStepMap>();
qRegisterMetaType<gz::msgs::SerializedStepMap>();

this->setProperty("worldName", QString::fromStdString(_worldName));

Expand Down Expand Up @@ -263,7 +263,7 @@ void GuiRunner::OnStateAsyncService(const msgs::SerializedStepMap &_res)
// ensures that only one thread has access to the ecm and updateInfo
// variables.
QMetaObject::invokeMethod(this, "OnStateQt", Qt::QueuedConnection,
Q_ARG(msgs::SerializedStepMap, _res));
Q_ARG(gz::msgs::SerializedStepMap, _res));
this->dataPtr->receivedInitialState = true;

// todo(anyone) store reqSrv string in a member variable and use it here
Expand All @@ -289,7 +289,7 @@ void GuiRunner::OnState(const msgs::SerializedStepMap &_msg)
// ensures that only one thread has access to the ecm and updateInfo
// variables.
QMetaObject::invokeMethod(this, "OnStateQt", Qt::QueuedConnection,
Q_ARG(msgs::SerializedStepMap, _msg));
Q_ARG(gz::msgs::SerializedStepMap, _msg));
}

/////////////////////////////////////////////////
Expand Down
2 changes: 1 addition & 1 deletion src/gui/GuiRunner.hh
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class GZ_SIM_GUI_VISIBLE GuiRunner : public QObject

/// \brief Called by the Qt thread to update the ECM with new state
/// \param[in] _msg New state message.
private: Q_INVOKABLE void OnStateQt(const msgs::SerializedStepMap &_msg);
private: Q_INVOKABLE void OnStateQt(const gz::msgs::SerializedStepMap &_msg);

/// \brief Update the plugins.
private: Q_INVOKABLE void UpdatePlugins();
Expand Down
4 changes: 2 additions & 2 deletions src/gui/plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ function(gz_add_gui_library library_name)

cmake_parse_arguments(gz_add_gui_library "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

QT5_WRAP_CPP(${library_name}_headers_MOC ${gz_add_gui_library_QT_HEADERS})
QT5_ADD_RESOURCES(${library_name}_RCC ${library_name}.qrc)
QT_WRAP_CPP(${library_name}_headers_MOC ${gz_add_gui_library_QT_HEADERS})
QT_ADD_RESOURCES(${library_name}_RCC ${library_name}.qrc)

if(MSVC)
# Warning #4251 is the "dll-interface" warning that tells you when types
Expand Down
Loading
Loading