Mercurial > projects > doodle
view doodle/main/prog/doodler.d @ 55:4922e746dd76
Checkpoint
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sun, 08 Aug 2010 21:37:38 +0930 |
parents | 30ecedfe2ce2 |
children | b190a9d9352e |
line wrap: on
line source
private { import doodle.core.backtrace; import doodle.core.logging; import doodle.core.backtrace; import doodle.dia.tool_layer; import doodle.dia.standard_tools; import doodle.dia.grid_layer; import doodle.dia.page_layer; import doodle.gtk.canvas; import doodle.gtk.palette; import gtk.Main; import gtk.MainWindow; import gtk.VBox; import std.stdio; } void main(string[] args) { void paletteCallback(int index) { writefln("Callback %s", index); } Main.init(args); auto window = new MainWindow("Doodle"); auto vbox = new VBox(false, 0); auto palette = new Palette; IPalette.Item[] items = [ { "select.svg", "Select", &paletteCallback }, { "rectangle.svg", "Rectangle", &paletteCallback }, { "ellipse.svg", "Ellipse", &paletteCallback }, { "polyline.svg", "Polyline", &paletteCallback } ]; palette.configure(items); vbox.packStart(palette, false, false, 0); Tool[] tools; tools ~= new PanTool; tools ~= new ZoomTool; tools ~= new LassoTool; auto toolLayer = new ToolLayer(tools, "Tools"); auto gridLayer = new GridLayer("Grid"); Layer[] layers; layers ~= new PageLayer("Page"); layers ~= gridLayer; layers ~= toolLayer; auto canvas = new Canvas(layers, toolLayer, gridLayer, 120.0); vbox.packStart(canvas, true, true, 0); window.add(vbox); window.setDefaultSize(640, 580); window.showAll(); Main.run(); }