forked from qt-creator/qt-creator
ProjectExplorer Nodes: Replace dynamic_cast with as* functions
The OS X linker makes using dynamic_casts across shared object boundaries fail, so do all casting in the projectexplorer library and provide functions to do it. Task-number: QTCREATORBUG-13864 Change-Id: I0e13c0986f8342d83c3b838ffdd2dd7b8312b13c Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
@@ -198,6 +198,26 @@ void Node::emitNodeUpdated()
|
||||
ProjectTree::instance()->emitNodeUpdated(this);
|
||||
}
|
||||
|
||||
FileNode *Node::asFileNode()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
FolderNode *Node::asFolderNode()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
ProjectNode *Node::asProjectNode()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
SessionNode *Node::asSessionNode()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Node::setParentFolderNode(FolderNode *parentFolder)
|
||||
{
|
||||
m_folderNode = parentFolder;
|
||||
@@ -235,6 +255,11 @@ bool FileNode::isGenerated() const
|
||||
return m_generated;
|
||||
}
|
||||
|
||||
FileNode *FileNode::asFileNode()
|
||||
{
|
||||
return this;
|
||||
}
|
||||
|
||||
/*!
|
||||
\class ProjectExplorer::FolderNode
|
||||
|
||||
@@ -494,6 +519,11 @@ void FolderNode::removeFolderNodes(const QList<FolderNode*> &subFolders)
|
||||
ProjectTree::instance()->emitFoldersRemoved(this);
|
||||
}
|
||||
|
||||
FolderNode *FolderNode::asFolderNode()
|
||||
{
|
||||
return this;
|
||||
}
|
||||
|
||||
bool FolderNode::showInSimpleTree() const
|
||||
{
|
||||
return false;
|
||||
@@ -672,6 +702,11 @@ void ProjectNode::removeProjectNodes(const QList<ProjectNode*> &subProjects)
|
||||
}
|
||||
}
|
||||
|
||||
ProjectNode *ProjectNode::asProjectNode()
|
||||
{
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
\class ProjectExplorer::SessionNode
|
||||
@@ -707,6 +742,11 @@ void SessionNode::projectDisplayNameChanged(Node *node)
|
||||
ProjectTree::instance()->emitNodeSortKeyChanged(node);
|
||||
}
|
||||
|
||||
SessionNode *SessionNode::asSessionNode()
|
||||
{
|
||||
return this;
|
||||
}
|
||||
|
||||
QList<ProjectNode*> SessionNode::projectNodes() const
|
||||
{
|
||||
return m_projectNodes;
|
||||
|
||||
Reference in New Issue
Block a user