digiKam
dpopupframe.h
Go to the documentation of this file.
1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date : 1997-04-21
7  * Description : Frame with popup menu behavior.
8  *
9  * Copyright (C) 2011-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
10  * Copyright (C) 1997 by Tim D. Gilman <tdgilman at best dot org>
11  * Copyright (C) 1998-2001 by Mirko Boehm <mirko at kde dot org>
12  * Copyright (C) 2007 by John Layt <john at layt dot net>
13  *
14  * This program is free software; you can redistribute it
15  * and/or modify it under the terms of the GNU General
16  * Public License as published by the Free Software Foundation;
17  * either version 2, or (at your option)
18  * any later version.
19  *
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23  * GNU General Public License for more details.
24  *
25  * ============================================================ */
26 
27 #ifndef DIGIKAM_DPOP_UP_FRAME_H
28 #define DIGIKAM_DPOP_UP_FRAME_H
29 
30 // Qt includes
31 
32 #include <QFrame>
33 
34 namespace Digikam
35 {
36 
37 class DPopupFrame : public QFrame
38 {
39  Q_OBJECT
40 
41 public:
42 
46  explicit DPopupFrame(QWidget* const parent = nullptr);
47 
51  ~DPopupFrame() override;
52 
60  void setMainWidget(QWidget* const m);
61 
66  void resizeEvent(QResizeEvent* e) override;
67 
71  void popup(const QPoint& p);
72 
76  int exec(const QPoint& p);
77 
81  int exec(int x, int y);
82 
83 Q_SIGNALS:
84 
85  void leaveModality();
86 
87 protected:
88 
92  void keyPressEvent(QKeyEvent* e) override;
93 
97  void hideEvent(QHideEvent* e) override;
98 
99 public Q_SLOTS:
100 
105  void close(int r);
106 
107 private:
108 
109  class Private;
110  Private* const d;
111 
112  friend class Private;
113 
114  Q_DISABLE_COPY(DPopupFrame)
115 };
116 
117 } // namespace Digikam
118 
119 #endif // DIGIKAM_DPOP_UP_FRAME_H
Definition: dpopupframe.h:38
int exec(const QPoint &p)
Definition: dpopupframe.cpp:228
void popup(const QPoint &p)
Definition: dpopupframe.cpp:180
DPopupFrame(QWidget *const parent=nullptr)
Definition: dpopupframe.cpp:125
void hideEvent(QHideEvent *e) override
Definition: dpopupframe.cpp:147
~DPopupFrame() override
Definition: dpopupframe.cpp:133
void close(int r)
Definition: dpopupframe.cpp:152
void resizeEvent(QResizeEvent *e) override
Definition: dpopupframe.cpp:169
friend class Private
Definition: dpopupframe.h:112
void keyPressEvent(QKeyEvent *e) override
Definition: dpopupframe.cpp:138
void setMainWidget(QWidget *const m)
Definition: dpopupframe.cpp:159
Definition: datefolderview.cpp:43