From 68d76d81bb824ee05c6432be23b83c722d241bce Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Sun, 2 Dec 2018 22:13:24 +0100
Subject: [PATCH] Apply patch 8 from issue #13 - modernise use of override

---
 externals/qtcolorpicker/src/qtcolorpicker.h  | 40 ++++++------
 src/common/Session.hpp                       |  2 +-
 src/core/Core.hpp                            | 12 ++--
 src/interface/Interface_graphic.hpp          | 22 +++----
 src/interface/Interval_select.hpp            |  2 +-
 src/interface/Node_select.hpp                |  4 +-
 src/interface/Settings_window.hpp            |  4 +-
 src/interface/qxtspanslider.h                | 12 ++--
 src/interface/viteqtreewidget.hpp            | 17 +++---
 src/parser/PajeParser/PajeFileManager.hpp    |  2 +-
 src/parser/PajeParser/ParserPaje.hpp         |  6 +-
 src/parser/PajeParser/ParserVite.hpp         |  6 +-
 src/parser/PajeParser/mt_PajeFileManager.hpp |  2 +-
 src/parser/PajeParser/mt_ParserEventPaje.hpp |  2 +-
 src/parser/PajeParser/mt_ParserPaje.hpp      |  6 +-
 src/parser/Parser.hpp                        |  2 +-
 src/parser/TauParser/ParserTau.hpp           |  6 +-
 src/plugin/Plugin_window.hpp                 |  2 +-
 src/render/GanttDiagram.hpp                  |  2 +-
 src/render/Hook_event.hpp                    | 16 ++---
 src/render/Minimap.hpp                       |  4 +-
 src/render/Render_alternate.hpp              | 64 ++++++++++----------
 src/render/Render_opengl.hpp                 | 62 +++++++++----------
 src/render/Render_svg.hpp                    | 58 +++++++++---------
 src/render/render_stats_opengl.hpp           | 18 +++---
 src/render/render_stats_svg.hpp              | 10 +--
 src/statistics/DrawCounter.hpp               |  4 +-
 src/statistics/DrawHDiagram.hpp              |  4 +-
 src/statistics/DrawVDiagram.hpp              |  8 +--
 src/statistics/Stats_window.hpp              | 16 ++---
 src/trace/EntityValue.hpp                    |  2 +-
 src/trace/LinkType.hpp                       |  2 +-
 src/trace/values/Color.hpp                   |  2 +-
 src/trace/values/Date.hpp                    |  2 +-
 src/trace/values/Double.hpp                  |  2 +-
 src/trace/values/Hex.hpp                     |  2 +-
 src/trace/values/Integer.hpp                 |  2 +-
 src/trace/values/Name.hpp                    |  2 +-
 src/trace/values/String.hpp                  |  2 +-
 39 files changed, 216 insertions(+), 217 deletions(-)

diff --git a/externals/qtcolorpicker/src/qtcolorpicker.h b/externals/qtcolorpicker/src/qtcolorpicker.h
index bdf4dbcc..973b433e 100644
--- a/externals/qtcolorpicker/src/qtcolorpicker.h
+++ b/externals/qtcolorpicker/src/qtcolorpicker.h
@@ -87,14 +87,14 @@ signals:
     void clicked();
 
 protected:
-    void mousePressEvent(QMouseEvent *e);
-    void mouseMoveEvent(QMouseEvent *e);
-    void mouseReleaseEvent(QMouseEvent *e);
-    void keyPressEvent(QKeyEvent *e);
-    void keyReleaseEvent(QKeyEvent *e);
-    void paintEvent(QPaintEvent *e);
-    void focusInEvent(QFocusEvent *e);
-    void focusOutEvent(QFocusEvent *e);
+    void mousePressEvent(QMouseEvent *e) override;
+    void mouseMoveEvent(QMouseEvent *e) override;
+    void mouseReleaseEvent(QMouseEvent *e) override;
+    void keyPressEvent(QKeyEvent *e) override;
+    void keyReleaseEvent(QKeyEvent *e) override;
+    void paintEvent(QPaintEvent *e) override;
+    void focusInEvent(QFocusEvent *e) override;
+    void focusOutEvent(QFocusEvent *e) override;
 };
 
 class ColorPickerItem : public QFrame
@@ -104,7 +104,7 @@ class ColorPickerItem : public QFrame
 public:
     ColorPickerItem(const QColor &color = Qt::white, const QString &text = QString::null,
 		      QWidget *parent = 0);
-    ~ColorPickerItem();
+    ~ColorPickerItem() override;
 
     QColor color() const;
     QString text() const;
@@ -119,10 +119,10 @@ public slots:
     void setColor(const QColor &color, const QString &text = QString());
 
 protected:
-    void mousePressEvent(QMouseEvent *e);
-    void mouseReleaseEvent(QMouseEvent *e);
-    void mouseMoveEvent(QMouseEvent *e);
-    void paintEvent(QPaintEvent *e);
+    void mousePressEvent(QMouseEvent *e) override;
+    void mouseReleaseEvent(QMouseEvent *e) override;
+    void mouseMoveEvent(QMouseEvent *e) override;
+    void paintEvent(QPaintEvent *e) override;
 
 private:
     QColor c;
@@ -138,7 +138,7 @@ class ColorPickerPopup : public QFrame
 public:
     ColorPickerPopup(int width, bool withColorDialog,
 		       QWidget *parent = 0);
-    ~ColorPickerPopup();
+    ~ColorPickerPopup() override;
 
     void insertColor(const QColor &col, const QString &text, int index);
     void exec();
@@ -161,10 +161,10 @@ protected slots:
     void updateSelected();
 
 protected:
-    void keyPressEvent(QKeyEvent *e);
-    void showEvent(QShowEvent *e);
-    void hideEvent(QHideEvent *e);
-    void mouseReleaseEvent(QMouseEvent *e);
+    void keyPressEvent(QKeyEvent *e) override;
+    void showEvent(QShowEvent *e) override;
+    void hideEvent(QHideEvent *e) override;
+    void mouseReleaseEvent(QMouseEvent *e) override;
 
     void regenerateGrid();
 
@@ -191,7 +191,7 @@ public:
     QtColorPicker(QWidget *parent = 0,
                   int columns = -1, bool enableColorDialog = true);
 
-    ~QtColorPicker();
+    ~QtColorPicker() override;
 
     void insertColor(const QColor &color, const QString &text = QString::null, int index = -1);
 
@@ -213,7 +213,7 @@ Q_SIGNALS:
     void colorChanged(const QColor &);
 
 protected:
-    void paintEvent(QPaintEvent *e);
+    void paintEvent(QPaintEvent *e) override;
 
 private Q_SLOTS:
     void buttonPressed(bool toggled);
diff --git a/src/common/Session.hpp b/src/common/Session.hpp
index 173d7774..9137109f 100644
--- a/src/common/Session.hpp
+++ b/src/common/Session.hpp
@@ -185,7 +185,7 @@ public:
     /*!
      * \brief The class destructor.
      */
-    ~Session();
+    ~Session() override;
 
     /*!
      * \brief maximum number of file shown in the recent files menu.
diff --git a/src/core/Core.hpp b/src/core/Core.hpp
index dea93bdb..77bc3a84 100644
--- a/src/core/Core.hpp
+++ b/src/core/Core.hpp
@@ -399,7 +399,7 @@ public:
     /*!
      * \brief The destructor.
      */
