Eventviews
14#include "agendaitem.h"
15#include "eventviews_export.h"
16#include "viewcalendar.h"
18#include <Akonadi/Item>
20#include <KCalendarCore/Todo>
29class IncidenceChanger;
38class MarcusBainsPrivate;
40class MarcusBains :
public QFrame
44 explicit MarcusBains(
EventView *eventView, Agenda *agenda =
nullptr);
45 void updateLocationRecalc(
bool recalculate =
false);
46 ~MarcusBains()
override;
49 void updateLocation();
52 std::unique_ptr<MarcusBainsPrivate>
const d;
57class EVENTVIEWS_EXPORT Agenda :
public QWidget
61 Agenda(
AgendaView *agendaView,
QScrollArea *scrollArea,
int columns,
int rows,
int rowSize,
bool isInteractive);
68 [[nodiscard]]
QDate selectedIncidenceDate()
const;
69 QSize sizeHint()
const override;
70 QSize minimumSizeHint()
const override;
71 QSize minimumSize()
const;
72 int minimumHeight()
const;
74 [[nodiscard]]
int contentsY()
const
79 [[nodiscard]]
int contentsX()
const
84 [[nodiscard]]
QScrollBar *verticalScrollBar()
const;
88 [[nodiscard]] AgendaItem::List agendaItems(
const QString &uid)
const;
95 [[nodiscard]]
QString lastSelectedItemUid()
const;
104 [[nodiscard]]
int timeToY(
QTime time)
const;
105 [[nodiscard]]
QTime gyToTime(
int y)
const;
107 [[nodiscard]]
QList<int> minContentsY()
const;
108 [[nodiscard]]
QList<int> maxContentsY()
const;
110 [[nodiscard]]
int visibleContentsYMin()
const;
111 [[nodiscard]]
int visibleContentsYMax()
const;
113 void setStartTime(
QTime startHour);
138 void changeColumns(
int columns);
140 [[nodiscard]]
int columns()
const;
141 [[nodiscard]]
int rows()
const;
143 [[nodiscard]]
double gridSpacingX()
const;
144 [[nodiscard]]
double gridSpacingY()
const;
151 void checkScrollBoundaries();
158 void setCalendar(
const EventViews::MultiViewCalendar::Ptr &cal);
160 void setIncidenceChanger(Akonadi::IncidenceChanger *changer);
166 void checkScrollBoundaries(
int);
171 void clearSelection();
178 void selectItem(
const AgendaItem::QPtr &);
186 void selectIncidenceByUid(
const QString &
id);
189 bool removeAgendaItem(
const AgendaItem::QPtr &item);
190 void showAgendaItem(
const AgendaItem::QPtr &item);
193 void newEventSignal();
195 void newStartSelectSignal();
202 void showNewEventPopupSignal();
206 void lowerYChanged(
int);
207 void upperYChanged(
int);
213 void enableAgendaUpdate(
bool enable);
216 void mousePosSignal(
const QPoint &pos);
220 void gridSpacingYChanged(
double);
223 enum MouseActionType {
242 void drawContents(
QPainter *p,
int cx,
int cy,
int cw,
int ch);
244 int columnWidth(
int column)
const;
249#ifndef QT_NO_WHEELEVENT
268 MouseActionType isInResizeArea(
bool horizontal,
QPoint pos,
const AgendaItem::QPtr &item);
271 [[nodiscard]]
bool ptInSelection(
QPoint gpos)
const;
274 void startSelectAction(
QPoint viewportPos);
277 void performSelectAction(
QPoint viewportPos);
280 void endSelectAction(
const QPoint &viewportPos);
283 void startItemAction(
const QPoint &viewportPos);
286 void performItemAction(
QPoint viewportPos);
289 void endItemAction();
292 void setNoActionCursor(
const AgendaItem::QPtr &moveItem,
QPoint viewportPos);
299 void setActionCursor(
int actionType,
bool acting =
false);
302 double calcSubCellWidth(
const AgendaItem::QPtr &item);
304 void placeAgendaItem(
const AgendaItem::QPtr &item,
double subCellWidth);
306 void placeSubCells(
const AgendaItem::QPtr &placeItem);
308 void adjustItemPosition(
const AgendaItem::QPtr &item);
313 void keyPressEvent(
QKeyEvent *)
override;
315 void calculateWorkingHours();
317 virtual void contentsMousePressEvent(
QMouseEvent *);
321 void deleteItemsToDelete();
326 void resizeAllContents();
329 EVENTVIEWS_NO_EXPORT
void init();
330 EVENTVIEWS_NO_EXPORT
void marcus_bains();
333 friend class AgendaPrivate;
334 std::unique_ptr<AgendaPrivate>
const d;
342 ~AgendaScrollArea()
override;
344 Agenda *agenda()
const;
347 Agenda *mAgenda =
nullptr;
This class describes the widgets that represent the various calendar items in the agenda view.
AgendaView is the agenda-like view that displays events in a single or multi-day view.
EventView is the abstract base class from which all other calendar views for event data are derived.
QSharedPointer< Incidence > Ptr
Namespace EventViews provides facilities for displaying incidences, including events,...
QObject * parent() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 21 2025 11:47:03 by
doxygen 1.13.2 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.