office-gobmx/sfx2
Maxim Monastirsky 9bc1ffa215 tdf#125040 Make single mode toolbar context aware
This patch modifies the "Standard (Single Mode)" toolbar
to have an optional context-aware section, given that a
corresponding singlemode-<context-name>.xml files exist.
This is a lot like the "Contextual Single" NB, except
that it's implemented with regular toolbars, so docking/
customization/extensions/uno api etc. are all working.

In addition, the "Single Toolbar" mode was modified to
not show any other contextual toolbar. (But of course the
single mode toolbar itself is perfectly usable outside of
this mode.)

Change-Id: Id746d9df59340a81962a8689b132941deea54b6c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135591
Tested-by: Jenkins
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2022-06-13 18:47:01 +02:00
..
classification
doc
emojiconfig
inc can pass by const& here 2022-06-09 11:27:03 +02:00
qa add missing 'xComponent->dispose()' to a test 2022-06-10 11:20:24 +02:00
sdi
source tdf#125040 Make single mode toolbar context aware 2022-06-13 18:47:01 +02:00
uiconfig/ui restore %PRODUCTNAME to accessible descriptions that need them 2022-06-05 18:31:16 +02:00
util
AllLangMoTarget_sfx2.mk
CppunitTest_sfx2_classification.mk
CppunitTest_sfx2_controlleritem.mk
CppunitTest_sfx2_dialogs_test.mk
CppunitTest_sfx2_doc.mk
CppunitTest_sfx2_metadatable.mk
CppunitTest_sfx2_misc.mk
CppunitTest_sfx2_view.mk
CustomTarget_classification.mk
IwyuFilter_sfx2.yaml
JunitTest_sfx2_complex.mk
JunitTest_sfx2_unoapi.mk
Library_sfx.mk
Makefile
Module_sfx2.mk
Package_classification.mk
Package_emoji.mk
PythonTest_sfx2_python.mk
README.md
UIConfig_sfx.mk
UITest_sfx2_doc.mk

Legacy Framework

SFX is the "old" framework, used for historical reasons.

An attempt of documentation of this module is located in [git:sfx2/doc].

It contains base classes for document model, view and controller, used by "old" applications like sw, sc, sd (while "new" applications are based on the "new" UNO based framework in "framework").

The SFX framework is based on dispatching slots identified by integers (SlotIDs) to SfxShells, and there is a dedicated IDL compiler (svidl) involved that generates C++ slot headers from SDI files in modules' sdi/ subdirectory.

Documentation about SFX dispatch, SDI etc.: https://wiki.openoffice.org/wiki/Framework/Article/Implementation_of_the_Dispatch_API_In_SFX2

Document load/save code is maintained in [git:sfx2/source/doc/docfile.cxx] SfxMedium class, which handles all the twisty load and save corner cases.

[git:sfx2/source/appl/sfxhelp.cxx] Start procedure for the online help viewer top level window; handling of help URL creation and dispatch.

There are also some UNO services here that could really be implemented anywhere, e.g. the DocumentProperties or DocumentMetadataAccess.

Notable files: sfx2/source/dialog/backingwindow.cxx Startcenter buttons and the corresponding event handler.