-    virtual ~Core();
+    ~Core() override;
 
 
 
@@ -428,7 +428,7 @@ public:
      * \brief Get the name of the current trace file.
      *
      */
-    const std::string get_filename() const;
+    const std::string get_filename() const override;
 
     /*!
      * \brief Set the name of the output file for SVG export.
@@ -454,26 +454,26 @@ public:
      * \brief The function takes a string then displayed it into the terminal, then killed the application.
      * \param string The string to be displayed.
      */
-    void error(const std::string &string) const;
+    void error(const std::string &string) const override;
 
 
     /*!
      \brief The function takes a string then displayed it into the terminal, then the program go on with an indeterminated behaviour.
      \param string The string to be displayed.
      */
-    void warning(const std::string &string) const;
+    void warning(const std::string &string) const override;
 
 
     /*!
      * \brief The function takes a strings then displayed it into the terminal, then the program go on.
      * \param string The string to be displayed.
      */
-    void information(const std::string &string) const;
+    void information(const std::string &string) const override;
 
     /*!
      * \brief Only use in graphic interface.
      */
-    void selection_information(const std::string &) const{
+    void selection_information(const std::string &) const override{
     }
 
 
diff --git a/src/interface/Interface_graphic.hpp b/src/interface/Interface_graphic.hpp
index 99410732..53f3cc0b 100644
--- a/src/interface/Interface_graphic.hpp
+++ b/src/interface/Interface_graphic.hpp
@@ -96,10 +96,10 @@ class Interface_graphic : public QMainWindow,  protected Ui::main_window, public
     /*!
      *\brief Drag and drop functions
      */
-    void dragEnterEvent(QDragEnterEvent *event);
-    void dragMoveEvent(QDragMoveEvent *event);
-    void dragLeaveEvent(QDragLeaveEvent *event);
-    void dropEvent(QDropEvent *event);
+    void dragEnterEvent(QDragEnterEvent *event) override;
+    void dragMoveEvent(QDragMoveEvent *event) override;
+    void dragLeaveEvent(QDragLeaveEvent *event) override;
+    void dropEvent(QDropEvent *event) override;
 
     /*!
      *\brief Open the trace of filename. Create a new process if necessary
@@ -338,7 +338,7 @@ public:
     /*!
      * \brief The destructor
      */
-    virtual ~Interface_graphic();
+    ~Interface_graphic() override;
 
 
 
@@ -352,21 +352,21 @@ public:
      * \brief The function takes strings and/or numbers then displayed an info box containing it, then the program go on with an indeterminated behaviour.
      * \param string The string to be displayed.
      */
-    void error(const std::string &string) const;
+    void error(const std::string &string) const override;
 
 
     /*!
      * \brief The function takes strings and/or numbers then displayed an info box containing it, then the program go on with an indeterminated behaviour.
      * \param string The string to be displayed.
      */
-    void warning(const std::string &string) const;
+    void warning(const std::string &string) const override;
 
 
     /*!
      * \brief The function takes strings and/or numbers then displayed an info box containing it, then the program go on.
      * \param string The string to be displayed.
      */
-    void information(const std::string &string) const;
+    void information(const std::string &string) const override;
 
 
 
@@ -380,7 +380,7 @@ public:
      * \brief The function takes strings and/or numbers then displayed it in the entity informative text area in the info window.
      * \param string The string to be displayed.
      */
-    void selection_information(const std::string &string) const;
+    void selection_information(const std::string &string) const override;
 
     /***********************************
      *
@@ -471,14 +471,14 @@ public:
      *
      * This function can be used to display message for user to store its work before application closes.
      */
-    void closeEvent(QCloseEvent *event);
+    void closeEvent(QCloseEvent *event) override;
 
     /*!
      * \brief Get the name of the current trace file.
      *
      * \return The name of the current trace file
      */
-    const std::string get_filename() const;
+    const std::string get_filename() const override;
 
     /*!
      * \fn get_console()
diff --git a/src/interface/Interval_select.hpp b/src/interface/Interval_select.hpp
index 81eb7cca..5e40d3a9 100644
--- a/src/interface/Interval_select.hpp
+++ b/src/interface/Interval_select.hpp
@@ -94,7 +94,7 @@ public:
      */
     Interval_select(	Interface_graphic *console, QWidget *parent = nullptr);
 
-    ~Interval_select();
+    ~Interval_select() override;
 
             /*!
      * \fn set_trace(Trace *trace)
diff --git a/src/interface/Node_select.hpp b/src/interface/Node_select.hpp
index 0dcccd66..b469ab71 100644
--- a/src/interface/Node_select.hpp
+++ b/src/interface/Node_select.hpp
@@ -101,7 +101,7 @@ public:
      */
     Node_select(	Interface_graphic *console, QWidget *parent = nullptr);
 
-    ~Node_select();
+    ~Node_select() override;
 
     /*!
      * \fn set_initial_container_names()
@@ -181,7 +181,7 @@ private:
      * \brief This functions receives all keyboard events.
      * \param event The event triggered by the keyboard event.
      */
-    void keyPressEvent(QKeyEvent *event);
+    void keyPressEvent(QKeyEvent *event) override;
 
 
 
diff --git a/src/interface/Settings_window.hpp b/src/interface/Settings_window.hpp
index 97b13597..57421d73 100644
--- a/src/interface/Settings_window.hpp
+++ b/src/interface/Settings_window.hpp
@@ -96,7 +96,7 @@ public:
     std::map<std::string, int> _cancel;
 
     Settings_tab(Core *, std::string);
-    ~Settings_tab();
+    ~Settings_tab() override;
 
     void refresh();
 
@@ -161,7 +161,7 @@ public:
      */
     Settings_window(Core *c, QWidget *parent = nullptr);
 
-    ~Settings_window();
+    ~Settings_window() override;
 
     /*!
      * \brief Overloaded to store at beginning the values
diff --git a/src/interface/qxtspanslider.h b/src/interface/qxtspanslider.h
index 7a2314bc..2cb6cf34 100644
--- a/src/interface/qxtspanslider.h
+++ b/src/interface/qxtspanslider.h
@@ -44,7 +44,7 @@ class QxtSpanSlider : public QSlider
 public:
     explicit QxtSpanSlider(QWidget* parent = nullptr);
     explicit QxtSpanSlider(Qt::Orientation orientation, QWidget* parent = nullptr);
-    virtual ~QxtSpanSlider();
+    ~QxtSpanSlider() override;
 
     enum HandleMovementMode
     {
@@ -88,11 +88,11 @@ Q_SIGNALS:
     void sliderPressed(SpanHandle handle);
 
 protected:
-    virtual void keyPressEvent(QKeyEvent* event);
-    virtual void mousePressEvent(QMouseEvent* event);
-    virtual void mouseMoveEvent(QMouseEvent* event);
-    virtual void mouseReleaseEvent(QMouseEvent* event);
-    virtual void paintEvent(QPaintEvent* event);
+    void keyPressEvent(QKeyEvent* event) override;
+    void mousePressEvent(QMouseEvent* event) override;
+    void mouseMoveEvent(QMouseEvent* event) override;
+    void mouseReleaseEvent(QMouseEvent* event) override;
+    void paintEvent(QPaintEvent* event) override;
 };
 
 #endif // QXTSPANSLIDER_H
diff --git a/src/interface/viteqtreewidget.hpp b/src/interface/viteqtreewidget.hpp
index 957de98b..22050694 100644
--- a/src/interface/viteqtreewidget.hpp
+++ b/src/interface/viteqtreewidget.hpp
@@ -10,21 +10,20 @@ class viteQTreeWidget : public QTreeWidget
  
 public:
     viteQTreeWidget(QWidget *parent = nullptr);
-    ~viteQTreeWidget();
+    ~viteQTreeWidget() override;
 protected:
-    void dropEvent(QDropEvent *event);
+    void dropEvent(QDropEvent *event) override;
     
-    void dragEnterEvent(QDragEnterEvent *e);
-void dragMoveEvent(QDragMoveEvent *e);
+    void dragEnterEvent(QDragEnterEvent *e) override;
+void dragMoveEvent(QDragMoveEvent *e) override;
 
 QList<QTreeWidgetItem *> selected_items;
 
-QMimeData *mimeData(const QList<QTreeWidgetItem *> items) const;
+QMimeData *mimeData(const QList<QTreeWidgetItem *> items) const override;
 
-bool dropMimeData ( QTreeWidgetItem * newParentPtr, int index, const QMimeData * data, Qt::DropAction action ) ;
+bool dropMimeData ( QTreeWidgetItem * newParentPtr, int index, const QMimeData * data, Qt::DropAction action ) override;
 
-Qt::DropActions supportedDropActions () const;
+Qt::DropActions supportedDropActions () const override;
 };
- 
- 
+
 #endif
diff --git a/src/parser/PajeParser/PajeFileManager.hpp b/src/parser/PajeParser/PajeFileManager.hpp
index 66f01194..73725997 100644
--- a/src/parser/PajeParser/PajeFileManager.hpp
+++ b/src/parser/PajeParser/PajeFileManager.hpp
@@ -129,7 +129,7 @@ public:
      *  \brief Destructor
      *  Destroy the file
      */
-    ~PajeFileManager();
+    ~PajeFileManager() override;
 
     /*!
      *  \fn open(const char * filename, ios_base::openmode mode)
diff --git a/src/parser/PajeParser/ParserPaje.hpp b/src/parser/PajeParser/ParserPaje.hpp
index 01b45480..401edd64 100644
--- a/src/parser/PajeParser/ParserPaje.hpp
+++ b/src/parser/PajeParser/ParserPaje.hpp
@@ -76,7 +76,7 @@ public:
     /*!
      *  \fn ~ParserPaje()
      */
-    ~ParserPaje();
+    ~ParserPaje() override;
 
     /*!
      *  \fn parse(Trace &trace, bool finish_trace_after_parse = true)
@@ -84,14 +84,14 @@ public:
      *  \param finish_trace_after_parse boolean set if we do not have to finish the trace after parsing
      */
     void parse(Trace &trace,
-               bool   finish_trace_after_parse = true);
+               bool   finish_trace_after_parse = true) override;
 
     /*!
      *  \fn get_percent_loaded() const
      *  \brief return the size of the file already read.
      *  \return the scale of the size already loaded of the file by the parser. (between 0 and 1)
      */
