diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e36175c3a..53e67b817 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,6 +14,7 @@ jobs: uses: ignition-tooling/action-ignition-ci@bionic with: codecov-enabled: true + doxygen-enabled: true focal-ci: runs-on: ubuntu-latest name: Ubuntu Focal CI diff --git a/CMakeLists.txt b/CMakeLists.txt index 855baa6fb..0b018e0cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -109,14 +109,15 @@ ign_create_docs( API_MAINPAGE_MD "${CMAKE_BINARY_DIR}/api.md" TUTORIALS_MAINPAGE_MD "${CMAKE_BINARY_DIR}/tutorials.md" ADDITIONAL_INPUT_DIRS "${CMAKE_SOURCE_DIR}/src/plugins" + IMAGE_PATH_DIRS "${CMAKE_SOURCE_DIR}/tutorials/images" TAGFILES - "${CMAKE_SOURCE_DIR}/doc/qt.tag.xml=http://doc.qt.io/qt-5/" - "${IGNITION-MATH_DOXYGEN_TAGFILE} = ${IGNITION-MATH_API_URL}" - "${IGNITION-MSGS_DOXYGEN_TAGFILE} = ${IGNITION-MSGS_API_URL}" - "${IGNITION-RENDERING_DOXYGEN_TAGFILE} = ${IGNITION-RENDERING_API_URL}" - "${IGNITION-TRANSPORT_DOXYGEN_TAGFILE} = ${IGNITION-TRANSPORT_API_URL}" - "${IGNITION-COMMON_DOXYGEN_TAGFILE} = ${IGNITION-COMMON_API_URL}" - ) + "${CMAKE_SOURCE_DIR}/doc/qt.tag.xml=http://doc.qt.io/qt-5/" + "${IGNITION-MATH_DOXYGEN_TAGFILE} = ${IGNITION-MATH_API_URL}" + "${IGNITION-MSGS_DOXYGEN_TAGFILE} = ${IGNITION-MSGS_API_URL}" + "${IGNITION-RENDERING_DOXYGEN_TAGFILE} = ${IGNITION-RENDERING_API_URL}" + "${IGNITION-TRANSPORT_DOXYGEN_TAGFILE} = ${IGNITION-TRANSPORT_API_URL}" + "${IGNITION-COMMON_DOXYGEN_TAGFILE} = ${IGNITION-COMMON_API_URL}" +) if(TARGET doc) file(COPY ${CMAKE_SOURCE_DIR}/tutorials/images/ DESTINATION ${CMAKE_BINARY_DIR}/doxygen/html/images/) diff --git a/Changelog.md b/Changelog.md index de0d86559..0267e7f02 100644 --- a/Changelog.md +++ b/Changelog.md @@ -69,6 +69,23 @@ ### Ignition Gui 5.X.X (20XX-XX-XX) +### Ignition Gui 5.3.0 (2021-10-13) + +1. Improved doxygen + * [Pull request #275](https://github.com/ignitionrobotics/ign-gui/pull/275) + +1. Fix memory leak + * [Pull request #287](https://github.com/ignitionrobotics/ign-gui/pull/287) + +1. Add a filter to the plugin menu + * [Pull request #277](https://github.com/ignitionrobotics/ign-gui/pull/277) + +1. 👩‍🌾 Remove bitbucket-pipelines.yml + * [Pull request #274](https://github.com/ignitionrobotics/ign-gui/pull/274) + +1. Fix doc build error + * [Pull request #266](https://github.com/ignitionrobotics/ign-gui/pull/266) + ### Ignition Gui 5.2.0 (2021-07-27) 1. New teleop plugin implementation. @@ -332,6 +349,23 @@ ### Ignition Gui 3.X.X (202X-XX-XX) +### Ignition Gui 3.8.0 (2021-10-12) + +1. Improved doxygen + * [Pull request #275](https://github.com/ignitionrobotics/ign-gui/pull/275) + +1. Add a filter to the plugin menu + * [Pull request #277](https://github.com/ignitionrobotics/ign-gui/pull/277) + +1. 👩‍🌾 Remove bitbucket-pipelines.yml + * [Pull request #274](https://github.com/ignitionrobotics/ign-gui/pull/274) + +1. Require ign-rendering 3.5 + * [Pull request #264](https://github.com/ignitionrobotics/ign-gui/pull/264) + +1. New teleop plugin implementation. + * [Pull request #245](https://github.com/ignitionrobotics/ign-gui/pull/245) + ### Ignition Gui 3.7.0 (2021-07-14) 1. Fix codeowners diff --git a/include/ignition/gui/Application.hh b/include/ignition/gui/Application.hh index 21a97ed71..db9fd4513 100644 --- a/include/ignition/gui/Application.hh +++ b/include/ignition/gui/Application.hh @@ -96,11 +96,11 @@ namespace ignition /// and plugins. This function doesn't instantiate the plugins, it just /// keeps them in memory and they can be applied later by either /// instantiating a window or several dialogs. - /// \param[in] _config Full path to configuration file. + /// \param[in] _path Full path to configuration file. /// \return True if successful /// \sa InitializeMainWindow /// \sa InitializeDialogs - public: bool LoadConfig(const std::string &_config); + public: bool LoadConfig(const std::string &_path); /// \brief Load the configuration from the default config file. /// \return True if successful diff --git a/include/ignition/gui/GuiEvents.hh b/include/ignition/gui/GuiEvents.hh index 8b0c2f469..86fac1fad 100644 --- a/include/ignition/gui/GuiEvents.hh +++ b/include/ignition/gui/GuiEvents.hh @@ -92,7 +92,7 @@ namespace ignition class IGNITION_GUI_VISIBLE SpawnFromDescription : public QEvent { /// \brief Constructor - /// \param[in] _string The resource's description as a string, such + /// \param[in] _description The resource's description as a string, such /// as an SDF file. public: explicit SpawnFromDescription(const std::string &_description); @@ -368,7 +368,7 @@ namespace ignition class IGNITION_GUI_VISIBLE DropOnScene : public QEvent { /// \brief Constructor - /// \param[in] _drop Dropped string. + /// \param[in] _dropText Dropped string. /// \param[in] _dropMouse x and y coordinate of mouse position. public: explicit DropOnScene( const std::string &_dropText, diff --git a/include/ignition/gui/PlottingInterface.hh b/include/ignition/gui/PlottingInterface.hh index 9e0a2ed17..9f463202f 100644 --- a/include/ignition/gui/PlottingInterface.hh +++ b/include/ignition/gui/PlottingInterface.hh @@ -63,7 +63,7 @@ class IGNITION_GUI_VISIBLE PlotData public: double Value() const; /// \brief Set the field arrival time - /// \param[in] _value arrival time to set it + /// \param[in] _time arrival time to set it public: void SetTime(const double _time); /// \brief Get the arrival time @@ -273,7 +273,6 @@ class IGNITION_GUI_VISIBLE PlottingInterface : public QObject /// \brief called by Qml to remove a chart from a component attribute /// \param[in] _entity entity id which has the component /// \param[in] _typeId component type id - /// \param[in] _type component data type /// \param[in] _attribute component specefice attribte /// \param[in] _chart chart id public slots: void onComponentUnSubscribe(QString _entity, @@ -296,7 +295,6 @@ class IGNITION_GUI_VISIBLE PlottingInterface : public QObject /// \brief Notify the gazebo plugin to unsubscribe a component data /// \param[in] _entity entity id which has the component /// \param[in] _typeId component type id - /// \param[in] _type component data type /// \param[in] _attribute component specefice attribte /// \param[in] _chart chart id signals: void ComponentUnSubscribe(uint64_t _entity, @@ -338,4 +336,3 @@ class IGNITION_GUI_VISIBLE PlottingInterface : public QObject } #endif - diff --git a/include/ignition/gui/Plugin.hh b/include/ignition/gui/Plugin.hh index 07c69d600..b943b1e0d 100644 --- a/include/ignition/gui/Plugin.hh +++ b/include/ignition/gui/Plugin.hh @@ -102,7 +102,10 @@ namespace ignition /// \sa Load /// \param[in] _pluginElem Element containing configuration protected: virtual void LoadConfig( - const tinyxml2::XMLElement * /*_pluginElem*/) {} + const tinyxml2::XMLElement *_pluginElem) + { + (void)_pluginElem; + } /// \brief Get title /// \return Plugin title. diff --git a/src/plugins/grid_config/GridConfig.hh b/src/plugins/grid_config/GridConfig.hh index 48a357d46..859e8f4a5 100644 --- a/src/plugins/grid_config/GridConfig.hh +++ b/src/plugins/grid_config/GridConfig.hh @@ -49,7 +49,6 @@ namespace gui public: void UpdateGrid(); /// \brief Callback to retrieve existing grid or create a new one. - /// \param[in] _scene Scene to look for grid. public: void LoadGrid(); /// \brief Callback to update vertical cell count diff --git a/src/plugins/image_display/ImageDisplay.cc b/src/plugins/image_display/ImageDisplay.cc index 93a2ab9b6..0c736a139 100644 --- a/src/plugins/image_display/ImageDisplay.cc +++ b/src/plugins/image_display/ImageDisplay.cc @@ -212,6 +212,8 @@ void ImageDisplay::ProcessImage() image.setPixel(i, j, value); } } + + delete [] data; } this->dataPtr->provider->SetImage(image); diff --git a/src/plugins/key_publisher/KeyPublisher.hh b/src/plugins/key_publisher/KeyPublisher.hh index 759248882..38ecdd2e5 100644 --- a/src/plugins/key_publisher/KeyPublisher.hh +++ b/src/plugins/key_publisher/KeyPublisher.hh @@ -46,7 +46,8 @@ namespace gui public: virtual ~KeyPublisher(); // Documentation inherited - public: virtual void LoadConfig(const tinyxml2::XMLElement *) override; + public: virtual void LoadConfig( + const tinyxml2::XMLElement *_pluginElem) override; /// \brief Filter events in Qt /// \param[in] _obj The watched object diff --git a/src/plugins/minimal_scene/MinimalScene.hh b/src/plugins/minimal_scene/MinimalScene.hh index 5dcb1f929..49b72198b 100644 --- a/src/plugins/minimal_scene/MinimalScene.hh +++ b/src/plugins/minimal_scene/MinimalScene.hh @@ -238,9 +238,10 @@ namespace plugins /// \brief Constructor public: RenderThread(); + /// \brief Render when safe /// \param[in] _renderSync RenderSync to safely /// synchronize Qt and worker thread (this) - public slots: void RenderNext(RenderSync *renderSync); + public slots: void RenderNext(RenderSync *_renderSync); /// \brief Shutdown the thread and the render engine public slots: void ShutDown(); @@ -389,6 +390,8 @@ namespace plugins { Q_OBJECT + /// \brief Constructor + /// \param[in] _window Window to display the texture /// \param[in] _renderSync RenderSync to safely /// synchronize Qt (this) and worker thread public: explicit TextureNode(QQuickWindow *_window, diff --git a/tutorials/03_plugins.md b/tutorials/03_plugins.md index 5c916d85b..df98479ef 100644 --- a/tutorials/03_plugins.md +++ b/tutorials/03_plugins.md @@ -48,11 +48,11 @@ Publish messages on an Ignition Transport topic. ign topic -e -t /echo -1. On a new terminal, open the publisher GUI: +2. On a new terminal, open the publisher GUI: ign gui -s Publisher -1. The GUI is pre-filled to publish "Hello" messages on the `/echo` topic. +3. The GUI is pre-filled to publish "Hello" messages on the `/echo` topic. Click "Publish" to publish a message and see it on the terminal. ### World stats and control @@ -101,7 +101,7 @@ plugins. ign gui -c examples/config/reqres.config -### Displays {#display-plugins} +### Displays **Not ported to versions 1 or higher yet** @@ -119,5 +119,5 @@ Ignition GUI will look for display plugins on the following paths, in this order: 1. All paths set on the `IGN_GUI_DISPLAY_PLUGIN_PATH` environment variable -1. `~/.ignition/gui/display_plugins` -1. [Display plugins that are installed with Ignition GUI](https://ignitionrobotics.org/api/gui/0.1/namespaceignition_1_1gui_1_1display_plugins.html) +2. `~/.ignition/gui/display_plugins` +3. [Display plugins that are installed with Ignition GUI](https://ignitionrobotics.org/api/gui/0.1/namespaceignition_1_1gui_1_1display_plugins.html)