diff options
Diffstat (limited to 'src/tools/qdoc/node.h')
-rw-r--r-- | src/tools/qdoc/node.h | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/src/tools/qdoc/node.h b/src/tools/qdoc/node.h index d7efa46583..2a56614efb 100644 --- a/src/tools/qdoc/node.h +++ b/src/tools/qdoc/node.h @@ -39,10 +39,6 @@ ** ****************************************************************************/ -/* - node.h -*/ - #ifndef NODE_H #define NODE_H @@ -61,11 +57,11 @@ QT_BEGIN_NAMESPACE class Node; class ClassNode; class InnerNode; -class ClassNode; class ExampleNode; class QmlClassNode; -class Tree; +class QDocDatabase; +typedef QList<Node*> NodeList; typedef QMap<QString, const Node*> NodeMap; typedef QMultiMap<QString, Node*> NodeMultiMap; typedef QMultiMap<QString, const ExampleNode*> ExampleNodeMap; @@ -164,6 +160,10 @@ public: virtual ~Node(); + QString plainName() const; + QString plainFullName(const Node* relative = 0) const; + QString fullName(const Node* relative=0) const; + void setAccess(Access access) { access_ = access; } void setLocation(const Location& location) { loc = location; } void setDoc(const Doc& doc, bool replace = false); @@ -171,7 +171,7 @@ public: void setThreadSafeness(ThreadSafeness safeness) { safeness_ = safeness; } void setSince(const QString &since); void setRelates(InnerNode* pseudoParent); - void setModuleName(const QString &module) { mod = module; } + void setModuleName(const QString &name) { moduleName_ = name; } void setLink(LinkType linkType, const QString &link, const QString &desc); void setUrl(const QString &url); void setTemplateStuff(const QString &templateStuff) { templateStuff_ = templateStuff; } @@ -185,15 +185,22 @@ public: virtual bool isLeaf() const { return false; } virtual bool isReimp() const { return false; } virtual bool isFunction() const { return false; } + virtual bool isNamespace() const { return false; } + virtual bool isClass() const { return false; } virtual bool isQmlNode() const { return false; } virtual bool isQtQuickNode() const { return false; } virtual bool isAbstract() const { return false; } virtual bool isQmlPropertyGroup() const { return false; } virtual bool isCollisionNode() const { return false; } virtual bool isAttached() const { return false; } + virtual bool hasMembers() const { return false; } + virtual bool hasNamespaces() const { return false; } + virtual bool hasClasses() const { return false; } virtual void setAbstract(bool ) { } virtual QString title() const { return QString(); } virtual bool hasProperty(const QString& ) const { return false; } + virtual void getMemberNamespaces(NodeMap& ) { } + virtual void getMemberClasses(NodeMap& ) { } bool isInternal() const; bool isIndexNode() const { return indexNodeFlag_; } Type type() const { return nodeType_; } @@ -201,13 +208,11 @@ public: InnerNode* parent() const { return parent_; } InnerNode* relates() const { return relatesTo_; } const QString& name() const { return name_; } - QMap<LinkType, QPair<QString,QString> > links() const { return linkMap; } + const QMap<LinkType, QPair<QString,QString> >& links() const { return linkMap_; } QString moduleName() const; QString url() const; virtual QString nameForLists() const { return name_; } virtual QString outputFileName() const { return QString(); } - virtual void addGroupMember(Node* ) { } - virtual void addQmlModuleMember(Node* ) { } Access access() const { return access_; } QString accessString() const; @@ -233,12 +238,10 @@ public: virtual QString qmlModuleName() const { return qmlModuleName_; } virtual QString qmlModuleVersion() const { return qmlModuleVersionMajor_ + "." + qmlModuleVersionMinor_; } virtual QString qmlModuleIdentifier() const { return qmlModuleName_ + qmlModuleVersionMajor_; } - virtual bool setQmlModule(const ArgLocPair& ); + virtual bool setQmlModuleInfo(const QString& ); virtual ClassNode* classNode() { return 0; } virtual void setClassNode(ClassNode* ) { } virtual void clearCurrentChild() { } - virtual const ImportList* importList() const { return 0; } - virtual void setImportList(const ImportList& ) { } virtual const Node* applyModuleIdentifier(const Node* ) const { return 0; } virtual QString idNumber() { return "0"; } QmlClassNode* qmlClassNode(); @@ -274,8 +277,8 @@ private: QString name_; Location loc; Doc d; - QMap<LinkType, QPair<QString, QString> > linkMap; - QString mod; + QMap<LinkType, QPair<QString, QString> > linkMap_; + QString moduleName_; QString url_; QString sinc; QString templateStuff_; @@ -292,10 +295,6 @@ class FunctionNode; class EnumNode; class NameCollisionNode; -typedef QList<Node*> NodeList; -typedef QMap<QString, const Node*> NodeMap; -typedef QMultiMap<QString, Node*> NodeMultiMap; - class InnerNode : public Node { public: @@ -324,12 +323,21 @@ public: const FunctionNode* findFunctionNode(const QString& name) const; const FunctionNode* findFunctionNode(const FunctionNode* clone) const; const EnumNode* findEnumNodeForValue(const QString &enumValue) const; - const NodeList & childNodes() const { return children; } + const NodeList & childNodes() const { return children_; } const NodeList & relatedNodes() const { return related_; } - int count() const { return children.size(); } + + void addMember(Node* node) { members_.append(node); } + const NodeList& members() const { return members_; } + virtual bool hasMembers() const; + virtual bool hasNamespaces() const; + virtual bool hasClasses() const; + virtual void getMemberNamespaces(NodeMap& out); + virtual void getMemberClasses(NodeMap& out); + + int count() const { return children_.size(); } int overloadNumber(const FunctionNode* func) const; NodeList overloads(const QString &funcName) const; - const QStringList& includes() const { return inc; } + const QStringList& includes() const { return includes_; } QStringList primaryKeys(); QStringList secondaryKeys(); @@ -340,6 +348,9 @@ public: virtual void setOutputFileName(const QString& f) { outputFileName_ = f; } virtual QString outputFileName() const { return outputFileName_; } + void printChildren(const QString& title); + void printMembers(const QString& title); + protected: InnerNode(Type type, InnerNode* parent, const QString& name); @@ -354,9 +365,10 @@ private: QString outputFileName_; QStringList pageKeywds; - QStringList inc; - NodeList children; - NodeList enumChildren; + QStringList includes_; + NodeList children_; + NodeList members_; + NodeList enumChildren_; NodeList related_; QMap<QString, Node*> childMap; QMap<QString, Node*> primaryFunctionMap; @@ -382,6 +394,7 @@ class NamespaceNode : public InnerNode public: NamespaceNode(InnerNode* parent, const QString& name); virtual ~NamespaceNode() { } + virtual bool isNamespace() const { return true; } }; class ClassNode; @@ -409,6 +422,7 @@ class ClassNode : public InnerNode public: ClassNode(InnerNode* parent, const QString& name); virtual ~ClassNode() { } + virtual bool isClass() const { return true; } void addBaseClass(Access access, ClassNode* node, @@ -453,31 +467,21 @@ public: void setTitle(const QString &title) { title_ = title; } void setSubTitle(const QString &subTitle) { subtitle_ = subTitle; } - virtual void addGroupMember(Node* node) { nodeList.append(node); } - virtual void addQmlModuleMember(Node* node) { nodeList.append(node); } SubType subType() const { return nodeSubtype_; } virtual QString title() const; virtual QString fullTitle() const; virtual QString subTitle() const; virtual QString imageFileName() const { return QString(); } - const NodeList& groupMembers() const { return nodeList; } - const NodeList& qmlModuleMembers() const { return nodeList; } virtual QString nameForLists() const { return title(); } virtual void setImageFileName(const QString& ) { } virtual bool isQmlPropertyGroup() const { return (nodeSubtype_ == QmlPropertyGroup); } virtual bool hasProperty(const QString& ) const; - static void insertQmlModuleNode(const QString& qmid, DocNode* fn); - static DocNode* lookupQmlModuleNode(Tree* tree, const ArgLocPair& arg); - protected: SubType nodeSubtype_; QString title_; QString subtitle_; - NodeList nodeList; // used for groups and QML modules. - - static QMap<QString, DocNode*> qmlModuleMap_; }; class NameCollisionNode : public DocNode @@ -529,25 +533,21 @@ public: virtual void setClassNode(ClassNode* cn) { cnode_ = cn; } virtual void setCurrentChild(); virtual void clearCurrentChild(); - virtual const ImportList* importList() const { return &importList_; } - virtual void setImportList(const ImportList& il) { importList_ = il; } virtual bool isAbstract() const { return abstract_; } virtual void setAbstract(bool b) { abstract_ = b; } + const ImportList& importList() const { return importList_; } + void setImportList(const ImportList& il) { importList_ = il; } const DocNode* qmlBase() const { return base_; } - void resolveInheritance(Tree* tree); + void setQmlBase(DocNode* b) { base_ = b; } void requireCppClass() { cnodeRequired_ = true; } bool cppClassRequired() const { return cnodeRequired_; } static void addInheritedBy(const QString& base, Node* sub); static void subclasses(const QString& base, NodeList& subs); static void terminate(); - static void insertQmlModuleMember(const QString& qmid, QmlClassNode* qcn); - static QmlClassNode* lookupQmlTypeNode(const QString& qmid, const QString& name); - public: static bool qmlOnly; static QMultiMap<QString,Node*> inheritedBy; - static QMap<QString, QmlClassNode*> qmlModuleMemberMap_; private: bool abstract_; @@ -616,7 +616,7 @@ public: bool isDefault() const { return isdefault_; } bool isStored() const { return fromFlagValue(stored_,true); } bool isDesignable() const { return fromFlagValue(designable_,false); } - bool isWritable(Tree* tree); + bool isWritable(QDocDatabase* qdb); bool isReadOnly() const { return fromFlagValue(readOnly_,false); } virtual bool isAttached() const { return attached_; } virtual bool isQmlNode() const { return true; } @@ -627,7 +627,7 @@ public: virtual QString qmlModuleIdentifier() const { return parent()->qmlModuleIdentifier(); } virtual bool hasProperty(const QString& name) const; - PropertyNode* correspondingProperty(Tree* tree); + PropertyNode* correspondingProperty(QDocDatabase* qdb); const QString& element() const { return static_cast<QmlPropGroupNode*>(parent())->element(); } void appendQmlPropNode(QmlPropertyNode* p) { qmlPropNodes_.append(p); } |