Embedding a Gtk+ Widget into LibreOffice would be a total nightmare and the code would be a lot more prone to regressions as it would imply some nasty integration with the OOo/LO widget system (using the offscreen windows in Gtk+ and doing event redirection). The only Gtk+ widgets used in OOo are Dialogs which do not present this problem.
Creating a UNO Component that exposes the Menu structure through DBus is the way to go.
@Robert:
Embedding a Gtk+ Widget into LibreOffice would be a total nightmare and the code would be a lot more prone to regressions as it would imply some nasty integration with the OOo/LO widget system (using the offscreen windows in Gtk+ and doing event redirection). The only Gtk+ widgets used in OOo are Dialogs which do not present this problem.
Creating a UNO Component that exposes the Menu structure through DBus is the way to go.