From d3a66f65b57b74dff41815620f8e45fd926ec50f Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Sun, 15 Mar 2009 13:32:28 +0000 Subject: Split cardwidget out into it's own files. Also define a get_context() method to get the context from outside of the main file. --- src/cardwidget.h | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/cardwidget.h (limited to 'src/cardwidget.h') diff --git a/src/cardwidget.h b/src/cardwidget.h new file mode 100644 index 0000000..bca22c1 --- /dev/null +++ b/src/cardwidget.h @@ -0,0 +1,68 @@ +/*** + This file is part of pavucontrol. + + Copyright 2006-2008 Lennart Poettering + Copyright 2009 Colin Guthrie + + pavucontrol is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + pavucontrol 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 + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with pavucontrol. If not, see . +***/ + +#ifndef cardwidget_h +#define cardwidget_h + +#include "pavucontrol.h" + +class CardWidget : public Gtk::VBox { +public: + CardWidget(BaseObjectType* cobject, const Glib::RefPtr& x); + static CardWidget* create(); + + Gtk::Label *nameLabel; + Gtk::ToggleButton *streamToggleButton; + Gtk::Menu menu; + Gtk::Image *iconImage; + Glib::ustring name; + uint32_t index; + bool updating; + + std::map profiles; + Glib::ustring activeProfile; + bool hasSinks; + bool hasSources; + + void prepareMenu(); + +protected: + virtual void onProfileChange(); + + //Tree model columns: + class ModelColumns : public Gtk::TreeModel::ColumnRecord + { + public: + + ModelColumns() + { add(name); add(desc); } + + Gtk::TreeModelColumn name; + Gtk::TreeModelColumn desc; + }; + + ModelColumns profileModel; + + //Child widgets: + Gtk::ComboBox *profileList; + Glib::RefPtr treeModel; +}; + +#endif -- cgit