ProjectItem Class Reference

#include <projectmanager.h>

Inheritance diagram for ProjectItem:

Inheritance graph
[legend]
Collaboration diagram for ProjectItem:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Type { ProjectType = 1 << 0, FileType = 1 << 1, ProgramType = 1 << 2, LibraryType = 1 << 3 }
enum  { AllTypes = ProjectType | FileType | ProgramType | LibraryType }
enum  OutputType { ProgramOutput = 1 << 0, ObjectOutput = 1 << 1, LibraryOutput = 1 << 2, UnknownOutput = 1 << 3 }
enum  { AllOutputs = ProgramOutput | ObjectOutput | LibraryOutput | UnknownOutput }

Public Member Functions

 ProjectItem (ProjectItem *parent, Type type, ProjectManager *projectManager, KTechlab *ktechlab)
virtual ~ProjectItem ()
Type type () const
QString typeToString () const
void setILVItem (ILVItem *ilvItem)
void addChild (ProjectItem *child)
ProjectItemList children () const
void setName (const QString &name)
QString name () const
void setURL (const KURL &url)
KURL url () const
OutputType outputType () const
KURL::List childOutputURLs (unsigned types=AllTypes, unsigned outputTypes=AllOutputs) const
void addFile (const KURL &url)
void addFiles ()
void addCurrentFile ()
bool closeOpenFiles ()
QDomElement toDomElement (QDomDocument &doc, const KURL &baseURL) const
bool build (ProcessOptionsList *pol)
void upload (ProcessOptionsList *pol)
virtual void setMicroID (const QString &id)
virtual QString microID () const
ProjectItemfindItem (const KURL &url)

Static Public Member Functions

static Type stringToType (const QString &type)

Protected Member Functions

void domElementToItem (const QDomElement &element, const KURL &baseURL)
void updateILVItemPixmap ()
void updateControlChildMicroIDs ()

Protected Attributes

KURL m_url
QString m_name
ProjectItemList m_children
Type m_type
KTechlabp_ktechlab
QGuardedPtr< ILVItemm_pILVItem
ProjectManagerm_pProjectManager
ProjectItemm_pParent

Detailed Description

Author:
David Saxton

Definition at line 132 of file projectmanager.h.


Member Function Documentation

void ProjectItem::addChild ( ProjectItem child  ) 

Adds the child to the list of children, and creates an ILVItem for it in the project tree view.

Definition at line 249 of file projectmanager.cpp.

References m_children, m_pILVItem, m_pProjectManager, name(), setILVItem(), and updateControlChildMicroIDs().

Referenced by addFile(), domElementToItem(), and ProjectManager::slotCreateSubproject().

void ProjectItem::setURL ( const KURL &  url  ) 

Sets the (input) url that this project item refers to. If the output url has not yet been set, then this project item will set the output url based on this (input) url.

Definition at line 295 of file projectmanager.cpp.

References m_name, m_url, outputType(), ProcessingOptions::outputURL(), setName(), ProcessingOptions::setOutputURL(), type(), and updateILVItemPixmap().

Referenced by addFile(), ProjectManager::slotCreateSubproject(), and ProjectManager::slotNewProject().

KURL::List ProjectItem::childOutputURLs ( unsigned  types = AllTypes,
unsigned  outputTypes = AllOutputs 
) const

Returns a list of output urls of the children and their recursively contained children (does not include the url for this project item).

Parameters:
types An OR'ed list of ProjectItem::Type values for the children.
outputTypes An OR'ed list of ProjectItem::OutputType values for the children.

Definition at line 573 of file projectmanager.cpp.

References m_children.

Referenced by LinkerOptionsDlg::LinkerOptionsDlg().

void ProjectItem::addFile ( const KURL &  url  ) 

Creates a new ProjectItem for the given url and adds it as a child.

Definition at line 660 of file projectmanager.cpp.

References addChild(), m_children, m_pProjectManager, p_ktechlab, ProjectItem(), and setURL().

Referenced by addCurrentFile(), addFiles(), Document::setURL(), and ProcessChain::slotFinishedCompile().

void ProjectItem::addFiles (  ) 

Queries the user for a list of urls to add, and then calls addFile for each url.

Definition at line 631 of file projectmanager.cpp.

References addFile(), KTechlab::getFileURLs(), and p_ktechlab.

Referenced by ProjectManager::slotAddFile(), and ProjectManager::slotSubprojectAddExistingFile().

void ProjectItem::setMicroID ( const QString &  id  )  [virtual]

Set the microprocessor id that this project item is being built for (when applicable).

Reimplemented from ProcessingOptions.

Definition at line 351 of file projectmanager.cpp.

References ProcessingOptions::setMicroID(), and updateControlChildMicroIDs().

Referenced by ProcessingOptionsDlg::accept().

ProjectItem * ProjectItem::findItem ( const KURL &  url  ) 

Searches this item and the children for an item for the given url, return null if no such item could be found.

Definition at line 593 of file projectmanager.cpp.

References m_children.

Referenced by build().


The documentation for this class was generated from the following files:
Generated on Tue May 8 17:05:55 2007 for KTechLab by  doxygen 1.5.1