On 02/01/2017 05:49 PM, dlang user wrote:
I am trying to add new MenuItems to the context menu of a SourceView. So I hooked into the addOnPopulatePopup callback which looks like this:
... SourceView sourceView = new SourceView(); sourceView.addOnPopulatePopup(&onTextViewPopulatePopup); ... private void onTextViewPopulatePopup(Widget w, TextView v) { Menu m = new Menu(cast(GtkMenu*)w.getWidgetStruct()); m.append(new MenuItem("Test", &onTestMenuItem, "Test")); m.showAll(); }
The issue that I am having is that the Menu is being sent as Widget, first I tried casting the Widget w to a Menu, but that didn't work.
The way I was able to get it to work was to cast the GtkWidget* to a GTKMenu*.
Is this a bug, or the correct way to do it?
At some point we should try and make the cast work, but for now the
workaround you found will do the trick.