!457 重构SelectEvent注入方式

pull/457/MERGE
ChenX 5 years ago
parent c2bad122b6
commit d324d0be84

@ -76,7 +76,7 @@ export class BoardFindModify implements Command
{ {
let selectData = new SelectSetBase(app.Viewer); let selectData = new SelectSetBase(app.Viewer);
selectData.m_SelectList.push(...brs.map(e => e.DrawObject)); selectData.m_SelectList.push(...brs.map(e => e.DrawObject));
app.Editor.SelectCtrl.SelectSet.AddSelect(selectData); app.Editor.SelectCtrl.AddSelect(selectData);
app.Editor.SelectCtrl.UpdateView(); app.Editor.SelectCtrl.UpdateView();
} }
private async FindBrs(option: IBoardFindOption) private async FindBrs(option: IBoardFindOption)

@ -34,16 +34,14 @@ export class Command_TestBox implements Command
AllowDrawRubberBand: true, AllowDrawRubberBand: true,
Callback: (v) => Callback: (v) =>
{ {
let sss = new SelectSet(); let ss = new SelectSet();
let pt = v.clone(); let pt = v.clone();
app.Viewer.WorldToScreen(pt); app.Viewer.WorldToScreen(pt);
let sl = new SelectLine(app.Viewer, AsVector2(pt1), AsVector2(pt.clone())) let sl = new SelectLine(app.Viewer, AsVector2(pt1), AsVector2(pt.clone()))
sl.Select(); sl.Select();
sss.AddSelect(sl); ss.AddSelect(sl);
console.log(sss.SelectEntityList); console.log(ss.SelectEntityList);
} }
});
})
} }
} }

