import { coordinate } from "../Coordinate.js"; import LayerEvents from "../enum/LayerEvents.js"; import UIEvents from "../enum/UIEvents.js"; import VectorType from "../enum/VectorType.js"; import { stateService } from "../Service/StateService.js"; import { uiService } from "../Service/UIService.js"; import { dataService } from "../Service/DataService.js"; import { historyService } from "../Service/HistoryService.js"; import { elementService } from "../Service/ElementService"; import { mathUtil } from "../Util/MathUtil"; import { textService } from "../Service/TextService.js/"; import Constant from "../Constant"; // import { roomsUtil } from "../Room/RoomsUtil.js"; import { addRoad } from "../Controls/AddRoad"; // import { floorplanData } from "../VectorData.js"; export default class UIControl { constructor(layer, newsletter) { this.layer = layer; this.newsletter = newsletter; } get selectUI() { return this.newsletter.selectUI; } set selectUI(selectUI) { this.updateEventNameForSelectUI(selectUI); this.newsletter.selectUI = selectUI; } get focusVector() { return this.newsletter.focusVector; } set focusVector(focusVector) { this.newsletter.focusVector = focusVector; } /** * 获取选中要操作的UI */ get currentUI() {} /** * 设置选中要操作的UI */ set currentUI(value) { this.selectUI = value; } clearUI() { this.selectUI = null; } //点击左侧栏后,更新事件 updateEventNameForSelectUI(selectUI) { console.log(this.selectUI, selectUI); if (selectUI != null) { if (this.selectUI == selectUI) { return; } else if (this.selectUI != selectUI) { if (this.selectUI != null) { //先取消当前事件和进程 stateService.clear(); //。。。。 } //执行新的事件 if (uiService.isBelongRoad(selectUI) || selectUI == "road") { stateService.setEventName(LayerEvents.AddRoad); } else if (selectUI == UIEvents.CurveRoad) { stateService.setEventName(LayerEvents.AddCurveRoad); } else if (selectUI == UIEvents.Line) { stateService.setEventName(LayerEvents.AddLine); } else if (selectUI == UIEvents.Circle) { stateService.setEventName(LayerEvents.AddCircle); } else if (selectUI == UIEvents.Text) { stateService.setEventName(LayerEvents.AddText); } else if (selectUI == UIEvents.Magnifier) { stateService.setEventName(LayerEvents.AddMagnifier); } else if (selectUI == UIEvents.SVG) { stateService.setEventName(LayerEvents.AddSVG); } else if (selectUI == UIEvents.Img) { stateService.setEventName(LayerEvents.Img); } } } } /****************************************************************************针对菜单*******************************************************************************/ // execute(name, value) { // stateService.clearFocusItem(); // stateService.clearSelectItem(); // //this.layer.$xui.hideProps() // this.layer.uiControl.currentUI = null; // switch (name) { // case "recall": //撤销 // this.menu_revoke(); // break; // case "recover": //恢复 // this.menu_recovery(); // break; // case "default": //恢复默认 // this.menu_default(); // break; // case "download": //下载 // this.layer.div.style.visibility = "hidden"; // this.menu_screenShot(value).then(() => { // this.layer.div.style.visibility = "visible"; // }); // break; // case "texture": //底图 // this.showTexture = value; // this.layer.app.dom.querySelector( // '.player[name="main"]' // ).style.visibility = this.showTexture ? "visible" : "hidden"; // break; // case "clear": //清空 // this.menu_clear(); // break; // case "panos": //漫游点 // this.menu_panos(value); // break; // case "rotate": //旋转 // this.menu_rotate(); // break; // case "flex": //适应视图 // this.menu_flex(); // break; // } // } // //撤销 // menu_revoke() { // // this.layer.history.goPreState() // // this.layer.renderer.autoRedraw() // // const historyState = historyService.getHistoryState() // // if (historyState.pre) { // // this.layer.$xui.toolbar.recall = true // // } else { // // this.layer.$xui.toolbar.recall = false // // } // // this.layer.$xui.toolbar.recover = true // this.layer.stopAddVector(); // this.layer.revokeHistory(); // } // //恢复 // menu_recovery() { // // this.layer.history.goNextState() // // this.layer.renderer.autoRedraw() // // const historyState = historyService.getHistoryState() // // if (historyState.next) { // // this.layer.$xui.toolbar.recover = true // // } else { // // this.layer.$xui.toolbar.recover = false // // } // // this.layer.$xui.toolbar.recall = true // this.layer.recoveryHistory(); // } // menu_default() {} /******************************************************************************************************************************************************************/ }