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

📄 actionlistview.cpp

📁 Linux下的基于X11的图形开发环境。
💻 CPP
字号:
/************************************************************************ Copyright (C) 2000 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.**** 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.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#include "actionlistview.h"#include <qdragobject.h>#include <qheader.h>ActionListView::ActionListView( QWidget *parent, const char *name )    : QListView( parent, name ){    setShowSortIndicator( TRUE );    setResizeMode( LastColumn );    setRootIsDecorated( TRUE );    connect( this, SIGNAL( contextMenuRequested( QListViewItem *, const QPoint &, int ) ),	     this, SLOT( rmbMenu( QListViewItem *, const QPoint & ) ) );}ActionItem::ActionItem( QListView *lv, QAction *ac )    : QListViewItem( lv ), a( 0 ), g( 0 ){    if ( ac->inherits( "QActionGroup" ) )	g = (QDesignerActionGroup*)ac;    else	a = (QDesignerAction*)ac;    setDragEnabled( TRUE );}ActionItem::ActionItem( QListViewItem *i, QAction *ac )    : QListViewItem( i ), a( 0 ), g( 0 ){    if ( ac->inherits( "QActionGroup" ) )	g = (QDesignerActionGroup*)ac;    else	a = (QDesignerAction*)ac;    setDragEnabled( TRUE );    moveToEnd();}void ActionItem::moveToEnd(){    QListViewItem *i = this;    while ( i->nextSibling() )	i = i->nextSibling();    if ( i != this )	moveItem( i );}QDragObject *ActionListView::dragObject(){    ActionItem *i = (ActionItem*)currentItem();    if ( !i )	return 0;    QStoredDrag *drag = 0;    if ( i->action() ) {	drag = new QStoredDrag( "application/x-designer-actions", viewport() );	QString s = QString::number( (long)i->action() ); // #### huha, that is evil	drag->setEncodedData( QCString( s.latin1() ) );	drag->setPixmap( i->action()->iconSet().pixmap() );    } else {	drag = new QStoredDrag( "application/x-designer-actiongroup", viewport() );	QString s = QString::number( (long)i->actionGroup() ); // #### huha, that is evil	drag->setEncodedData( QCString( s.latin1() ) );	drag->setPixmap( i->actionGroup()->iconSet().pixmap() );    }    return drag;}void ActionListView::rmbMenu( QListViewItem *i, const QPoint &p ){    QPopupMenu *popup = new QPopupMenu( this );    popup->insertItem( tr( "New &Action" ), 0 );    popup->insertItem( tr( "New Action &Group" ), 1 );    popup->insertItem( tr( "New &Dropdown Action Group" ), 2 );    if ( i ) {	popup->insertSeparator();	popup->insertItem( tr( "&Connect Action..." ), 3 );	popup->insertSeparator();	popup->insertItem( tr( "Delete Action" ), 4 );    }    int res = popup->exec( p );    if ( res == 0 )	emit insertAction();    else if ( res == 1 )	emit insertActionGroup();    else if ( res == 2 )	emit insertDropDownActionGroup();    else if ( res == 3 )	emit connectAction();    else if ( res == 4 )	emit deleteAction();}

⌨️ 快捷键说明

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