• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

kdgantt2

  • sources
  • kde-4.12
  • kdepim
  • kdgantt2
kdganttdatetimegrid_p.h
Go to the documentation of this file.
1 /****************************************************************************
2  ** Copyright (C) 2001-2006 Klarälvdalens Datakonsult AB. All rights reserved.
3  **
4  ** This file is part of the KD Gantt library.
5  **
6  ** This file may be distributed and/or modified under the terms of the
7  ** GNU General Public License version 2 as published by the Free Software
8  ** Foundation and appearing in the file LICENSE.GPL included in the
9  ** packaging of this file.
10  **
11  ** Licensees holding valid commercial KD Gantt licenses may use this file in
12  ** accordance with the KD Gantt Commercial License Agreement provided with
13  ** the Software.
14  **
15  ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16  ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17  **
18  ** See http://www.kdab.net/kdgantt for
19  ** information about KD Gantt Commercial License Agreements.
20  **
21  ** Contact info@kdab.net if any conditions of this
22  ** licensing are not clear to you.
23  **
24  **********************************************************************/
25 #ifndef KDGANTTDATETIMEGRID_P_H
26 #define KDGANTTDATETIMEGRID_P_H
27 
28 #include "kdganttdatetimegrid.h"
29 #include "kdganttabstractgrid_p.h"
30 
31 #include <QDateTime>
32 #include <QBrush>
33 
34 namespace KDGantt {
35  class DateTimeScaleFormatter::Private
36  {
37  public:
38  Private( DateTimeScaleFormatter::Range _range,
39  const QString& _format,
40  const QString& _templ,
41  Qt::Alignment _alignment )
42  : range( _range ),
43  format( _format ),
44  templ( _templ ),
45  alignment( _alignment )
46  {
47  }
48 
49  const DateTimeScaleFormatter::Range range;
50  const QString format;
51  const QString templ;
52  const Qt::Alignment alignment;
53  };
54 
55  class DateTimeGrid::Private : public AbstractGrid::Private {
56  public:
57  Private()
58  : startDateTime( QDateTime::currentDateTime().addDays( -3 ) ),
59  dayWidth( 100. ),
60  scale( ScaleAuto ),
61  weekStart( Qt::Monday ),
62  freeDays( QSet<Qt::DayOfWeek>() << Qt::Saturday << Qt::Sunday ),
63  rowSeparators( false ),
64  noInformationBrush( Qt::red, Qt::DiagCrossPattern ),
65  upper( new DateTimeScaleFormatter( DateTimeScaleFormatter::Week, QString::fromLatin1( "w" ) ) ),
66  lower( new DateTimeScaleFormatter( DateTimeScaleFormatter::Day, QString::fromLatin1( "ddd" ) ) ),
67  year_upper( DateTimeScaleFormatter::Year, QString::fromLatin1("yyyy" ) ),
68  year_lower( DateTimeScaleFormatter::Month, QString::fromLatin1("MMM" ) ),
69  month_upper( DateTimeScaleFormatter::Month, QString::fromLatin1("MMMM" ) ),
70  month_lower( DateTimeScaleFormatter::Week, QString::fromLatin1("w" ) ),
71  week_upper( DateTimeScaleFormatter::Week, QString::fromLatin1("w" ) ),
72  week_lower( DateTimeScaleFormatter::Day, QString::fromLatin1("ddd" ) ),
73  day_upper( DateTimeScaleFormatter::Day, QString::fromLatin1("dddd" ) ),
74  day_lower( DateTimeScaleFormatter::Hour, QString::fromLatin1("hh" ) ),
75  hour_upper( DateTimeScaleFormatter::Hour, QString::fromLatin1("hh" ) ),
76  hour_lower( DateTimeScaleFormatter::Minute, QString::fromLatin1("m" ) ),
77  minute_upper( DateTimeScaleFormatter::Minute, QString::fromLatin1("m" ) ),
78  minute_lower( DateTimeScaleFormatter::Second, QString::fromLatin1("s" ) )
79  {
80  }
81  ~Private()
82  {
83  delete lower;
84  delete upper;
85  }
86 
87  qreal dateTimeToChartX( const QDateTime& dt ) const;
88  QDateTime chartXtoDateTime( qreal x ) const;
89 
90 
91  int tabHeight( const QString& txt, QWidget* widget = 0 ) const;
92  void getAutomaticFormatters( DateTimeScaleFormatter** lower, DateTimeScaleFormatter** upper);
93 
94  void paintVerticalDayLines( QPainter* painter,
95  const QRectF& sceneRect,
96  const QRectF& exposedRect,
97  QWidget* widget );
98  void paintVerticalHourLines( QPainter* painter,
99  const QRectF& sceneRect,
100  const QRectF& exposedRect,
101  QWidget* widget );
102  void paintVerticalUserDefinedLines( QPainter* painter,
103  const QRectF& sceneRect,
104  const QRectF& exposedRect,
105  const DateTimeScaleFormatter* formatter,
106  QWidget* widget );
107 
108  QDateTime startDateTime;
109  QDateTime endDateTime;
110  qreal dayWidth;
111  Scale scale;
112  Qt::DayOfWeek weekStart;
113  QSet<Qt::DayOfWeek> freeDays;
114  bool rowSeparators;
115  QBrush noInformationBrush;
116 
117  DateTimeScaleFormatter* upper;
118  DateTimeScaleFormatter* lower;
119 
120  DateTimeScaleFormatter year_upper;
121  DateTimeScaleFormatter year_lower;
122  DateTimeScaleFormatter month_upper;
123  DateTimeScaleFormatter month_lower;
124  DateTimeScaleFormatter week_upper;
125  DateTimeScaleFormatter week_lower;
126  DateTimeScaleFormatter day_upper;
127  DateTimeScaleFormatter day_lower;
128  DateTimeScaleFormatter hour_upper;
129  DateTimeScaleFormatter hour_lower;
130  DateTimeScaleFormatter minute_upper;
131  DateTimeScaleFormatter minute_lower;
132  };
133 
134  inline DateTimeGrid::DateTimeGrid( DateTimeGrid::Private* d ) : AbstractGrid( d ) {}
135 
136  inline DateTimeGrid::Private* DateTimeGrid::d_func() {
137  return static_cast<Private*>( AbstractGrid::d_func() );
138  }
139  inline const DateTimeGrid::Private* DateTimeGrid::d_func() const {
140  return static_cast<const Private*>( AbstractGrid::d_func() );
141  }
142 }
143 
144 #endif /* KDGANTTDATETIMEGRID_P_H */
145 
KDGantt::DateTimeGrid::Private::day_upper
DateTimeScaleFormatter day_upper
Definition: kdganttdatetimegrid_p.h:126
KDGantt::DateTimeGrid::Private::year_upper
DateTimeScaleFormatter year_upper
Definition: kdganttdatetimegrid_p.h:120
KDGantt::DateTimeGrid::Private::noInformationBrush
QBrush noInformationBrush
Definition: kdganttdatetimegrid_p.h:115
KDGantt::DateTimeScaleFormatter
Definition: kdganttdatetimegrid.h:34
KDGantt::DateTimeGrid::Private::tabHeight
int tabHeight(const QString &txt, QWidget *widget=0) const
Definition: kdganttdatetimegrid.cpp:709
KDGantt::DateTimeGrid::Private::chartXtoDateTime
QDateTime chartXtoDateTime(qreal x) const
Definition: kdganttdatetimegrid.cpp:77
KDGantt::DateTimeScaleFormatter::Range
Range
Definition: kdganttdatetimegrid.h:38
KDGantt::DateTimeGrid::Private::paintVerticalUserDefinedLines
void paintVerticalUserDefinedLines(QPainter *painter, const QRectF &sceneRect, const QRectF &exposedRect, const DateTimeScaleFormatter *formatter, QWidget *widget)
Definition: kdganttdatetimegrid.cpp:620
KDGantt::DateTimeScaleFormatter::Private::range
const DateTimeScaleFormatter::Range range
Definition: kdganttdatetimegrid_p.h:49
QWidget
KDGantt::DateTimeGrid::Private::dayWidth
qreal dayWidth
Definition: kdganttdatetimegrid_p.h:110
KDGantt::DateTimeGrid::Private::paintVerticalDayLines
void paintVerticalDayLines(QPainter *painter, const QRectF &sceneRect, const QRectF &exposedRect, QWidget *widget)
Definition: kdganttdatetimegrid.cpp:564
KDGantt::DateTimeGrid::Private::day_lower
DateTimeScaleFormatter day_lower
Definition: kdganttdatetimegrid_p.h:127
KDGantt::DateTimeGrid::Private::dateTimeToChartX
qreal dateTimeToChartX(const QDateTime &dt) const
Definition: kdganttdatetimegrid.cpp:67
KDGantt::DateTimeGrid::Private::hour_lower
DateTimeScaleFormatter hour_lower
Definition: kdganttdatetimegrid_p.h:129
KDGantt::DateTimeGrid::ScaleAuto
Definition: kdganttdatetimegrid.h:73
KDGantt::DateTimeScaleFormatter::Private::alignment
const Qt::Alignment alignment
Definition: kdganttdatetimegrid_p.h:52
KDGantt::DateTimeScaleFormatter::Private
Definition: kdganttdatetimegrid_p.h:35
KDGantt::AbstractGrid
Abstract baseclass for grids. A grid is used to convert between QModelIndex'es and gantt chart values...
Definition: kdganttabstractgrid.h:40
kdganttdatetimegrid.h
KDGantt::DateTimeGrid::Private::week_lower
DateTimeScaleFormatter week_lower
Definition: kdganttdatetimegrid_p.h:125
KDGantt::DateTimeGrid::Private::startDateTime
QDateTime startDateTime
Definition: kdganttdatetimegrid_p.h:108
KDGantt::AbstractGrid::Private
Definition: kdganttabstractgrid_p.h:35
KDGantt::DateTimeGrid::Private::scale
Scale scale
Definition: kdganttdatetimegrid_p.h:111
KDGantt::DateTimeGrid::Private::month_lower
DateTimeScaleFormatter month_lower
Definition: kdganttdatetimegrid_p.h:123
d
#define d
Definition: kdganttabstractgrid.cpp:53
KDGantt::DateTimeGrid::Private
Definition: kdganttdatetimegrid_p.h:55
KDGantt::DateTimeGrid::Private::endDateTime
QDateTime endDateTime
Definition: kdganttdatetimegrid_p.h:109
kdganttabstractgrid_p.h
KDGantt::DateTimeGrid::Scale
Scale
Definition: kdganttdatetimegrid.h:73
KDGantt::DateTimeScaleFormatter::Private::format
const QString format
Definition: kdganttdatetimegrid_p.h:50
KDGantt::DateTimeGrid::Private::hour_upper
DateTimeScaleFormatter hour_upper
Definition: kdganttdatetimegrid_p.h:128
KDGantt::DateTimeGrid::Private::lower
DateTimeScaleFormatter * lower
Definition: kdganttdatetimegrid_p.h:118
KDGantt::DateTimeScaleFormatter::Private::templ
const QString templ
Definition: kdganttdatetimegrid_p.h:51
KDGantt::DateTimeGrid::Private::Private
Private()
Definition: kdganttdatetimegrid_p.h:57
KDGantt::DateTimeGrid::Private::getAutomaticFormatters
void getAutomaticFormatters(DateTimeScaleFormatter **lower, DateTimeScaleFormatter **upper)
Definition: kdganttdatetimegrid.cpp:721
KDGantt::DateTimeGrid::Private::~Private
~Private()
Definition: kdganttdatetimegrid_p.h:81
KDGantt::DateTimeGrid::Private::week_upper
DateTimeScaleFormatter week_upper
Definition: kdganttdatetimegrid_p.h:124
KDGantt::DateTimeGrid::Private::rowSeparators
bool rowSeparators
Definition: kdganttdatetimegrid_p.h:114
KDGantt::DateTimeGrid::Private::minute_lower
DateTimeScaleFormatter minute_lower
Definition: kdganttdatetimegrid_p.h:131
KDGantt::DateTimeGrid::DateTimeGrid
DateTimeGrid()
Definition: kdganttdatetimegrid.cpp:287
KDGantt::DateTimeGrid::Private::paintVerticalHourLines
void paintVerticalHourLines(QPainter *painter, const QRectF &sceneRect, const QRectF &exposedRect, QWidget *widget)
Definition: kdganttdatetimegrid.cpp:592
KDGantt::DateTimeGrid::Private::freeDays
QSet< Qt::DayOfWeek > freeDays
Definition: kdganttdatetimegrid_p.h:113
KDGantt::DateTimeGrid::Private::month_upper
DateTimeScaleFormatter month_upper
Definition: kdganttdatetimegrid_p.h:122
KDGantt::DateTimeGrid::Private::weekStart
Qt::DayOfWeek weekStart
Definition: kdganttdatetimegrid_p.h:112
KDGantt::DateTimeScaleFormatter::Private::Private
Private(DateTimeScaleFormatter::Range _range, const QString &_format, const QString &_templ, Qt::Alignment _alignment)
Definition: kdganttdatetimegrid_p.h:38
KDGantt::DateTimeGrid::Private::year_lower
DateTimeScaleFormatter year_lower
Definition: kdganttdatetimegrid_p.h:121
KDGantt::DateTimeGrid::Private::minute_upper
DateTimeScaleFormatter minute_upper
Definition: kdganttdatetimegrid_p.h:130
KDGantt::DateTimeGrid::Private::upper
DateTimeScaleFormatter * upper
Definition: kdganttdatetimegrid_p.h:117
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:55:05 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kdgantt2

Skip menu "kdgantt2"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal