summaryrefslogtreecommitdiffstats
path: root/buildtools/autotools/autosubprojectview.h
diff options
context:
space:
mode:
Diffstat (limited to 'buildtools/autotools/autosubprojectview.h')
-rw-r--r--buildtools/autotools/autosubprojectview.h130
1 files changed, 130 insertions, 0 deletions
diff --git a/buildtools/autotools/autosubprojectview.h b/buildtools/autotools/autosubprojectview.h
new file mode 100644
index 00000000..e49caddd
--- /dev/null
+++ b/buildtools/autotools/autosubprojectview.h
@@ -0,0 +1,130 @@
+/*
+ KDevelop Autotools Support
+ Copyright (c) 2002 by Victor Roeder <victor_roeder@gmx.de>
+ Copyright (c) 2005 by Matt Rogers <mattr@kde.org>
+
+***************************************************************************
+* *
+* This program is free software; you can redistribute it and/or modify *
+* it under the terms of the GNU General Public License as published by *
+* the Free Software Foundation; either version 2 of the License, or *
+* (at your option) any later version. *
+* *
+***************************************************************************
+*/
+
+#ifndef AUTOSUBPROJECTVIEW_H
+#define AUTOSUBPROJECTVIEW_H
+
+#include <qwidget.h>
+#include "autoprojectviewbase.h"
+
+
+class KAction;
+class AutoToolsAction;
+class AutoProjectWidget;
+class AutoProjectPart;
+class TargetItem;
+class SubprojectItem;
+class KListViewItem;
+class KListView;
+
+namespace AutoProjectPrivate
+{
+ bool isHeader( const QString& fileName );
+}
+
+
+//with protected inheritance gcc 3.2.3 complains in autoprojectwidget.cpp, line 116
+//that it cannot access the base class QObject (for the connect() call),
+//so in order to be able to compile this file I made the inheritance public again, Alex
+class AutoSubprojectView : public AutoProjectViewBase
+{
+ Q_OBJECT
+
+public:
+ AutoSubprojectView( AutoProjectWidget* widget, AutoProjectPart* part, QWidget *parent, const char *name );
+ virtual ~AutoSubprojectView();
+
+public:
+ void loadMakefileams ( const QString& dir );
+
+ void parse( SubprojectItem *item );
+ KListView* listView() const
+ {
+ return m_listView;
+ }
+
+ TargetItem *findNoinstHeaders( SubprojectItem *item );
+
+signals:
+ void selectionChanged( QListViewItem* );
+
+protected:
+ void initActions ();
+
+ void parseKDEDOCS( SubprojectItem *item,
+ const QString &lhs, const QString &rhs );
+ void parseKDEICON( SubprojectItem *item,
+ const QString &lhs, const QString &rhs );
+ void parsePrimary( SubprojectItem *item,
+ const QString &lhs, const QString &rhs );
+ void parsePrefix( SubprojectItem *item,
+ const QString &lhs, const QString &rhs );
+ void parseSUBDIRS( SubprojectItem *item,
+ const QString &lhs, const QString &rhs );
+ virtual void focusOutEvent( QFocusEvent *e );
+ void expandCollapse( QListViewItem * item, bool expand );
+ void expandCollapseFirst( QListViewItem * item, bool expand );
+
+private:
+ AutoProjectWidget* m_widget;
+ AutoProjectPart* m_part;
+ QStringList headers;
+
+ bool m_kdeMode;
+
+ AutoToolsAction* addApplicationAction;
+ AutoToolsAction* subProjectOptionsAction;
+ AutoToolsAction* addSubprojectAction;
+ KAction* addExistingSubprojectAction;
+ AutoToolsAction* addTargetAction;
+ AutoToolsAction* addServiceAction;
+ AutoToolsAction* buildSubprojectAction;
+ KAction* removeSubprojectAction;
+ KAction* cleanSubprojectAction;
+ KAction* forceReeditSubprojectAction;
+ KAction* installSubprojectAction;
+ KAction* installSuSubprojectAction;
+ KAction* otherAction;
+ KAction* expandAction;
+ KAction* collapseAction;
+
+ QStringList m_commandList;
+ QValueList<int> m_commandTypeList;
+
+private slots:
+ void slotContextMenu( KListView *, QListViewItem *item, const QPoint &p );
+ //void slotSubprojectExecuted(QListViewItem* item);
+ void slotSelectionChanged( QListViewItem* item );
+ void slotAddApplication();
+ void slotSubprojectOptions();
+ void slotAddSubproject();
+ void slotAddExistingSubproject();
+ void slotAddTarget();
+ void slotAddService();
+ void slotBuildSubproject();
+ void slotRemoveSubproject();
+ void slotForceReeditSubproject();
+ void slotInstallSubproject();
+ void slotInstallSuSubproject();
+ void slotCleanSubproject();
+ void slotManageBuildCommands();
+ void slotCustomBuildCommand( int );
+ void slotExpandTree();
+ void slotCollapseTree();
+};
+
+#endif
+
+// kate: indent-mode csands; tab-width 4;