CONTENTS Title Page Copyright Page Preface 1 Overview of NetEd 1.1 Constructing Networks 1.2 Network Layout 1.3 Network Navigation 1.4 Extract and Paste (DDIF) Support 1.5 GObE Usage 1.5.1 Defining NetEd Object Types 1.5.2 Drawing into the NetEd Display 1.5.3 Using GObE Events in NetEd Applications 1.5.4 Useful GObE Services 2 NetEd Events 2.1 Overview of Events and Callbacks 2.2 NetEd Events 2.2.1 Selection Semantics 2.3 Predefined Selection Bits 2.4 Supported Events 2.4.1 Button Events 2.4.1.1 Help Events 2.4.1.2 Click Events 2.4.1.3 Double Click Events 2.4.1.4 Press/Release Events 2.4.1.5 Region Selected Events 2.4.2 Object Events 2.4.2.1 Node Created Event 2.4.2.2 Connection Created Event 2.4.2.3 Node Selected 2.4.2.4 Connection Selected Events 2.4.2.5 Node and Connection Annotation Selected Events 2.4.2.6 Node Moved 2.4.3 Useful GObE Events 2.4.3.1 Enter-and-Leave Events 2.4.3.2 Grid Events 2.4.3.3 Resize Events 2.4.3.4 Scroll Events 2.4.3.5 Zoom Events 2.4.3.6 Hot Events 2.5 Autoscrolling During Event Processing 2.6 Canceling ``Drag'' Events 3 Widget Resources and Concepts 3.1 NetEd Widget Attributes 3.1.1 Supported Motif Toolkit Arguments 3.1.2 NetEd Resources 3.2 Node Characteristics 3.2.1 Description of Node Characteristics 3.3 Node Types 3.4 Connection Characteristics 3.4.1 Description of Connection Characteristics 3.5 Connection Types 4 NetEd Services - Overview 4.1 Widget Services 4.2 Object Services 4.2.1 Node Services 4.2.2 Connection Services 4.2.3 Modifying the Stacking Order of Objects 4.2.4 Getting Object Information 4.2.5 Setting Object Information 4.2.6 Connection Point Services 4.2.7 Supernodes - Using the NetEd Hierarchy 4.2.7.1 <REFERENCE>(cap_Supernode) States 4.2.7.2 Implicit Connections 4.2.7.3 Determining Members of a <REFERENCE>(Cap_Supernode) 4.3 Traversal Services 4.3.1 Traversal Style 4.4 Navigation Services 4.4.1 Navigation Concepts 4.4.2 Autoscrolling 4.5 Layout Services 4.5.1 Overview of Layout Concepts 4.5.2 Controlling Precedence Network Layouts 4.6 General Information Services 4.6.1 Getting Topological Information 4.6.2 Cycle Detection 4.6.3 Classifying Connections 4.7 DDIF Services - Extract, Paste, and Copy 4.7.1 Extract and Paste Using CDA Toolkit In-memory Document Structures 4.7.2 Extract and Paste Using DDIF Files 4.7.3 Copying Subnetworks in a NetEd Instance 4.8 Object Type Services 4.8.1 Introduction to Object Type Services 4.8.2 Creating and Modifying Node Types 4.8.3 Creating and Modifying Connection Types 4.9 Event Services 5 NetEd Services - Reference NetedCenterObject (Center Object) NetedChangeMembership (Change <REFERENCE>(CAP_SUPERNODE) Membership) NetedCheckCycle (Check for Cycle) NetedCopySubnetwork (Copy Subnetwork Within Widget Instance) NetedCreateCon (Create Connection) NetedCreateConType (Create Connection Type) NetedCreateNode (Create Node) NetedCreateNodeType (Create Node Type) NetedCreateRoutedCon (Create Routed Connection) NetedCreateWidget (Create NetEd Widget (low-level)) NetedDeleteCon (Delete Connection) NetedDeleteConType (Delete Connection Type) NetedDeleteNode (Delete Node) NetedDeleteNodeType (Delete Node Type) NetedDisableEvent (Disable Event) NetedEnableEvent (Enable Event) NetedExtractDDIFDocument (Extract Network as DDIF Document) NetedGetAllConsAction (Get All Connections - Callback) NetedGetAllConsList (Get All Connections - List) NetedGetAllNodesAction (Get All Nodes - Callback) NetedGetAllNodesList (Get All Nodes-List) NetedGetAnnotation (Get Annotation Information) NetedGetAnnotPermHighlight (Get Permanent Highlighting of Annotation) NetedGetConPointSize (Get Connection Point Size) NetedGetConPointVisibility (Get Connection Point Visibility) NetedGetConType (Get Connection Type) NetedGetConWeight (Get Connection Weight) NetedGetConsBetween (Get Connections Between) NetedGetConsByClass (Get Connections by Classification) NetedGetDefaultConType (Get Default Connection Type) NetedGetDefaultImpType (Get Default Implicit Connection Type) NetedGetDefaultNodeType (Get Default Node Type) NetedGetIncomingConList (Get Incoming Connections) NetedGetMembersAction (Get Members - Callback) NetedGetMembersList (Get Members - List) NetedGetNextNodesAction (Get Next Nodes - Callback) NetedGetNextNodesList (Get Next Nodes - List) NetedGetNodeType (Get Node Type) NetedGetObjectKind (Get Object Kind) NetedGetObjectType (Get Object Type) NetedGetObjectsAtEnds (Get Objects at Ends) NetedGetOutgoingConList (Get Outgoing Connections) NetedGetPermHighlight (Get Permanent Highlighting) NetedGetPredefConType (Get Predefined Connection Type) NetedGetPredefNodeType (Get Predefined Node Type) NetedGetSelect (Get Selection Bits) NetedGetSuperExpansion (Get <REFERENCE>(CAP_SUPERNODE) Expansion) NetedGetSupernode (Get Node's <REFERENCE>(CAP_SUPERNODE)) NetedGetTotalConCount (Get Connection Count) NetedGetTotalNodeCount (Get Node Count) NetedGetUserData (Get User Data) NetedGetVisibility (Get Object Visibility) NetedInitializeForMrm (Initialize for MRM) NetedLayoutPrecedHorizontal (Layout Precedence Horizontal) NetedLayoutPrecedVertical (Layout Precedence Vertical) NetedLayoutTreeHorizontal (Layout Tree Horizontal) NetedLayoutTreeVertical (Layout Tree Vertical) NetedMeasureAnnotation (Measure Annotation) NetedMeasureNode (Measure Node) NetedModifyConType (Modify Connection Type) NetedModifyNodeType (Modify Node Type) NetedMoveNode (Move Node) NetedPasteDDIFDocument (Paste Network from DDIF Document) NetedPop (Pop Object) NetedPush (Push Object) NetedReadDDIFFile (Read DDIF Description of Network) NetedRerouteCon (Reroute a Connection) NetedSetAnnotation (Set Annotation Information) NetedSetAnnotPermHighlight (Set Permanent Highlighting of Annotation) NetedSetConPointSize (Set Connection Point Size) NetedSetConPointVisibility (Set Connection Point Visibility) NetedSetConWeight (Set Connection Weight) NetedSetDefaultConType (Set Default Connection Type) NetedSetDefaultImpType (Set Default Implicit Connection Type) NetedSetDefaultNodeType (Set Default Node Type) NetedSetObjectType (Set Object Type) NetedSetPermHighlight (Set Permanent Highlighting) NetedSetSelect (Set Selection Bits) NetedSetSuperExpansion (Set <REFERENCE>(CAP_SUPERNODE) Expansion) NetedSetUserData (Set User Data) NetedSetVisibility (Set Object Visibility) NetedTraverseAction (Traverse Network - Callback) NetedTraverseIncidentCon (Traverse Incident Connections - Callback) NetedTraverseList (Traverse Network - List) NetedTraverseTopoAction (Traverse Network Topologically - Callback) NetedTraverseTopoList (Traverse Network Topologically - List) NetedWidget (Create NetEd Widget (high-level)) NetedWriteDDIFFile (Write DDIF Description of Network) A NetEd Example Programs (netedtest1 and netedtest2) A.1 Netedtest1 Description A.2 Netedtest2 Description A.2.1 UIL Files and Widget Definition A.2.2 Menu Bar Functions A.2.2.1 File Menu A.2.2.2 Edit Menu A.2.2.3 Debug Menu A.2.2.4 Demo Menu A.2.2.5 Test Menu A.2.2.6 Neted Menu A.2.2.7 Object Menu A.2.2.8 Help Menu A.2.3 Notes on Netedtest2 Data Files Included in the Kit B Compiling and Linking on VMS Systems B.1 Language Binding Files B.2 Shareable Image Files B.3 Sample Program Files B.4 Widget Meta Language (WML) Files B.5 UIL Files and Widget Definition B.6 Summary of Files C Predefined Object Types C.1 Predefined Node Types C.2 Predefined Connection Types D References Glossary FIGURES 2-1 NetedEventGenericStruct Structure 2-2 GobeEventButtonStruct Structure 2-3 NetedEventRegionSelStruct Structure 2-4 NetedEventSelStruct Structure 2-5 NetedEventConCreatedStruct Structure 2-6 NetedEventNodeMovedStruct Structure 3-1 Corner Rounding 4-1 Directed Acyclic Graph and Its Topological Orders 4-2 A Directed Acyclic Graph 4-3 NetEd World Coordinate System 4-4 Connection Classification 4-5 NetedNodeTypeValuesStruct Structure 4-6 NetedConTypeValuesStruct Structure C-1 Connection Points for Predefined Node Types TABLES 1 Documentation Conventions 1-1 Useful GObE Services 2-1 The Generic Data Structure 2-2 NetEd Events 2-3 Button Event Precedence (Highest to Lowest) 2-4 The Button Data Structure 2-5 The Region Selected Data Structure 2-6 The Selection Data Structure 2-7 The Grid Data Structure 2-8 The Node Moved Data Structure 3-1 Supported Motif Toolkit Widget Resources 3-2 NetEd Convenience Routines 3-3 NetEd Resources 3-4 Useful GObE Resources 3-5 Node Characteristics 3-6 Node Type Fields 3-7 Connection Characteristics 3-8 Connection Type Fields 4-1 NetEd Widget Services 4-2 NetEd Object Services 4-3 Weight Example 4-4 NetEd Traversal Services 4-5 Example of Traversal Types 4-6 GObE Navigation Services 4-7 Layout Services 4-8 NetEd Services for General Information 4-9 DDIF Services 4-10 Object Creation and Manipulation Services 4-11 Node Type Values Bitmask Names 4-12 Connection Type Values Bitmask Names 4-13 Event Services B-1 Language Binding Files B-2 Resources Not Supported by WML B-3 Files in DECW$SYSTEM_DEFAULTS B-4 Files in SYS$LIBRARY B-5 Files in DGIT$EXAMPLES C-1 Box Center Predefined Node Type C-2 Box Specific Predefined Node Type C-3 3D Predefined Node Type C-4 VAX Cabinet Predefined Node Type C-5 Circle Specific Predefined Node Type C-6 Circle Closest Predefined Node Type C-7 Circle Specific Dashed Predefined Node Type C-8 Circle Closest Dash Predefined Node Type C-9 Carddeck Predefined Node Type C-10 Point Predefined Node Type C-11 Straight Line Predefined Connection Type C-12 Straight Line Predefined Connection Type - One Arrowhead C-13 Straight Line Predefined Connection Type - Two Arrowheads C-14 Rectilinear Line Predefined Connection Type - One Arrowhead C-15 Curvilinear Line Predefined Connection Type - One Arrowhead