KDevelop API Documentation

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.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Feb 22 09:22:22 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003