summaryrefslogtreecommitdiff
path: root/sc/source/ui/inc/gridwin.hxx
diff options
context:
space:
mode:
authorDennis Francis <dennis.francis@collabora.com>2023-01-25 13:51:17 +0530
committerDennis Francis <dennis.francis@collabora.com>2023-04-27 08:35:59 +0200
commit2f8d10b0b9baa03b8a713e9fd1342fe6c8094fb4 (patch)
treef008321e237e02ca032178711e27a16969718312 /sc/source/ui/inc/gridwin.hxx
parent292f422c421336c43bafe5ee048832137d617436 (diff)
sc: pivot table compact layout
This implements compact layout for pivot tables. In ooxml each row field can have a compact layout setting. Support for any such "mixed" layout of tabular/outline/compact per field is also implemented. This also implements expand/collpse toggle buttons to field labels to make pivot tables with compact layout more usable. Such buttons are also available if other layouts are used. Conflicts: sc/qa/unit/pivottable_filters_test.cxx sc/source/ui/cctrl/checklistmenu.cxx sc/source/ui/inc/checklistmenu.hxx Change-Id: Ieaa1f3bd282ebdec804d0b45a0af7b3d95a2027f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151057 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
Diffstat (limited to 'sc/source/ui/inc/gridwin.hxx')
-rw-r--r--sc/source/ui/inc/gridwin.hxx12
1 files changed, 11 insertions, 1 deletions
diff --git a/sc/source/ui/inc/gridwin.hxx b/sc/source/ui/inc/gridwin.hxx
index 70a6efa616cc..635dd91dc393 100644
--- a/sc/source/ui/inc/gridwin.hxx
+++ b/sc/source/ui/inc/gridwin.hxx
@@ -85,6 +85,7 @@ class ScLokRTLContext;
namespace sdr::overlay { class OverlayObjectList; }
class ScFilterListBox;
+struct ScDPLabelData;
class SAL_DLLPUBLIC_RTTI ScGridWindow : public vcl::DocWindow, public DropTargetHelper, public DragSourceHelper
{
@@ -226,7 +227,8 @@ class SAL_DLLPUBLIC_RTTI ScGridWindow : public vcl::DocWindow, public DropTarget
bool DoPageFieldSelection( SCCOL nCol, SCROW nRow );
bool DoAutoFilterButton( SCCOL nCol, SCROW nRow, const MouseEvent& rMEvt );
- void DoPushPivotButton( SCCOL nCol, SCROW nRow, const MouseEvent& rMEvt, bool bButton, bool bPopup );
+ void DoPushPivotButton( SCCOL nCol, SCROW nRow, const MouseEvent& rMEvt, bool bButton, bool bPopup, bool bMultiField );
+ void DoPushPivotToggle( SCCOL nCol, SCROW nRow, const MouseEvent& rMEvt );
void DPMouseMove( const MouseEvent& rMEvt );
void DPMouseButtonUp( const MouseEvent& rMEvt );
@@ -239,8 +241,15 @@ class SAL_DLLPUBLIC_RTTI ScGridWindow : public vcl::DocWindow, public DropTarget
* mouse event handling is necessary, false otherwise.
*/
bool DPTestFieldPopupArrow(const MouseEvent& rMEvt, const ScAddress& rPos, const ScAddress& rDimPos, ScDPObject* pDPObj);
+ bool DPTestMultiFieldPopupArrow(const MouseEvent& rMEvt, const ScAddress& rPos, ScDPObject* pDPObj);
+ void DPPopulateFieldMembers(const ScDPLabelData& rLabelData);
+ void DPSetupFieldPopup(std::unique_ptr<ScCheckListMenuControl::ExtendedData> pDPData, bool bDimOrientNotPage,
+ ScDPObject* pDPObj, bool bMultiField = false);
+ void DPConfigFieldPopup();
void DPLaunchFieldPopupMenu(const Point& rScrPos, const Size& rScrSize, const ScAddress& rPos, ScDPObject* pDPObj);
+ void DPLaunchMultiFieldPopupMenu(const Point& rScrPos, const Size& rScrSize, ScDPObject* pDPObj,
+ css::sheet::DataPilotFieldOrientation nOrient);
void RFMouseMove( const MouseEvent& rMEvt, bool bUp );
@@ -444,6 +453,7 @@ public:
void CheckNeedsRepaint();
+ void UpdateDPPopupMenuForFieldChange();
void UpdateDPFromFieldPopupMenu();
bool UpdateVisibleRange();