-    float get_percent_loaded() const;
+    float get_percent_loaded() const override;
 
     /*!
      * Return the parser of definitions.
diff --git a/src/parser/PajeParser/ParserVite.hpp b/src/parser/PajeParser/ParserVite.hpp
index d8ae4541..cfa8c119 100644
--- a/src/parser/PajeParser/ParserVite.hpp
+++ b/src/parser/PajeParser/ParserVite.hpp
@@ -74,7 +74,7 @@ public:
     /*!
      *  \fn ~ParserVite()
      */
-    ~ParserVite();
+    ~ParserVite() override;
 
     /*!
      *  \fn parse(Trace &trace, bool finish_trace_after_parse = true)
@@ -82,14 +82,14 @@ public:
      *  \param finish_trace_after_parse boolean set if we do not have to finish the trace after parsing
      */
     void parse(Trace &trace, 
-	       bool   finish_trace_after_parse = true);
+	       bool   finish_trace_after_parse = true) override;
     
     /*!
      *  \fn get_percent_loaded() const
      *  \brief return the size of the file already read.
      *  \return the scale of the size already loaded of the file by the parser. (between 0 and 1)
      */
-    float get_percent_loaded() const;
+    float get_percent_loaded() const override;
 
 };
 
diff --git a/src/parser/PajeParser/mt_PajeFileManager.hpp b/src/parser/PajeParser/mt_PajeFileManager.hpp
index 4510738a..df7c9747 100644
--- a/src/parser/PajeParser/mt_PajeFileManager.hpp
+++ b/src/parser/PajeParser/mt_PajeFileManager.hpp
@@ -158,7 +158,7 @@ public:
      *  \brief Destructor
      *  Destroy the file
      */
-    ~mt_PajeFileManager();
+    ~mt_PajeFileManager() override;
 
     /*!
      *  \fn open(const char * filename, ios_base::openmode mode)
diff --git a/src/parser/PajeParser/mt_ParserEventPaje.hpp b/src/parser/PajeParser/mt_ParserEventPaje.hpp
index fdd212e4..e5664572 100644
--- a/src/parser/PajeParser/mt_ParserEventPaje.hpp
+++ b/src/parser/PajeParser/mt_ParserEventPaje.hpp
@@ -96,7 +96,7 @@ private:
 public:
     mt_ParserEventPaje(ParserDefinitionPaje *Defs);
 
-    ~mt_ParserEventPaje();
+    ~mt_ParserEventPaje() override;
 
     void setTrace( Trace* trace);
 
diff --git a/src/parser/PajeParser/mt_ParserPaje.hpp b/src/parser/PajeParser/mt_ParserPaje.hpp
index 0c3832bb..e6472027 100644
--- a/src/parser/PajeParser/mt_ParserPaje.hpp
+++ b/src/parser/PajeParser/mt_ParserPaje.hpp
@@ -85,7 +85,7 @@ public:
     /*!
      *  \fn ~ParserPaje()
      */
-    ~mt_ParserPaje();
+    ~mt_ParserPaje() override;
 
     /*!
      *  \fn parse(Trace &trace)
@@ -93,7 +93,7 @@ public:
      *  \param finish_trace_after_parse boolean set if we do not have to finish the trace after parsing
      */
     void parse(Trace &trace, 
-	       bool   finish_trace_after_parse = true);
+	       bool   finish_trace_after_parse = true) override;
 
     void releasefile();
     /*!
@@ -101,7 +101,7 @@ public:
      *  \brief return the size of the file already read.
      *  \return the scale of the size already loaded of the file by the parser. (between 0 and 1)
      */
-    float get_percent_loaded() const;
+    float get_percent_loaded() const override;
 
 
 	signals:
diff --git a/src/parser/Parser.hpp b/src/parser/Parser.hpp
index 3f8b3e2e..4768b7e5 100644
--- a/src/parser/Parser.hpp
+++ b/src/parser/Parser.hpp
@@ -78,7 +78,7 @@ public:
 
     Parser();
     Parser(const std::string &filename);
-    virtual ~Parser() = default;
+    ~Parser() override = default;
 
     /*!
      *  \fn parse(const std::string &filename, Trace &trace, bool finish_trace_after_parse = true)
diff --git a/src/parser/TauParser/ParserTau.hpp b/src/parser/TauParser/ParserTau.hpp
index 9500cce0..f30834b2 100644
--- a/src/parser/TauParser/ParserTau.hpp
+++ b/src/parser/TauParser/ParserTau.hpp
@@ -214,21 +214,21 @@ public:
      */
     ParserTau();
     ParserTau(const std::string &filename);
