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