source: trunk/src/gui/dialogs/qdialogsbinarycompat_win.cpp@ 5

Last change on this file since 5 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 4.7 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4** Contact: Qt Software Information ([email protected])
5**
6** This file is part of the QtGui module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial Usage
10** Licensees holding valid Qt Commercial licenses may use this file in
11** accordance with the Qt Commercial License Agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and Nokia.
14**
15** GNU Lesser General Public License Usage
16** Alternatively, this file may be used under the terms of the GNU Lesser
17** General Public License version 2.1 as published by the Free Software
18** Foundation and appearing in the file LICENSE.LGPL included in the
19** packaging of this file. Please review the following information to
20** ensure the GNU Lesser General Public License version 2.1 requirements
21** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
22**
23** In addition, as a special exception, Nokia gives you certain
24** additional rights. These rights are described in the Nokia Qt LGPL
25** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
26** package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you are unsure which license is appropriate for your use, please
37** contact the sales department at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42#include <qglobal.h>
43
44// ### Qt 5: eliminate this file
45
46/*
47 This is evil. MSVC doesn't let us remove private symbols, nor change their
48 visibility; yet there are some symbols we really needed to make public, e.g.,
49 ~QColorDialog(), and then there were some totally needless symbols in our
50 header files, e.g., setSelectedAlpha(). So we define a new version of
51 QColorDialog & Co. with only the private symbols that we removed from the
52 public header files. The friends are there only to prevent potential compiler
53 warnings.
54
55 It would have been nicer to export the missing symbols as mangled "C" symbols
56 instead but unfortunately MSVC uses out-of-reach characters like @ and . in
57 their mangled C++ symbols.
58*/
59
60#if QT_VERSION < 0x050000 && defined(Q_CC_MSVC)
61
62QT_BEGIN_NAMESPACE
63
64#include <QtGui/QColor>
65#include <QtGui/QFont>
66
67class QColorDialogPrivate;
68class QFontDialogPrivate;
69class QInputDialogPrivate;
70class QWidget;
71
72class Q_GUI_EXPORT QColorDialog
73{
74private:
75 explicit QColorDialog(QWidget *, bool);
76 ~QColorDialog();
77
78 void setColor(const QColor &);
79 QColor color() const;
80 bool selectColor(const QColor &);
81 void setSelectedAlpha(int);
82 int selectedAlpha() const;
83
84 friend class QColorDialogPrivate;
85};
86
87QColorDialog::QColorDialog(QWidget *, bool) {}
88QColorDialog::~QColorDialog() {}
89void QColorDialog::setColor(const QColor &) {}
90QColor QColorDialog::color() const { return QColor(); }
91bool QColorDialog::selectColor(const QColor &) { return false; }
92void QColorDialog::setSelectedAlpha(int) {}
93int QColorDialog::selectedAlpha() const { return 0; }
94
95class Q_GUI_EXPORT QFontDialog
96{
97private:
98 explicit QFontDialog(QWidget *, bool, Qt::WindowFlags);
99 ~QFontDialog();
100
101 QFont font() const;
102 void setFont(const QFont &);
103 void updateFamilies();
104 void updateStyles();
105 void updateSizes();
106
107 static QFont getFont(bool *, const QFont *, QWidget *);
108
109 friend class QFontDialogPrivate;
110};
111
112QFontDialog::QFontDialog(QWidget *, bool, Qt::WindowFlags) {}
113QFontDialog::~QFontDialog() {}
114QFont QFontDialog::font() const { return QFont(); }
115void QFontDialog::setFont(const QFont &) { }
116void QFontDialog::updateFamilies() {}
117void QFontDialog::updateStyles() {}
118void QFontDialog::updateSizes() {}
119QFont QFontDialog::getFont(bool *, const QFont *, QWidget *) { return QFont(); }
120
121class Q_GUI_EXPORT QInputDialog
122{
123private:
124 enum Type { LineEdit, SpinBox, DoubleSpinBox, ComboBox, EditableComboBox };
125
126 QInputDialog(const QString &, QWidget *, Type, Qt::WindowFlags);
127 QInputDialog(const QString &, const QString &, QWidget *, QWidget *, Qt::WindowFlags);
128 ~QInputDialog();
129};
130
131QInputDialog::QInputDialog(const QString &, QWidget *, Type, Qt::WindowFlags) {}
132QInputDialog::QInputDialog(const QString &, const QString &, QWidget *, QWidget *, Qt::WindowFlags) {}
133QInputDialog::~QInputDialog() {}
134
135QT_END_NAMESPACE
136
137#endif
Note: See TracBrowser for help on using the repository browser.