src/gui/dialogs/qdialogsbinarycompat_win.cpp
changeset 0 1918ee327afb
child 4 3b1da2848fc7
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 /****************************************************************************
       
     2 **
       
     3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     4 ** All rights reserved.
       
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
       
     6 **
       
     7 ** This file is part of the QtGui module of the Qt Toolkit.
       
     8 **
       
     9 ** $QT_BEGIN_LICENSE:LGPL$
       
    10 ** No Commercial Usage
       
    11 ** This file contains pre-release code and may not be distributed.
       
    12 ** You may use this file in accordance with the terms and conditions
       
    13 ** contained in the Technology Preview License Agreement accompanying
       
    14 ** this package.
       
    15 **
       
    16 ** GNU Lesser General Public License Usage
       
    17 ** Alternatively, this file may be used under the terms of the GNU Lesser
       
    18 ** General Public License version 2.1 as published by the Free Software
       
    19 ** Foundation and appearing in the file LICENSE.LGPL included in the
       
    20 ** packaging of this file.  Please review the following information to
       
    21 ** ensure the GNU Lesser General Public License version 2.1 requirements
       
    22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
       
    23 **
       
    24 ** In addition, as a special exception, Nokia gives you certain additional
       
    25 ** rights.  These rights are described in the Nokia Qt LGPL Exception
       
    26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
       
    27 **
       
    28 ** If you have questions regarding the use of this file, please contact
       
    29 ** Nokia at qt-info@nokia.com.
       
    30 **
       
    31 **
       
    32 **
       
    33 **
       
    34 **
       
    35 **
       
    36 **
       
    37 **
       
    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 
       
    62 QT_BEGIN_NAMESPACE
       
    63 
       
    64 #include <QtGui/QColor>
       
    65 #include <QtGui/QFont>
       
    66 
       
    67 class QColorDialogPrivate;
       
    68 class QFontDialogPrivate;
       
    69 class QInputDialogPrivate;
       
    70 class QWidget;
       
    71 
       
    72 class Q_GUI_EXPORT QColorDialog
       
    73 {
       
    74 private:
       
    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 
       
    87 QColorDialog::QColorDialog(QWidget *, bool) {}
       
    88 QColorDialog::~QColorDialog() {}
       
    89 void QColorDialog::setColor(const QColor &) {}
       
    90 QColor QColorDialog::color() const { return QColor(); }
       
    91 bool QColorDialog::selectColor(const QColor &) { return false; }
       
    92 void QColorDialog::setSelectedAlpha(int) {}
       
    93 int QColorDialog::selectedAlpha() const { return 0; }
       
    94 
       
    95 class Q_GUI_EXPORT QFontDialog
       
    96 {
       
    97 private:
       
    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 
       
   112 QFontDialog::QFontDialog(QWidget *, bool, Qt::WindowFlags) {}
       
   113 QFontDialog::~QFontDialog() {}
       
   114 QFont QFontDialog::font() const { return QFont(); }
       
   115 void QFontDialog::setFont(const QFont &) { }
       
   116 void QFontDialog::updateFamilies() {}
       
   117 void QFontDialog::updateStyles() {}
       
   118 void QFontDialog::updateSizes() {}
       
   119 QFont QFontDialog::getFont(bool *, const QFont *, QWidget *) { return QFont(); }
       
   120 
       
   121 class Q_GUI_EXPORT QInputDialog
       
   122 {
       
   123 private:
       
   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 
       
   131 QInputDialog::QInputDialog(const QString &, QWidget *, Type, Qt::WindowFlags) {}
       
   132 QInputDialog::QInputDialog(const QString &, const QString &, QWidget *, QWidget *, Qt::WindowFlags) {}
       
   133 QInputDialog::~QInputDialog() {}
       
   134 
       
   135 QT_END_NAMESPACE
       
   136 
       
   137 #endif