source: psi/trunk/libpsi/psiwidgets/psitextview.h@ 5

Last change on this file since 5 was 2, checked in by dmik, 19 years ago

Imported original Psi 0.10 sources from Affinix

File size: 2.4 KB
Line 
1/*
2 * psitextview.h - Icon-aware QTextView subclass widget
3 * Copyright (C) 2003 Michail Pishchagin
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
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 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 *
19 */
20
21#ifndef PSITEXTVIEW
22#define PSITEXTVIEW
23
24#include <qtextedit.h>
25#include <qlabel.h>
26
27class QStyleSheet;
28
29class URLLabel : public QLabel
30{
31 Q_OBJECT
32
33 Q_PROPERTY( QString url READ url WRITE setUrl )
34 Q_PROPERTY( QString title READ title WRITE setTitle )
35
36 Q_OVERRIDE( QString text DESIGNABLE false SCRIPTABLE false )
37 //Q_OVERRIDE( TextFormat DESIGNABLE false SCRIPTABLE false )
38
39public:
40 URLLabel(QWidget *parent = 0, const char *name = 0);
41 ~URLLabel();
42
43 const QString &url() const;
44 void setUrl(const QString &);
45
46 const QString &title() const;
47 void setTitle(const QString &);
48
49 static void connectOpenURL(QObject *receiver, const char *slot); // openURL(QString url);
50
51protected:
52 virtual void mouseReleaseEvent (QMouseEvent *);
53 virtual void enterEvent (QEvent *);
54 virtual void leaveEvent (QEvent *);
55
56 void updateText();
57
58public:
59 class Private;
60private:
61 Private *d;
62};
63
64class PsiTextView : public QTextEdit
65{
66 Q_OBJECT
67
68 Q_OVERRIDE( int undoDepth DESIGNABLE false SCRIPTABLE false )
69 Q_OVERRIDE( bool overwriteMode DESIGNABLE false SCRIPTABLE false )
70 Q_OVERRIDE( bool modified SCRIPTABLE false)
71 Q_OVERRIDE( bool readOnly DESIGNABLE false SCRIPTABLE false )
72 Q_OVERRIDE( bool undoRedoEnabled DESIGNABLE false SCRIPTABLE false )
73
74public:
75 PsiTextView(QWidget *parent = 0, const char *name = 0);
76
77 static QStyleSheet *styleSheet();
78
79 class Private;
80
81protected:
82 QPopupMenu *createPopupMenu(const QPoint &pos);
83 QPopupMenu *createPopupMenu() { return 0; } // FIXME
84
85private:
86 bool linksEnabled() const { return TRUE; }
87 void emitHighlighted(const QString &s);
88 void emitLinkClicked(const QString &s);
89
90 Private *d;
91};
92
93#endif
Note: See TracBrowser for help on using the repository browser.