Extend LV2UI-Request-Parameter File/Path GUI
[ardour.git] / gtk2_ardour / session_metadata_dialog.h
index e7df63d6b9397c5d3de5ee9329e70f60ee980fe1..72e56effc5f64a2d00acab9fedab8cbf98b30996 100644 (file)
@@ -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 ();