summaryrefslogtreecommitdiffstats
path: root/kregexpeditor/KMultiFormListBox/ccp.h
blob: 41857a5bde04b3cd290ceadc595c4c14f04e3303 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
 *  Copyright (c) 2002-2003 Jesper K. Pedersen <blackie@kde.org>
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Library General Public
 *  License version 2 as published by the Free Software Foundation.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Library General Public License for more details.
 *
 *  You should have received a copy of the GNU Library General Public License
 *  along with this library; see the file COPYING.LIB.  If not, write to
 *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 *  Boston, MA 02110-1301, USA.
 **/
#ifndef __ccp
#define __ccp


/**
   Helper class for @ref KMultiFormListBoxMultiVisible which is used to install EventFilters.

   When the user presses CTRL + right mouse button then a menu should
   appear which offers him cut and paste capabilities for the entries in
   the KMultiFormListBoxMultiVisible.

  To obtain this an event filter must be install for each subwidget of the
  KMultiFormListBoxMultiVisible. This event filter must catch the right mouse press event and
  post the menu. This requires a widget which has the method @ref
  eventFilter defined. We have this helper class exactly for this purpose.

  For each @ref KMultiFormListBoxEntry in the @ref KMultiFormListBoxMultiVisible widget an instance of
  this class is associated.

  CCP stand for Cut Copy and Paste

  @internal
**/
class CCP :public  QObject {

private:
  friend class KMultiFormListBoxMultiVisible;
  /**
   * Constructor is private so only the class @ref KMultiFormListBoxMultiVisible may create an
   * instance of this widget.
  **/
  CCP(KMultiFormListBoxMultiVisible *,KMultiFormListBoxEntry *);

  void install(QObject *);
  bool eventFilter(QObject *, QEvent *);

  // Instance variables.

  KMultiFormListBoxMultiVisible *ee;
  KMultiFormListBoxEntry *eee;
};

#endif /* ccp */