| |
| Posted by number in reply to Vitaly Livshic | PermalinkReply |
|
number
Posted in reply to Vitaly Livshic
| 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@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);
}
}
```
|