]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/grid.h
Use the override specifier when overriding a virtual function
[libs/gltk.git] / source / grid.h
index 0e71748b6a71bdd84da98bdd31c8bfa3957094c9..4ed43d56442f59d0b475ba7b3cf6fd097b676225 100644 (file)
@@ -1,13 +1,25 @@
 #ifndef MSP_GLTK_GRID_H_
 #define MSP_GLTK_GRID_H_
 
+#include <msp/datafile/objectloader.h>
 #include "arrangement.h"
+#include "mspgltk_api.h"
 
 namespace Msp {
 namespace GLtk {
 
-class Grid: public Arrangement
+class MSPGLTK_API Grid: public Arrangement
 {
+public:
+       class Loader: public DataFile::ObjectLoader<Grid>
+       {
+       public:
+               Loader(Grid &);
+       private:
+               void next_row();
+               void skip();
+       };
+
 private:
        struct Column
        {
@@ -18,8 +30,8 @@ private:
        std::vector<Column> columns;
        Edge row_top;
        Edge row_bottom;
-       bool first_row;
-       unsigned column;
+       bool first_row = true;
+       unsigned column = 0;
 
 public:
        Grid(Layout &, unsigned);
@@ -28,9 +40,9 @@ public:
        void next_row();
 
 private:
-       virtual void process_widget(Widget &, Side, bool);
-       virtual void finish_widget(Widget &);
-       virtual void finish_slot();
+       void process_widget(Widget &, Side, bool) override;
+       void finish_widget(Widget &) override;
+       void finish_slot() override;
        void finish_row();
 };