On 2013-01-31 13:35, SaltySugar wrote:
Thanks, setBorderWidth() is working but button's size isn't changing.

I don't have a working gtk environment to test it, but try this:
(maybe hBox2 isn't even needed and you could vBox.add(algn1);)


    import gtk.MainWindow;
    import gtk.Label;
    import gtk.Button;
    import gtk.VBox;
    import gtk.HBox;
    import gtk.Entry;
    import gtk.Main;
    import gtk.Alignment;

    class Application : MainWindow
    {
        this()
        {
            super("GtkD App");
            setDefaultSize(200, 200);

            HBox hBox = new HBox(false, 3);
            HBox hBox1 = new HBox(false, 3);
            VBox vBox = new VBox(false, 5);

            // Alignment(xalign, yalign, xscale, yscale)
            // xscale = 0 stops the child from stretching in X axis
            Alignment algn1 = new Alignment(0.5, 0, 0, 0);
            HBox hBox2 = new HBox(false, 3);

            Button btnLog = new Button("LOGIN --->");
            Label lblNick = new Label("User: ");
            Entry txtNick = new Entry();
            Label lblPass = new Label("Password: ");
            Entry txtPass = new Entry();

            btnLog.setSizeRequest(70, 30);
            vBox.packStart(hBox, true, true, 3);
            vBox.packStart(hBox1, true, true, 3);
            vBox.setBorderWidth(8);

            hBox.add (lblNick);
            hBox.add (txtNick);
            hBox1.add (lblPass);
            hBox1.add (txtPass);

            algn1.add (btnLog);
            hBox2.add (algn1);
            vBox.add (hBox2);

            add(vBox);
            showAll();
        }
    }
    void main(string[] args)
    {
        Main.init(args);
        new Application();
        Main.run();
    }

Reply via email to