KChart

KChartFrameAttributes.cpp
1 /*
2  * Copyright (C) 2001-2015 Klaralvdalens Datakonsult AB. All rights reserved.
3  *
4  * This file is part of the KD Chart library.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License as
8  * published by the Free Software Foundation; either version 2 of
9  * the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <https://www.gnu.org/licenses/>.
18  */
19 
20 #include "KChartFrameAttributes.h"
21 
22 #include "KChartMath_p.h"
23 
24 #define d d_func()
25 
26 using namespace KChart;
27 
28 class Q_DECL_HIDDEN FrameAttributes::Private
29 {
30  friend class FrameAttributes;
31 public:
32  Private();
33 private:
34  bool visible;
35  QPen pen;
36  qreal cornerRadius;
37  int padding;
38 };
39 
40 FrameAttributes::Private::Private() :
41  visible( false ),
42  cornerRadius( 0 ),
43  padding( 0 )
44 {
45 }
46 
47 
48 FrameAttributes::FrameAttributes()
49  : _d( new Private() )
50 {
51 }
52 
53 FrameAttributes::FrameAttributes( const FrameAttributes& r )
54  : _d( new Private( *r.d ) )
55 {
56 }
57 
58 FrameAttributes & FrameAttributes::operator=( const FrameAttributes& r )
59 {
60  if ( this == &r )
61  return *this;
62 
63  *d = *r.d;
64 
65  return *this;
66 }
67 
68 FrameAttributes::~FrameAttributes()
69 {
70  delete _d; _d = nullptr;
71 }
72 
73 
74 bool FrameAttributes::operator==( const FrameAttributes& r ) const
75 {
76  return ( isVisible() == r.isVisible() &&
77  pen() == r.pen() &&
78  cornerRadius() == r.cornerRadius() &&
79  padding() == r.padding() );
80 }
81 
82 
83 
84 
85 void FrameAttributes::setVisible( bool visible )
86 {
87  d->visible = visible;
88 }
89 
90 bool FrameAttributes::isVisible() const
91 {
92  return d->visible;
93 }
94 
95 void FrameAttributes::setPen( const QPen & pen )
96 {
97  d->pen = pen;
98 }
99 
100 QPen FrameAttributes::pen() const
101 {
102  return d->pen;
103 }
104 
105 void FrameAttributes::setCornerRadius(qreal radius)
106 {
107  d->cornerRadius = radius;
108 }
109 
110 qreal FrameAttributes::cornerRadius() const
111 {
112  return d->cornerRadius;
113 }
114 
115 void FrameAttributes::setPadding( int padding )
116 {
117  d->padding = padding;
118 }
119 
120 int FrameAttributes::padding() const
121 {
122  return d->padding;
123 }
124 
125 #if !defined(QT_NO_DEBUG_STREAM)
127 {
128  dbg << "KChart::FrameAttributes("
129  << "visible="<<fa.isVisible()
130  << "pen="<<fa.pen()
131  << "cornerRadius="<<fa.cornerRadius()
132  << "padding="<<fa.padding()
133  << ")";
134  return dbg;
135 }
136 #endif /* QT_NO_DEBUG_STREAM */
QDataStream & operator<<(QDataStream &out, const KDateTime::Spec &spec)
Global namespace.
A set of attributes for frames around items.
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Wed Jan 20 2021 22:39:31 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.