[Java-gnome-developer] TreeView doesn't show with Glade
Brought to you by:
afcowie
|
From: Luis M. V. <lui...@gm...> - 2011-02-17 18:36:06
|
Hi!
I have a problem with the TreeView and Glade
I'm using:
libjava-gnome 4.0.14
Glade 3.6.7
Eclipse 3.6.1
Ubuntu 10.04
For example, in the next code, where I don't use glade, the TreeView show
the information of TreeModel
---------------8<---------------------
public class ExampleWithoutGlade {
public ExampleWithoutGlade() {
Window win = new Window();
DataColumnString placeName = new DataColumnString();
ListStore model = new ListStore(new DataColumn[] { placeName });
TreeIter row = model.appendRow();
model.setValue(row, placeName, "Line 1");
row = model.appendRow();
model.setValue(row, placeName, "Line 2");
row = model.appendRow();
model.setValue(row, placeName, "Line 3");
TreeView treeview = new TreeView(model);
win.add(treeview);
TreeViewColumn vertical = treeview.appendColumn();
vertical.setTitle("Lines");
CellRendererText renderer = new CellRendererText(vertical);
renderer.setMarkup(placeName);
win.showAll();
win.connect(new Window.DeleteEvent() {
public boolean onDeleteEvent(Widget source, Event event) {
Gtk.mainQuit();
return false;
}
});
}
public static void main(String[] args) {
Gtk.init(args);
new ExampleWithoutGlade();
Gtk.main();
}
}
----------------------------------------
However, when I use the Glade interface, the TreeView doesn't show with the
information of TreeModel
---------------8<---------------------
public class ExampleWithGlade {
public ExampleWithGlade() throws FileNotFoundException {
XML xmlWin = Glade.parse("rsc/example.glade", "win");
XML xmlTreeView = Glade.parse("rsc/example.glade", "treeview");
Window win = (Window) xmlWin.getWidget("win");
TreeView treeview = (TreeView) xmlTreeView.getWidget("treeview");
DataColumnString placeName = new DataColumnString();
ListStore model = new ListStore(new DataColumn[] { placeName });
TreeIter row = model.appendRow();
model.setValue(row, placeName, "Line 1");
row = model.appendRow();
model.setValue(row, placeName, "Line 2");
row = model.appendRow();
model.setValue(row, placeName, "Line 3");
treeview.setModel(model);
TreeViewColumn vertical = treeview.appendColumn();
vertical.setTitle("Lines");
CellRendererText renderer = new CellRendererText(vertical);
renderer.setMarkup(placeName);
win.showAll();
win.connect(new Window.DeleteEvent() {
public boolean onDeleteEvent(Widget source, Event event) {
Gtk.mainQuit();
return false;
}
});
}
public static void main(String[] args) throws FileNotFoundException {
Gtk.init(args);
new ExampleWithGlade();
Gtk.main();
}
}
----------------------------------------
The glade file:
Preferences: libglade + gtk+ 2.12
---------------8<---------------------
<?xml version="1.0"?>
<glade-interface>
<!-- interface-requires gtk+ 2.12 -->
<!-- interface-naming-policy project-wide -->
<widget class="GtkWindow" id="win">
<property name="title" translatable="yes">.</property>
<child>
<widget class="GtkTreeView" id="treeview">
<property name="visible">True</property>
<property name="can_focus">True</property>
</widget>
</child>
</widget>
</glade-interface>
----------------------------------------
I don't undestand the reason of this issue.
Could you help me?
Best regards
|