-    ~ParserTau();
+    ~ParserTau() override;
 
     /*!
      *  \fn parse(Trace &trace, bool finish_trace_after_parse)
      *  \param trace : the structure of data to fill
      *  \param finish_trace_after_parse boolean set if we do not have to finish the trace after parsing
      */
-    void parse(Trace &trace, bool finish_trace_after_parse = true);
+    void parse(Trace &trace, bool finish_trace_after_parse = true) override;
 
     /*!
      *  \fn get_percent_loaded() const
      *  \brief return the size of the file already read.
      *  \return the scale of the size already loaded of the file by the parser. (between 0 and 1)
      */
-    float get_percent_loaded() const;
+    float get_percent_loaded() const override;
 
     static Color *get_color(int func_id);
 };
diff --git a/src/plugin/Plugin_window.hpp b/src/plugin/Plugin_window.hpp
index 1bc6dc94..16dfd07a 100644
--- a/src/plugin/Plugin_window.hpp
+++ b/src/plugin/Plugin_window.hpp
@@ -82,7 +82,7 @@ public:
      * \fn ~Plugin_window()
      * \brief Destructor
      */
-    ~Plugin_window();
+    ~Plugin_window() override;
 
     /*!
      * \fn load_list()
diff --git a/src/render/GanttDiagram.hpp b/src/render/GanttDiagram.hpp
index 620dc353..53d21b2a 100644
--- a/src/render/GanttDiagram.hpp
+++ b/src/render/GanttDiagram.hpp
@@ -119,7 +119,7 @@ public:
     /*!
      * \brief The destructor
      */
-    virtual ~GanttDiagram() = default;
+    ~GanttDiagram() override = default;
 
     /***********************************
      *
diff --git a/src/render/Hook_event.hpp b/src/render/Hook_event.hpp
index 078cc41e..39038cce 100644
--- a/src/render/Hook_event.hpp
+++ b/src/render/Hook_event.hpp
@@ -216,43 +216,43 @@ protected:
      * \brief This functions receives all mouse press events.
      * \param event The event triggered by mouse.
      */
-    void mousePressEvent(QMouseEvent * event);
+    void mousePressEvent(QMouseEvent * event) override;
 
     /*!
      * \brief This functions receives all mouse double click events.
      * \param event The event triggered by mouse.
      */
-    void mouseDoubleClickEvent(QMouseEvent * event);
+    void mouseDoubleClickEvent(QMouseEvent * event) override;
 
     /*!
      * \brief If user press, this functions receives all mouse move events until user release mouse.
      * \param event The event triggered by mouse.
      */
-    void mouseMoveEvent(QMouseEvent * event);
+    void mouseMoveEvent(QMouseEvent * event) override;
 
     /*!
      * \brief This functions receives all mouse release events.
      * \param event The event triggered by mouse.
      */
-    void mouseReleaseEvent(QMouseEvent * event);
+    void mouseReleaseEvent(QMouseEvent * event) override;
 
     /*!
      * \brief This functions receives all mouse wheel events.
      * \param event The event triggered by the mouse wheel.
      */
-    void wheelEvent(QWheelEvent * event);
+    void wheelEvent(QWheelEvent * event) override;
 
     /*!
      * \brief This functions receives all keyboard events.
      * \param event The event triggered by the keyboard event.
      */
-    void keyPressEvent(QKeyEvent * event);
+    void keyPressEvent(QKeyEvent * event) override;
 
     /*!
      * \brief This functions receives all keyboard release events.
      * \param event The event triggered by a keyboard release.
      */
-    void keyReleaseEvent(QKeyEvent * event);
+    void keyReleaseEvent(QKeyEvent * event) override;
 
     /*!
      * Use to update the render area.
@@ -286,7 +286,7 @@ public:
     /*!
      * \brief The destructor
      */
-    virtual ~Hook_event();
+    ~Hook_event() override;
 
 
 
diff --git a/src/render/Minimap.hpp b/src/render/Minimap.hpp
index 052599c6..64f4b370 100644
--- a/src/render/Minimap.hpp
+++ b/src/render/Minimap.hpp
@@ -96,13 +96,13 @@ protected:
      * \brief Called by Qt when the user manually closes the window.
      * \param event The Qt event.
      */
-    void closeEvent(QCloseEvent *event);
+    void closeEvent(QCloseEvent *event) override;
 
     /*!
      * \brief Called by Qt when the user manually resize the window.
      * \param event The Qt event.
      */
-    void resizeEvent(QResizeEvent* event);
+    void resizeEvent(QResizeEvent* event) override;
 
 
     /*!
diff --git a/src/render/Render_alternate.hpp b/src/render/Render_alternate.hpp
index ed1cbffc..2fa298b1 100644
--- a/src/render/Render_alternate.hpp
+++ b/src/render/Render_alternate.hpp
@@ -166,7 +166,7 @@ public:
     /*!
      * \brief The destructor
      */
-    virtual ~Render_alternate();
+    ~Render_alternate() override;
 
     /*!
      * \brief Set Statistics and Informations about input trace
@@ -193,19 +193,19 @@ public:
     /*!
      * \brief Call by the system to initialize the OpenGL render area.
      */
-    void initializeGL();
+    void initializeGL() override;
 
     /*!
      * \brief Call by the system when the render area was resized (occurs during a window resizement).
      * \param width : the new width of the render area.
      * \param height : the new height of the render area.
      */
-    void resizeGL(int width, int height);
+    void resizeGL(int width, int height) override;
 
     /*!
      * \brief Call by the system each time the render area need to be updated.
      */
-    void paintGL();
+    void paintGL() override;
 
     //void paintEvent(QPaintEvent *event);
 
@@ -233,12 +233,12 @@ public:
     /*!
      * \brief Proceeds with the initialization of the OpenGL draw functions.
      */
-    void start_draw();
+    void start_draw() override;
 
     /*!
      * \brief Creates and opens the display list for container draws.
      */
-    void start_draw_containers();
+    void start_draw_containers() override;
 
     /*!
      * \brief Draw a container according to the parameters
@@ -262,12 +262,12 @@ public:
     /*!
      * \brief Closes the container display list.
      */
-    void end_draw_containers();
+    void end_draw_containers() override;
 
     /*!
      * \brief Creates and opens the display list for stater draws.
      */
-    void start_draw_states();
+    void start_draw_states() override;
 
     /*!
      * \brief Draw a state of the trace.
@@ -279,17 +279,17 @@ public:
      * \param g the green color rate of the state.
      * \param b the blue color rate of the state.
      */
-    void draw_state(const Element_pos start , const Element_pos end, const Element_pos base, const Element_pos height, const Element_pos r, EntityValue* type);
+    void draw_state(const Element_pos start , const Element_pos end, const Element_pos base, const Element_pos height, const Element_pos r, EntityValue* type) override;
 
     /*!
      * \brief Closes the state display list.
      */
-    void end_draw_states();
+    void end_draw_states() override;
 
     /*!
      * \brief Open the arrow display list.
      */
-    void start_draw_arrows();
+    void start_draw_arrows() override;
 
     /*!
      * \brief Draw an arrow.
@@ -300,12 +300,12 @@ public:
      *
      * This function stores all the information of the arrow to display it each time the render area need to be updated.
      */
