diff --git a/src/Editor/TranstrolControl/Command_SetGizmoMode.ts b/src/Editor/TranstrolControl/Command_SetGizmoMode.ts index eed2593ab..750a81348 100644 --- a/src/Editor/TranstrolControl/Command_SetGizmoMode.ts +++ b/src/Editor/TranstrolControl/Command_SetGizmoMode.ts @@ -1,5 +1,6 @@ import { app } from "../../ApplicationServices/Application"; import { Command } from "../CommandMachine"; +import { userConfig } from "../UserConfig"; import { TransMode } from './TransformServices'; @@ -8,6 +9,7 @@ export class Command_SetGizmoMode implements Command constructor(private mode: TransMode) { } async exec() { + userConfig.curMode = this.mode; app.Editor.TransCtrl.Mode = this.mode; } } diff --git a/src/Editor/UserConfig.ts b/src/Editor/UserConfig.ts index 231862c8b..7635c00e6 100644 --- a/src/Editor/UserConfig.ts +++ b/src/Editor/UserConfig.ts @@ -125,6 +125,8 @@ export class UserConfig implements IConfigStore @observable openLightConfig: boolean = false; //画灯光前是否打开配置 @observable oneKeyOpenLight: boolean = false; //一键开关灯光(通电/不通电) @observable isShowLightShadow = false; //一键开关灯光阴影(除了太阳光) + @observable curMode = 3; //模型坐标轴类型 + constructor() { this.Init(); diff --git a/src/UI/Components/AxisMode/AxisMode.less b/src/UI/Components/AxisMode/AxisMode.less index e3ac9cbec..793df34b1 100644 --- a/src/UI/Components/AxisMode/AxisMode.less +++ b/src/UI/Components/AxisMode/AxisMode.less @@ -16,19 +16,10 @@ border-radius: 50%; &:hover{ background-color: transparent; - >span - { + svg{ color: #1890ff; } } - >span - { - color: white; - } - >span[ActiveAxisMode] - { - color:#1890ff ; - } } } diff --git a/src/UI/Components/AxisMode/AxisMode.tsx b/src/UI/Components/AxisMode/AxisMode.tsx index f2d896095..6bf7211bb 100644 --- a/src/UI/Components/AxisMode/AxisMode.tsx +++ b/src/UI/Components/AxisMode/AxisMode.tsx @@ -1,46 +1,48 @@ -import { Button, Popover } from '@blueprintjs/core'; -import React, { Component, createRef, RefObject } from 'react'; +import { Button, Icon, Popover } from '@blueprintjs/core'; +import { observable } from 'mobx'; +import { observer } from 'mobx-react'; +import React, { Component } from 'react'; import { app } from '../../../ApplicationServices/Application'; import { SpaceCSType, TransMode } from '../../../Editor/TranstrolControl/TransformServices'; +import { userConfig } from '../../../Editor/UserConfig'; import './AxisMode.less'; +export const spanColor = "#1890ff"; +@observer export default class AxisMode extends Component { - switchAxisModeDiv: RefObject = createRef(); - ChangeAxisMode = (e: React.MouseEvent, mode: TransMode) => + @observable _SpaceCSType: SpaceCSType = SpaceCSType.Local; + _ChangeAxisMode = (e: React.MouseEvent, mode: TransMode) => { + userConfig.curMode = mode; app.Editor.TransCtrl.Mode = mode; - this.switchAxisModeDiv.current!.childNodes.forEach(el => - { - let icon = (el as HTMLSpanElement).getElementsByClassName('bp3-icon')[0] as HTMLSpanElement; - icon.removeAttribute('ActiveAxisMode'); - }); - (e.currentTarget.getElementsByClassName('bp3-icon')[0] as HTMLSpanElement).setAttribute('ActiveAxisMode', ''); }; - componentDidMount() + _ChangeSpaceCSType(spaceCSType: SpaceCSType) { - (this.switchAxisModeDiv.current!.childNodes[0] as HTMLElement) - .getElementsByClassName('bp3-icon')[0].setAttribute('ActiveAxisMode', ''); + app.Editor.TransCtrl.SpaceCSType = spaceCSType; + this._SpaceCSType = spaceCSType; } + render() { return (
-
+

选择对象Objecet(Q)

} minimal interactionKind='hover' placement='bottom'> } minimal interactionKind='hover' placement='bottom'> } minimal interactionKind='hover' placement='bottom'> } minimal interactionKind='hover' placement='bottom'>
@@ -99,23 +104,26 @@ export default class AxisMode extends Component
} minimal interactionKind='hover' placement='bottom'> { - app.Editor.TransCtrl.SpaceCSType === SpaceCSType.World - ? + : + }