summaryrefslogtreecommitdiff
path: root/gtk2_ardour/session_metadata_dialog.h
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2017-07-14 13:58:41 -0500
committerBen Loftis <ben@harrisonconsoles.com>2017-08-14 14:08:17 -0500
commit0a0eec2adca785e6fff1b1e798bbded196188f4c (patch)
treefacdaf889d0f6d467849acd8ebf09f740a2825aa /gtk2_ardour/session_metadata_dialog.h
parenta1143a0ed648a0f3dd0febc204dd38e70dc363b0 (diff)
Session Metadata: add a Description field.
* This is a multi-line text field. * If the session is a template, we might show this in the New Session dialog.
Diffstat (limited to 'gtk2_ardour/session_metadata_dialog.h')
-rw-r--r--gtk2_ardour/session_metadata_dialog.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/gtk2_ardour/session_metadata_dialog.h b/gtk2_ardour/session_metadata_dialog.h
index e7df63d6b9..72e56effc5 100644
--- a/gtk2_ardour/session_metadata_dialog.h
+++ b/gtk2_ardour/session_metadata_dialog.h
@@ -34,6 +34,7 @@
#include <gtkmm/liststore.h>
#include <gtkmm/notebook.h>
#include <gtkmm/table.h>
+#include <gtkmm/textview.h>
#include <gtkmm/treemodel.h>
#include <gtkmm/treeview.h>
@@ -75,7 +76,7 @@ protected:
/// MetadataField that contains text
class TextMetadataField : public MetadataField
{
-private:
+protected:
typedef std::string (ARDOUR::SessionMetadata::*Getter) () const;
typedef void (ARDOUR::SessionMetadata::*Setter) (std::string const &);
public:
@@ -88,7 +89,7 @@ public:
Gtk::Widget & name_widget ();
Gtk::Widget & value_widget ();
Gtk::Widget & edit_widget ();
-private:
+protected:
void update_value ();
Getter getter;
@@ -101,6 +102,20 @@ private:
guint width;
};
+/// MetadataField that contains longform text
+class LongTextMetadataField : public TextMetadataField
+{
+public:
+ LongTextMetadataField (Getter getter, Setter setter, std::string const & field_name, guint width = 50);
+ MetadataPtr copy ();
+
+ Gtk::Widget & edit_widget ();
+private:
+ void update_value ();
+
+ Gtk::TextView* tview;
+};
+
/// MetadataField that accepts only numbers
class NumberMetadataField : public MetadataField
{
@@ -286,6 +301,7 @@ protected:
private:
void init_user_data ();
+ void init_description_data ();
void init_track_data ();
void init_album_data ();
void init_people_data ();