00001 /* $Id:chatlist.h jjs $ */ 00002 /* 00003 Copyright (C) 2007 by Jurjen Stellingwerff <jurjen@stwerff.xs4all.nl> 00004 Part of the Moros Project http://moros.sourceforge.net/ 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License. 00008 This program is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY. 00010 00011 See the COPYING file for more details. 00012 */ 00013 00014 #ifndef CHATLIST_H 00015 #define CHATLIST_H 00016 00017 #include <gtkmm.h> 00018 #include <libglademm.h> 00019 00021 00022 class chatlist : public Gtk::Window { 00023 public: 00024 chatlist(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml> refGlade); 00025 virtual ~chatlist(); 00026 void clear(); 00027 void record(std::string name, int members, std::string type, std::string status, std::string descr); 00028 00029 protected: 00030 Glib::RefPtr<Gnome::Glade::Xml> m_refGlade; 00031 virtual void clicked_close(); 00032 virtual void clicked_new(); 00033 virtual void clicked_join(); 00034 Gtk::Button* chatlist_close; 00035 Gtk::Button* chatlist_new; 00036 Gtk::Button* chatlist_join; 00037 Gtk::TreeView* chatlist_view; 00038 Glib::RefPtr<Gtk::ListStore> list_store; 00039 virtual void clicked_list(const Gtk::TreeModel::Path& path, Gtk::TreeViewColumn* column); 00040 00042 struct ModelColumns : public Gtk::TreeModelColumnRecord { 00043 Gtk::TreeModelColumn<Glib::ustring> name; 00044 Gtk::TreeModelColumn<int> members; 00045 Gtk::TreeModelColumn<Glib::ustring> type; 00046 Gtk::TreeModelColumn<Glib::ustring> status; 00047 Gtk::TreeModelColumn<Glib::ustring> descr; 00048 ModelColumns() 00049 { 00050 add(name); add(members); add(type); add(status); add(descr); 00051 } 00052 }; 00053 const ModelColumns cols; 00054 }; 00055 00056 #endif //CHATLIST_H