view doodle/main/prog/doodler.d @ 54:30ecedfe2ce2

Partial palette support
author "David Bryant <bagnose@gmail.com>"
date Sun, 08 Aug 2010 21:07:47 +0930
parents 0eaf39fda206
children 4922e746dd76
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.toolbar;
    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 toolBar = new ToolBar;
    vbox.packStart(toolBar, false, false, 0);
    +/

    auto palette = new Palette;
    IPalette.Item[] items =
        [
        { "select.svg", "Select", &paletteCallback },
        { "select.svg", "Select", &paletteCallback }
        ];
        palette.configure(items);
    /*
    palette.add("select.svg", "tooltip-text", (int i){ writefln("Wow %s", i); });
    palette.add("select.svg", "tooltip-text", (int i){ writefln("Wow %s", i); });
    palette.add("select.svg", "tooltip-text", (int i){ writefln("Wow %s", i); });
    palette.add("select.svg", "tooltip-text", (int i){ writefln("Wow %s", i); });
    palette.add("select.svg", "tooltip-text", (int i){ writefln("Wow %s", i); });
    */
    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(380, 380);
    window.showAll();
    Main.run();
}