summaryrefslogtreecommitdiffstats
path: root/src/gui/PropertiesWindow.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/PropertiesWindow.hpp')
-rw-r--r--src/gui/PropertiesWindow.hpp129
1 files changed, 0 insertions, 129 deletions
diff --git a/src/gui/PropertiesWindow.hpp b/src/gui/PropertiesWindow.hpp
deleted file mode 100644
index f4a8dd0d..00000000
--- a/src/gui/PropertiesWindow.hpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- This file is part of Ingen.
- Copyright 2007-2015 David Robillard <http://drobilla.net/>
-
- Ingen is free software: you can redistribute it and/or modify it under the
- terms of the GNU Affero General Public License as published by the Free
- Software Foundation, either version 3 of the License, or any later version.
-
- Ingen is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE. See the GNU Affero General Public License for details.
-
- You should have received a copy of the GNU Affero General Public License
- along with Ingen. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef INGEN_GUI_PROPERTIES_WINDOW_HPP
-#define INGEN_GUI_PROPERTIES_WINDOW_HPP
-
-#include <map>
-
-#include <gtkmm/alignment.h>
-#include <gtkmm/box.h>
-#include <gtkmm/builder.h>
-#include <gtkmm/button.h>
-#include <gtkmm/checkbutton.h>
-#include <gtkmm/combobox.h>
-#include <gtkmm/liststore.h>
-#include <gtkmm/scrolledwindow.h>
-#include <gtkmm/table.h>
-
-#include "ingen/client/BlockModel.hpp"
-#include "ingen/types.hpp"
-
-#include "Window.hpp"
-
-namespace Ingen {
-
-namespace Client { class ObjectModel; }
-
-namespace GUI {
-
-/** Object properties window.
- *
- * Loaded from XML as a derived object.
- *
- * \ingroup GUI
- */
-class PropertiesWindow : public Window
-{
-public:
- PropertiesWindow(BaseObjectType* cobject,
- const Glib::RefPtr<Gtk::Builder>& xml);
-
- void present(SPtr<const Client::ObjectModel> model);
- void set_object(SPtr<const Client::ObjectModel> model);
-
-private:
- /** Record of a property (row in the table) */
- struct Record {
- Record(const Atom& v, Gtk::Alignment* vw, int r, Gtk::CheckButton* cb)
- : value(v), value_widget(vw), row(r), present_button(cb)
- {}
- Atom value;
- Gtk::Alignment* value_widget;
- int row;
- Gtk::CheckButton* present_button;
- };
-
- struct ComboColumns : public Gtk::TreeModel::ColumnRecord {
- ComboColumns() {
- add(label_col);
- add(uri_col);
- }
- Gtk::TreeModelColumn<Glib::ustring> label_col;
- Gtk::TreeModelColumn<Glib::ustring> uri_col;
- };
-
- void add_property(const URI& key, const Atom& value);
- void change_property(const URI& key, const Atom& value);
- void remove_property(const URI& key, const Atom& value);
- void on_change(const URI& key);
-
- bool datatype_supported(const std::set<URI>& types,
- URI* widget_type);
-
- bool class_supported(const std::set<URI>& types);
-
- Gtk::Widget* create_value_widget(const URI& key,
- const char* type_uri,
- const Atom& value = Atom());
-
- Atom get_value(LV2_URID type, Gtk::Widget* value_widget);
-
- void reset();
- void on_show();
-
- std::string active_key() const;
-
- void key_changed();
- void add_clicked();
- void cancel_clicked();
- void apply_clicked();
- void ok_clicked();
-
- typedef std::map<URI, Record> Records;
- Records _records;
-
- SPtr<const Client::ObjectModel> _model;
- ComboColumns _combo_columns;
- Glib::RefPtr<Gtk::ListStore> _key_store;
- sigc::connection _property_connection;
- sigc::connection _property_removed_connection;
- Gtk::VBox* _vbox;
- Gtk::ScrolledWindow* _scrolledwindow;
- Gtk::Table* _table;
- Gtk::ComboBox* _key_combo;
- LV2_URID _value_type;
- Gtk::Bin* _value_bin;
- Gtk::Button* _add_button;
- Gtk::Button* _cancel_button;
- Gtk::Button* _apply_button;
- Gtk::Button* _ok_button;
-};
-
-} // namespace GUI
-} // namespace Ingen
-
-#endif // INGEN_GUI_PROPERTIES_WINDOW_HPP