Files
loongoffice/include/editeng/editview.hxx
Stephan Bergmann 8ede3362a2 Fix --enable-mergelibs make check
> LNK] CppunitTest/libtest_basegfx.so
> include/basegfx/tuple/b3dtuple.hxx:92: error: undefined reference to 'basegfx::B3DTuple::getEmptyTuple()'

and

> [LNK] CppunitTest/libtest_svx_removewhichrange.so
> svx/source/core/extedit.cxx:65: error: undefined reference to 'FileChangedChecker::FileChangedChecker(rtl::OUString const&, std::function<void ()> const&)'
> svx/source/engine3d/scene3d.cxx:221: error: undefined reference to 'B3dTransformationSet::SetDeviceRectangle(double, double, double, double)'
> include/tools/b3dtrans.hxx:120: error: undefined reference to 'B3dTransformationSet::SetViewportRectangle(tools::Rectangle const&, tools::Rectangle const&)'
> svx/source/engine3d/scene3d.cxx:175: error: undefined reference to 'B3dCamera::B3dCamera(basegfx::B3DPoint const&, basegfx::B3DVector const&, double, double)'
> svx/source/engine3d/scene3d.cxx:243: error: undefined reference to 'B3dCamera::~B3dCamera()'
> svx/source/engine3d/scene3d.cxx:355: error: undefined reference to 'B3dTransformationSet::SetRatio(double)'
> svx/source/engine3d/scene3d.cxx:364: error: undefined reference to 'B3dViewport::SetViewportValues(basegfx::B3DPoint const&, basegfx::B3DVector const&, basegfx::B3DVector const&)'
> svx/source/engine3d/scene3d.cxx:367: error: undefined reference to 'B3dTransformationSet::SetPerspective(bool)'
> include/tools/b3dtrans.hxx:120: error: undefined reference to 'B3dTransformationSet::SetViewportRectangle(tools::Rectangle const&, tools::Rectangle const&)'
> include/tools/b3dtrans.hxx:120: error: undefined reference to 'B3dTransformationSet::SetViewportRectangle(tools::Rectangle const&, tools::Rectangle const&)'
> svx/source/engine3d/scene3d.cxx:186: error: undefined reference to 'B3dCamera::B3dCamera(basegfx::B3DPoint const&, basegfx::B3DVector const&, double, double)'
> svx/source/engine3d/scene3d.cxx:179: error: undefined reference to 'B3dCamera::~B3dCamera()'
> svx/source/engine3d/scene3d.cxx:210: error: undefined reference to 'B3dCamera::~B3dCamera()'
> svx/source/gallery2/galctrl.cxx:213: error: undefined reference to 'avmedia::MediaFloater::setURL(rtl::OUString const&, rtl::OUString const&, bool)'
> svx/source/gallery2/galtheme.cxx:745: error: undefined reference to 'VersionCompatRead::VersionCompatRead(SvStream&)'
> svx/source/gallery2/galtheme.cxx:757: error: undefined reference to 'VersionCompatRead::~VersionCompatRead()'
> svx/source/gallery2/galtheme.cxx:757: error: undefined reference to 'VersionCompatRead::~VersionCompatRead()'
> svx/source/gallery2/gallerybinaryengine.cxx:774: error: undefined reference to 'VersionCompatWrite::VersionCompatWrite(SvStream&, unsigned short)'
> /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'VersionCompatWrite::~VersionCompatWrite()'
> /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'VersionCompatWrite::~VersionCompatWrite()'
> svx/source/gallery2/gallerybinaryengineentry.cxx:115: error: undefined reference to 'VersionCompatRead::VersionCompatRead(SvStream&)'
> svx/source/gallery2/gallerybinaryengineentry.cxx:123: error: undefined reference to 'VersionCompatRead::~VersionCompatRead()'
> svx/source/gallery2/gallerybinaryengineentry.cxx:123: error: undefined reference to 'VersionCompatRead::~VersionCompatRead()'
> include/editeng/editund2.hxx:29: error: undefined reference to 'vtable for EditUndoManager'
> /usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
> include/editeng/editund2.hxx:29: error: undefined reference to 'vtable for EditUndoManager'
> /usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
> svx/source/svdraw/sdrundomanager.cxx:30: error: undefined reference to 'EditUndoManager::EditUndoManager(unsigned short)'
> svx/source/svdraw/sdrundomanager.cxx:72: error: undefined reference to 'EditUndoManager::Redo()'
> svx/source/svdraw/sdrundomanager.cxx:46: error: undefined reference to 'EditUndoManager::Undo()'
> workdir/CxxObject/svx/source/svdraw/sdrundomanager.o:sdrundomanager.cxx:typeinfo for SdrUndoManager: error: undefined reference to 'typeinfo for EditUndoManager'
> svx/source/svdraw/svdedxv.cxx:97: error: undefined reference to 'EditViewCallbacks::~EditViewCallbacks()'
> svx/source/svdraw/svdedxv.cxx:87: error: undefined reference to 'EditViewCallbacks::~EditViewCallbacks()'
> workdir/CxxObject/svx/source/svdraw/svdedxv.o:svdedxv.cxx:typeinfo for SdrObjEditView: error: undefined reference to 'typeinfo for EditViewCallbacks'
> svx/source/svdraw/svdfmtf.cxx:1206: error: undefined reference to 'MetaMapModeAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.cxx:1239: error: undefined reference to 'typeinfo for MetaGradientExAction'
> svx/source/svdraw/svdfmtf.hxx:139: error: undefined reference to 'MetaLayoutModeAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:136: error: undefined reference to 'MetaTextLineColorAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:135: error: undefined reference to 'MetaRefPointAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:115: error: undefined reference to 'MetaRasterOpAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:117: error: undefined reference to 'MetaPopAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:116: error: undefined reference to 'MetaPushAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:112: error: undefined reference to 'MetaFontAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.cxx:1206: error: undefined reference to 'MetaMapModeAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:113: error: undefined reference to 'MetaTextAlignAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:111: error: undefined reference to 'MetaTextFillColorAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:110: error: undefined reference to 'MetaTextColorAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:118: error: undefined reference to 'MetaMoveClipRegionAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:120: error: undefined reference to 'MetaISectRegionClipRegionAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:119: error: undefined reference to 'MetaISectRectClipRegionAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:114: error: undefined reference to 'MetaClipRegionAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:140: error: undefined reference to 'MetaTextLanguageAction::Execute(OutputDevice*)'
> svx/source/svdraw/svdfmtf.hxx:141: error: undefined reference to 'MetaOverlineColorAction::Execute(OutputDevice*)'
> /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'OFlowChainedText::~OFlowChainedText()'
> /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'OFlowChainedText::~OFlowChainedText()'
> svx/source/svdraw/textchainflow.cxx:274: error: undefined reference to 'OFlowChainedText::RemoveOverflowingText(Outliner*)'
> /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'OFlowChainedText::~OFlowChainedText()'
> /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'OFlowChainedText::~OFlowChainedText()'
> svx/source/svdraw/textchainflow.cxx:101: error: undefined reference to 'UFlowChainedText::UFlowChainedText(Outliner const*, bool)'
> svx/source/svdraw/textchainflow.cxx:96: error: undefined reference to 'OFlowChainedText::OFlowChainedText(Outliner const*, bool)'
> svx/source/svdraw/textchainflow.cxx:123: error: undefined reference to 'OFlowChainedText::GetOverflowPointSel() const'
> svx/source/svdraw/textchainflow.cxx:123: error: undefined reference to 'OFlowChainedText::GetOverflowPointSel() const'
> svx/source/svdraw/textchainflow.cxx:159: error: undefined reference to 'UFlowChainedText::CreateMergedUnderflowParaObject(Outliner*, OutlinerParaObject const*)'
> svx/source/svdraw/textchainflow.cxx:202: error: undefined reference to 'OFlowChainedText::RemoveOverflowingText(Outliner*)'
> svx/source/svdraw/textchainflow.cxx:227: error: undefined reference to 'OFlowChainedText::InsertOverflowingText(Outliner*, OutlinerParaObject const*)'
> svx/source/svdraw/textchainflow.cxx:239: error: undefined reference to 'OFlowChainedText::IsLastParaInterrupted() const'
> svx/source/svdraw/textchainflow.cxx:235: error: undefined reference to 'OFlowChainedText::IsLastParaInterrupted() const'
> svx/source/svdraw/textchainflow.cxx:235: error: undefined reference to 'OFlowChainedText::IsLastParaInterrupted() const'
> svx/source/tbxctrls/tbcontrl.cxx:2747: error: undefined reference to 'SfxStatusListener::ReBind()'
> include/svx/tbcontrl.hxx:175: error: undefined reference to 'SfxStatusListener::ReBind()'
> svx/source/tbxctrls/tbcontrl.cxx:2697: error: undefined reference to 'SfxStatusListener::UnBind()'
> svx/source/tbxctrls/tbcontrl.cxx:2493: error: undefined reference to 'SfxStatusListener::SfxStatusListener(com::sun::uno::Reference<com::sun::frame::XDispatchProvider> const&, unsigned short, rtl::OUString const&)'
> svx/source/tbxctrls/tbcontrl.cxx:2493: error: undefined reference to 'SfxStatusListener::SfxStatusListener(com::sun::uno::Reference<com::sun::frame::XDispatchProvider> const&, unsigned short, rtl::OUString const&)'
> svx/source/tbxctrls/tbcontrl.cxx:815: error: undefined reference to 'SfxStatusListener::~SfxStatusListener()'
> svx/source/tbxctrls/tbcontrl.cxx:815: error: undefined reference to 'SfxStatusListener::~SfxStatusListener()'
> workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:typeinfo for SfxStyleControllerItem_Impl: error: undefined reference to 'typeinfo for SfxStatusListener'
> workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'SfxStatusListener::dispose()'
> workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'SfxStatusListener::addEventListener(com::sun::uno::Reference<com::sun::lang::XEventListener> const&)'
> workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'SfxStatusListener::removeEventListener(com::sun::uno::Reference<com::sun::lang::XEventListener> const&)'
> workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'SfxStatusListener::disposing(com::sun::lang::EventObject const&)'
> workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'SfxStatusListener::statusChanged(com::sun::frame::FeatureStateEvent const&)'
> workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'non-virtual thunk to SfxStatusListener::disposing(com::sun::lang::EventObject const&)'
> workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'non-virtual thunk to SfxStatusListener::statusChanged(com::sun::frame::FeatureStateEvent const&)'
> workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'non-virtual thunk to SfxStatusListener::dispose()'
> workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'non-virtual thunk to SfxStatusListener::addEventListener(com::sun::uno::Reference<com::sun::lang::XEventListener> const&)'
> workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'non-virtual thunk to SfxStatusListener::removeEventListener(com::sun::uno::Reference<com::sun::lang::XEventListener> const&)'
> svx/source/tbxctrls/StylesPreviewWindow.cxx:63: error: undefined reference to 'SfxStatusListener::SfxStatusListener(com::sun::uno::Reference<com::sun::frame::XDispatchProvider> const&, unsigned short, rtl::OUString const&)'
> svx/source/tbxctrls/StylesPreviewWindow.cxx:65: error: undefined reference to 'SfxStatusListener::ReBind()'
> svx/source/tbxctrls/StylesPreviewWindow.cxx:409: error: undefined reference to 'SfxStatusListener::UnBind()'
> svx/source/tbxctrls/StylesPreviewWindow.cxx:413: error: undefined reference to 'SfxStatusListener::dispose()'
> svx/source/inc/StylesPreviewWindow.hxx:32: error: undefined reference to 'SfxStatusListener::~SfxStatusListener()'
> svx/source/inc/StylesPreviewWindow.hxx:32: error: undefined reference to 'SfxStatusListener::~SfxStatusListener()'
> workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:typeinfo for StyleStatusListener: error: undefined reference to 'typeinfo for SfxStatusListener'
> workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'SfxStatusListener::dispose()'
> workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'SfxStatusListener::addEventListener(com::sun::uno::Reference<com::sun::lang::XEventListener> const&)'
> workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'SfxStatusListener::removeEventListener(com::sun::uno::Reference<com::sun::lang::XEventListener> const&)'
> workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'SfxStatusListener::disposing(com::sun::lang::EventObject const&)'
> workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'SfxStatusListener::statusChanged(com::sun::frame::FeatureStateEvent const&)'
> workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'non-virtual thunk to SfxStatusListener::disposing(com::sun::lang::EventObject const&)'
> workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'non-virtual thunk to SfxStatusListener::statusChanged(com::sun::frame::FeatureStateEvent const&)'
> workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'non-virtual thunk to SfxStatusListener::dispose()'
> workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'non-virtual thunk to SfxStatusListener::addEventListener(com::sun::uno::Reference<com::sun::lang::XEventListener> const&)'
> workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'non-virtual thunk to SfxStatusListener::removeEventListener(com::sun::uno::Reference<com::sun::lang::XEventListener> const&)'
> svx/source/unodraw/unoshap3.cxx:324: error: undefined reference to 'B3dViewport::SetViewportValues(basegfx::B3DPoint const&, basegfx::B3DVector const&, basegfx::B3DVector const&)'
> svx/source/xml/xmlxtexp.cxx:92: error: undefined reference to 'XMLMarkerStyleExport::~XMLMarkerStyleExport()'
> svx/source/xml/xmlxtexp.cxx:102: error: undefined reference to 'XMLDashStyleExport::~XMLDashStyleExport()'
> svx/source/xml/xmlxtexp.cxx:113: error: undefined reference to 'XMLHatchStyleExport::~XMLHatchStyleExport()'
> svx/source/xml/xmlxtexp.cxx:123: error: undefined reference to 'XMLGradientStyleExport::~XMLGradientStyleExport()'
> svx/source/xml/xmlxtexp.cxx:454: error: undefined reference to 'XMLHatchStyleExport::XMLHatchStyleExport(SvXMLExport&)'
> svx/source/xml/xmlxtexp.cxx:432: error: undefined reference to 'XMLMarkerStyleExport::XMLMarkerStyleExport(SvXMLExport&)'
> svx/source/xml/xmlxtexp.cxx:443: error: undefined reference to 'XMLDashStyleExport::XMLDashStyleExport(SvXMLExport&)'
> svx/source/xml/xmlxtexp.cxx:465: error: undefined reference to 'XMLGradientStyleExport::XMLGradientStyleExport(SvXMLExport&)'
> svx/source/xml/xmlxtexp.cxx:438: error: undefined reference to 'XMLMarkerStyleExport::exportXML(rtl::OUString const&, com::sun::uno::Any const&)'
> svx/source/xml/xmlxtexp.cxx:92: error: undefined reference to 'XMLMarkerStyleExport::~XMLMarkerStyleExport()'
> svx/source/xml/xmlxtexp.cxx:449: error: undefined reference to 'XMLDashStyleExport::exportXML(rtl::OUString const&, com::sun::uno::Any const&)'
> svx/source/xml/xmlxtexp.cxx:102: error: undefined reference to 'XMLDashStyleExport::~XMLDashStyleExport()'
> svx/source/xml/xmlxtexp.cxx:460: error: undefined reference to 'XMLHatchStyleExport::exportXML(rtl::OUString const&, com::sun::uno::Any const&)'
> svx/source/xml/xmlxtexp.cxx:113: error: undefined reference to 'XMLHatchStyleExport::~XMLHatchStyleExport()'
> svx/source/xml/xmlxtexp.cxx:471: error: undefined reference to 'XMLGradientStyleExport::exportXML(rtl::OUString const&, com::sun::uno::Any const&)'
> svx/source/xml/xmlxtexp.cxx:123: error: undefined reference to 'XMLGradientStyleExport::~XMLGradientStyleExport()'
> svx/source/xml/xmlxtexp.cxx:482: error: undefined reference to 'XMLImageStyle::exportXML(rtl::OUString const&, com::sun::uno::Any const&, SvXMLExport&)'
> svx/source/xml/xmlxtimp.cxx:220: error: undefined reference to 'XMLMarkerStyleImport::XMLMarkerStyleImport(SvXMLImport&)'
> svx/source/xml/xmlxtimp.cxx:221: error: undefined reference to 'XMLMarkerStyleImport::importXML(com::sun::uno::Reference<com::sun::xml::sax::XFastAttributeList> const&, com::sun::uno::Any&, rtl::OUString&)'
> svx/source/xml/xmlxtimp.cxx:222: error: undefined reference to 'XMLMarkerStyleImport::~XMLMarkerStyleImport()'
> svx/source/xml/xmlxtimp.cxx:233: error: undefined reference to 'XMLDashStyleImport::XMLDashStyleImport(SvXMLImport&)'
> svx/source/xml/xmlxtimp.cxx:234: error: undefined reference to 'XMLDashStyleImport::importXML(com::sun::uno::Reference<com::sun::xml::sax::XFastAttributeList> const&, com::sun::uno::Any&, rtl::OUString&)'
> svx/source/xml/xmlxtimp.cxx:235: error: undefined reference to 'XMLDashStyleImport::~XMLDashStyleImport()'
> svx/source/xml/xmlxtimp.cxx:259: error: undefined reference to 'XMLGradientStyleImport::XMLGradientStyleImport(SvXMLImport&)'
> svx/source/xml/xmlxtimp.cxx:260: error: undefined reference to 'XMLGradientStyleImport::importXML(com::sun::uno::Reference<com::sun::xml::sax::XFastAttributeList> const&, com::sun::uno::Any&, rtl::OUString&)'
> svx/source/xml/xmlxtimp.cxx:261: error: undefined reference to 'XMLGradientStyleImport::~XMLGradientStyleImport()'
> svx/source/xml/xmlxtimp.cxx:246: error: undefined reference to 'XMLHatchStyleImport::XMLHatchStyleImport(SvXMLImport&)'
> svx/source/xml/xmlxtimp.cxx:247: error: undefined reference to 'XMLHatchStyleImport::importXML(com::sun::uno::Reference<com::sun::xml::sax::XFastAttributeList> const&, com::sun::uno::Any&, rtl::OUString&)'
> svx/source/xml/xmlxtimp.cxx:248: error: undefined reference to 'XMLHatchStyleImport::~XMLHatchStyleImport()'
> svx/source/xml/xmlxtimp.cxx:273: error: undefined reference to 'XMLImageStyle::importXML(com::sun::uno::Reference<com::sun::xml::sax::XFastAttributeList> const&, com::sun::uno::Any&, rtl::OUString&, SvXMLImport&)'
> svx/source/xml/xmlxtimp.cxx:222: error: undefined reference to 'XMLMarkerStyleImport::~XMLMarkerStyleImport()'
> svx/source/xml/xmlxtimp.cxx:235: error: undefined reference to 'XMLDashStyleImport::~XMLDashStyleImport()'
> svx/source/xml/xmlxtimp.cxx:248: error: undefined reference to 'XMLHatchStyleImport::~XMLHatchStyleImport()'
> svx/source/xml/xmlxtimp.cxx:261: error: undefined reference to 'XMLGradientStyleImport::~XMLGradientStyleImport()'
> include/vcl/vclptr.hxx:129: error: undefined reference to 'svt::MultiLineTextCell::MultiLineTextCell(BrowserDataWin*)'
> include/vcl/vclptr.hxx:129: error: undefined reference to 'svt::MultiLineTextCell::MultiLineTextCell(BrowserDataWin*)'
> include/svtools/editbrowsebox.hxx:246: error: undefined reference to 'svt::IEditImplementation::~IEditImplementation()'
> include/svtools/editbrowsebox.hxx:246: error: undefined reference to 'svt::IEditImplementation::~IEditImplementation()'
> include/svtools/editbrowsebox.hxx:246: error: undefined reference to 'svt::IEditImplementation::~IEditImplementation()'
> include/svtools/editbrowsebox.hxx:234: error: undefined reference to 'svt::IEditImplementation::~IEditImplementation()'
> svx/source/form/fmshimp.cxx:3919: error: undefined reference to 'comphelper::IndexAccessIterator::IndexAccessIterator(com::sun::uno::Reference<com::sun::uno::XInterface> const&)'
> svx/source/form/fmshimp.cxx:3919: error: undefined reference to 'comphelper::IndexAccessIterator::IndexAccessIterator(com::sun::uno::Reference<com::sun::uno::XInterface> const&)'
> svx/source/form/fmshimp.cxx:2342: error: undefined reference to 'comphelper::IndexAccessIterator::Next()'
> svx/source/form/fmshimp.cxx:2437: error: undefined reference to 'comphelper::IndexAccessIterator::Next()'
> svx/source/inc/fmshimp.hxx:544: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()'
> svx/source/inc/fmshimp.hxx💯 error: undefined reference to 'comphelper::IndexAccessIterator::IndexAccessIterator(com::sun::uno::Reference<com::sun::uno::XInterface> const&)'
> svx/source/form/fmshimp.cxx:3092: error: undefined reference to 'comphelper::IndexAccessIterator::Next()'
> svx/source/inc/fmshimp.hxx:97: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()'
> svx/source/inc/fmshimp.hxx:97: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()'
> svx/source/inc/fmshimp.hxx💯 error: undefined reference to 'comphelper::IndexAccessIterator::IndexAccessIterator(com::sun::uno::Reference<com::sun::uno::XInterface> const&)'
> svx/source/form/fmshimp.cxx:3212: error: undefined reference to 'comphelper::IndexAccessIterator::Next()'
> svx/source/inc/fmshimp.hxx:97: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()'
> svx/source/form/fmshimp.cxx:1636: error: undefined reference to 'comphelper::IndexAccessIterator::IndexAccessIterator(com::sun::uno::Reference<com::sun::uno::XInterface> const&)'
> svx/source/form/fmshimp.cxx:1636: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()'
> svx/source/form/fmshimp.cxx:1636: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()'
> workdir/CxxObject/svx/source/form/fmshimp.o:fmshimp.cxx:typeinfo for FmXBoundFormFieldIterator: error: undefined reference to 'typeinfo for comphelper::IndexAccessIterator'
> workdir/CxxObject/svx/source/form/fmshimp.o:fmshimp.cxx:typeinfo for SearchableControlIterator: error: undefined reference to 'typeinfo for comphelper::IndexAccessIterator'

