KDevelop API Documentation

buildtools/generic/genericproject_widget.h

Go to the documentation of this file.
00001 /*************************************************************************** 00002 * Copyright (C) 2003 Roberto Raggi * 00003 * roberto@kdevelop.org * 00004 * Copyright (C) 2003 Alexander Dymo * 00005 * cloudtemple@mksat.net * 00006 * * 00007 * This program is free software; you can redistribute it and/or modify * 00008 * it under the terms of the GNU General Public License as published by * 00009 * the Free Software Foundation; either version 2 of the License, or * 00010 * (at your option) any later version. * 00011 * * 00012 ***************************************************************************/ 00013 #ifndef __GENERICPROJECT_WIDGET_H__ 00014 #define __GENERICPROJECT_WIDGET_H__ 00015 00016 #include <qvbox.h> 00017 #include <qmap.h> 00018 00019 class QSplitter; 00020 class QListViewItem; 00021 class KDevProject; 00022 class GenericProjectPart; 00023 class OverviewListView; 00024 class DetailsListView; 00025 class BuildGroupItem; 00026 class BuildTargetItem; 00027 class BuildFileItem; 00028 class GenericGroupListViewItem; 00029 class GenericTargetListViewItem; 00030 class GenericFileListViewItem; 00031 class KAction; 00032 class KListView; 00033 00034 class GenericProjectWidget : public QVBox 00035 { 00036 Q_OBJECT 00037 public: 00038 GenericProjectWidget(GenericProjectPart *part); 00039 virtual ~GenericProjectWidget(); 00040 00041 GenericGroupListViewItem *addGroup( BuildGroupItem* group ); 00042 void addTarget( BuildTargetItem* target ); 00043 void addFile( BuildFileItem* file ); 00044 00045 void takeGroup(GenericGroupListViewItem *it); 00046 void takeTarget(GenericTargetListViewItem *it); 00047 void takeFile(GenericFileListViewItem *it); 00048 00049 BuildGroupItem* activeGroup(); 00050 BuildTargetItem* activeTarget(); 00051 00052 signals: 00053 void groupSelected( BuildGroupItem* groupItem ); 00054 void targetSelected( BuildTargetItem* targetItem ); 00055 void fileSelected( BuildFileItem* fileItem ); 00056 void groupExecuted( BuildGroupItem* groupItem ); 00057 void targetExecuted( BuildTargetItem* targetItem ); 00058 void fileExecuted( BuildFileItem* fileItem ); 00059 00060 public slots: 00061 void showDetails( BuildGroupItem* groupItem ); 00062 void showTargetDetails( BuildTargetItem* targetItem ); 00063 void showFileDetails( BuildFileItem* fileItem ); 00064 00065 private slots: 00066 void slotMainGroupChanged( BuildGroupItem* mainGroup ); 00067 void slotItemSelected( QListViewItem* item ); 00068 void slotItemExecuted( QListViewItem* item ); 00069 void showGroupContextMenu(KListView *l, QListViewItem *i, const QPoint &p); 00070 void showDetailContextMenu(KListView *l, QListViewItem *i, const QPoint &p); 00071 00072 void slotNewGroup(); 00073 void slotNewTarget(); 00074 void slotBuild(); 00075 void slotBuildGroup(); 00076 void slotBuildTarget(); 00077 void slotBuildFile(); 00078 void slotInstall(); 00079 void slotInstallGroup(); 00080 void slotInstallTarget(); 00081 void slotExecute(); 00082 void slotExecuteGroup(); 00083 void slotExecuteTarget(); 00084 void slotNewFile(); 00085 void slotAddFiles(); 00086 void slotDeleteGroup(); 00087 void slotDeleteTarget(); 00088 void slotDeleteFile(); 00089 void slotDeleteTargetOrFile(); 00090 void slotConfigureGroup(); 00091 void slotConfigureTarget(); 00092 void slotConfigureFile(); 00093 void slotConfigureTargetOrFile(); 00094 void slotClean(); 00095 void slotCleanGroup(); 00096 void slotCleanTarget(); 00097 00098 private: 00099 void initOverviewListView( QSplitter* splitter ); 00100 void initDetailsListView( QSplitter* splitter ); 00101 void fillGroupItem( BuildGroupItem* group, GenericGroupListViewItem* item ); 00102 void fillTarget( BuildTargetItem* target, GenericTargetListViewItem* item ); 00103 void initActions(); 00104 00105 private: 00106 GenericProjectPart* m_part; 00107 OverviewListView* m_overviewListView; 00108 DetailsListView* m_detailsListView; 00109 BuildGroupItem* m_activeGroup; 00110 BuildTargetItem* m_activeTarget; 00111 00112 QMap<BuildGroupItem*, GenericGroupListViewItem*> m_groupToItem; 00113 QMap<BuildTargetItem*, GenericTargetListViewItem*> m_targetToItem; 00114 QMap<BuildFileItem*, GenericFileListViewItem*> m_fileToItem; 00115 00116 KAction *newGroupAction; 00117 KAction *newTargetAction; 00118 KAction *buildGroupAction; 00119 KAction *buildAction; 00120 KAction *buildTargetAction; 00121 KAction *buildFileAction; 00122 KAction *installGroupAction; 00123 KAction *installAction; 00124 KAction *newFileAction; 00125 KAction *addFilesAction; 00126 KAction *deleteGroupAction; 00127 KAction *deleteTargetAction; 00128 KAction *deleteFileAction; 00129 KAction *configureGroupAction; 00130 KAction *configureTargetAction; 00131 KAction *configureFileAction; 00132 KAction *executeAction; 00133 KAction *executeGroupAction; 00134 KAction *executeTargetAction; 00135 KAction *cleanAction; 00136 KAction *cleanGroupAction; 00137 KAction *cleanTargetAction; 00138 }; 00139 00140 00141 #endif
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Oct 6 17:38:54 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003