From 4b682a9eba6590d8fe090f68dda6afe59ae64f85 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 15 Aug 2004 11:27:34 +0000 Subject: Move everything to src/ directory git-svn-id: file:///home/lennart/svn/public/paman/trunk@8 cdefa82f-4ce1-0310-97f5-ab6066f37c3c --- src/MainWindow.hh | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 src/MainWindow.hh (limited to 'src/MainWindow.hh') diff --git a/src/MainWindow.hh b/src/MainWindow.hh new file mode 100644 index 0000000..2d5f173 --- /dev/null +++ b/src/MainWindow.hh @@ -0,0 +1,117 @@ +#ifndef foomainwindowhhfoo +#define foomainwindowhhfoo + +#include +#include +#include + +class MainWinow; + +#include "ServerInfo.hh" + +class MainWindow : public Gtk::Window { +public: + MainWindow(BaseObjectType* cobject, const Glib::RefPtr& refGlade); + virtual ~MainWindow(); + static MainWindow* create(); + + Gtk::Label *statusLabel, + *serverNameLabel, + *serverVersionLabel, + *defaultSampleTypeLabel, + *userNameLabel, + *hostNameLabel; + + Gtk::Button *deviceOpenButton, + *clientOpenButton, + *moduleOpenButton, + *connectButton; + + Gtk::TreeView *deviceTreeView, + *clientTreeView, + *moduleTreeView; + +protected: + + class DeviceTreeModelColumns : public Gtk::TreeModel::ColumnRecord { + public: + + DeviceTreeModelColumns() { + add(name); + add(description); + add(index); + add(type); + } + + Gtk::TreeModelColumn name; + Gtk::TreeModelColumn description; + Gtk::TreeModelColumn index; + Gtk::TreeModelColumn type; + }; + + DeviceTreeModelColumns deviceTreeModelColumns; + Glib::RefPtr deviceTreeStore; + Gtk::TreeRowReference sinkRef, sourceRef; + + class ClientTreeModelColumns : public Gtk::TreeModel::ColumnRecord { + public: + ClientTreeModelColumns() { + add(name); + add(index); + } + + Gtk::TreeModelColumn name; + Gtk::TreeModelColumn index; + }; + + ClientTreeModelColumns clientTreeModelColumns; + Glib::RefPtr clientTreeStore; + + class ModuleTreeModelColumns : public Gtk::TreeModel::ColumnRecord { + public: + ModuleTreeModelColumns() { + add(name); + add(argument); + add(index); + } + + Gtk::TreeModelColumn name; + Gtk::TreeModelColumn argument; + Gtk::TreeModelColumn index; + }; + + ModuleTreeModelColumns moduleTreeModelColumns; + Glib::RefPtr moduleTreeStore; + +public: + virtual void updateInfo(const struct pa_server_info &i); + virtual void updateInfo(SinkInfo &i); + virtual void updateInfo(SourceInfo &i); + virtual void updateInfo(ClientInfo &i); + virtual void updateInfo(ModuleInfo &i); + + virtual void removeInfo(SinkInfo &i); + virtual void removeInfo(SourceInfo &i); + virtual void removeInfo(ClientInfo &i); + virtual void removeInfo(ModuleInfo &i); + + virtual void onDeviceTreeViewCursorChanged(); + virtual void onDeviceTreeViewRowActivated(const Gtk::TreeModel::Path& path, Gtk::TreeViewColumn* /* column */); + virtual void onClientTreeViewRowActivated(const Gtk::TreeModel::Path& path, Gtk::TreeViewColumn* /* column */); + virtual void onModuleTreeViewRowActivated(const Gtk::TreeModel::Path& path, Gtk::TreeViewColumn* /* column */); + + virtual void showSuccess(const char *t); + virtual void showFailure(const char *t); + virtual void clearAllData(); + + virtual void onDeviceOpenButton(); + virtual void onClientOpenButton(); + virtual void onModuleOpenButton(); + virtual void onConnectButton(); + + virtual void showDeviceWindow(const Gtk::TreePath &p); + virtual void showClientWindow(const Gtk::TreePath &p); + virtual void showModuleWindow(const Gtk::TreePath &p); +}; + +#endif -- cgit