1 /* This file is part of Dilay
2  * Copyright © 2015-2018 Alexander Bau
3  * Use and redistribute under the terms of the GNU General Public License
4  */
5 #ifndef DILAY_VIEW_TWO_COLUMN_GRID
6 #define DILAY_VIEW_TWO_COLUMN_GRID
7 
8 #include <QWidget>
9 #include <vector>
10 #include "macro.hpp"
11 
12 class QButtonGroup;
13 class QString;
14 
15 class ViewTwoColumnGrid : public QWidget
16 {
17 public:
18   DECLARE_BIG2 (ViewTwoColumnGrid, QWidget* = nullptr)
19 
20   unsigned int numRows () const;
21   void         setEqualColumnStretch ();
22 
23   void add (QWidget&);
24   void add (const QString&, const QString&);
25   void add (const QString&, QWidget&);
26   void add (QWidget&, QWidget&);
27   void add (QButtonGroup&);
28   void addStacked (const QString&, QWidget&);
29   void addStacked (const QString&, QButtonGroup&);
30   void addLeft (const QString&);
31   void addCenter (const QString&);
32   void addStretcher ();
33   void addSeparator ();
34   void reset ();
35 
36 private:
37   IMPLEMENTATION
38 };
39 
40 #endif
41