Eneboo - Documentación para desarrolladores
|
00001 /********************************************************************** 00002 ** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved. 00003 ** 00004 ** This file is part of Qt Designer. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 00012 ** licenses may use this file in accordance with the Qt Commercial License 00013 ** Agreement provided with the Software. 00014 ** 00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00017 ** 00018 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00019 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 00020 ** information about Qt Commercial License Agreements. 00021 ** 00022 ** Contact info@trolltech.com if any conditions of this licensing are 00023 ** not clear to you. 00024 ** 00025 **********************************************************************/ 00026 00027 #ifndef ACTIONLISTVIEW_H 00028 #define ACTIONLISTVIEW_H 00029 00030 #include <qlistview.h> 00031 #include "actiondnd.h" 00032 00033 class ActionItem : public QListViewItem 00034 { 00035 public: 00036 ActionItem( QListView *lv, bool group ) 00037 : QListViewItem( lv ), 00038 a( group ? 0 : new QDesignerAction( 0 ) ), 00039 g( group ? new QDesignerActionGroup( 0 ) : 0 ) { setDragEnabled( TRUE ); } 00040 ActionItem( QListView *lv, QAction *ac ); 00041 ActionItem( QListViewItem *i, QAction *ac ); 00042 ActionItem( ActionItem *parent, bool group = FALSE ) 00043 : QListViewItem( parent ), 00044 a( group ? 0 : new QDesignerAction( parent->actionGroup() ) ), 00045 g( group ? new QDesignerActionGroup( parent->actionGroup() ) : 0 ) { setDragEnabled( TRUE ); moveToEnd(); } 00046 00047 QDesignerAction *action() const { return a; } 00048 QDesignerActionGroup *actionGroup() const { return g; } 00049 00050 private: 00051 void moveToEnd(); 00052 00053 private: 00054 QDesignerAction *a; 00055 QDesignerActionGroup *g; 00056 00057 }; 00058 00059 class ActionListView : public QListView 00060 { 00061 Q_OBJECT 00062 00063 public: 00064 ActionListView( QWidget *parent = 0, const char *name = 0 ); 00065 00066 protected: 00067 QDragObject *dragObject(); 00068 00069 private slots: 00070 void rmbMenu( QListViewItem *i, const QPoint &p ); 00071 00072 signals: 00073 void insertAction(); 00074 void insertActionGroup(); 00075 void insertDropDownActionGroup(); 00076 void deleteAction(); 00077 void connectAction(); 00078 00079 }; 00080 00081 #endif