summaryrefslogtreecommitdiff
path: root/sc/source/ui/inc/gridwin.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/inc/gridwin.hxx')
-rw-r--r--sc/source/ui/inc/gridwin.hxx25
1 files changed, 23 insertions, 2 deletions
diff --git a/sc/source/ui/inc/gridwin.hxx b/sc/source/ui/inc/gridwin.hxx
index 8b680daad6cb..68f7ece9a249 100644
--- a/sc/source/ui/inc/gridwin.hxx
+++ b/sc/source/ui/inc/gridwin.hxx
@@ -37,15 +37,19 @@
#include "viewdata.hxx"
#include "cbutton.hxx"
#include <svx/sdr/overlay/overlayobject.hxx>
+#include <com/sun/star/sheet/DataPilotFieldOrientation.hpp>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <vector>
+#include <memory>
// ---------------------------------------------------------------------------
struct ScTableInfo;
class ScViewSelectionEngine;
class ScDPObject;
+class ScDPFieldPopupWindow;
+class ScDPFieldButton;
class ScOutputData;
class ScFilterListBox;
class AutoFilterPopup;
@@ -121,6 +125,8 @@ private:
ScFilterListBox* pFilterBox;
FloatingWindow* pFilterFloat;
+ ::std::auto_ptr<ScDPFieldPopupWindow> mpDPFieldPopup;
+ ::std::auto_ptr<ScDPFieldButton> mpFilterButton;
USHORT nCursorHideCount;
@@ -187,12 +193,23 @@ private:
BOOL TestMouse( const MouseEvent& rMEvt, BOOL bAction );
BOOL DoPageFieldSelection( SCCOL nCol, SCROW nRow );
+ bool DoAutoFilterButton( SCCOL nCol, SCROW nRow, const MouseEvent& rMEvt );
void DoPushButton( SCCOL nCol, SCROW nRow, const MouseEvent& rMEvt );
void DPMouseMove( const MouseEvent& rMEvt );
void DPMouseButtonUp( const MouseEvent& rMEvt );
void DPTestMouse( const MouseEvent& rMEvt, BOOL bMove );
+ /**
+ * Check if the mouse click is on a field popup button.
+ *
+ * @return bool true if the field popup menu has been launched and no
+ * further mouse event handling is necessary, false otherwise.
+ */
+ bool DPTestFieldPopupArrow(const MouseEvent& rMEvt, const ScAddress& rPos, ScDPObject* pDPObj);
+ void DPLaunchFieldPopupMenu(
+ const Point& rScrPos, const Size& rScrSize, const ScAddress& rPos, ScDPObject* pDPObj);
+
void RFMouseMove( const MouseEvent& rMEvt, BOOL bUp );
void PagebreakMove( const MouseEvent& rMEvt, BOOL bUp );
@@ -315,9 +332,11 @@ public:
void DoAutoFilterMenue( SCCOL nCol, SCROW nRow, BOOL bDataSelect );
void DoScenarioMenue( const ScRange& rScenRange );
- void DoPageFieldMenue( SCCOL nCol, SCROW nRow );
- BOOL HasPageFieldData( SCCOL nCol, SCROW nRow ) const;
+ void LaunchPageFieldMenu( SCCOL nCol, SCROW nRow );
+ void LaunchDPFieldMenu( SCCOL nCol, SCROW nRow );
+
+ ::com::sun::star::sheet::DataPilotFieldOrientation GetDPFieldOrientation( SCCOL nCol, SCROW nRow ) const;
void DrawButtons( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
ScTableInfo& rTabInfo, OutputDevice* pContentDev );
@@ -357,6 +376,8 @@ public:
void CheckNeedsRepaint();
+ void UpdateDPFromFieldPopupMenu();
+
// #114409#
void CursorChanged();
void DrawLayerCreated();