@ -59,31 +59,20 @@ export class ApplicationService
let gt = new Gesture(this.Editor); let gt = new Gesture(this.Editor);
RegisterGesture(gt); RegisterGesture(gt);
let regGripEvent = () =>
let selectCtrl = this.Editor.SelectCtrl;
end(selectCtrl, selectCtrl.AddSelect, (ss: SelectSetBase) =>
{ {
let selectSet = this.Editor.SelectCtrl.SelectSet; for (let obj of ss.m_SelectList)
end(selectSet, selectSet.AddSelect, (ss: SelectSetBase) => this.Viewer.GripScene.Append(obj);
{ this.Viewer.UpdateRender();
for (let obj of ss.m_SelectList) });
this.Viewer.GripScene.Append(obj); end(selectCtrl, selectCtrl.RemoveSelect, (ss: SelectSetBase) =>
this.Viewer.UpdateRender();
});
end(selectSet, selectSet.RemoveSelect, (ss: SelectSetBase) =>
{
for (let obj of ss.m_SelectList)
{
this.Viewer.GripScene.Remove(obj);
}
this.Viewer.UpdateRender();
});
}
end(this.Editor.SelectCtrl, this.Editor.SelectCtrl.Cancel, () =>
{ {
regGripEvent(); for (let obj of ss.m_SelectList)
this.Viewer.GripScene.Clear(); this.Viewer.GripScene.Remove(obj);
this.Viewer.UpdateRender(); this.Viewer.UpdateRender();
}); });
regGripEvent();
begin(commandMachine, commandMachine.CommandStart, () => begin(commandMachine, commandMachine.CommandStart, () =>
{ {

@ -98,9 +98,9 @@ export class SsgetServiecs
ssEnt.m_SelectList.push(enRes.Object); ssEnt.m_SelectList.push(enRes.Object);
if (this.m_Editor.KeyCtrl.KeyIsDown(KeyCode.ShiftLeft)) if (this.m_Editor.KeyCtrl.KeyIsDown(KeyCode.ShiftLeft))
this.m_Editor.SelectCtrl.SelectSet.RemoveSelect(ssEnt); this.m_Editor.SelectCtrl.RemoveSelect(ssEnt);
else else
this.m_Editor.SelectCtrl.SelectSet.AddSelect(ssEnt); this.m_Editor.SelectCtrl.AddSelect(ssEnt);
if (prompt.Once && (prompt.AllowNone || this.HasSelection(set))) if (prompt.Once && (prompt.AllowNone || this.HasSelection(set)))
{ {
@ -115,14 +115,14 @@ export class SsgetServiecs
} }
case PromptStatus.None: case PromptStatus.None:
{ {
this.m_Editor.SelectCtrl.m_Filter = prompt.Filter; this.m_Editor.SelectCtrl.Filter = prompt.Filter;
this.m_Editor.SelectCtrl.LeftClick(false); this.m_Editor.SelectCtrl.LeftClick(false);
if (prompt.Callback) if (prompt.Callback)
{ {
this.m_AwaitRemoveCalls.push( this.m_AwaitRemoveCalls.push(
end(this.m_Editor.SelectCtrl, end(this.m_Editor.SelectCtrl,
this.m_Editor.SelectCtrl.onMouseMove, this.m_Editor.SelectCtrl.OnMouseMove,
() => () =>
{ {
let set = new SelectSet(); let set = new SelectSet();
@ -184,7 +184,7 @@ export class SsgetServiecs
this.promisResolve(res); this.promisResolve(res);
this.m_Editor.InputState &= ~InputState.Select; this.m_Editor.InputState &= ~InputState.Select;
this.m_Editor.SelectCtrl.Cancel(); this.m_Editor.SelectCtrl.Cancel();
this.m_Editor.SelectCtrl.m_Filter = undefined; this.m_Editor.SelectCtrl.Filter = undefined;
this.m_Editor.SelectCtrl.SelectType = SelectType.None; this.m_Editor.SelectCtrl.SelectType = SelectType.None;
} }

@ -11,6 +11,7 @@ import { Viewer } from '../GraphicsSystem/Viewer';
import { SelectMarquee } from '../UI/JsPlugin/SelectMarquee'; import { SelectMarquee } from '../UI/JsPlugin/SelectMarquee';
import { Editor, EditorService } from './Editor'; import { Editor, EditorService } from './Editor';
import { PointPick } from './PointPick'; import { PointPick } from './PointPick';
import { SelectSetBase } from './SelectBase';
import { SelectBox, SelectType } from './SelectBox'; import { SelectBox, SelectType } from './SelectBox';
import { Filter } from './SelectFilter'; import { Filter } from './SelectFilter';
import { SelectPick } from './SelectPick'; import { SelectPick } from './SelectPick';
@ -19,61 +20,81 @@ import { TransMode } from './TranstrolControl/TransformServices';
export class SelectControls implements EditorService export class SelectControls implements EditorService
{ {
get IsReady() private _SelectCss: SelectMarquee;
private _Editor: Editor;
private _Viewer: Viewer;
private _SelectSet: SelectSet = new SelectSet(true);
Filter: Filter;
private _SelectType: SelectType = SelectType.None;
private _FirstPickPoint: Vector3;
constructor(view: Viewer, ed: Editor)
{ {
return this.m_Editor.InputState <= InputState.Select; this._Editor = ed;
this._Viewer = view;
this._SelectCss = new SelectMarquee(this._Viewer);
this.RegisterEvent();
} }
async Doit(e: MouseEvent)
get IsReady()
{ {
return this.onMouseDown(e); return this._Editor.InputState <= InputState.Select;
} }
private m_SelectCss: SelectMarquee;
private m_Editor: Editor;
private m_Viewer: Viewer;
private m_SelectSet: SelectSet = new SelectSet(true);
m_Filter: Filter;
private m_SelectType: SelectType = SelectType.None;
private m_FirstPickPoint: Vector3;
constructor(view: Viewer, ed: Editor) async Doit(e: MouseEvent)
{ {
this.m_Editor = ed; if ((this._Editor.InputState & InputState.SelectIng) && e.button === MouseKey.Right)
this.m_Viewer = view; {
this.m_SelectCss = new SelectMarquee(this.m_Viewer); this.RestState();
this.RegisterEvent(); return true;
}
//左键 并且准备好时.
if (e.button !== MouseKey.Left || !this.IsReady)
return false;
this.LeftClick();
return true;
} }
get SelectSet()
/**
* ,SelectSet
* ,AddSelect,使`app.Editor.SelectCtrl.AddSelect`;
*/
get SelectSet(): SelectSet
{ {
return this.m_SelectSet; return this._SelectSet;
} }
set SelectType(type: SelectType) set SelectType(type: SelectType)
{ {
this.m_SelectType = type; this._SelectType = type;
this.m_SelectCss.selectType = type; this._SelectCss.selectType = type;
} }
RegisterEvent() RegisterEvent()
{ {
let ed = this.m_Editor; let ed = this._Editor;
end(ed.MouseCtrl, ed.MouseCtrl.updateWordPoint, () => { this.onMouseMove() }); end(ed.MouseCtrl, ed.MouseCtrl.updateWordPoint, () => { this.OnMouseMove() });
end(ed.KeyCtrl, ed.KeyCtrl.OnKeyDown, (e) => { this.onKeyDown(e) }); end(ed.KeyCtrl, ed.KeyCtrl.OnKeyDown, (e: KeyboardEvent) => { this.OnKeyDown(e) });
end(app.Viewer.CameraCtrl, app.Viewer.CameraCtrl.Update, () => end(app.Viewer.CameraCtrl, app.Viewer.CameraCtrl.Update, () =>
{ {
if (this.m_FirstPickPoint) if (this._FirstPickPoint)
{ {
let vp = app.Viewer.WorldToScreen(this.m_FirstPickPoint.clone()); let vp = app.Viewer.WorldToScreen(this._FirstPickPoint.clone());
this.m_SelectCss.SetStart(vp.x, vp.y); this._SelectCss.SetStart(vp.x, vp.y);
this.m_SelectCss.Update(); this._SelectCss.Update();
} }
}); });
} }
UpdateView() UpdateView()
{ {
this.m_Viewer.OutlinePass.selectedObjects = this.m_SelectSet.SelectObjectList; this._Viewer.OutlinePass.selectedObjects = this._SelectSet.SelectObjectList;
this.m_Viewer.UpdateRender(); this._Viewer.UpdateRender();
if (this.m_Viewer.OutlinePass.selectedObjects.length > 0) if (this._Viewer.OutlinePass.selectedObjects.length > 0)
{ {
let obj = this.m_Viewer.OutlinePass.selectedObjects[0]; let obj = this._Viewer.OutlinePass.selectedObjects[0];
let ocs: Matrix4; let ocs: Matrix4;
let ent = GetEntity(obj); let ent = GetEntity(obj);
@ -89,37 +110,16 @@ export class SelectControls implements EditorService
else else
ocs = obj.matrixWorld.clone(); ocs = obj.matrixWorld.clone();
this.m_Editor.transCtrl.m_Ents = this.SelectSet.SelectEntityList; this._Editor.transCtrl.m_Ents = this.SelectSet.SelectEntityList;
this.m_Editor.transCtrl.Matrix = ocs; this._Editor.transCtrl.Matrix = ocs;
this.m_Editor.transCtrl.Mode = TransMode.Move; this._Editor.transCtrl.Mode = TransMode.Move;
this.m_Editor.transCtrl.Enable = true; this._Editor.transCtrl.Enable = true;
} }
else else
{ {
this.m_Editor.transCtrl.Enable = false; this._Editor.transCtrl.Enable = false;
} }
} }
removeSnapCall;
removeSnap()
{
if (this.removeSnapCall)
this.removeSnapCall();
}
onMouseDown(e: MouseEvent)
{
if ((this.m_Editor.InputState & InputState.SelectIng) && e.button === MouseKey.Right)
{
this.RestState();
return true;
}
//左键 并且准备好时.
if (e.button !== MouseKey.Left || !this.IsReady)
return false;
this.LeftClick();
return true;
}
/** /**
* . * .
@ -127,34 +127,34 @@ export class SelectControls implements EditorService
*/ */
LeftClick(checkPick = true) LeftClick(checkPick = true)
{ {
let pt = this.m_Editor.MouseCtrl.m_CurMousePointVCS; let pt = this._Editor.MouseCtrl.m_CurMousePointVCS;
let isRemove = app.Editor.KeyCtrl.KeyIsDown(KeyCode.ShiftLeft); let isRemove = app.Editor.KeyCtrl.KeyIsDown(KeyCode.ShiftLeft);
//如果还没选择 那么 //如果还没选择 那么
if ((this.m_Editor.InputState & InputState.SelectIng) === InputState.None) if ((this._Editor.InputState & InputState.SelectIng) === InputState.None)
{ {
if (checkPick) if (checkPick)
{ {
let selectObj = PointPick(pt, this.m_Viewer); let selectObj = PointPick(pt, this._Viewer);
if (selectObj.length > 0) if (selectObj.length > 0)
{ {
let selectData = new SelectPick(this.m_Viewer, pt.clone()); let selectData = new SelectPick(this._Viewer, pt.clone());
selectData.m_SelectList.push(selectObj[0]); selectData.m_SelectList.push(selectObj[0]);
if (isRemove) if (isRemove)
this.m_SelectSet.RemoveSelect(selectData); this.RemoveSelect(selectData);
else else
this.m_SelectSet.AddSelect(selectData); this.AddSelect(selectData);
this.UpdateView(); this.UpdateView();
return; return;
} }
} }
this.m_FirstPickPoint = app.Editor.MouseCtrl.m_CurMousePointWCS.clone(); this._FirstPickPoint = app.Editor.MouseCtrl.m_CurMousePointWCS.clone();
this.m_Editor.InputState = InputState.SelectIng; this._Editor.InputState = InputState.SelectIng;
app.Viewer.PreViewer.Cursor.Mode = CursorMode.GetPoint; app.Viewer.PreViewer.Cursor.Mode = CursorMode.GetPoint;
this.m_SelectCss.SetStart(pt.x, pt.y); this._SelectCss.SetStart(pt.x, pt.y);
this.m_SelectCss.SetEnd(pt.x, pt.y); this._SelectCss.SetEnd(pt.x, pt.y);
this.m_SelectCss.Show(); this._SelectCss.Show();
} }
else else
{ {
@ -162,9 +162,9 @@ export class SelectControls implements EditorService
if (selectBox.m_SelectList.length > 0) if (selectBox.m_SelectList.length > 0)
{ {
if (isRemove) if (isRemove)
this.m_SelectSet.RemoveSelect(selectBox); this.RemoveSelect(selectBox);
else else
this.m_SelectSet.AddSelect(selectBox); this.AddSelect(selectBox);
this.UpdateView(); this.UpdateView();
} }
this.RestState(); this.RestState();
@ -175,52 +175,71 @@ export class SelectControls implements EditorService
SelectByCss() SelectByCss()
{ {
let selectBox = new SelectBox(this.m_Viewer, this.m_SelectCss.start, this.m_SelectCss.end); let selectBox = new SelectBox(this._Viewer, this._SelectCss.start, this._SelectCss.end);
if (this.m_SelectType !== SelectType.None) if (this._SelectType !== SelectType.None)
selectBox.m_SelectType = this.m_SelectType; selectBox.m_SelectType = this._SelectType;
else else
selectBox.m_SelectType = this.m_SelectCss.end.x > this.m_SelectCss.start.x ? SelectType.W : SelectType.C; selectBox.m_SelectType = this._SelectCss.end.x > this._SelectCss.start.x ? SelectType.W : SelectType.C;
selectBox.Select(undefined, this.m_Filter); selectBox.Select(undefined, this.Filter);
return selectBox; return selectBox;
} }
onMouseMove() OnMouseMove()
{ {
if (this.m_Editor.InputState === InputState.SelectIng) if (this._Editor.InputState === InputState.SelectIng)
{ {
let pt = this.m_Editor.MouseCtrl.m_CurMousePointVCS; let pt = this._Editor.MouseCtrl.m_CurMousePointVCS;
this.m_SelectCss.SetEnd(pt.x, pt.y) this._SelectCss.SetEnd(pt.x, pt.y);
} }
} }
onKeyDown(e: KeyboardEvent) OnKeyDown(e: KeyboardEvent)
{ {
if (e.keyCode == KeyBoard.Escape) if (e.keyCode == KeyBoard.Escape)
{ {
this.Cancel(); this.Cancel();
} }
} }
RestState() RestState()
{ {
this.m_FirstPickPoint = undefined; this._FirstPickPoint = undefined;
this.m_SelectCss.Hide(); this._SelectCss.Hide();
app.Viewer.PreViewer.Cursor.Mode = CursorMode.None; app.Viewer.PreViewer.Cursor.Mode = CursorMode.None;
this.m_Editor.InputState &= ~InputState.SelectIng; this._Editor.InputState &= ~InputState.SelectIng;
} }
Cancel() Cancel()
{ {
this.RestState(); this.RestState();
this.m_SelectSet = new SelectSet(true); this._SelectSet = new SelectSet(true);
this.UpdateView(); this.UpdateView();
this.CanenEvent(); this.CanenEvent();
} }
AddSelect(selectData: SelectSetBase)
{
this._SelectSet.AddSelect(selectData);
this.UpdateSelectEvent();
}
RemoveSelect(selectData: SelectSetBase)
{
this._SelectSet.RemoveSelect(selectData);
this.UpdateSelectEvent();
}
UpdateSelectEvent()
{
}
EndSelectEvent() EndSelectEvent()
{ {
} }
CanenEvent() CanenEvent()
{ {

@ -1,9 +1,10 @@
import { Object3D } from 'three';
import { arrayRemoveOnce } from '../Common/ArrayExt'; import { arrayRemoveOnce } from '../Common/ArrayExt';
import { GetEntity, IsEntity, log } from '../Common/Utils'; import { GetEntity, IsEntity, log } from '../Common/Utils';
import { Entity } from '../DatabaseServices/Entity/Entity'; import { Entity } from '../DatabaseServices/Entity/Entity';
import { GroupRecord } from '../DatabaseServices/GroupTableRecord';
import { SelectSetBase } from './SelectBase'; import { SelectSetBase } from './SelectBase';
import { CheckFilter, Filter } from './SelectFilter'; import { CheckFilter, Filter } from './SelectFilter';
import { GroupRecord } from '../DatabaseServices/GroupTableRecord';
//选择集. //选择集.
export class SelectSet export class SelectSet
@ -64,6 +65,7 @@ export class SelectSet
} }
} }
RemoveSelect(selectData: SelectSetBase) RemoveSelect(selectData: SelectSetBase)
{ {
log(`取消选择${selectData.m_SelectList.length}个.`); log(`取消选择${selectData.m_SelectList.length}个.`);
@ -87,9 +89,9 @@ export class SelectSet
{ {
return this.m_SelectSetList; return this.m_SelectSetList;
} }
get SelectObjectList(): Array<THREE.Object3D> get SelectObjectList(): Array<Object3D>
{ {
let arr: Array<THREE.Object3D> = []; let arr: Array<Object3D> = [];
for (let set of this.SelectSetList) for (let set of this.SelectSetList)
arr.push(...set.m_SelectList); arr.push(...set.m_SelectList);
return arr; return arr;

@ -26,28 +26,20 @@ export class LookOverBoardInfosModal extends React.Component<{ store?: LookOverB
//查看选中板件 //查看选中板件
checkOutChosenBr = () => checkOutChosenBr = () =>
{ {
this.clearSelect(); app.Editor.SelectCtrl.Cancel();
let selectData = new SelectSetBase(app.Viewer); let selectData = new SelectSetBase(app.Viewer);
selectData.m_SelectList.push(this.props.store.selectedBr.DrawObject); selectData.m_SelectList.push(this.props.store.selectedBr.DrawObject);
app.Editor.SelectCtrl.SelectSet.AddSelect(selectData); app.Editor.SelectCtrl.AddSelect(selectData);
app.Editor.SelectCtrl.UpdateView(); app.Editor.SelectCtrl.UpdateView();
} }
//查看同类型板件 //查看同类型板件
checkOutSameTypeBr = () => checkOutSameTypeBr = () =>
{ {
this.clearSelect(); app.Editor.SelectCtrl.Cancel();
let selectData = new SelectSetBase(app.Viewer); let selectData = new SelectSetBase(app.Viewer);
let brs = this.filterBr(); let brs = this.filterBr();
selectData.m_SelectList.push(...brs.map((b) => { return b.DrawObject })) selectData.m_SelectList.push(...brs.map((b) => { return b.DrawObject }))
app.Editor.SelectCtrl.SelectSet.AddSelect(selectData); app.Editor.SelectCtrl.AddSelect(selectData);
app.Editor.SelectCtrl.UpdateView();
}
//清楚当前选中
clearSelect = () =>
{
app.Editor.SelectCtrl.SelectSet.Clear();
app.Viewer.GripScene.Clear();
app.Editor.SelectCtrl.UpdateView(); app.Editor.SelectCtrl.UpdateView();
} }
//筛选同类型板件 //筛选同类型板件

@ -1,17 +1,17 @@
import * as THREE from 'three'; import { Vector2 } from "three";
import { Viewer } from '../../GraphicsSystem/Viewer'; import { ZINDEX } from "../../Common/ZIndex";
import { SelectType } from '../../Editor/SelectBox'; import { SelectType } from "../../Editor/SelectBox";
import { ZINDEX } from '../../Common/ZIndex'; import { Viewer } from "../../GraphicsSystem/Viewer";
//矩形选框 //矩形选框
export class SelectMarquee export class SelectMarquee
{ {
rightColor = "rgba(0, 100, 255, 0.2)" rightColor = "rgba(0, 100, 255, 0.2)";
leftColor = "rgba(39, 255, 0, 0.2)" leftColor = "rgba(39, 255, 0, 0.2)";
rightBorder = "1px dashed rgb(154, 154, 154)" rightBorder = "1px dashed rgb(154, 154, 154)";
leftBorder = "1px solid rgb(154, 154, 154)" leftBorder = "1px solid rgb(154, 154, 154)";
start: THREE.Vector2 = new THREE.Vector2; start: Vector2 = new Vector2();
end: THREE.Vector2 = new THREE.Vector2; end: Vector2 = new Vector2();
dom: HTMLElement; dom: HTMLElement;
width: number; width: number;
height: number; height: number;
@ -26,37 +26,38 @@ export class SelectMarquee
this.viewer.Renderer.domElement.parentElement.appendChild(this.dom); this.viewer.Renderer.domElement.parentElement.appendChild(this.dom);
let st = this.dom.style; let st = this.dom.style;
st.position = "absolute" st.position = "absolute";
st.zIndex = ZINDEX.SelectMarquee; st.zIndex = ZINDEX.SelectMarquee;
st.background = "rgba(0, 63, 255, 0.2)"; st.background = "rgba(0, 63, 255, 0.2)";
st.margin = "0" st.margin = "0";
st.pointerEvents = "none" st.pointerEvents = "none";
st.top = "460px" st.top = "460px";
st.left = "100px" st.left = "100px";
st.width = "100px" st.width = "100px";
st.height = "200px" st.height = "200px";
st.display = "none" st.display = "none";
st.border = this.leftBorder st.border = this.leftBorder;
} }
Show() Show()
{ {
this.dom.style.display = "block" this.dom.style.display = "block";
} }
Hide() Hide()
{ {
this.dom.style.display = "none" this.dom.style.display = "none";
} }
Update() Update()
{ {
this.dom.style.top = Math.min(this.start.y, this.end.y) + "px" this.dom.style.top = Math.min(this.start.y, this.end.y) + "px";
this.dom.style.left = Math.min(this.start.x, this.end.x) + "px" this.dom.style.left = Math.min(this.start.x, this.end.x) + "px";
this.width = Math.abs(this.start.x - this.end.x) this.width = Math.abs(this.start.x - this.end.x);
this.height = Math.abs(this.start.y - this.end.y) this.height = Math.abs(this.start.y - this.end.y);
this.dom.style.width = this.width + "px" this.dom.style.width = this.width + "px";
this.dom.style.height = this.height + "px" this.dom.style.height = this.height + "px";
let type = this.selectType; let type = this.selectType;
if (this.selectType === SelectType.None) if (this.selectType === SelectType.None)
@ -76,16 +77,18 @@ export class SelectMarquee
{ {
this.dom.style.background = this.rightColor; this.dom.style.background = this.rightColor;
this.dom.style.border = this.rightBorder; this.dom.style.border = this.rightBorder;
} }
} }
SetStart(x: number, y: number) SetStart(x: number, y: number)
{ {
this.start.set(x, y) this.start.set(x, y);
} }
SetEnd(x: number, y: number) SetEnd(x: number, y: number)
{ {
this.end.set(x, y) this.end.set(x, y);
this.Update() this.Update();
} }
} }

@ -1,7 +1,10 @@
import { TabId } from "@blueprintjs/core"; import { TabId } from "@blueprintjs/core";
import { observable, toJS } from "mobx"; import { observable, toJS } from "mobx";
import { begin } from "xaop";
import { app } from "../../../ApplicationServices/Application";
import { Modify } from "../../../Common/TypeOperator"; import { Modify } from "../../../Common/TypeOperator";
import { IModeling, Board } from "../../../DatabaseServices/Entity/Board"; import { Board, IModeling } from "../../../DatabaseServices/Entity/Board";
import { SelectSetBase } from "../../../Editor/SelectBase";
import { IConfigOption } from "../../Components/Board/UserConfig"; import { IConfigOption } from "../../Components/Board/UserConfig";
import { IModelingItem } from "../../Components/RightPanel/ModelingComponent"; import { IModelingItem } from "../../Components/RightPanel/ModelingComponent";
import { RightTabId } from "../../Components/RightPanel/RightPanel"; import { RightTabId } from "../../Components/RightPanel/RightPanel";
@ -10,10 +13,6 @@ import { IConfigStore } from "../BoardStore";
import { DrillingStore } from "./DrillingStore"; import { DrillingStore } from "./DrillingStore";
import { LightStore } from "./LightStore"; import { LightStore } from "./LightStore";
import { SealingStore } from "./SealingStore"; import { SealingStore } from "./SealingStore";
import { end, begin } from "xaop";
import { app } from "../../../ApplicationServices/Application";
import { SelectSetBase } from "../../../Editor/SelectBase";
import { Entity } from "../../../DatabaseServices/Entity/Entity";
type IUIModeiling = Modify<IModelingItem, { type IUIModeiling = Modify<IModelingItem, {
color: string; color: string;
@ -37,20 +36,11 @@ export class RightPanelStore implements IConfigStore
this.InitModelingItems(); this.InitModelingItems();
let selectCtrl = app.Editor.SelectCtrl; let selectCtrl = app.Editor.SelectCtrl;
let register = () => begin(selectCtrl.SelectSet, selectCtrl.SelectSet.AddSelect, (ss: SelectSetBase) =>
{
begin(selectCtrl.SelectSet, selectCtrl.SelectSet.AddSelect, (ss: SelectSetBase) =>
{
let br = ss.SelectEntityList[0];
if (br && br instanceof Board)
this.currentBoard = br;
});
};
register();
end(selectCtrl, selectCtrl.Cancel, () =>
{ {
register(); let br = ss.SelectEntityList[0];
if (br && br instanceof Board)
this.currentBoard = br;
}); });
} }

Loading…
Cancel
Save