import gtk.Button;
import gtk.Window;
import gtkui;
void main()
{
    auto ui = new UI;
    ui.addOnQuit({ ui.exitLoop(); });
    ui.runLoop();
}
class UI : MainBuilderUI
{
    mixin GtkBuilderHelper;
    @gtkwidget Window mwindow;
    @gtkwidget Button addbtn;
    @gtksignal void someAction()
    {
        /+ do something +/
    }
    this()
    {
        super(import("main.glade"));
        addbtn.addOnClicked((b) { /+ do something +/ });
        setupMainWindow(mwindow);
    }
}For more information see small (~130 lines with comments) example
- 
Signals in glade file should not contain User data, otherwise this will crash program.
- 
If you want to use parameters from signal method you must be sure of their count and order, otherwise wrong count or order of parameters will crash program. 
- 
Parameter of signal method must be gtk pointers (not wraps from gtkD). 
- 
If you want don't use parameters for signal method be sure what this signal receive only two parameters (gtk widget and user data), otherwise you should specify parameters.