1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /*
- * iGeom by LInE
- * Free software to student private data
- *
- * http://www.matematica.br/igeom
- * http://www.usp.br/line
- *
- * ./app/core/drawers/drawer-manager.js
- *
- * @version 2020/06/14: now using app/core/models/application/actions/action.js
- */
- import { stageManager as Stages } from "../application/stage-manager";
- class DrawerManager {
- constructor () {
- this.currentStage = this._getCurrentStage();
- }
- _getCurrentStage () {
- return Stages.getCurrentStage();
- }
- _getCurrentKonvaStage () {
- return Stages.getCurrentKonvaStage();
- }
- getStages () {
- return Stages.getStages();
- }
- draw (object) {
- this.currentStage.draw(object);
- }
- addAggregator (aggregator) {
- this.currentStage.addAggregator(aggregator);
- }
- batchDraw () {
- // Old: Stages.getCurrentStage().getCurrentKonvaLayer().batchDraw();
- var currentStage, currentKonvaLayer;
- currentStage = Stages.getCurrentStage();
- currentKonvaLayer = currentStage.getCurrentKonvaLayer();
- currentKonvaLayer.batchDraw();
- }
- addAction (action) { // drawer-manager.js!addAction(action): error TypeError: cyclic object value: actionManager, action(id,type)=(9,1)
- // Old: Stages.getCurrentLayer().actionManager.push(action);
- var currentLayer, actionManager, auxE = "";
- try {
- currentLayer = Stages.getCurrentLayer(); // app/core/drawers/stage.js: getCurrentLayer(): return this.layer;
- auxE += "currentLayer, ";
- actionManager = currentLayer.actionManager; // app/core/drawers/layer.js: "this.actionManager = new ActionManager();", with ./app/core/models/application/actions/action-manager.js
- auxE += "actionManager, ";
- actionManager.push(action); // app/core/models/application/actions/action-manager.js: push(action): this.actions.push(action);
- } catch (error) {
- if (action && action!=undefined) auxE += "action(id,type)=(" + action.id + "," + action.type + ")";
- else auxE += "action(id,type)=" + action;
- console.log("drawer-manager.js!addAction(action): error '" + error + "': " + auxE);
- }
- }
- removeAction (action) {
- Stages.getCurrentLayer().actionManager.remove(action);
- }
- }
- export const drawerManager = new DrawerManager();
|