1 
2 #ifndef dispnode_h
3 #define dispnode_h
4 
5 /*
6 * NIST STEP Editor Class Library
7 * cleditor/dispnode.h
8 * April 1997
9 * David Sauder
10 * K. C. Morris
11 
12 * Development of this software was funded by the United States Government,
13 * and is not subject to copyright.
14 */
15 
16 /* $Id: dispnode.h,v 3.0.1.2 1997/11/05 22:11:39 sauderd DP3.1 $ */
17 
18 #include <sc_export.h>
19 
20 /*#include <STEPattribute.h>*/
21 /*#include <STEPentity.h>*/
22 #include <sdai.h>
23 
24 #include <gennode.h>
25 #include <gennodelist.h>
26 //#include <gennode.inline.h>
27 #include <editordefines.h>
28 //#include <mgrnode.h>
29 class MgrNode;
30 
31 //////////////////////////////////////////////////////////////////////////////
32 // class DisplayNode
33 //////////////////////////////////////////////////////////////////////////////
34 
35 class SC_CORE_EXPORT DisplayNode : public GenericNode {
36     protected:
37         friend class GenNodeList;
38         friend class DisplayNodeList;
39 
40         MgrNode * mn;
41         void * see;
42         displayStateEnum displayState; // = { mappedWrite, mappedView, notMapped }
43 
44     public:
45         // this should probably only be used to create head nodes for dispnodelists
DisplayNode()46         DisplayNode()   {
47             displayState = noMapState;
48         }
DisplayNode(MgrNode * node)49         DisplayNode( MgrNode * node )  {
50             mn = node;
51             displayState = noMapState;
52         }
53         ~DisplayNode();
54 
SEE(void * s)55         void SEE( void * s )       {
56             see = s;
57         }
SEE()58         virtual void * SEE()     {
59             return see;
60         }
61 
mgrNode(MgrNode * node)62         void mgrNode( MgrNode * node ) {
63             mn = node;
64         }
mgrNode()65         class MgrNode * mgrNode()        {
66                 return mn;
67         }
68 
DisplayState()69         displayStateEnum DisplayState()         {
70             return displayState;
71         }
DisplayListMember(displayStateEnum ds)72         int DisplayListMember( displayStateEnum ds ) {
73             return ( displayState == ds );
74         }
75 
76         int ChangeState( displayStateEnum s );
77         int ChangeList( DisplayNodeList * cmdList );
78 
79         void Remove();
80 
81     protected:
82 };
83 
84 //////////////////////////////////////////////////////////////////////////////
85 // class DisplayNode inline functions
86 // these functions don't rely on any inline functions (its own or
87 //  other classes) that aren't in this file except for Generic functions
88 //////////////////////////////////////////////////////////////////////////////
89 
90 #endif
91