-    void draw_arrow(const Element_pos start_time, const Element_pos end_time, const Element_pos start_height, const Element_pos end_height,const Element_col red, const Element_col green, const Element_col blue, EntityValue *value);
+    void draw_arrow(const Element_pos start_time, const Element_pos end_time, const Element_pos start_height, const Element_pos end_height,const Element_col red, const Element_col green, const Element_col blue, EntityValue *value) override;
 
     /*!
      * \brief Closes the arrow display list.
      */
-    void end_draw_arrows();
+    void end_draw_arrows() override;
 
     /*!
      * \brief Draw arrows contained in the Arrow_ vector
@@ -313,7 +313,7 @@ public:
      */
     // void draw_stored_arrows(std::vector<Arrow_> &arrows);
 
-    void start_draw_events();
+    void start_draw_events() override;
 
     /*!
      * \brief Draw an event.
@@ -326,9 +326,9 @@ public:
      *
      * This function stores all the information of the event to display it each time the render area need to be updated.
      */
-    void draw_event(const Element_pos time, const Element_pos height,  const Element_pos container_height, EntityValue*);
+    void draw_event(const Element_pos time, const Element_pos height,  const Element_pos container_height, EntityValue*) override;
 
-    void end_draw_events();
+    void end_draw_events() override;
 
 
     /*!
@@ -340,7 +340,7 @@ public:
     /*!
      * \brief Creates and opens the display list for counter draws.
      */
-    void start_draw_counter();
+    void start_draw_counter() override;
 
     /*!
      * \brief Draw a point of the counter.
@@ -354,23 +354,23 @@ public:
     /*!
      * \brief Closes the counter display list.
      */
-    void end_draw_counter();
+    void end_draw_counter() override;
 
     /*!
      * \brief Called before ruler drawing.
      */
-    void start_ruler();
+    void start_ruler() override;
 
     /*!
      * \brief Called after ruler drawing.
      */
-    void end_ruler();
+    void end_ruler() override;
 
 
     /*!
      * \brief Do nothing (it is present for compatibility of the Render class).
      */
-    void end_draw();
+    void end_draw() override;
 
 
 
@@ -389,7 +389,7 @@ public:
     /*!
      * \brief Draw the ruler display list.
      */
-    void call_ruler();
+    void call_ruler() override;
 
 
 
@@ -480,7 +480,7 @@ public:
      * \param g the green value. Within [0 ; 1].
      * \param b the blue value. Within [0 ; 1].
      */
-    void set_color(float r, float g, float b);
+    void set_color(float r, float g, float b) override;
 
     /*!
      * \brief Draw a text.
@@ -489,7 +489,7 @@ public:
      * \param z the deep position of the text.
      * \param s the text.
      */
-    virtual void draw_text(const Element_pos x, const Element_pos y, const Element_pos z, const std::string s);
+    void draw_text(const Element_pos x, const Element_pos y, const Element_pos z, const std::string s) override;
 
     /*!
      * \brief Draw a quad.
@@ -499,7 +499,7 @@ public:
      * \param w the width of the quad.
      * \param h the height of the quad.
      */
-    void draw_quad(Element_pos x, Element_pos y, Element_pos z, Element_pos w, Element_pos h);
+    void draw_quad(Element_pos x, Element_pos y, Element_pos z, Element_pos w, Element_pos h) override;
 
     /*!
      * \brief Draw a triangle.
@@ -509,7 +509,7 @@ public:
      * \param r the rotation of triangle. (clockwise and in degree)
      */
     void draw_triangle(Element_pos x, Element_pos y,
-                       Element_pos size, Element_pos r);
+                       Element_pos size, Element_pos r) override;
 
     /*!
      * \brief Draw a line.
@@ -519,7 +519,7 @@ public:
      * \param y2 the vertical position of the second point.
      * \param z the deep position of the triangle.
      */
-    void draw_line(Element_pos x1, Element_pos y1, Element_pos x2, Element_pos y2, Element_pos z);
+    void draw_line(Element_pos x1, Element_pos y1, Element_pos x2, Element_pos y2, Element_pos z) override;
 
     /*!
      * \brief Draw a circle.
@@ -528,7 +528,7 @@ public:
      * \param z the deep position of the circle.
      * \param r the circle radius.
      */
-    void draw_circle(Element_pos x, Element_pos y, Element_pos z, Element_pos r);
+    void draw_circle(Element_pos x, Element_pos y, Element_pos z, Element_pos r) override;
 
     /* Temporary methods. Use to draw stored arrows and circles. It is to prevent scaling */
     void draw_stored_arrows();
@@ -536,20 +536,20 @@ public:
 
     void draw_stored_texts();
     void release();
-    void draw_text_value(long int id,double text, double y);
+    void draw_text_value(long int id,double text, double y) override;
     void show_minimap();
 
     /*!
      * \brief draws the vertical helper line
      */
 
-    void draw_vertical_line();
+    void draw_vertical_line() override;
 
     /*!
      * \brief set the vertical line offset
      * \param l the line offset.
      */
-    void set_vertical_line(Element_pos l);
+    void set_vertical_line(Element_pos l) override;
 
 
     /*!
@@ -567,7 +567,7 @@ public slots:
     /*!
      * \brief slot connected to the simple click event
      */
-    void update_vertical_line();
+    void update_vertical_line() override;
 
     /*!
      * \brief Function that only delete the text of the screen
diff --git a/src/render/Render_opengl.hpp b/src/render/Render_opengl.hpp
index 378f4260..5d2cdfb3 100644
--- a/src/render/Render_opengl.hpp
+++ b/src/render/Render_opengl.hpp
@@ -212,22 +212,22 @@ public:
     /**
      * Functions inherited from Render.hpp
      */
-    void start_draw();
-    void end_draw();
+    void start_draw() override;
+    void end_draw() override;
 
-    void start_draw_containers();
-    void end_draw_containers();
+    void start_draw_containers() override;
+    void end_draw_containers() override;
 
-    void start_draw_states();
+    void start_draw_states() override;
     void draw_state(const Element_pos,
                     const Element_pos,
                     const Element_pos,
                     const Element_pos,
                     const Element_pos,
-                          EntityValue*);
-    void end_draw_states();
+                          EntityValue*) override;
+    void end_draw_states() override;
 
-    void start_draw_arrows();
+    void start_draw_arrows() override;
     void draw_arrow(const Element_pos,
                     const Element_pos,
                     const Element_pos,
@@ -235,21 +235,21 @@ public:
                     const Element_col,
                     const Element_col,
                     const Element_col,
-                         EntityValue*);
-    void end_draw_arrows();
+                         EntityValue*) override;
+    void end_draw_arrows() override;
 
-    void start_draw_counter();
-    void end_draw_counter();
+    void start_draw_counter() override;
+    void end_draw_counter() override;
 
-    void start_draw_events();
+    void start_draw_events() override;
     void draw_event(const Element_pos,
                     const Element_pos,
                     const Element_pos,
-                    EntityValue *);
-    void end_draw_events();
+                    EntityValue *) override;
+    void end_draw_events() override;
 
-    void start_ruler();
-    void end_ruler();
+    void start_ruler() override;
+    void end_ruler() override;
 
     /***********************************
      *
@@ -257,37 +257,37 @@ public:
      *
      **********************************/
 
