X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fluadialog.h;h=f0bacdc387fa18dd1d64c944e6989b069aee073d;hb=39f65bbce209e1be1591dd0a32c34ad6a11bcf97;hp=96d79846fbab6450bc56f617533e62e5c25c817b;hpb=f5995661d0b652a1907ca440dce6e1fcc2bf3855;p=ardour.git diff --git a/gtk2_ardour/luadialog.h b/gtk2_ardour/luadialog.h index 96d79846fb..f0bacdc387 100644 --- a/gtk2_ardour/luadialog.h +++ b/gtk2_ardour/luadialog.h @@ -53,19 +53,31 @@ private: class LuaDialogWidget { public: - LuaDialogWidget (std::string const& key, std::string const& label) - : _key (key), _label (label) - {} + LuaDialogWidget (std::string const& key, std::string const& label, int col = 0, int colspan = -1) + : _key (key), _label (label), _col (col), _colspan (colspan) + { + if (_colspan < 0) { + _colspan = label.empty () ? 1 : 2; + } + } virtual ~LuaDialogWidget () {} virtual Gtk::Widget* widget () = 0; virtual void assign (luabridge::LuaRef* rv) const = 0; - std::string const& label () const { return _label; } + std::string const& label () const { return _label; } + std::string const& key () const { return _key; } + int col () const { return _col; } + int span () const { return _colspan; } + + void set_col (int col) { _col = col; } + void set_span (int span) { _colspan = span; } protected: std::string _key; std::string _label; + int _col; + int _colspan; }; @@ -77,7 +89,10 @@ public: private: Dialog (Dialog const&); // prevent copy construction + void table_size_alloc (Gtk::Allocation&); + ArdourDialog _ad; + Gtk::ScrolledWindow _scroller; typedef std::vector DialogWidgets; DialogWidgets _widgets; std::string _title;