#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, *linkLibraryVersionLabel, *compiledLibraryVersionLabel, *titleLabel, *defaultSinkLabel, *defaultSourceLabel; Gtk::Button *deviceOpenButton, *clientOpenButton, *moduleOpenButton, *sampleOpenButton, *samplePlayButton, *connectButton, *disconnectButton, *statButton; Gtk::TreeView *deviceTreeView, *clientTreeView, *moduleTreeView, *sampleTreeView; Gtk::EventBox *titleEventBox; Gtk::ComboBox *sinkComboBox; 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; class SampleTreeModelColumns : public Gtk::TreeModel::ColumnRecord { public: SampleTreeModelColumns() { add(name); add(index); } Gtk::TreeModelColumn name; Gtk::TreeModelColumn index; }; SampleTreeModelColumns sampleTreeModelColumns; Glib::RefPtr sampleTreeStore; class SinkTreeModelColumns : public Gtk::TreeModel::ColumnRecord { public: SinkTreeModelColumns() { add(name); add(index); } Gtk::TreeModelColumn name; Gtk::TreeModelColumn index; }; SinkTreeModelColumns sinkTreeModelColumns; Glib::RefPtr sinkListStore; 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 updateInfo(SampleInfo &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 removeInfo(SampleInfo &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 onSampleTreeViewRowActivated(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 onSampleOpenButton(); virtual void onSamplePlayButton(); virtual void onConnectButton(); virtual void onDisconnectButton(); virtual void onStatButton(); virtual void showDeviceWindow(const Gtk::TreePath &p); virtual void showClientWindow(const Gtk::TreePath &p); virtual void showModuleWindow(const Gtk::TreePath &p); virtual void showSampleWindow(const Gtk::TreePath &p); }; #endif