-    void set_color(float r, float g, float b);
+    void set_color(float r, float g, float b) override;
     void draw_text(const Element_pos x,
                    const Element_pos y,
                    const Element_pos z,
-                   const std::string s);
+                   const std::string s) override;
     void draw_text_value(long int id,
                          double text,
-                         double y);
+                         double y) override;
     void draw_quad(Element_pos x,
                    Element_pos y,
                    Element_pos z,
                    Element_pos w,
-                   Element_pos h);
+                   Element_pos h) override;
     void draw_triangle(Element_pos x,
                        Element_pos y,
                        Element_pos size,
-                       Element_pos r);
+                       Element_pos r) override;
     void draw_line(Element_pos x1,
                    Element_pos y1,
                    Element_pos x2,
                    Element_pos y2,
-                   Element_pos z);
+                   Element_pos z) override;
     void draw_circle(Element_pos x,
                      Element_pos y,
                      Element_pos z,
-                     Element_pos r);
+                     Element_pos r) override;
 
-    void set_vertical_line(Element_pos l);
-    void draw_vertical_line();
+    void set_vertical_line(Element_pos l) override;
+    void draw_vertical_line() override;
 
-    void call_ruler();
+    void call_ruler() override;
 
     /***********************************
      *
@@ -298,19 +298,19 @@ public:
     /*!
      * \brief Call by the system to initialize the OpenGL render area.
      */
-    void initializeGL();
+    void initializeGL() override;
 
     /*!
      * \brief Call by the system when the render area was resized (occurs during a window resizement).
      * \param width : the new width of the render area.
      * \param height : the new height of the render area.
      */
-    void resizeGL(int width, int height);
+    void resizeGL(int width, int height) override;
 
     /*!
      * \brief Call by the system each time the render area need to be updated.
      */
-    void paintGL();
+    void paintGL() override;
 
     //void paintEvent(QPaintEvent *event);
 
@@ -426,7 +426,7 @@ public slots:
     /*!
      * \brief slot connected to the simple click event
      */
-    void update_vertical_line();
+    void update_vertical_line() override;
 };
 
 #endif
diff --git a/src/render/Render_svg.hpp b/src/render/Render_svg.hpp
index 95981c25..33bb5f85 100644
--- a/src/render/Render_svg.hpp
+++ b/src/render/Render_svg.hpp
@@ -84,18 +84,18 @@ public:
     /*!
      * \brief The destructor
      */
-    virtual ~Render_svg();
+    ~Render_svg() override;
 
 
     /*!
      * \brief Proceeds with the initialization of the OpenGL draw functions.
      */
-    void start_draw();
+    void start_draw() override;
 
     /*!
      * \brief Creates and opens the display list for container draws.
      */
-    void start_draw_containers();
+    void start_draw_containers() override;
 
     /*!
      * \brief Draw a container according to the parameters
@@ -119,12 +119,12 @@ public:
     /*!
      * \brief Closes the container display list.
      */
-    void end_draw_containers();
+    void end_draw_containers() override;
 
     /*!
      * \brief Creates and opens the display list for stater draws.
      */
-    void start_draw_states();
+    void start_draw_states() override;
 
     /*!
      * \brief Draw a state of the trace.
@@ -136,17 +136,17 @@ public:
      * \param g the green color rate of the state.
      * \param b the blue color rate of the state.
      */
-    void draw_state(const Element_pos, const Element_pos, const Element_pos, const Element_pos, const Element_col, EntityValue* );
+    void draw_state(const Element_pos, const Element_pos, const Element_pos, const Element_pos, const Element_col, EntityValue* ) override;
 
     /*!
      * \brief Closes the state display list.
      */
-    void end_draw_states();
+    void end_draw_states() override;
 
     /*!
      * \brief Open the arrow display list.
      */
-    void start_draw_arrows();
+    void start_draw_arrows() override;
 
     /*!
      * \brief Draw an arrow.
@@ -157,12 +157,12 @@ public:
      *
      * This function stores all the information of the arrow to display it each time the render area need to be updated.
      */
-    void draw_arrow(const Element_pos start_time, const Element_pos end_time, const Element_pos start_height, const Element_pos end_height, const Element_col r, const Element_col g, const Element_col b, EntityValue *value);
+    void draw_arrow(const Element_pos start_time, const Element_pos end_time, const Element_pos start_height, const Element_pos end_height, const Element_col r, const Element_col g, const Element_col b, EntityValue *value) override;
 
     /*!
      * \brief Closes the arrow display list.
      */
-    void end_draw_arrows();
+    void end_draw_arrows() override;
 
     /*!
      * \brief Draw arrows contained in the Arrow_ vector
@@ -170,7 +170,7 @@ public:
      */
     // void draw_stored_arrows(std::vector<Arrow_> &arrows);
 
-    void start_draw_events();
+    void start_draw_events() override;
 
     /*!
      * \brief Draw an event.
@@ -183,9 +183,9 @@ public:
      *
      * This function stores all the information of the event to display it each time the render area need to be updated.
      */
-    void draw_event(const Element_pos time, const Element_pos height,  const Element_pos container_height, EntityValue* value);
+    void draw_event(const Element_pos time, const Element_pos height,  const Element_pos container_height, EntityValue* value) override;
 
-    void end_draw_events();
+    void end_draw_events() override;
     /*!
      * \brief Draw events contained in the Event_ vector
      * \param events An event vector.
@@ -195,7 +195,7 @@ public:
     /*!
      * \brief Creates and opens the display list for counter draws.
      */
-    void start_draw_counter();
+    void start_draw_counter() override;
 
     /*!
      * \brief Draw a point of the counter.
@@ -209,22 +209,22 @@ public:
     /*!
      * \brief Closes the counter display list.
      */
-    void end_draw_counter();
+    void end_draw_counter() override;
 
     /*!
      * \brief Called before ruler drawing.
      */
-    void start_ruler();
+    void start_ruler() override;
 
     /*!
      * \brief Called after ruler drawing.
      */
-    void end_ruler();
+    void end_ruler() override;
 
     /*!
      * \brief Do nothing (it is present for compatibility of the Render class).
      */
-    void end_draw();
+    void end_draw() override;
 
     /*!
      * \brief Set the color for the further drawings.
@@ -232,7 +232,7 @@ public:
      * \param g the green value. Within [0 ; 1].
      * \param b the blue value. Within [0 ; 1].
      */
-    void set_color(float r, float g, float b);
+    void set_color(float r, float g, float b) override;
 
     /*!
      * \brief Draw a text.
@@ -241,7 +241,7 @@ public:
      * \param z the deep position of the text.
      * \param s the text.
      */
-    virtual void draw_text(const Element_pos x, const Element_pos y, const Element_pos z, const std::string s);
+    void draw_text(const Element_pos x, const Element_pos y, const Element_pos z, const std::string s) override;
 
     /*!
      * \brief Draw a quad.
@@ -251,7 +251,7 @@ public:
      * \param w the width of the quad.
      * \param h the height of the quad.
      */
-    void draw_quad(Element_pos x, Element_pos y, Element_pos z, Element_pos w, Element_pos h);
+    void draw_quad(Element_pos x, Element_pos y, Element_pos z, Element_pos w, Element_pos h) override;
 
     /*!
      * \brief Draw a triangle.
@@ -261,7 +261,7 @@ public:
      * \param r the rotation of triangle. (clockwise and in degree)
      */
     void draw_triangle(Element_pos x, Element_pos y,
-                       Element_pos size, Element_pos r);
+                       Element_pos size, Element_pos r) override;
 
     /*!
      * \brief Draw a line.
@@ -271,7 +271,7 @@ public:
      * \param y2 the vertical position of the second point.
      * \param z the deep position of the triangle.
      */
