• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdevelop API Reference
  • KDE Home
  • Contact Us
 

kdevplatform/language/classmodel

  • ClassModelNodes
  • Node
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
ClassModelNodes::Node Class Referenceabstract

#include <classmodelnode.h>

Inheritance diagram for ClassModelNodes::Node:
Inheritance graph
[legend]

Public Member Functions

 Node (const QString &a_displayName, NodesModelInterface *a_model)
 
virtual ~Node ()
 
void addNode (Node *a_child)
 
QIcon cachedIcon ()
 
const QList< Node * > & children () const
 
void clear ()
 
virtual void collapse ()
 
QString displayName () const
 
virtual void expand ()
 
virtual bool hasChildren () const
 
Node * parent () const
 
void recursiveSort ()
 
void removeNode (Node *a_child)
 
void removeSelf ()
 
int row ()
 
virtual int score () const =0
 
virtual QString sortableString () const
 

Protected Types

using NodesList = QList< Node * >
 

Protected Member Functions

virtual bool getIcon (QIcon &a_resultIcon)=0
 

Protected Attributes

QIcon m_cachedIcon
 
NodesList m_children
 
QString m_displayName
 
NodesModelInterface * m_model
 

Detailed Description

Base node class - provides basic functionality.

Definition at line 45 of file classmodelnode.h.

Member Typedef Documentation

◆ NodesList

using ClassModelNodes::Node::NodesList = QList<Node*>
protected

Definition at line 113 of file classmodelnode.h.

Constructor & Destructor Documentation

◆ Node()

Node::Node ( const QString &  a_displayName,
NodesModelInterface *  a_model 
)

Definition at line 411 of file classmodelnode.cpp.

◆ ~Node()

Node::~Node ( )
virtual

Definition at line 418 of file classmodelnode.cpp.

Member Function Documentation

◆ addNode()

void Node::addNode ( Node *  a_child)

Append a new child node to the list.

Note
This is disabled for performance reasons - we add them to the bottom and a sort usually follows which causes a layout change to be fired.

Definition at line 434 of file classmodelnode.cpp.

◆ cachedIcon()

QIcon ClassModelNodes::Node::cachedIcon ( )

Return an icon representation for the node.

Note
It calls the internal getIcon and caches the result.

Definition at line 493 of file classmodelnode.cpp.

◆ children()

const QList<Node*>& ClassModelNodes::Node::children ( ) const
inline

Returns a list of child nodes.

Definition at line 84 of file classmodelnode.h.

◆ clear()

void Node::clear ( )

Clear all the children from the node.

Definition at line 428 of file classmodelnode.cpp.

◆ collapse()

virtual void ClassModelNodes::Node::collapse ( )
inlinevirtual

Called by the model to collapse the node and remove sub-items if needed.

Reimplemented in ClassModelNodes::DynamicNode.

Definition at line 56 of file classmodelnode.h.

◆ displayName()

QString ClassModelNodes::Node::displayName ( ) const
inline

Return the display name for the node.

Definition at line 81 of file classmodelnode.h.

◆ expand()

virtual void ClassModelNodes::Node::expand ( )
inlinevirtual

Called by the model to expand the node and populate it with sub-nodes if needed.

Reimplemented in ClassModelNodes::DynamicNode.

Definition at line 59 of file classmodelnode.h.

◆ getIcon()

virtual bool ClassModelNodes::Node::getIcon ( QIcon &  a_resultIcon)
protectedpure virtual

fill a_resultIcon with a display icon for the node.

Parameters
a_resultIconreturned icon.
Returns
true if result was returned.

Implemented in ClassModelNodes::DynamicFolderNode, ClassModelNodes::FolderNode, ClassModelNodes::ClassMemberNode, ClassModelNodes::EnumNode, and ClassModelNodes::IdentifierNode.

◆ hasChildren()

virtual bool ClassModelNodes::Node::hasChildren ( ) const
inlinevirtual

Return true if the node contains sub-nodes.

Reimplemented in ClassModelNodes::ClassNode, ClassModelNodes::DynamicNode, and ClassModelNodes::DocumentClassesFolder.

Definition at line 95 of file classmodelnode.h.

◆ parent()

Node* ClassModelNodes::Node::parent ( ) const
inline

Return the parent associated with this node.

Definition at line 75 of file classmodelnode.h.

◆ recursiveSort()

void Node::recursiveSort ( )

Called once the node has been populated to sort the entire tree / branch.

Definition at line 476 of file classmodelnode.cpp.

◆ removeNode()

void Node::removeNode ( Node *  a_child)

Remove child node from the list and delete it.

Definition at line 444 of file classmodelnode.cpp.

◆ removeSelf()

void ClassModelNodes::Node::removeSelf ( )
inline

Remove this node and delete it.

Definition at line 68 of file classmodelnode.h.

◆ row()

int Node::row ( )

Get my index in the parent node.

Definition at line 485 of file classmodelnode.cpp.

◆ score()

virtual int ClassModelNodes::Node::score ( ) const
pure virtual

Return a score when sorting the nodes.

Implemented in ClassModelNodes::DynamicFolderNode, ClassModelNodes::FolderNode, ClassModelNodes::ClassMemberNode, ClassModelNodes::FunctionNode, ClassModelNodes::ClassNode, and ClassModelNodes::EnumNode.

◆ sortableString()

virtual QString ClassModelNodes::Node::sortableString ( ) const
inlinevirtual

We use this string when sorting items.

Reimplemented in ClassModelNodes::FunctionNode.

Definition at line 98 of file classmodelnode.h.

Member Data Documentation

◆ m_cachedIcon

QIcon ClassModelNodes::Node::m_cachedIcon
protected

Definition at line 116 of file classmodelnode.h.

◆ m_children

NodesList ClassModelNodes::Node::m_children
protected

Definition at line 114 of file classmodelnode.h.

◆ m_displayName

QString ClassModelNodes::Node::m_displayName
protected

Definition at line 115 of file classmodelnode.h.

◆ m_model

NodesModelInterface* ClassModelNodes::Node::m_model
protected

Definition at line 117 of file classmodelnode.h.


The documentation for this class was generated from the following files:
  • classmodelnode.h
  • classmodelnode.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Thu Jan 14 2021 23:34:45 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kdevplatform/language/classmodel

Skip menu "kdevplatform/language/classmodel"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdevelop API Reference

Skip menu "kdevelop API Reference"
  • kdevplatform
  •   debugger
  •   documentation
  •   interfaces
  •   language
  •     assistant
  •     backgroundparser
  •     checks
  •     classmodel
  •     codecompletion
  •     codegen
  •     duchain
  •     editor
  •     highlighting
  •     interfaces
  •     util
  •   outputview
  •   project
  •   serialization
  •   shell
  •   sublime
  •   tests
  •   util
  •   vcs

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal