123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- 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() {}
- /******************************************************************************************************************************************************************/
- }
|