翻譯|使用教程|編輯:楊鵬連|2021-01-20 11:48:45.293|閱讀 358 次
概述:?GraphObject類是所有圖形對象的抽象基類。從GraphObject繼承的類包括:Shape、TextBlock、Picture和Panel。本文介紹了GraphObject類各指數介紹。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
GoJS是一款功能強大,快速且輕量級的流程圖控件,可幫助你在JavaScript 和HTML5 Canvas程序中創建流程圖,且極大地簡化您的JavaScript / Canvas 程序。
背景點擊 :功能(é :InputEvent的,thisObj :GraphObject ):void| null
獲取或設置當用戶單擊該對象時執行的函數。通常,這需要進行鼠標下移,然后使用鼠標右鍵(輔助)在大約相同的位置上進行快速鼠標上移。 當用戶單擊GraphObject時,ClickSelectingTool使用此屬性。除了 使用name引發的DiagramEvent之外,還調用了該涵數。"ObjectContextClicked"
如果此屬性值是一個函數,則使用InputEvent 和此GraphObject進行調用。該InputEvent.targetObject規定,在鼠標點仰視的可視化樹之前發現GraphObject GraphObject.panel s到獲得此對象。
從第二個參數obj,您可以通過part屬性到達Node或Link 。從那里,您可以通過Panel.data屬性訪問綁定數據。因此,您可以從事件處理程序中通過獲取綁定數據obj.part.data。
默認情況下,此屬性為null。
Layer.isTemporary的Layer中的對象不接收點擊事件。如果您確實希望此類對象響應點擊,請將isActionable設置為true。
如果確實提供了可以更改圖或其模型的功能,則應在事務內完成此操作-調用Diagram.startTransaction和 Diagram.commitTransaction。
上下文菜單 :Adornment | HTMLInfo | null
在此對象上單擊上下文時,將顯示此裝飾或HTMLInfo。默認值為null,表示不顯示上下文菜單。
更改此值不會修改或刪除為此對象顯示的任何現有菜單。
上下文菜單還可能取決于與裝飾的部件具有相同的數據綁定(即,Panel.data的值相同)。
上下文菜單不是通過copy復制的,因此上下文菜單可以由模板的所有實例共享。
典型的上下文菜單被實現為帶有多個按鈕的裝飾。例如,此上下文菜單在“動態端口”示例中定義 :
var nodeMenu = // context menu for each Node $("ContextMenu", $("ContextMenuButton", $(go.TextBlock, "Add top port"), { click: function(e, obj) { addPort("top"); } }), $("ContextMenuButton", $(go.TextBlock, "Add left port"), { click: function(e, obj) { addPort("left"); } }), $("ContextMenuButton", $(go.TextBlock, "Add right port"), { click: function(e, obj) { addPort("right"); } }), $("ContextMenuButton", $(go.TextBlock, "Add bottom port"), { click: function(e, obj) { addPort("bottom"); } }));并在節點模板中使用:
myDiagram.nodeTemplate = $(go.Node, "Table", { . . . contextMenu: nodeMenu }, . . .);上下文菜單通常由ContextMenuTool.positionContextMenu定位。但是,如果上下文菜單中有一個占位符,則將放置上下文菜單(即裝飾),以使占位符與此裝飾的GraphObject處于同一位置。
該基本樣本還說明如何使上下文菜單項時不可見的命令無效。
替換此值將不會修改或刪除為此對象顯示的任何現有上下文菜單。
在“上下文菜單”中了解有關上下文菜單的更多信息。
游標 :字符串
獲取或設置當鼠標懸停在此對象上且沒有按下鼠標按鈕時使用的鼠標光標。如果沒有為此對象指定特定的游標,則該值為null;實際的光標由任何包含Panel的光標確定。
默認值為空字符串,這表示當前鼠標光標由圖表確定。其他字符串應該是指定游標的有效CSS字符串。這提供了有關游標語法的更多信息: CSS cursors(mozilla.org)。
所需尺寸
獲取或設置此GraphObject的所需大?。ㄒ员镜刈鴺吮硎荆?。值必須為Size類型。默認值為Size(NaN,NaN)。您不能修改此屬性值的寬度或高度-如果要更改期望的Size,必須將此屬性設置為其他Size。
獲取或設置寬度或高度等效于獲取或設置此屬性的寬度或高度。
該大小不包括由于比例或角度引起的任何變換,也不包括由于Shape.strokeWidth而引起的任何筆粗(如果這是Shape)。如果有一個包含面板的面板,面板將確定實際尺寸。如果期望的大小大于GraphObject的面板確定的允許大小,則GraphObject可能會在視覺上被剪切。如果期望的大小不符合minSize和maxSize的約束,則將調整GraphObject的大小來滿足它們。
只讀圖 :Diagram | null
此只讀屬性返回此GraphObject所在的Diagram(如果存在)。
此屬性不可設置。盡管您不能將任何普通的GraphObject添加到圖中,但可以調用Diagram.add 將部件添加到圖中。
雙點擊 :功能(é :InputEvent的,thisObj :GraphObject ):void| null
獲取或設置當用戶雙擊該對象時執行的函數。通常,這涉及使用鼠標左鍵(主鍵)在大致相同的位置快速連續地向下/向下/上/下/上鼠標。 當用戶單擊GraphObject時,ClickSelectingTool使用此屬性。除了 使用name引發的DiagramEvent之外,還調用了該函數。"ObjectDoubleClicked"
如果此屬性值是一個函數,則使用InputEvent 和此GraphObject進行調用。該InputEvent.targetObject規定,在鼠標點仰視的可視化樹之前發現GraphObject GraphObject.panel s到獲得此對象。
從第二個參數obj,您可以通過part屬性到達Node或Link 。從那里,您可以通過Panel.data屬性訪問綁定數據。因此,您可以從事件處理程序中通過獲取綁定數據obj.part.data。
默認情況下,此屬性為null。
Layer.isTemporary的Layer中的對象不接收點擊事件。如果您確實希望此類對象響應點擊,請將isActionable設置為true。
如果確實提供了可以更改圖或其模型的功能,則應在事務內完成此操作-調用Diagram.startTransaction和 Diagram.commitTransaction。
該層次結構類樣本 表明,開辟了該類的文檔網頁雙擊事件處理程序的定義:
diagram.nodeTemplate = $(go.Node, . . ., { doubleClick: // here the second argument is this object, which is this Node function(e, node) { window.open("../api/symbols/" + node.data.key + ".html"); } }, . . . );
啟用改變 :function(thisObj: GraphObject, enabled: boolean): void | null
獲取或設置函數,該函數在某些包含Panel的值更改Panel.isEnabled時執行。它通常用于修改對象的外觀。此函數不得更改任何面板Panel.isEnabled的值。
如果此屬性值是一個函數,則使用兩個參數(此GraphObject和新值)調用它。默認情況下,此屬性為null-不調用任何函數。
fromEndSegmentLength:number
獲取或設置來自此端口的鏈接的第一段的長度。當計算的“ from spot”不是Spot.None時,將使用此值。默認值為10。該值還限制了可繪制Link.fromShortLength的時間。
在確定鏈接的路由時,Link.fromEndSegmentLength的值(如果不是NaN)優先于此端口上的值。
有關如何使用此屬性的示例,請參見“鏈接末段長度”。
除非整個Node都充當單個端口,否則必須在portId不為null的GraphObject上設置此屬性,在這種情況下,應在Node上設置此屬性。
fromLinkable : boolean | null
獲取或設置用戶是否可以從此端口繪制鏈接。LinkingBaseTool.isValidFrom使用此屬性。
默認值為null,表示實際值是從父級Panel繼承而來的;如果不包含父面板,則為false。
您必須在端口ID不為null的GraphObject上設置此屬性,除非整個Node都充當單個端口,在這種情況下,應在Node上設置此屬性,或者除非您禁用特定對象的“可鏈接性” Panel中的GraphObject,其fromLinkable已設置或綁定為true。
來自可鏈接重復項 :布爾值
獲取或設置用戶是否可以從該端口繪制重復的鏈接。LinkingBaseTool.isValidLink使用此屬性。默認值為false。
除非整個Node都充當單個端口,否則必須在portId不為null的GraphObject上設置此屬性,在這種情況下,應在Node上設置此屬性。
來自可鏈接的自我節點 :布爾值
獲取或設置用戶是否可以繪制從該端口的Node連接的鏈接。LinkingBaseTool.isValidLink使用此屬性。默認值為false。
除非整個Node都充當單個端口,否則必須在portId不為null的GraphObject上設置此屬性,在這種情況下,應在Node上設置此屬性。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: