diff options
author | Dennis Francis <dennis.francis@collabora.com> | 2020-05-19 12:42:33 +0530 |
---|---|---|
committer | Dennis Francis <dennis.francis@collabora.com> | 2020-07-04 15:27:29 +0200 |
commit | 2c798d6715194e910cef9cad1039f464d86dc06f (patch) | |
tree | 89f2b6d817392cba0c27ea276ae59d8fa29b24e2 /sc/source/ui/view/dbfunc3.cxx | |
parent | b6d8dd62dd0892b9a2eeac68fe2e2ee366d59057 (diff) |
lokit: add new callback type LOK_CALLBACK_INVALIDATE_SHEET_GEOMETRY
This is to notify the clients about changes in current sheet's geometry
data. Use this to notify clients of various sheet geometry invalidations
if the new feature flag scPrintTwipsMsgs is set.
Change-Id: I478d2e646606320399905d7b15881a165a53146d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96969
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
(cherry picked from commit 7d0181f519f83b978b9040986738ad0cedc020ba)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97956
Tested-by: Jenkins
Diffstat (limited to 'sc/source/ui/view/dbfunc3.cxx')
-rw-r--r-- | sc/source/ui/view/dbfunc3.cxx | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx index 24e660ba19bb..429725af03dd 100644 --- a/sc/source/ui/view/dbfunc3.cxx +++ b/sc/source/ui/view/dbfunc3.cxx @@ -94,6 +94,10 @@ void ScDBFunc::MakeOutline( bool bColumns, bool bRecord ) aFunc.MakeOutline( aRange, bColumns, bRecord, false ); ScTabViewShell::notifyAllViewsHeaderInvalidation(GetViewData().GetViewShell(), bColumns ? COLUMN_HEADER : ROW_HEADER, GetViewData().GetTabNo()); + ScTabViewShell::notifyAllViewsSheetGeomInvalidation(GetViewData().GetViewShell(), + bColumns, !bColumns, false /* bSizes*/, + false /* bHidden */, false /* bFiltered */, + true /* bGroups */, GetViewData().GetTabNo()); } else ErrorMessage(STR_NOMULTISELECT); @@ -111,6 +115,10 @@ void ScDBFunc::RemoveOutline( bool bColumns, bool bRecord ) aFunc.RemoveOutline( aRange, bColumns, bRecord, false ); ScTabViewShell::notifyAllViewsHeaderInvalidation(GetViewData().GetViewShell(), bColumns ? COLUMN_HEADER : ROW_HEADER, GetViewData().GetTabNo()); + ScTabViewShell::notifyAllViewsSheetGeomInvalidation(GetViewData().GetViewShell(), + bColumns, !bColumns, false /* bSizes*/, + true /* bHidden */, true /* bFiltered */, + true /* bGroups */, GetViewData().GetTabNo()); } else ErrorMessage(STR_NOMULTISELECT); @@ -191,6 +199,10 @@ void ScDBFunc::RemoveAllOutlines( bool bRecord ) if (bOk) { + ScTabViewShell::notifyAllViewsSheetGeomInvalidation(GetViewData().GetViewShell(), + true /* bColumns */, true /* bRows */, false /* bSizes*/, + true /* bHidden */, true /* bFiltered */, + true /* bGroups */, nTab); UpdateScrollBars(BOTH_HEADERS); } } @@ -225,7 +237,13 @@ void ScDBFunc::SelectLevel( bool bColumns, sal_uInt16 nLevel, bool bRecord ) bool bOk = aFunc.SelectLevel( nTab, bColumns, nLevel, bRecord, true/*bPaint*/ ); if (bOk) + { + ScTabViewShell::notifyAllViewsSheetGeomInvalidation(GetViewData().GetViewShell(), + bColumns, !bColumns, false /* bSizes*/, + true /* bHidden */, true /* bFiltered */, + true /* bGroups */, nTab); UpdateScrollBars(bColumns ? COLUMN_HEADER : ROW_HEADER); + } } // show individual outline groups @@ -253,7 +271,13 @@ void ScDBFunc::ShowOutline( bool bColumns, sal_uInt16 nLevel, sal_uInt16 nEntry, aFunc.ShowOutline( nTab, bColumns, nLevel, nEntry, bRecord, bPaint ); if ( bPaint ) + { + ScTabViewShell::notifyAllViewsSheetGeomInvalidation(GetViewData().GetViewShell(), + bColumns, !bColumns, false /* bSizes*/, + true /* bHidden */, true /* bFiltered */, + true /* bGroups */, nTab); UpdateScrollBars(bColumns ? COLUMN_HEADER : ROW_HEADER); + } } // hide individual outline groups @@ -267,7 +291,13 @@ void ScDBFunc::HideOutline( bool bColumns, sal_uInt16 nLevel, sal_uInt16 nEntry, bool bOk = aFunc.HideOutline( nTab, bColumns, nLevel, nEntry, bRecord, bPaint ); if ( bOk && bPaint ) + { + ScTabViewShell::notifyAllViewsSheetGeomInvalidation(GetViewData().GetViewShell(), + bColumns, !bColumns, false /* bSizes*/, + true /* bHidden */, true /* bFiltered */, + true /* bGroups */, nTab); UpdateScrollBars(bColumns ? COLUMN_HEADER : ROW_HEADER); + } } // menu status: show/hide marked range @@ -359,7 +389,13 @@ void ScDBFunc::ShowMarkedOutlines( bool bRecord ) ScOutlineDocFunc aFunc(*pDocSh); bool bDone = aFunc.ShowMarkedOutlines( aRange, bRecord ); if (bDone) + { + ScTabViewShell::notifyAllViewsSheetGeomInvalidation( + GetViewData().GetViewShell(), true, true, + false /* bSizes*/, true /* bHidden */, true /* bFiltered */, + true /* bGroups */, GetViewData().GetTabNo()); UpdateScrollBars(); + } } else ErrorMessage(STR_NOMULTISELECT); @@ -376,7 +412,13 @@ void ScDBFunc::HideMarkedOutlines( bool bRecord ) ScOutlineDocFunc aFunc(*pDocSh); bool bDone = aFunc.HideMarkedOutlines( aRange, bRecord ); if (bDone) + { + ScTabViewShell::notifyAllViewsSheetGeomInvalidation( + GetViewData().GetViewShell(), true, true, + false /* bSizes*/, true /* bHidden */, true /* bFiltered */, + true /* bGroups */, GetViewData().GetTabNo()); UpdateScrollBars(); + } } else ErrorMessage(STR_NOMULTISELECT); |