mous releas add element diagram param mous event overrid mous releas mous event consum defin log lp log granular type statement lp log local nest statement log debug enabl log debug mous releas reject consum endif todo us project undo manag global undo manag instanc add memento lock start mutabl graph model gm mutabl graph model editor graph model editor damag point snap pt point editor snap snap pt editor damag count layer lai editor layer manag activ layer graph node render render editor graph node render list fig node place fig arrai list fig node model element size argo diagram diag diagram util activ diagram diag uml diagram object node model element uml diagram diag doe accept node fig node per render fig node gm lai node per set locat snap pt count snap pt defin log lp log granular type statement lp log local nest statement log debug enabl log debug mous move locat set per per endif todo us project undo manag global undo manag instanc start chain editor add per gm add node node add relat edg gm add node relat edg node fig enclos rectangl bbox per bound list fig fig lai content fig fig fig fig us trap rect fig fig node fig visibl fig equal per rectangl trap fig trap rect trap trap contain bbox bbox trap contain bbox bbox width bbox bbox height enclos fig per set enclos fig enclos place fig add per todo us project undo manag global undo manag instanc remov memento lock undo manag instanc gener memento add diagram memento memento add diagram memento editor place fig undo manag instanc add memento memento undo manag instanc add memento lock editor select manag select place fig consum 