Change-Id: I9911219083676cd10f5ccfc067655252eb172a3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119676
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-07-29 18:39:21 +02:00

380 lines
15 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
// MyEDITVIEW, due to exported EditView
#ifndef INCLUDED_EDITENG_EDITVIEW_HXX
#define INCLUDED_EDITENG_EDITVIEW_HXX
#include <config_options.h>
#include <memory>
#include <com/sun/star/i18n/WordType.hpp>
#include <i18nlangtag/lang.h>
#include <tools/color.hxx>
#include <tools/gen.hxx>
#include <vcl/errcode.hxx>
#include <vcl/vclptr.hxx>
#include <editeng/editstat.hxx>
#include <editeng/flditem.hxx>
#include <svl/languageoptions.hxx>
#include <editeng/editdata.hxx>
#include <com/sun/star/uno/Reference.h>
#include <editeng/editengdllapi.h>
class EditTextObject;
class EditEngine;
class ImpEditEngine;
class ImpEditView;
class OutlinerViewShell;
class SvxSearchItem;
class SvxFieldItem;
namespace vcl { class Window; }
namespace weld { class Widget; }
class KeyEvent;
class MouseEvent;
class CommandEvent;
class SvStream;
class SvKeyValueIterator;
class SfxStyleSheet;
class SfxItemSet;
namespace vcl { class Cursor; }
namespace vcl { class Font; }
class FontList;
class InputContext;
class OutputDevice;
enum class TransliterationFlags;
enum class PointerStyle;
namespace com {
namespace sun {
namespace star {
namespace datatransfer {
class XTransferable;
namespace clipboard {
class XClipboard;
}
namespace dnd {
class XDropTarget;
}
}
namespace linguistic2 {
class XSpellChecker1;
class XLanguageGuessing;
}
}}}
template <typename Arg, typename Ret> class Link;
enum class ScrollRangeCheck
{
NoNegative = 1, // No negative VisArea when scrolling
PaperWidthTextSize = 2, // VisArea must be within paper width, Text Size
};
// Helper class that allows to set a callback at the EditView. When
// set, Invalidates and repaints are suppressed at the EditView, but
// EditViewInvalidate() will be triggered to allow the consumer to
// react itself as needed.
// Also Selection visualization is suppressed and EditViewSelectionChange
// is triggered when Selection changes and needs reaction.
class EDITENG_DLLPUBLIC EditViewCallbacks
{
public:
EditViewCallbacks() {}
virtual ~EditViewCallbacks();
// call this when text visualization changed in any way. It
// will also update selection, so no need to call this self
// additionally (but will also do no harm)
virtual void EditViewInvalidate(const tools::Rectangle& rRect) = 0;
// call this when only selection is changed. Text change will
// then *not* be checked and not be reacted on. Still, when
// only the selection is changed, this is useful and faster
virtual void EditViewSelectionChange() = 0;
// return the OutputDevice that the EditView will draw to
virtual OutputDevice& EditViewOutputDevice() const = 0;
virtual weld::Widget* EditViewPopupParent() const
{
return nullptr;
}
// return the Mouse Position
virtual Point EditViewPointerPosPixel() const = 0;
// Triggered to update InputEngine context information
virtual void EditViewInputContext(const InputContext& rInputContext) = 0;
// Triggered to update InputEngine cursor position
virtual void EditViewCursorRect(const tools::Rectangle& rRect, int nExtTextInputWidth) = 0;
// Triggered if scroll bar state should change
virtual void EditViewScrollStateChange()
{
}
// Access to clipboard
virtual css::uno::Reference<css::datatransfer::clipboard::XClipboard> GetClipboard() const = 0;
// implemented if drag and drop support is wanted
virtual css::uno::Reference<css::datatransfer::dnd::XDropTarget> GetDropTarget()
{
return nullptr;
}
};
class EDITENG_DLLPUBLIC EditView final
{
friend class EditEngine;
friend class ImpEditEngine;
friend class EditSelFunctionSet;
public:
typedef std::vector<VclPtr<vcl::Window>> OutWindowSet;
public: // Needed for Undo
ImpEditView* GetImpEditView() const { return pImpEditView.get(); }
ImpEditEngine* GetImpEditEngine() const;
private:
std::unique_ptr<ImpEditView>
pImpEditView;
OUString aDicNameSingle;
EditView( const EditView& ) = delete;
EditView& operator=( const EditView& ) = delete;
public:
EditView( EditEngine* pEng, vcl::Window* pWindow );
~EditView();
// set EditViewCallbacks for external handling of Repaints/Visualization
void setEditViewCallbacks(EditViewCallbacks* pEditViewCallbacks);
EditViewCallbacks* getEditViewCallbacks() const;
void SetEditEngine( EditEngine* pEditEngine );
EditEngine* GetEditEngine() const;
void SetWindow( vcl::Window* pWin );
vcl::Window* GetWindow() const;
OutputDevice& GetOutputDevice() const;
LanguageType GetInputLanguage() const;
bool HasOtherViewWindow( vcl::Window* pWin );
bool AddOtherViewWindow( vcl::Window* pWin );
bool RemoveOtherViewWindow( vcl::Window* pWin );
void Paint( const tools::Rectangle& rRect, OutputDevice* pTargetDevice = nullptr );
tools::Rectangle GetInvalidateRect() const;
void InvalidateWindow(const tools::Rectangle& rClipRect);
void InvalidateOtherViewWindows( const tools::Rectangle& rInvRect );
void Invalidate();
::Pair Scroll( tools::Long nHorzScroll, tools::Long nVertScroll, ScrollRangeCheck nRangeCheck = ScrollRangeCheck::NoNegative );
void SetBroadcastLOKViewCursor(bool bSet);
tools::Rectangle GetEditCursor() const;
void ShowCursor( bool bGotoCursor = true, bool bForceVisCursor = true, bool bActivate = false );
void HideCursor( bool bDeactivate = false );
void SetSelectionMode( EESelectionMode eMode );
void SetReadOnly( bool bReadOnly );
bool IsReadOnly() const;
bool HasSelection() const;
ESelection GetSelection() const;
void SetSelection( const ESelection& rNewSel );
bool IsSelectionAtPoint(const Point& rPointPixel);
void SelectCurrentWord( sal_Int16 nWordType = css::i18n::WordType::ANYWORD_IGNOREWHITESPACES );
/// Returns the rectangles of the current selection in TWIPs.
void GetSelectionRectangles(std::vector<tools::Rectangle>& rLogicRects) const;
bool IsInsertMode() const;
void SetInsertMode( bool bInsert );
OUString GetSelected() const;
void DeleteSelected();
SvtScriptType GetSelectedScriptType() const;
// VisArea position of the Output window.
// A size change also affects the VisArea
void SetOutputArea( const tools::Rectangle& rRect );
const tools::Rectangle& GetOutputArea() const;
// Document position.
// A size change also affects the VisArea
void SetVisArea( const tools::Rectangle& rRect );
tools::Rectangle GetVisArea() const;
PointerStyle GetPointer() const;
vcl::Cursor* GetCursor() const;
void InsertText( const OUString& rNew, bool bSelect = false , bool bLOKShowSelect = true);
void InsertParaBreak();
bool PostKeyEvent( const KeyEvent& rKeyEvent, vcl::Window const * pFrameWin = nullptr );
bool MouseButtonUp( const MouseEvent& rMouseEvent );
bool MouseButtonDown( const MouseEvent& rMouseEvent );
void ReleaseMouse();
bool MouseMove( const MouseEvent& rMouseEvent );
bool Command(const CommandEvent& rCEvt);
void Cut();
void Copy();
void Paste();
void PasteSpecial();
void Undo();
void Redo();
// especially for Oliver Specht
Point GetWindowPosTopLeft( sal_Int32 nParagraph );
void MoveParagraphs( Range aParagraphs, sal_Int32 nNewPos );
void MoveParagraphs( tools::Long nDiff );
const SfxItemSet& GetEmptyItemSet() const;
SfxItemSet GetAttribs();
void SetAttribs( const SfxItemSet& rSet );
void RemoveAttribs( bool bRemoveParaAttribs = false, sal_uInt16 nWhich = 0 );
void RemoveAttribs( EERemoveParaAttribsMode eMode, sal_uInt16 nWhich );
void RemoveCharAttribs( sal_Int32 nPara, sal_uInt16 nWhich );
void RemoveAttribsKeepLanguages( bool bRemoveParaAttribs );
ErrCode Read( SvStream& rInput, EETextFormat eFormat, SvKeyValueIterator* pHTTPHeaderAttrs );
void SetBackgroundColor( const Color& rColor );
Color const & GetBackgroundColor() const;
/// Informs this edit view about which view shell contains it.
void RegisterViewShell(OutlinerViewShell* pViewShell);
/// Informs this edit view about which other shell listens to it.
void RegisterOtherShell(OutlinerViewShell* pOtherShell);
void SetControlWord( EVControlBits nWord );
EVControlBits GetControlWord() const;
std::unique_ptr<EditTextObject> CreateTextObject();
void InsertText( const EditTextObject& rTextObject );
void InsertText( css::uno::Reference< css::datatransfer::XTransferable > const & xDataObj, const OUString& rBaseURL, bool bUseSpecial );
css::uno::Reference<css::datatransfer::clipboard::XClipboard> GetClipboard() const;
css::uno::Reference<css::datatransfer::XTransferable> GetTransferable() const;
// An EditView, so that when TRUE the update will be free from flickering:
void SetEditEngineUpdateMode( bool bUpdate );
void ForceUpdate();
const SfxStyleSheet* GetStyleSheet() const;
SfxStyleSheet* GetStyleSheet();
void SetAnchorMode( EEAnchorMode eMode );
EEAnchorMode GetAnchorMode() const;
void CompleteAutoCorrect( vcl::Window const * pFrameWin = nullptr );
EESpellState StartSpeller(weld::Widget* pDialogParent, bool bMultipleDoc = false);
EESpellState StartThesaurus(weld::Widget* pDialogParent);
sal_Int32 StartSearchAndReplace( const SvxSearchItem& rSearchItem );
// for text conversion
void StartTextConversion(weld::Widget* pDialogParent, LanguageType nSrcLang, LanguageType nDestLang, const vcl::Font *pDestFont, sal_Int32 nOptions, bool bIsInteractive, bool bMultipleDoc);
void TransliterateText( TransliterationFlags nTransliterationMode );
bool IsCursorAtWrongSpelledWord();
bool IsWrongSpelledWordAtPos( const Point& rPosPixel, bool bMarkIfWrong = false );
void ExecuteSpellPopup(const Point& rPosPixel, const Link<SpellCallbackInfo&,void>& rCallBack);
OUString SpellIgnoreWord();
void InsertField( const SvxFieldItem& rFld );
const SvxFieldItem* GetFieldUnderMousePointer() const;
const SvxFieldItem* GetFieldUnderMousePointer( sal_Int32& nPara, sal_Int32& nPos ) const;
const SvxFieldItem* GetField( const Point& rPos, sal_Int32* pnPara = nullptr, sal_Int32* pnPos = nullptr ) const;
const SvxFieldItem* GetFieldAtSelection() const;
/// Select and return the field at the current cursor position
const SvxFieldData* GetFieldAtCursor() const;
void SelectFieldAtCursor();
void SetInvalidateMore( sal_uInt16 nPixel );
sal_uInt16 GetInvalidateMore() const;
// grows or shrinks the font height for the current selection
void ChangeFontSize( bool bGrow, const FontList* pList );
static bool ChangeFontSize( bool bGrow, SfxItemSet& rSet, const FontList* pFontList );
OUString GetSurroundingText() const;
Selection GetSurroundingTextSelection() const;
bool DeleteSurroundingText(const Selection& rRange);
/** Tries to determine the language of 'rText', returning a matching known
locale if possible, or a fallback, or LANGUAGE_NONE if nothing found or
matched.
@param bIsParaText
If TRUE, rText is a paragraph and the language is obtained by
passing the text to xLangGuess.
IF FALSE, a language match is tried for, in order,
1. the default document language (non-CTL, non-CJK, aka LATIN)
2. the UI language (Tools->Options->LanguageSettings->Languages User Interface)
3. the locale (Tools->Options->LanguageSettings->Languages Locale)
4. en-US
If nothing matched, LANGUAGE_NONE is returned.
*/
static LanguageType CheckLanguage(
const OUString &rText,
const css::uno::Reference< css::linguistic2::XSpellChecker1 >& xSpell,
const css::uno::Reference< css::linguistic2::XLanguageGuessing >& xLangGuess,
bool bIsParaText );
/// Allows adjusting the point or mark of the selection to a document coordinate.
void SetCursorLogicPosition(const Point& rPosition, bool bPoint, bool bClearMark);
/// Trigger selection drawing callback in pOtherShell based on our shell's selection state.
void DrawSelectionXOR(OutlinerViewShell* pOtherShell);
/**
* This is meant for Calc(LOK), but there may be other use-cases.
* In Calc, all logical positions are computed by
* doing independent pixel-alignment for each cell's size. The *LOKSpecial* methods
* can be used to set/get the output-area and visible-area in real logical
* units. This enables EditView to send cursor/selection messages in
* real logical units like it is done for Writer.
*/
void InitLOKSpecialPositioning(MapUnit eUnit, const tools::Rectangle& rOutputArea,
const Point& rVisDocStartPos);
void SetLOKSpecialOutputArea(const tools::Rectangle& rOutputArea);
const tools::Rectangle & GetLOKSpecialOutputArea() const;
void SetLOKSpecialVisArea(const tools::Rectangle& rVisArea);
tools::Rectangle GetLOKSpecialVisArea() const;
bool HasLOKSpecialPositioning() const;
void SuppressLOKMessages(bool bSet);
bool IsSuppressLOKMessages() const;
};
#endif // INCLUDED_EDITENG_EDITVIEW_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */