GoJS源码框架
2023-04-12 09:20:25 1 举报
AI智能生成
GoJS源码框架
作者其他创作
大纲/内容
Diagram
nodes
包含所有的nodes和groups
parts
包含所有的parts,不是nodes不是links不是装饰层
links
包含所有的links
StartTransaction
this.undoManager.startTransaction
this.undoManager
startTransaction
commitTransaction
rollbackTransaction
commit
扩展子类
Palette
Overview
Model
类型自己
this.undoManager
扩展子类
GraphLinksModel
TreeModel
Tool
扩展子类
DraggingTool
LinkingBaseTool
LinkingTool
RelinkingTool
LinkReshapingTool
ResizingTool
RotatingTool
ClickSelectingTool
ActionTool
ClickCreatingTool
ContextMenuTool
DragSelectingTool
PanningTool
TextEdittingTool
ToolManager
Layout
GridLayout
CircularLayout
ForceDirectedLayout
LayeredDigraphLayout
TreeLayout
LayoutNetwork
CircularNetwork
ForceDirectedNetwork
LayeredDigraphNetwork
TreeNetwork
LayoutVertex
CircularVertex
ForceDirectedVertex
LayeredDigraphVertex
TreeVertex
LayoutEdge
CircularEdge
ForceDirectedEdge
LayeredDigraphEdge
TreeEdge
GraphObject
natualBounds
就是图形原始大小,不包含scale和angle的
measuredBounds
包含它所在的panel
actualBounds
实际的panel内的大小
mouseDragEnter
mouseDragLeave
mouseDrop
mouseEnter
mouseHold
mouseHover
mouseLeave
mouseOver
click
doubleClick
contextClick
actionCancel
actionDown
actionMove
actionUp
portId
fromSpot、toSpot
fromEndSegmentLength、toEndSegmentLength
fromShortLength、toShortLength
fromLinkable、toLinkable
fromLinkableDuplicates、toLinkableDuplicates
fromLinkableSelfNode、toLinkableSelfNode
fromMaxLinks、toMaxLinks
segmentIndex
segmentFraction
segmentOffset
segmentOrientation
cursor
contextMenu
toolTip
扩展子类
Panel
alignment
alignmentFocus
margin
position
指明:panel内部的object的相对位置
isPanelMain
指明:panel内部的主要object,其他object需要放到它的内部
column、row
columnSpan
其他子类
Part
panel
part
layer
diagram
其他子类
Link
创建linkTemplate
1、里面要有shape
2、shape中添加fromArrow
3、shape中添加toArrow
Link自己的属性
Curve
None
Bezier
JumpGap
JumpOver
computeCurve
Curviness
当Curve设置为Bezier时,用来控制控制点与实际点有多远
用来控制相同的两个 port之间有多个links时,控制距离
computeCurveness
1、返回值
2、针对Curviness第二种情况时,调用computeSpacing计算距离
computeSpacing通过调用computeThickness
computeThickness默认使用link 中shape的strokeWidth
Corner
用来设置link两个垂直的segment之间连接的rounded,当Curve的值为None、JumpGap、JumpOver
Routing
Normal
Orthogonal
AvoidsNodes
AvoidsNodesStraight
None
smoothness
当routing设置为orthogonal并且curve 设置为bezier时,用来设置控制点与实际points之间的距离
adjusting
None
如果设置为None,每次都会重新计算整个path
End
正常情况下,不会改变link中间的points,只该改变首尾两个点
如果routing: orthogonal,那么只会改变最后两个或者最前两个points
Scale
正常情况下,会通过scale 或者rotate操作中间的points,来使link看起来一致
如果routing: orthogonal, 那么表现跟设置成End一样
Stretch
正常情况下,通过线性改变link中间的points,使得link看起来像是被拉伸一样
如果routing: orthogonal, 那么表现跟设置成End一样
OrientAlong
OrientPlus90
OrientMinus90
OrientOpposite
OrientUpright
OrientPlus90Upright
OrientMinus90Upright
OrientUpright45
Link是怎么连接Port的属性
fromSpot
设置link连接fromPort的时候,连接在什么位置
fromEndSegmentLength
设置第一段segment的长短,限制了fromShortLength的大小
fromShortLength
设置连接fromPort的时候,回退多远
fromPort
连接的是对应的fromNode的Port element
fromNode
连接的出发节点
toSpot
设置link连接toPort的时候,连接在什么位置
toEndSegmentLength
设置最后一段segment的长短,限制了toShortLength的大小
toShortLength
设置连接toPort的时候,回退多远
toPort
连接的是对应的toNode的Port element
toNode
连接的to节点
Link上的装饰品属性
segmentIndex
如果不设置,默认是link的中间
segmentFraction
segmentOffset
segmentOrientation
重连相关
RelinkTool
fromHandleArcheType
重链接时选中链接,from位置的操作图形
toHandleArcheType
重链接时选中链接,to位置的操作图形
relinkableFrom
设置允许从开头位置重链接
relinkableTo
设置允许从结束位置重链接
改变Link的path
LinkReshapingTool
handleArcheType
改变路径时允许拖拽点的图形样式
设置Reshapable:true
reshape时,为了保证link可以随时双向绑定,要设置link.points.makeTwoWay()
reshape时,想要增加或者删除segments,要设置resegmentable:true
设置resegmentable:true时,LinkReshapingTool.midHandleArcheType,显示在link的segment中间位置的图形
Labels
Points
Node
Group
Adornment
Shape
TextBlock
Picture
Placeholder
其他单独的类
List
Set
Map
Size
Margin
Point
Rect
Spot
Geometry
PathFigure
PathSegment
InputEvent
可以记录事件的各种信息,什么左键、右键啦,特殊按键了,viewPoint,documentPoint,targetObject,targetDiagram
DiagramEvent
ChangedEvent
_change
Transaction:-1
Property: 0
Insert: 1
Remove: 2
diagram
涉及到diagram事件的
model
涉及到model的改变的
modelChange
涉及到model结构化的改变的,是指整体变更diagram.model
newValue
newParam
主要针对,新增Insert操作,新增后的index
oldValue
oldParam
主要针对删除Remove操作,代表删除前的index
object
针对属性变更的object
Binding
Transaction
与事务相关的Events
StartingFirstTransaction
StartedTransaction
CommittingTransaction
CommittedTransaction
RolledBackTransaction
StartingUndo
FinishedUndo
changes
List<changedEvent>
居然有rollBackTo方法,可以精确回退到某一个事件
UndoManager
history
List<Transaction>
CommandHandler
DraggingInfo
DraggingOptions
HTMLInfo
Animation
AnimationManager
AnimationTrigger
Layer(从最后到最前的顺序)
Grid
Background
“”默认的用户层
Foreground
Adornment
Tool
Brush
RowColumnDefination
PanelLayout
0 条评论
下一页