GtkD Dialog layout

number putimalitze at gmx.de
Wed May 15 06:55:42 UTC 2019


On Wednesday, 15 May 2019 at 06:35:15 UTC, Vitaly Livshic wrote:
>  Compiles fine, no warnings, but I see only two buttons. GTK 
> shows no warnings. I replace 'packStart' with add but it no 
> effect too.
>
>  How to add Grid to dialog properly?

I don't know dwt, but as a plain gtk program in works fine here. 
I see the buttons, the labels and the entry. Though I get a gtk 
warning "Can't set a parent on a toplevel widget".

```
import std.stdio;

import gtk.Main;
import gtk.Window;
import gtk.MainWindow;
import gtk.Label;
import gtk.Widget;
import gtk.Dialog;
import gtk.Entry;
import gtk.Grid;

void main(string[] args)
{
	Main.init(args);

	MainWindow window = new MainWindow("title");
	window.setSizeRequest(400, 200);

	ActivationDialog dialog = new ActivationDialog(window);
	window.add(dialog);

	window.showAll();

	Main.run();

} // main()


public class ActivationDialog : Dialog
{
	private Entry codeEntry;

	this(Window parent)
	{
		StockID[] buttons = [StockID.OK, StockID.CANCEL];
		ResponseType[] responses = [GtkResponseType.OK, 
GtkResponseType.CANCEL];
		super("Some header", parent, GtkDialogFlags.MODAL, buttons, 
responses);

		auto box = new Grid;
		box.setColumnHomogeneous(false);
		box.setRowHomogeneous(true);
		box.setRowSpacing(3);
		box.setColumnSpacing(5);
		box.setBorderWidth(8);

		auto label = new Label("Some Text: ");
		box.attach(label, 0, 0, 1, 1);
		label = new Label("shiche at tralala.com");
		box.attach(label, 1, 0, 1, 1);
		label = new Label("Enter number");
		box.attach(label, 0, 1, 1, 1);
		codeEntry = new Entry;
		box.attach(codeEntry, 1, 1, 1, 1);

		getContentArea.packStart(box, true, true, 0);
	}
}

```


More information about the Digitalmars-d-dwt mailing list