-    void draw_line(Element_pos x1, Element_pos y1, Element_pos x2, Element_pos y2, Element_pos z);
+    void draw_line(Element_pos x1, Element_pos y1, Element_pos x2, Element_pos y2, Element_pos z) override;
 
     /*!
      * \brief Draw a circle.
@@ -280,7 +280,7 @@ public:
      * \param z the deep position of the circle.
      * \param r the circle radius.
      */
-    void draw_circle(Element_pos x, Element_pos y, Element_pos z, Element_pos r);
+    void draw_circle(Element_pos x, Element_pos y, Element_pos z, Element_pos r) override;
 
 
     /*!
@@ -288,29 +288,29 @@ public:
      * \param text text to draw.
      * \param y y position of the point.
      */
-    void draw_text_value(long int id, double text, double y){}
+    void draw_text_value(long int id, double text, double y) override{}
 
     /*!
      * \brief draws the vertical helper line
      */
 
-    void draw_vertical_line();
+    void draw_vertical_line() override;
 
      /*!
      * \brief slot connected to the simple click event
      */
-    void update_vertical_line();
+    void update_vertical_line() override;
 
     /*!
      * \brief set the vertical line offset
      * \param l the line offset.
      */
-    void set_vertical_line(Element_pos l);
+    void set_vertical_line(Element_pos l) override;
 
     /*!
      * \brief Draw the ruler display list.
      */
-    void call_ruler();
+    void call_ruler() override;
 };
 
 
diff --git a/src/render/render_stats_opengl.hpp b/src/render/render_stats_opengl.hpp
index 40c49f77..83cd1a38 100644
--- a/src/render/render_stats_opengl.hpp
+++ b/src/render/render_stats_opengl.hpp
@@ -96,30 +96,30 @@ public:
     /*!
      * \brief The destructor
      */
-    ~Render_stats_opengl();
+    ~Render_stats_opengl() override;
 
     /*!
      * \brief Call by the system to initialize the OpenGL render area.
      */
-    void initializeGL();
+    void initializeGL() override;
 
     /*!
      * \brief Call by the system when the render area was resized (occurs during a window resizement).
      * \param width : the new width of the render area.
      * \param height : the new height of the render area.
      */
-    void resizeGL(int width, int height);
+    void resizeGL(int width, int height) override;
 
     /*!
      * \brief Call by the system each time the render area need to be updated.
      */
-    void paintGL();
+    void paintGL() override;
 
     /*!
      * \brief Proceeds with the initialization of draw functions.
      */
 
-    void start_draw();
+    void start_draw() override;
 
     /*!
      * \fn draw_text(const Element_pos x, const Element_pos y, const std::string value)
@@ -128,7 +128,7 @@ public:
      * \param y the y position of the text.
      * \param value the string value of the text.
      */
-    void draw_text(const Element_pos x, const Element_pos y, const std::string value);
+    void draw_text(const Element_pos x, const Element_pos y, const std::string value) override;
 
     /*!
      * \fn draw_line(const Element_pos x, const Element_pos y, const Element_pos x2, const Element_pos y2)
@@ -182,7 +182,7 @@ public:
      * \fn end_draw()
      * \brief Proceeds with the end of draw functions.
      */
-    void end_draw();
+    void end_draw() override;
 
     /*!
      * \fn translate_y(int value)
@@ -202,7 +202,7 @@ public:
      * \brief Set the height of the render area.
      * \param h the new height.
      */
-    void set_total_height(Element_pos h);
+    void set_total_height(Element_pos h) override;
 
     /*!
      * \fn set_total_width(Element_pos w)
@@ -214,7 +214,7 @@ public:
     /*!
      * \brief Set the height for one container.
      */
-    void set_height_for_one_container(Element_pos h);
+    void set_height_for_one_container(Element_pos h) override;
 
     /*!
      * \fn clear()
diff --git a/src/render/render_stats_svg.hpp b/src/render/render_stats_svg.hpp
index e08ed5b2..fe9372c7 100644
--- a/src/render/render_stats_svg.hpp
+++ b/src/render/render_stats_svg.hpp
@@ -112,7 +112,7 @@ public:
      * \brief Proceeds with the initialization of draw functions.
      */
     
-    void start_draw();
+    void start_draw() override;
 
     /*!
      * \fn draw_text(const Element_pos x, const Element_pos y, const std::string value)
@@ -121,7 +121,7 @@ public:
      * \param y the y position of the text.
      * \param value the string value of the text.
      */
-    void draw_text(const Element_pos x, const Element_pos y, const std::string value);
+    void draw_text(const Element_pos x, const Element_pos y, const std::string value) override;
 
     /*!
      * \fn draw_line(const Element_pos x, const Element_pos y, const Element_pos x2, const Element_pos y2)
@@ -175,14 +175,14 @@ public:
      * \fn end_draw()
      * \brief Proceeds with the end of draw functions.
      */
-    void end_draw();
+    void end_draw() override;
     
     /*!
      * \fn set_total_height(Element_pos h)
      * \brief Set the height of the render area.
      * \param h the new height.
      */
-    void set_total_height(Element_pos h);
+    void set_total_height(Element_pos h) override;
 
     /*!
      * \fn set_total_width(Element_pos w)
@@ -196,7 +196,7 @@ public:
      * \fn set_height_for_one_container(Element_pos)
      * \brief Useless for svg.
      */
-    void set_height_for_one_container(Element_pos /*h*/){};
+    void set_height_for_one_container(Element_pos /*h*/) override{};
     
     /*!
      * \fn clear()
diff --git a/src/statistics/DrawCounter.hpp b/src/statistics/DrawCounter.hpp
index ea908520..e3bf3cb9 100644
--- a/src/statistics/DrawCounter.hpp
+++ b/src/statistics/DrawCounter.hpp
@@ -90,7 +90,7 @@ public:
     /*!
      * \brief The destructor
      */
-    virtual ~DrawCounter() = default;
+    ~DrawCounter() override = default;
 
 
     /*!
@@ -99,7 +99,7 @@ public:
      * \param draw_object the kind of object which will be drawn (OpenGL, SVG...).
      * \param containers_to_print the container's data.
      */
