1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| #include <iostream>
#include "gtk2.h"
#include <libglademm.h>
#include <libglademm/xml.h>
wndOkno::wndOkno(BaseObjectType* base_object,
const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml) : Gtk::Window(base_object) {
//Load the Glade file and instiate its widgets:
Glib::RefPtr<Gnome::Glade::Xml> refXml =
Gnome::Glade::Xml::create("gtk2.glade");
// stworzenie modelu danych na podstawie modelu kolumn
[b]probably here is error:[/b] tmdl = Gtk::ListStore::create(mc);
// kojarzymy widok z modelem - czyli wiazemy dane z tym co widac na ekranie
[b]or here:[/b] tv->set_model(tmdl);
// dodajemy do widoku listy kolumne z numerem
tv->append_column_editable("c0", mc.c0);
//part cuted
refXml->get_widget("button3", btn_exit);
btn_exit->signal_clicked().connect(sigc::mem_fun(*this,&wndOkno::btn_exit_clicked));
refXml->get_widget("button1", btn_add_row);
btn_add_row->signal_clicked().connect(sigc::mem_fun(*this, &wndOkno::btn_add_row_clicked));
refXml->get_widget("button1", btn_srednia);
btn_add_row->signal_clicked().connect(sigc::mem_fun(*this,&wndOkno::btn_srednia_clicked));
refXml->get_widget("entry1", entry1);
// wczytanie widoku z pliku
refXml->get_widget("treeview1", tv);
}
wndOkno::~wndOkno() {
}
void wndOkno::btn_add_row_clicked(){
// stworzenie nowego rzedu w modelu danych i uzyskanie referencji do niego
Gtk::TreeModel::Row rw = *(tmdl->append());
// nadanie wartosci rw[mc.m_col_id] = 1;
rw[mc.c0] = (unsigned int)rand()%100+1;
//part cuted
}
void wndOkno::btn_exit_clicked(){
std::cout<<"Kończę super program, damn! ;-)"<<std::endl;
Gtk::Main::quit();
}
|