LibreOffice Module sc (master) 1
dpcontrol.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include <rtl/ustring.hxx>
23#include <tools/gen.hxx>
24#include <tools/fract.hxx>
25#include <vcl/vclptr.hxx>
26#include <vcl/outdev.hxx>
27
28class StyleSettings;
29class ScDocument;
30
36{
37public:
38 ScDPFieldButton(OutputDevice* pOutDev, const StyleSettings* pStyle, const Fraction* pZoomY = nullptr,
39 ScDocument* pDoc = nullptr);
41
42 void setText(const OUString& rText);
43 void setBoundingBox(const Point& rPos, const Size& rSize, bool bLayoutRTL);
44 void setDrawBaseButton(bool b);
45 void setDrawPopupButton(bool b);
46 void setDrawPopupButtonMulti(bool b);
47 void setDrawToggleButton(bool b, bool bCollapse, sal_Int32 nIndent);
48 void setHasHiddenMember(bool b);
49 void setPopupPressed(bool b);
50 void setPopupLeft(bool b);
51 void draw();
52
53 void getPopupBoundingBox(Point& rPos, Size& rSize) const;
54 void getToggleBoundingBox(Point& rPos, Size& rSize) const;
55
56private:
57 void drawPopupButton();
58 void drawToggleButton();
59
60private:
63 OUString maText;
68 sal_Int32 mnToggleIndent;
77};
78
79/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
This class takes care of physically drawing field button controls inside data pilot tables.
Definition: dpcontrol.hxx:36
void setHasHiddenMember(bool b)
Definition: dpcontrol.cxx:93
void getToggleBoundingBox(Point &rPos, Size &rSize) const
Definition: dpcontrol.cxx:195
VclPtr< OutputDevice > mpOutDev
Definition: dpcontrol.hxx:66
void setDrawPopupButton(bool b)
Definition: dpcontrol.cxx:76
const StyleSettings * mpStyle
Definition: dpcontrol.hxx:67
void setPopupPressed(bool b)
Definition: dpcontrol.cxx:98
void drawPopupButton()
Definition: dpcontrol.cxx:223
void setPopupLeft(bool b)
Definition: dpcontrol.cxx:103
void setDrawPopupButtonMulti(bool b)
Definition: dpcontrol.cxx:81
bool mbHasHiddenMember
Definition: dpcontrol.hxx:74
void setDrawToggleButton(bool b, bool bCollapse, sal_Int32 nIndent)
Definition: dpcontrol.cxx:86
Fraction maZoomY
Definition: dpcontrol.hxx:64
void setBoundingBox(const Point &rPos, const Size &rSize, bool bLayoutRTL)
Definition: dpcontrol.cxx:60
bool mbToggleCollapse
Definition: dpcontrol.hxx:73
void setText(const OUString &rText)
Definition: dpcontrol.cxx:55
ScDPFieldButton(OutputDevice *pOutDev, const StyleSettings *pStyle, const Fraction *pZoomY=nullptr, ScDocument *pDoc=nullptr)
Definition: dpcontrol.cxx:31
void setDrawBaseButton(bool b)
Definition: dpcontrol.cxx:71
OUString maText
Definition: dpcontrol.hxx:63
ScDocument * mpDoc
Definition: dpcontrol.hxx:65
sal_Int32 mnToggleIndent
Definition: dpcontrol.hxx:68
void drawToggleButton()
Definition: dpcontrol.cxx:275
bool mbPopupButtonMulti
Definition: dpcontrol.hxx:71
void getPopupBoundingBox(Point &rPos, Size &rSize) const
Definition: dpcontrol.cxx:167