⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qwidgetresizehandler_p.h

📁 奇趣公司比较新的qt/emd版本
💻 H
字号:
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the QtGui module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef QWIDGETRESIZEHANDLER_P_H#define QWIDGETRESIZEHANDLER_P_H////  W A R N I N G//  -------------//// This file is not part of the Qt API.  This header file may// change from version to version without notice, or even be// removed.//// We mean it.//#include "QtCore/qobject.h"#include "QtCore/qpoint.h"#ifndef QT_NO_RESIZEHANDLERclass QMouseEvent;class QKeyEvent;class Q_GUI_EXPORT QWidgetResizeHandler : public QObject{    Q_OBJECTpublic:    enum Action {        Move        = 0x01,        Resize        = 0x02,        Any        = Move|Resize    };    explicit QWidgetResizeHandler(QWidget *parent, QWidget *cw = 0);    void setActive(bool b) { setActive(Any, b); }    void setActive(Action ac, bool b);    bool isActive() const { return isActive(Any); }    bool isActive(Action ac) const;    void setMovingEnabled(bool b) { movingEnabled = b; }    bool isMovingEnabled() const { return movingEnabled; }    bool isButtonDown() const { return buttonDown; }    void setExtraHeight(int h) { extrahei = h; }    void setSizeProtection(bool b) { sizeprotect = b; }    void setFrameWidth(int w) { fw = w; }    void doResize();    void doMove();Q_SIGNALS:    void activate();protected:    bool eventFilter(QObject *o, QEvent *e);    void mouseMoveEvent(QMouseEvent *e);    void keyPressEvent(QKeyEvent *e);private:    Q_DISABLE_COPY(QWidgetResizeHandler)    enum MousePosition {        Nowhere,        TopLeft, BottomRight, BottomLeft, TopRight,        Top, Bottom, Left, Right,        Center    };    QWidget *widget;    QWidget *childWidget;    QPoint moveOffset;    QPoint invertedMoveOffset;    MousePosition mode;    int fw;    int extrahei;    int range;    uint buttonDown            :1;    uint moveResizeMode            :1;    uint activeForResize    :1;    uint sizeprotect            :1;    uint movingEnabled                    :1;    uint activeForMove            :1;    void setMouseCursor(MousePosition m);    bool isMove() const {        return moveResizeMode && mode == Center;    }    bool isResize() const {        return moveResizeMode && !isMove();    }};#endif // QT_NO_RESIZEHANDLER#endif // QWIDGETRESIZEHANDLER_P_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -