#ifndef foomainwindowhhfoo #define foomainwindowhhfoo #include #include #include class MainWinow; #include "ServerInfoManager.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 updateInfo(SinkInputInfo &i); virtual void updateInfo(SourceOutputInfo &i); virtual void removeInfo(SinkInfo &i); virtual void removeInfo(SourceInfo &i); virtual void removeInfo(ClientInfo &i); virtual void removeInfo(ModuleInfo &i); virtual void removeInfo(SinkInputInfo &i); virtual void removeInfo(SourceOutputInfo &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