gojs常用API 畫布定義

2022-05-06 03:33:09 字數 2360 閱讀 3758

持續更新中

基礎畫布定義api

畫布初始位置 initialcontentalignment: go.spot.center,

畫布位置,定義後就不能拖動畫布了,畫布位置交由gojs管理 contentalignment:go.spot.center,

初始座標 initialposition: new go.point(0, 0)

禁止移動節點 allowmove:false

禁止複製 allowcopy: false

禁止刪除 allowdelete:false

禁止選中 allowselect:false

禁止縮放  allowzoom: false

禁止撤銷和重做  "undomanager.isenabled": false

禁止水平拖動畫布

禁止水平滾動條 allowhorizontalscroll: false

禁止垂直拖動畫布

禁止垂直滾動條

allowverticalscroll: false

唯讀 isreadonly: true

畫布初始化動畫時間 "animationmanager.duration": 600

禁止畫布初始化動畫 "animationmanager.isenabled": false

畫布比例 scale:1.5

畫布比例自適應

autoscale

autoscale:go.diagram.uniform,//自適應

autoscale:go.diagram.uniformtofill,//自適應

autoscale:go.diagram.none,//預設值不自適應

畫布最小比例 minscale:1.2,

畫布最大比例 maxscale:2.0,

顯示網格 "grid.visible":true,

畫布邊距padding

padding:80或者new go.margin(2, 0)或new go.margin(1, 0, 0, 1)

畫布節點連線定義

validcycle:go.diagram.cycledestinationtree 只允許有乙個父節點

validcycle:go.diagram.cyclenotundirected

validcycle:go.diagram.cyclenotdirected  

validcycle:go.diagram.cyclesourcetree

禁止滑鼠拖動區域選中dragselectingtool

"dragselectingtool.isenabled" : false, 

或者在畫布物件mydiagram建立後再呼叫

mydiagram.toolmanager.dragselectingtool.isenabled = false ;

validcycle:go.diagram.cycledestinationtree

禁止a→c,b→c

節點的有效鏈結不會在圖中產生有向迴圈

validcycle:go.diagram.cyclenotdirected  

禁止a-b-c-a

節點的有效鏈結不會在圖中產生無向迴圈

validcycle:go.diagram.cyclenotundirected

???測不出來

乙個節點只允許有乙個子節點並且沒有定向迴圈。 validcycle:go.diagram.cyclesourcetree 禁止a→b,a→c

畫布監聽事件api

節點生成事件 externalobjectsdropped

線生成事件 linkdrawn

線重新連線事件 linkrelinked

刪除後事件 selectiondeleted

刪除前事件 selectiondeleting 例子入口

節點移動事件 selectionmoved

//監聽節點或線的刪除事件

mydiagram.adddiagramlistener("selectiondeleted", function(e) );

})自動布局api

ps:這裡只寫比較常用布局,其他布局請查詢官網api

網格布局 go.gridlayout

力導向布局 go.forcedirectedlayout

樹形布局 go.treelayout

徑向布局(需要引radiallayout.js) radiallayout

//用例定義畫布節點為網格布局

mydiagram =

$(go.diagram, "mydiagramdiv", // 畫布定義

else if(!!ay)else if(!!by)

}});

});

自定義畫布 Flutter小技巧之畫布使用

最近flutter專案新需求中需要實現圓弧樣式,如下圖所示 在flutter自身ui元件中好像也沒有直接可用圓弧並帶缺口的元件。所以圓弧樣式就需要自己自定義繪製了。在flutter中同樣也有畫布功能用於開發者繪製自定義樣式。畫布元件custompaint,繪製內容通過painter和foregrou...

幾個常用的API在c 中的定義

最近乙個專案中用到的一些api,在解決一些實際的問題上 特別是和外部程式打交道 的時候還是蠻有用的。具體的引數什麼的網上都有!public class api public intheight 獲得包含指定點的視窗的控制代碼 乙個被檢測的點的point結構 dllimport user32.dll ...

flask 定義API介面

需要兩個工具 pip install flask restful pip install flask marshmallow from flask restful import api from flask marshmallow import marshmallow api api ma mars...