https://bugs.documentfoundation.org/show_bug.cgi?id=163947
--- Comment #11 from Michael Weghorn <[email protected]> --- (In reply to Juan Pablo Ugarte from comment #10) > I think for now it would be better to keep using it as a gtk 3 project > just keep in mind that its possible to support customs toolkits now. That sounds good, thanks. > We can do a quick call some day if you want to brainstorm the different > possibilities. I probably can't contribute much besides what I've already mentioned here, and imagine the "special cases" (for which I don't know the details myself) are probably the most interesting to discuss, but I'm happy to join a call if there's going to be one at some point. > btw is > https://github.com/LibreOffice/core/blob/ > 3959d5bddafb61bcd50613d6c6453a2d6fe370b7/extras/source/glade/libreoffice- > catalog.xml.in the only catalog you need? Others might be able to say more, but I also don't see any other catalog and `git grep glade-widget` also doesn't show anything interesting. (In reply to Caolán McNamara from comment #9) > But, yes, the notebookbar ones, like sw/uiconfig/swriter/ui/notebookbar.ui > etc use the gtk .ui format, but with custom widgets like > "sfxlo-NotebookbarToolBox" "sfxlo-DropdownBox" "VclOptionalBox" and a whole > zoo of other weird and wonderful custom (generally just container?) widgets > (that I don't know why exactly exist or what difference they are from some > more 'normal' widgets). And for those the bLegacy flag is used on loading to > ensure they are created from vcl widgets even for the gtk front end. > > The glade catalog of those notebookbar widgets is very minimal and just maps > them to some pre-existing similar gtk widgets for the purpose of making it > easy to move parts of the notebookbar around in glade. After looking into this a little further, the logic indeed seems to be mostly in C++ code, and the preview seen in Glade also doesn't match what you see when actually running LibreOffice. For example, the "sfxlo-NotebookbarTabControl" control in sc/uiconfig/scalc/ui/notebookbar.ui is implemented in a `NotebookbarTabControl` class (sfx2/inc/notebookbar/NotebookbarTabControl.hxx). It seems to be mostly a GtkNotebook with extra widgets left and right to the tabs in the tab bar. IIUC, the GtkNotebook concept of "action widgets" [1] would be comparable, and if I set dummy ones in in Glade, I see extra widgets there. But since the LO .ui file doesn't use them, they're of course not shown in the preview. The VCL version looks quite odd in e.g. gtk4, so I wonder whether welding notebookbar would generally be a desirable goal in the longer run - or whether there's a specific reason for having "our own custom stuff", e.g. to allow Notebookbar customization,...? (The Notebookbar vcl widgets have more interesting special handling, which might need some consideration in case of planning to weld all of these.) Do I understand that that's however a question that's independent of switching to Cambalache and Cambalache would show these special widgets similar to how Glade does when using a corresponding Cambalache catalog? [1] https://docs.gtk.org/gtk3/method.Notebook.set_action_widget.html -- You are receiving this mail because: You are the assignee for the bug.
