EditEngine/Outliner::StripPortions is used with some lambda
callbacks to convert Text to Primitives. The tooling for this
is currently located in svx due to historical reasons (when I
initially did that).
An EditEngine/Outliner gets configured, this is dependent
of the object type to handle (see TextBreakupHandler in svx
and other places).
Then the OutlinerParaObject gets set - the model data.
EditEngine::StripPortions then initially uses
ImpEditEngine::Paint which layouts all that and formats it.
For all Text (or Graphics e.g. Bullets) those callbacks are
used - if given. If not given it *still* does a direct paint
to a given OutputDevice to stay compatible with legacy
usages.
Thus ImpEditEngine::Paint is currently kind of an hybrid: It
needs to be capable of both: For Primitive creation it
extracts data to DrawPortionInfo or DrawBulletInfo and calls
the lambda callback where (e.g. in svx) the Primitives are
created as needed based on that data.
For Paint that data is used to Paint using the given
OutputDevice.
This means up to now for doing changes both had to be
supported in that method which of course hosts the danger
of getting unequal outputs when not being very careful.
The DirectPaint is now rarely used (AFAIK only in some UI
elements, e.g. WeldEditView stuff).
The goal is to go in a direction where it would be possible
to do those remaining Paint calls direcly inside ImpEditEngine
using primitives, or - alternatively - change all remaining
places to use a unified StripPortions method and send the
result to a PrimitiveRenderer or buffer/resue it.
This change is a 1st step to get the preconditions but does
not change functionality yet. It moves that tooling to where
it is used.
Change-Id: I7225eab9a0dfd3d50cd3d1d8fe386dfb99ec42ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186045
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Tested-by: Jenkins
This can be enabled in configure via --with-yrs=...; see also README.yrs
Currently this is hardcoded to run over a local named pipe.
Everything related to editengine is implemented in EditDoc and made
accessible via its wrapper classes; everything related to communication
and accessing sw's comment is implemented in sw::DocumentStateManager.
The acceptor starts in SwView::SwView(), once SwPostItMgr exists.
There is a hack in SfxFrameLoader_Impl::load() to fetch the document
that the accepting soffice has loaded, and load it in the connecting
soffice as well.
Change-Id: I89476b5864b70f479bcf15989374c1c65b5da9ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175652
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Move the constructors into class body, cleanup operators so they
use more standard class based operators and use default for !=
as it will just be a neagtion of ==.
Change-Id: I1b99db6c9a82468ab76091eb93a5f3641024c65b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161365
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Move the constructors into class body, cleanup operators so they
use more standard class based operators and use default for !=
as it will just be a neagtion of ==.
Change-Id: I6534db60dcb23cb3daefb91d5f27579a690a9637
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161364
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Added a new component docmodel, that has the document model types,
which only depend on other basic components. This is needed so the
types can be used in every relevant component - xmloff, oox, svx,
editeng,...
Introduces model::ThemeColor, which is a class used to store the
theme color data, including transformations (svx::Transformation).
For UNO use XThemeColor is added, and the implementation UnoThemeColor
which wraps svx::ThemeColor, so it can be tranported around.
Reactor all the code and tests to accomodate for this change.
Change-Id: I7ce6752cdfaf5e4d3b8e4d90314afa469dd65cfc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144847
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
...that are included from various source directories. Change done in
preparation of loplugin:includeform.
Change-Id: I4c2160d1c682b37e93e1161796c67097866bf659
In an ideal world, by the time we reach DeInitVCL() there should be
neither non-null VclPtr nor EditEngine instances around. This fixes the
former for those VclPtrs owned by EditEngines, by disposing them when
SfxApplication is dying. The goal is -- for now -- to not have any
non-null VclPtrs around by DeInitVCL(), so we can e.g. assert() on that
to pick up regressions.
Should we one day have all EditEngines accounted for with proper smart
pointers that get torn down before DeInitVCL(), the Dispose() introduced
here might be removed again.
Change-Id: I47b17f7fd31fce2ac5fd6f6b146d356d7d07e677
Reviewed-on: https://gerrit.libreoffice.org/34985
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
This required some changes to the framework:
* Init-/DeInitVCL is no longer done per individual test in BootstrapFixture, but
once per CppunitTest invocation in a new vclbootstrapprotector (similarly to
the exisiting unobootstrapprotector). CppunitTests that need VCL now need to
declare gb_CppunitTest_use_vcl.
* For things to work properly, the UNO component context needs to be disposed
from within DeInitVCL (cf. Desktop's Application::DeInit called from
DeInitVCL). The easiest solution was to introduce an
Application::setDeInitHook (where the hook is called from DeInitVCL)
specifically for vclbootstrapprotector to call.
* PythonTests don't (yet) call DeInitVCL; they still hook into
BootstrapFixture's original test_init functionality (to call InitVCL), and do
not make use of the vclbootstrapprotector.
Change-Id: I4f3a3c75db30b58c1cd49d81c51db14902ed68b2
Moved portions from module i18npool, all of former i18nisolang1 library
that now is i18nlangtag. Included are languagetag, isolang and mslangid.
This i18nlangtag code is now even used by module comphelper, so
disentangling i18npool and making this an own module was needed to not
create circular module dependencies.
Change-Id: Ib887c3d6dde667403fd22d382310ba5f1a9b0015
- do not use gb_UnpackedTarball_copy_header_files for boost
- adapt the optimization in concat-deps.c for new path
- use boost_headers in all LinkTargets that require it
- add explicit include paths to mysqlc, mysqlcppconn, libvisio, liborcus
Change-Id: I0c43e73ed43cc9d2e6bce8faf55e992d655a0bb9
Always link in gb_STDLIBS, except when the library explicitly opts out
with gb_LinkTarget_disable_standard_system_libs.
Change-Id: I489a99114fbfa46d0421a27cf6c7b899dc268a4a