-    void build(T* draw_object, std::vector<Container *> containers_to_print) {
+    void build(T* draw_object, std::vector<Container *> containers_to_print) override {
         int nbcont;
 
         draw_object->clear();
diff --git a/src/statistics/DrawHDiagram.hpp b/src/statistics/DrawHDiagram.hpp
index 4bf1ec53..5936a076 100644
--- a/src/statistics/DrawHDiagram.hpp
+++ b/src/statistics/DrawHDiagram.hpp
@@ -86,7 +86,7 @@ public:
     /*!
      * \brief The destructor
      */
-    virtual ~DrawHDiagram() = default;
+    ~DrawHDiagram() override = default;
 
 
     /*!
@@ -95,7 +95,7 @@ public:
      * \param draw_object the kind of object which will be drawn (OpenGL, SVG...).
      * \param containers_to_print the container's data.
      */
-    void build(T* draw_object, std::vector<Container *> containers_to_print) {
+    void build(T* draw_object, std::vector<Container *> containers_to_print) override {
         int nbcont;
 
         draw_object->clear();
diff --git a/src/statistics/DrawVDiagram.hpp b/src/statistics/DrawVDiagram.hpp
index f1410889..baedb450 100644
--- a/src/statistics/DrawVDiagram.hpp
+++ b/src/statistics/DrawVDiagram.hpp
@@ -67,7 +67,7 @@ public:
     /*!
      * \brief The destructor
      */
-    virtual ~DrawVDiagram() = default;
+    ~DrawVDiagram() override = default;
 
 
     /*!
@@ -76,7 +76,7 @@ public:
      * \param draw_object the kind of object which will be drawn (OpenGL, SVG...).
      * \param containers_to_print the container's data
      */
-    virtual void build(T* draw_object, std::vector<Container *> containers_to_print) {
+    void build(T* draw_object, std::vector<Container *> containers_to_print) override {
 
         draw_object->clear();
 
@@ -234,7 +234,7 @@ public:
      * \return a value between 0. and 1.
      *
      */
-    virtual double get_max_percentage(std::map<const EntityValue*, stats*> &temp_states) const {
+    double get_max_percentage(std::map<const EntityValue*, stats*> &temp_states) const override {
         double value;
         double max_length = 0.;
         for (std::map<const EntityValue *, stats *>::const_iterator it = temp_states.begin();
@@ -254,7 +254,7 @@ public:
      * \fn set_geometrical_informations()
      * \brief Set some infos for the displaying
      */
-    void set_geometrical_informations() {
+    void set_geometrical_informations() override {
         this->_pos_x_container_name = _POS_X_CONTAINER_NAME;
         this->_pos_y_container_name = this->_size_for_one_container - 50;
 
diff --git a/src/statistics/Stats_window.hpp b/src/statistics/Stats_window.hpp
index 458529da..5e4e7c2a 100644
--- a/src/statistics/Stats_window.hpp
+++ b/src/statistics/Stats_window.hpp
@@ -121,7 +121,7 @@ public:
      */
     Stats_window(QWidget *parent = nullptr);
 
-    ~Stats_window();
+    ~Stats_window() override;
     
     /*!
      * \fn set_container_names()
@@ -141,7 +141,7 @@ public:
      * \brief Set the trace parsed (give the container names)
      * \param trace The trace.
     */
-    void set_trace(Trace *trace);
+    void set_trace(Trace *trace) override;
 
     /*!
      * \fn init_window()
@@ -168,29 +168,29 @@ public:
      * \fn void set_arguments(std::map<std::string , QVariant *>);
      * \brief Set the arguments of this plugin
      */
-     void set_arguments(std::map<std::string /*argname*/, QVariant * /*argValue*/>);
+     void set_arguments(std::map<std::string /*argname*/, QVariant * /*argValue*/>) override;
     /*!
      * \fn clear()
      * \brief Clear the tab when switching between tabs
      */
-    void clear();
+    void clear() override;
 
     /*!
      * \fn init()
      * \brief Initialize the plugin
      */
-    void init();
+    void init() override;
 
     /*!
      * \fn execute()
      * \brief Execute the plugin. Here it does the same as the reload button
      */
-    void execute();
+    void execute() override;
     /*!
      * \fn std::string get_name();
      * \brief Return the name of the plugin
      */
-    std::string get_name();
+    std::string get_name() override;
 
 
 private:
@@ -206,7 +206,7 @@ private:
      * \brief This functions receives all keyboard events.
      * \param event The event triggered by the keyboard event.
      */
-    void keyPressEvent(QKeyEvent *event);
+    void keyPressEvent(QKeyEvent *event) override;
 
 public slots:
     void auto_update_stats();
diff --git a/src/trace/EntityValue.hpp b/src/trace/EntityValue.hpp
index eb00ccce..6ecbea50 100644
--- a/src/trace/EntityValue.hpp
+++ b/src/trace/EntityValue.hpp
@@ -78,7 +78,7 @@ public:
      * \param opt Extra fields
      */
     EntityValue(const Name &name, EntityType *type, std::map<std::string, Value *> opt);
-    virtual ~EntityValue();
+    ~EntityValue() override;
 
     /*!
      * \fn get_name() const
diff --git a/src/trace/LinkType.hpp b/src/trace/LinkType.hpp
index 2b431558..183973d0 100644
--- a/src/trace/LinkType.hpp
+++ b/src/trace/LinkType.hpp
@@ -71,7 +71,7 @@ public :
      * \fn ~LinkType()
      * \brief Destructor
      */
-    ~LinkType();
+    ~LinkType() override;
 
     /*
     Thes getters and setters are useful for serialization
diff --git a/src/trace/values/Color.hpp b/src/trace/values/Color.hpp
index 6d7ab0fd..67eb1f2b 100644
--- a/src/trace/values/Color.hpp
+++ b/src/trace/values/Color.hpp
@@ -83,7 +83,7 @@ public:
      * \fn to_string() const
      * \return a string of the color in the format "r g b".
      */
-    std::string to_string() const;
+    std::string to_string() const override;
 
     /*!
      * \fn get_red() const
diff --git a/src/trace/values/Date.hpp b/src/trace/values/Date.hpp
index b8b898f4..c605c50b 100644
--- a/src/trace/values/Date.hpp
+++ b/src/trace/values/Date.hpp
@@ -79,7 +79,7 @@ public :
      * \fn to_string() const
      * \return a string of the date
      */
-    std::string to_string() const;
+    std::string to_string() const override;
 
     /*!
      *
diff --git a/src/trace/values/Double.hpp b/src/trace/values/Double.hpp
index 049ec651..abe8c259 100644
--- a/src/trace/values/Double.hpp
+++ b/src/trace/values/Double.hpp
@@ -79,7 +79,7 @@ public:
      * \fn to_string() const
      * \return a string of the double
      */
-    std::string to_string() const;
+    std::string to_string() const override;
 
     /*!
      *
diff --git a/src/trace/values/Hex.hpp b/src/trace/values/Hex.hpp
index 681d6bcc..f3eee036 100644
--- a/src/trace/values/Hex.hpp
+++ b/src/trace/values/Hex.hpp
@@ -86,7 +86,7 @@ public:
      * \fn to_string() const
      * \return a string of the value
      */
-    std::string to_string() const;
+    std::string to_string() const override;
 };
 
 #endif // HEX_HPP
diff --git a/src/trace/values/Integer.hpp b/src/trace/values/Integer.hpp
index 6959d775..54220f74 100644
--- a/src/trace/values/Integer.hpp
+++ b/src/trace/values/Integer.hpp
@@ -85,7 +85,7 @@ public:
      * \fn to_string() const
      * \return a string of the Integer
      */
-    std::string to_string() const;
+    std::string to_string() const override;
 };
 
 #endif // INTEGER_HPP
diff --git a/src/trace/values/Name.hpp b/src/trace/values/Name.hpp
index bc4573a2..cac302f2 100644
--- a/src/trace/values/Name.hpp
+++ b/src/trace/values/Name.hpp
@@ -90,7 +90,7 @@ public:
      * \return The name of the object, if it exists, the alias otherwise
      *
      */
-    std::string to_string() const;
+    std::string to_string() const override;
 
     /*!
      *
diff --git a/src/trace/values/String.hpp b/src/trace/values/String.hpp
index f869e044..682e6407 100644
--- a/src/trace/values/String.hpp
+++ b/src/trace/values/String.hpp
@@ -85,7 +85,7 @@ public:
     /*!
      * \fn to_string() const
      */
-    std::string to_string() const;
+    std::string to_string() const override;
 
 
     /*!
-- 
GitLab