qdesigner_toolbar_p.h
来自「奇趣公司比较新的qt/emd版本」· C头文件 代码 · 共 135 行
H
135 行
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the Qt Designer 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.******************************************************************************///// W A R N I N G// -------------//// This file is not part of the Qt API. It exists for the convenience// of Qt Designer. This header// file may change from version to version without notice, or even be removed.//// We mean it.//#ifndef QDESIGNER_TOOLBAR_H#define QDESIGNER_TOOLBAR_H#include "shared_global_p.h"#include <QtGui/QAction>#include <QtGui/QToolButton>class QToolBar;class QDesignerFormWindowInterface;namespace qdesigner_internal {class QDESIGNER_SHARED_EXPORT SentinelAction: public QAction{ Q_OBJECTpublic: SentinelAction(QWidget *widget); virtual ~SentinelAction();};// Dummy tool button used as 'insert before' parameter for various commandsclass QDESIGNER_SHARED_EXPORT Sentinel: public QToolButton{ Q_OBJECTpublic: Sentinel(QWidget *widget); virtual ~Sentinel();};// Special event filter for tool bars in designer.// Handles drag and drop to and from. Ensures that each// child widget is WA_TransparentForMouseEvents to enable drag and drop.class QDESIGNER_SHARED_EXPORT ToolBarEventFilter : public QObject { Q_OBJECTpublic: static void install(QToolBar *tb); // Call after adding actions building the form to ensure the sentinel action is last static void adjustSpecialActions(QToolBar *tb); // Find action by position. Note that QToolBar::actionAt() will // not work as designer sets WA_TransparentForMouseEvents on its tool bar buttons // to be able to drag them. This function will return the dummy // sentinel action when applied to tool bars created by designer if the position matches. static QAction *actionAt(const QToolBar *tb, const QPoint &pos); static int actionIndexAt(const QToolBar *tb, const QPoint &pos); static bool withinHandleArea(const QToolBar *tb, const QPoint &pos); // Utility to create an action static QAction *createAction(QDesignerFormWindowInterface *fw, const QString &objectName, bool separator); virtual bool eventFilter (QObject *watched, QEvent *event);private slots: void slotRemoveSelectedAction(); void slotRemoveToolBar(); void slotInsertSeparator();private: ToolBarEventFilter(QToolBar *tb); bool handleContextMenuEvent(QContextMenuEvent * event); bool handleDragEnterMoveEvent(QDragMoveEvent *event); bool handleDragLeaveEvent(QDragLeaveEvent *); bool handleDropEvent(QDropEvent *event); bool handleMousePressEvent(QMouseEvent *event); bool handleMouseReleaseEvent(QMouseEvent *event); bool handleMouseMoveEvent(QMouseEvent *event); QDesignerFormWindowInterface *formWindow() const; int findAction(const QPoint &pos) const; void adjustDragIndicator(const QPoint &pos); void hideDragIndicator(); void startDrag(const QPoint &pos, Qt::KeyboardModifiers modifiers); void positionSentinel(); bool withinHandleArea(const QPoint &pos) const; QToolBar *m_toolBar; QAction *m_sentinel; QPoint m_startPosition;};} // namespace qdesigner_internal#endif // QDESIGNER_TOOLBAR_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?