Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Public Attributes | Private Attributes
nsXFormsMDGNode Class Reference

Data structure for nodes in the graph. More...

#include <nsXFormsMDGEngine.h>

Collaboration diagram for nsXFormsMDGNode:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 nsXFormsMDGNode (nsIDOMNode *aNode, const ModelItemPropName aType)
 Constructor.
 ~nsXFormsMDGNode ()
 Destructor.
void SetExpression (nsIDOMNSXPathExpression *aExpression, PRBool aDynFunc, PRInt32 aContextPosition, PRInt32 aContextSize)
 Sets the XPath expression for the node.
PRBool HasExpr () const
 Does node have an expression?
PRBool IsDirty () const
 Is node dirty?
void MarkClean ()
void MarkDirty ()

Public Attributes

nsCOMPtr< nsIDOMNodemContextNode
 Pointer to the nsIDOMNode.
nsCOMPtr< nsIDOMNSXPathExpressionmExpression
 The XPath expression for this node.
nsVoidArray mSuc
 List of nodes that depend on this node.
unsigned int mCount
 Number of nodes that this node depends on.
ModelItemPropName mType
 The type.
PRInt32 mContextSize
 (XPath) Context size for this node
PRInt32 mContextPosition
 (XPath) Position for this node
PRBool mDynFunc
 Does expression use dynamic functions.
nsXFormsMDGNodemNext
 Pointer to next nsXFormsMDGNode with same nsIDOMNode, but different MIP type (mType)

Private Attributes

PRBool mDirty
 Dirty flag.
PRBool mHasExpr
 Does this node have an XPath expression attached to it.

Detailed Description

Data structure for nodes in the graph.

There is one node per type (calculate, readonly, etc) for each nsIDOMNode. All nsXFormsMDGNodes for same nsIDOMNode are linked together via 'next'.

Definition at line 63 of file nsXFormsMDGEngine.h.


Constructor & Destructor Documentation

Constructor.

Parameters:
aNodeThe context node
aTypeThe type of node (calculate, readonly, etc.)

Definition at line 69 of file nsXFormsMDGEngine.cpp.

Destructor.

Definition at line 78 of file nsXFormsMDGEngine.cpp.


Member Function Documentation

Does node have an expression?

Definition at line 97 of file nsXFormsMDGEngine.cpp.

{
  return mHasExpr;
}

Here is the caller graph for this function:

Is node dirty?

Definition at line 103 of file nsXFormsMDGEngine.cpp.

{
  // A node is always dirty, if it depends on a dynamic function.
  return mDirty || mDynFunc;
}

Definition at line 116 of file nsXFormsMDGEngine.cpp.

Definition at line 110 of file nsXFormsMDGEngine.cpp.

{
  mDirty = PR_TRUE;
}

Here is the caller graph for this function:

void nsXFormsMDGNode::SetExpression ( nsIDOMNSXPathExpression aExpression,
PRBool  aDynFunc,
PRInt32  aContextPosition,
PRInt32  aContextSize 
)

Sets the XPath expression for the node.

Parameters:
aExpressionThe XPath expression
aDynFuncWhether expression uses dynamic functions
aContextPositionThe context position for the expression
aContextSizeThe context size for the expression

Definition at line 84 of file nsXFormsMDGEngine.cpp.

{
  mHasExpr = PR_TRUE;
  mDynFunc = aDynFunc;
  mExpression = aExpression;
  mContextPosition = aContextPosition;
  mContextSize = aContextSize;
}

Here is the caller graph for this function:


Member Data Documentation

Pointer to the nsIDOMNode.

Definition at line 73 of file nsXFormsMDGEngine.h.

(XPath) Position for this node

Definition at line 91 of file nsXFormsMDGEngine.h.

(XPath) Context size for this node

Definition at line 88 of file nsXFormsMDGEngine.h.

Number of nodes that this node depends on.

Definition at line 82 of file nsXFormsMDGEngine.h.

Dirty flag.

Definition at line 66 of file nsXFormsMDGEngine.h.

Does expression use dynamic functions.

Definition at line 94 of file nsXFormsMDGEngine.h.

The XPath expression for this node.

Definition at line 76 of file nsXFormsMDGEngine.h.

Does this node have an XPath expression attached to it.

Definition at line 69 of file nsXFormsMDGEngine.h.

Pointer to next nsXFormsMDGNode with same nsIDOMNode, but different MIP type (mType)

Definition at line 100 of file nsXFormsMDGEngine.h.

List of nodes that depend on this node.

Definition at line 79 of file nsXFormsMDGEngine.h.

The type.

Definition at line 85 of file nsXFormsMDGEngine.h.


The documentation for this class was generated from the following files: