基於HTML5的拓撲圖編輯器(2)


繼續來說編輯器的需求, 前面 介紹了拖拽創建節點、以及連線的方法,並加入到了其后的 Qunee 類庫,實際應用中需要更多功能,Qunee 的拓撲圖編輯器也在逐漸完善,一方面增加多種編輯交互,一方面提供數據導入導出,同時也在摸索編輯器的整體界面設計和前端開發框架
Qunee 編輯器1.6

 

拖拽創建節點

 

延續之前提供的功能,增加更多可配置選項(可設置節點類型,樣式和屬性),支持按住shift快捷鍵,直接拖入到分組內 

拖拽創建節點,放入分組內

新增多種交互模式

創建連線和多邊形

創建連線交互

 
 
 
         
Q.Consts.INTERACTION_MODE_CREATE_SIMPLE_EDGE = "create.simple.edge";
Q.Consts.INTERACTION_MODE_CREATE_EDGE = "create.edge";
Q.Consts.INTERACTION_MODE_CREATE_SHAPE = "create.shape";
Q.Consts.INTERACTION_MODE_CREATE_LINE = "create.line";
可以直接從一個節點拖拽連接到另一個節點,也可以創建中間拐點的連線
 
 
 
         
graph.interactionMode = Q.Consts.INTERACTION_MODE_CREATE_EDGE;
直接相連 創建多拐點連線

連線編輯

普通模式下,設置 graph 為可編輯,此時點擊可編輯的圖元進入編輯模式
 
 
 
         
graph.editable =  true;
graph.interactionMode = Q.Consts.INTERACTION_MODE_DEFAULT;
連線拐點編輯

創建多邊形

 
 
 
         
graph.interactionMode = Q.Consts.INTERACTION_MODE_CREATE_SHAPE;
創建多邊形

創建多線段

 
 
 
         
graph.interactionMode = Q.Consts.INTERACTION_MODE_CREATE_LINE;
創建多線段 創建多線段

編輯多邊形

 
 
 
         
graph.editable =  true;
graph.interactionMode = Q.Consts.INTERACTION_MODE_DEFAULT;

調整寬高

改進了Q.ResizeInteraction

調整多邊形大小 調整線條大小

移動拐點

 

增加了拐點編輯交互器(Q.PointsInteraction),默認編輯狀態時,雙擊多邊形進入編輯模式

編輯拐點 編輯拐點

右鍵菜單交互

通過右鍵菜單(移動平台下可以選擇長按),點擊在不同類型的圖元上,彈出不同的設置菜單項
 
 
 
         
graph.html.oncontextmenu =  function(evt){
    Q.stopEvent(evt);
    showMenu(evt, graph);
}
graph.addCustomInteraction({
    onstart:  function (evt) {
        menu.hide();
    }
});
右鍵菜單-節點 右鍵菜單-連線

數據導入導出

通過擴展,實現exportJSON和parseJSON方法,實現對拓撲圖的導入導出,便於存儲 JSON 導出與編輯

在線示例演示

http://demo.qunee.com/editor/Editor1.6.html Qunee 編輯器1.6


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM