int renderer;
}
-
public class FisheyeListView : Gtk.DrawingArea
{
protected Gtk.TreeModel model;
* See also http://www.cs.umd.edu/hcil/fisheyemenu/
*/
}
-
-public class Fisheye : Gtk.Window
-{
- Gtk.ListStore model;
- FisheyeListView flv;
-
- public Fisheye()
- {
- title = "Fisheye";
- destroy += Gtk.main_quit;
-
- flv = new FisheyeListView();
- add(flv);
-
- model = new Gtk.ListStore(1, typeof(string));
- Gtk.TreeIter iter;
- var infd = FileStream.open("/tmp/names", "r");
- if (infd == null)
- {
- for (int i = 0; i < 300; ++i)
- {
- model.append(out iter);
- model.set(iter, 0, "Antani %d".printf(i), -1);
- }
- } else {
- char buf[255];
- while (true)
- {
- string line = infd.gets(buf);
- if (line == null)
- break;
- model.append(out iter);
- model.set(iter, 0, line, -1);
- }
- }
-
- flv.set_model(model);
-
- flv.row_activated += on_row_activated;
- }
-
- public void on_row_activated(Gtk.TreePath path)
- {
- Gtk.TreeIter iter;
- model.get_iter(out iter, path);
- string val;
- model.get(iter, 0, out val, -1);
- stdout.printf("Clicked on %s\n", val);
- }
-}
-
-static int main (string[] args) {
- Gtk.init (ref args);
-
- var fe = new Fisheye();
- fe.set_size_request(200, 300);
- fe.show_all();
-
- Gtk.main();
-
- return 0;
-}