summaryrefslogtreecommitdiffstats
path: root/kdict/applet/kdictapplet.h
blob: a9738148d059f4050996d8fc95ae5588db69f855 (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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/* -------------------------------------------------------------

   kdictapplet.h (part of The KDE Dictionary Client)

   Copyright (C) 2001 Christian Gebauer <gebauer@kde.org>

   The applet is loosely based on the "Run" applet included in KDE.
   Copyright (c) 2000 Matthias Elter <elter@kde.org> (Artistic License)

   This file is distributed under the Artistic License.
   See LICENSE for details.

    -------------------------------------------------------------

    PopupBox        helper class
    DictApplet      a small kicker-applet

 ------------------------------------------------------------- */

#ifndef _DICTAPPLET_H_
#define _DICTAPPLET_H_

#include <qhbox.h>
#include <kpanelapplet.h>

class QLabel;
class QPushButton;
class KHistoryCombo;


//*********  PopupBox  ********************************************

class PopupBox : public QHBox
{
  Q_OBJECT

public:
  PopupBox();
  ~PopupBox();

  bool showBox();

signals:
  void hidden();

public slots:
  void enablePopup();

protected:
  void hideEvent(QHideEvent *);

private:
  bool popupEnabled;

};

//*********  DictApplet  ********************************************

class DictApplet : public KPanelApplet
{
  Q_OBJECT

public:
  DictApplet(const QString& configFile, Type t = Stretch, int actions = 0, QWidget *parent = 0, const char *name = 0);
  virtual ~DictApplet();

  int widthForHeight(int height) const;
  int heightForWidth(int width) const;

protected:
  void resizeEvent(QResizeEvent*);
  bool eventFilter( QObject *, QEvent * );

  void sendCommand(const QCString &fun, const QString &data);

protected slots:
  void sendDelayedCommand();
  void startQuery(const QString&);
  void comboTextChanged(const QString&);
  void queryClipboard();
  void startDefine();
  void startMatch();
  void showExternalCombo();
  void externalComboHidden();
  void updateCompletionMode(KGlobalSettings::Completion mode);

private:
  KHistoryCombo  *internalCombo, *externalCombo;
  KCompletion    *completionObject;
  QLabel         *textLabel, *iconLabel;
  QPushButton    *verticalBtn, *clipboardBtn, *defineBtn, *matchBtn;
  QWidget        *baseWidget;
  PopupBox       *popupBox;

  int            waiting;
  QCString       delayedFunc;
  QString        delayedData;

};

#endif