fix tricky regression noticed by Vyacheslav Tokarev on Google Reader.
[kdelibs.git] / kparts / event.h
blobbda7720e4c97fcdc4145d12edbc478a9488ee414
1 /* This file is part of the KDE project
2 Copyright (C) 1999 Simon Hausmann <hausmann@kde.org>
3 (C) 1999 David Faure <faure@kde.org>
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
20 #ifndef __kparts_event_h__
21 #define __kparts_event_h__
23 #include <QtGui/QKeyEvent>
25 #include <kparts/kparts_export.h>
27 class QWidget;
29 namespace KParts
31 class Part;
33 class EventPrivate;
34 /**
35 * Base class for all KParts events.
37 class KPARTS_EXPORT Event : public QEvent
39 public:
40 Event( const char *eventName );
41 virtual ~Event();
42 virtual const char *eventName() const;
44 static bool test( const QEvent *event );
45 static bool test( const QEvent *event, const char *name );
47 private:
48 EventPrivate * const d;
51 class GUIActivateEventPrivate;
52 /**
53 * This event is sent to a Part when its GUI has been activated or deactivated.
54 * This is related to PartActivateEvent, but the difference is that
55 * GUIActivateEvent happens later (when the GUI is actually built),
56 * only for parts that have GUI elements, and only if using KParts::MainWindow.
57 * @see KParts::Part::guiActivateEvent()
59 class KPARTS_EXPORT GUIActivateEvent : public Event
61 public:
62 GUIActivateEvent( bool activated );
63 virtual ~GUIActivateEvent();
65 bool activated() const;
67 static bool test( const QEvent *event );
69 private:
70 GUIActivateEventPrivate * const d;
73 class PartActivateEventPrivate;
74 /**
75 * This event is sent by the part manager when the active part changes.
76 * Each time the active part changes, it will send first a PartActivateEvent
77 * with activated=false, part=oldActivePart, widget=oldActiveWidget
78 * and then another PartActivateEvent
79 * with activated=true, part=newPart, widget=newWidget.
80 * @see KParts::Part::partActivateEvent
82 class KPARTS_EXPORT PartActivateEvent : public Event
84 public:
85 PartActivateEvent( bool activated, Part *part, QWidget *widget );
86 virtual ~PartActivateEvent();
87 bool activated() const;
89 Part *part() const;
90 QWidget *widget() const;
92 static bool test( const QEvent *event );
94 private:
95 PartActivateEventPrivate * const d;
98 class PartSelectEventPrivate;
99 /**
100 * This event is sent when a part is selected or deselected.
101 * @see KParts::PartManager::setSelectionPolicy
103 class KPARTS_EXPORT PartSelectEvent : public Event
105 public:
106 PartSelectEvent( bool selected, Part *part, QWidget *widget );
107 virtual ~PartSelectEvent();
108 bool selected() const;
110 Part *part() const;
111 QWidget *widget() const;
113 static bool test( const QEvent *event );
115 private:
116 PartSelectEventPrivate * const d;
119 } // namespace
121 #endif