Взаимодействие между виджетами в gtkd
Я экспериментирую с D и GTKD. Теперь у меня есть эта кнопка, и когда я нажимаю на нее, я хочу запустить функцию в другом виджете. Как я могу это сделать?
Вот пример кода, который работает, но еще не выполняет то, что я хочу (при нажатии SearchButton должна вызываться функция в SearchResultsGrid):
import gtk.Button;
import gtk.SearchEntry;
import gtk.Main;
import gtk.MainWindow;
import gtk.VBox;
import gtk.Grid;
import std.stdio;
import gdk.Event;
import gtk.Widget;
void main(string[] args) {
Main.init(args);
MainWindow win = new MainWindow("Example");
win.setDefaultSize(200, 100);
Box hbox = new Box(Orientation.HORIZONTAL, 2);
hbox.add(new SearchButton("Search"));
hbox.add(new SearchResultsGrid());
win.add(hbox);
win.showAll();
Main.run();
}
class SearchButton : Button {
this(in string text) {
super(text);
modifyFont("Arial", 14);
}
private bool search(Event event, Widget widget) {
return true;
}}
class StarterButton : Button {
this(in string text) {
super(text);
modifyFont("Arial", 14);
addOnButtonRelease(&startProgramm);
}
private bool startProgramm(Event event, Widget widget)
{
return true;
} }
class SearchResultsGrid : Grid {
public void showResults() {
attach( new StarterButton("Start"), 1,1,1,1);
attach( new StarterButton("Start2"), 2,1,1,1);
}}
Итак, я хочу вызвать showResults в SearchResultsGrid, по моей идее, для объекта SearchResultsGrid в SearchButton в главной функции, но это не работает.
Какой будет /a предполагаемый способ сделать это?