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

📄 menubareditor.h

📁 Trolltech公司发布的基于C++图形开发环境
💻 H
字号:
/************************************************************************ Copyright (C) 2003 Trolltech AS.  All rights reserved.**** This file is part of Qt Designer.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition** licenses may use this file in accordance with the Qt Commercial License** Agreement provided with the Software.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/gpl/ for GPL licensing information.** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for**   information about Qt Commercial License Agreements.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#ifndef MENUBAREDITOR_H#define MENUBAREDITOR_H#include <qmenubar.h>#include <qptrlist.h>class PopupMenuEditor;class MenuBarEditor;class QActionGroup;class MenuBarEditorItem : public QObject{    Q_OBJECT    friend class MenuBarEditor;    MenuBarEditorItem( MenuBarEditor * bar = 0, QObject * parent = 0, const char * name = 0 );    public:    MenuBarEditorItem( PopupMenuEditor * menu, MenuBarEditor * bar,		       QObject * parent = 0, const char * name = 0);    MenuBarEditorItem( QActionGroup * actionGroup, MenuBarEditor * bar,		       QObject * parent = 0, const char * name = 0);    MenuBarEditorItem( MenuBarEditorItem * item,		       QObject * parent = 0, const char * name = 0);    ~MenuBarEditorItem() { };    PopupMenuEditor * menu() { return popupMenu; }    void setMenuText( const QString t ) { text = t; };    QString menuText() { return text; }    void setVisible( bool enable ) { visible = enable; }    bool isVisible() { return visible; }    void setRemovable( bool enable ) { removable = enable; }    bool isRemovable() { return removable; }    bool isSeparator() { return separator; }protected:    void setSeparator( bool enable ) { separator = enable; }    private:    MenuBarEditor * menuBar;    PopupMenuEditor * popupMenu;    QString text;    uint visible : 1;    uint separator : 1;    uint removable : 1;};class QLineEdit;class FormWindow;class MenuBarEditor : public QMenuBar{    Q_OBJECT    public:    MenuBarEditor( FormWindow * fw, QWidget * parent = 0, const char * name = 0 );    ~MenuBarEditor();    FormWindow * formWindow();    MenuBarEditorItem * createItem( int index = -1, bool addToCmdStack = TRUE );    void insertItem( MenuBarEditorItem * item, int index = -1 );    void insertItem( QString text, PopupMenuEditor * menu, int index = -1 );    void insertItem( QString text, QActionGroup * group, int index = -1 );    void insertSeparator( int index = -1 );        void removeItemAt( int index );    void removeItem( MenuBarEditorItem * item );        int findItem( MenuBarEditorItem * item );    int findItem( PopupMenuEditor * menu );    int findItem( QPoint & pos );        MenuBarEditorItem * item( int index = -1 );    int count();    int current();    void cut( int index );    void copy( int index );    void paste( int index );    void exchange( int a, int b );    void showLineEdit( int index = -1);    void showItem( int index = -1 );    void hideItem( int index = -1 );    void focusItem( int index = -1 );    void deleteItem( int index = -1 );    QSize sizeHint() const;    QSize minimumSize() const { return sizeHint(); }    QSize minimumSizeHint() const { return sizeHint(); }    int heightForWidth( int max_width ) const;    void show();    void checkAccels( QMap<QChar, QWidgetList > &accels );public slots:    void cut();    void copy();    void paste();    protected:    bool eventFilter( QObject * o, QEvent * e );    void paintEvent( QPaintEvent * e );    void mousePressEvent( QMouseEvent * e );    void mouseDoubleClickEvent( QMouseEvent * e );    void mouseMoveEvent( QMouseEvent * e );    void dragEnterEvent( QDragEnterEvent * e );    void dragLeaveEvent( QDragLeaveEvent * e );    void dragMoveEvent( QDragMoveEvent * e );    void dropEvent( QDropEvent * e );    void keyPressEvent( QKeyEvent * e );    void focusOutEvent( QFocusEvent * e );    void resizeEvent( QResizeEvent * e ) { QFrame::resizeEvent( e ); }    void resizeInternals();        void drawItems( QPainter & p );    void drawItem( QPainter & p, MenuBarEditorItem * i, int idx, QPoint & pos );    void drawSeparator( QPainter & p, QPoint & pos );        QSize itemSize( MenuBarEditorItem * i );    void addItemSizeToCoords( MenuBarEditorItem * i, int & x, int & y, int w );    QPoint itemPos( int index );    QPoint snapToItem( const QPoint & pos );    void dropInPlace( MenuBarEditorItem * i, const QPoint & pos );    void safeDec();    void safeInc();    void navigateLeft( bool ctrl );    void navigateRight( bool ctrl );    void enterEditMode();    void leaveEditMode();    QPixmap createTextPixmap( const QString &text );    int borderSize() const { return margin() + 4; } // add 4 pixels to the margin    private:    FormWindow * formWnd;    QLineEdit * lineEdit;    QWidget * dropLine;    QPtrList<MenuBarEditorItem> itemList;    MenuBarEditorItem addItem;    MenuBarEditorItem addSeparator;    MenuBarEditorItem * draggedItem;    QPoint mousePressPos;    int currentIndex;    int itemHeight;    int separatorWidth;    bool hideWhenEmpty;    bool hasSeparator;    bool dropConfirmed;        enum ClipboardOperation {	None = 0,	Cut = 1,	Copy = 2    };    static int clipboardOperation;    static MenuBarEditorItem * clipboardItem;};#endif //MENUBAREDITOR_H

⌨️ 快捷键说明

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