В общем, нужно сделать панель, на которой одна из кнопок с меню. Сделать надо с помощью UIManager.
Описываю её так:
<toolbar name="Tb">
<toolitem name="Item" action="Act1">
<menu name="Menu" action="Act1">
....
</menu>
</toolitem>
</toolbar>
На это при создании панели gtk ругается:
Gtk-CRITICAL **: gtk_menu_tool_button_set_menu: assertion `GTK_IS_MENU_TOOL_BUTTON (button)' failed
В документации вроде написано, что "Note that toolitem elements may contain a menu element, but only if their associated action specifies a GtkMenuToolButton as proxy."
Собственно в чём вопрос: можно ли как-то сделать, чтобы GTK сам создал в качестве кнопки на панели GtkMenuToolButton (насколько я понял, проблема в том что он создаёт GtkToolButton, к которой нельзя прикрепить меню)? Или это только вручную можно сделать?
Че-то непонятна задача немного. Что значит, кнопка из меню на панели? Тот же рисунок и то же действие? Тогда можно просто связать их с одним и тем же action, они будут выглядеть одинаково.
За пример спасибо - сам туда заглянуть не догадался. Но возник другой вопрос: при создании action для соответствующей кнопки они используют функцию tool_menu_action_get_type, которую я чего-то нигде не нашёл (ни в документации по gtk, ни в исходниках gtk). Это откуда она такая?