]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/lineararrangement.h
Use the override specifier when overriding a virtual function
[libs/gltk.git] / source / lineararrangement.h
index ce49b34edf38c99d9618a2f424cbcc73bafb2adb..7535bc7879247c57c151a0f839e39245f5146aa2 100644 (file)
@@ -3,14 +3,15 @@
 
 #include <msp/datafile/objectloader.h>
 #include "arrangement.h"
+#include "mspgltk_api.h"
 
 namespace Msp {
 namespace GLtk {
 
-class LinearArrangement: public Arrangement
+class MSPGLTK_API LinearArrangement: public Arrangement
 {
 public:
-       class Loader: public DataFile::ObjectLoader<LinearArrangement>
+       class MSPGLTK_API Loader: public DataFile::ObjectLoader<LinearArrangement>
        {
        public:
                Loader(LinearArrangement &);
@@ -22,16 +23,16 @@ public:
        };
 
 protected:
-       Side primary;
-       Side opposite;
+       Side primary = RIGHT;
+       Side opposite = static_cast<Side>(primary^2);
        Edge next;
-       bool first;
-       bool split_here;
-       Side gravity;
-       bool internal_aligned;
-       bool uniform;
-       Widget *uniform_ref;
-       int next_spacing;
+       bool first = true;
+       bool split_here = false;
+       Side gravity = opposite;
+       bool internal_aligned = false;
+       bool uniform = false;
+       Widget *uniform_ref = nullptr;
+       int next_spacing = -1;
 
        LinearArrangement(Layout &, Side);
 
@@ -42,9 +43,9 @@ public:
        void spacing(unsigned);
 
 protected:
-       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;
 };
 
 } // namespace GLtk