优化:增加布局快捷键Ctrl+B,动态捕捉F3

pull/1485/head
ChenX 3 years ago
parent 812698296a
commit b51ba8b9f8

@ -194,6 +194,12 @@ export class ApplicationService
e.preventDefault(); e.preventDefault();
commandMachine.ExecCommand("COMANP"); commandMachine.ExecCommand("COMANP");
} }
if (e.code === KeyCode.F3)
{
let store = DownPanelStore.GetInstance();
store.useDynSnap = !store.useDynSnap;
e.preventDefault();
}
if (app.Editor.KeyCtrl.KeyIsDown(KeyCode.ControlLeft) || app.Editor.KeyCtrl.KeyIsDown(KeyCode.ControlRight)) if (app.Editor.KeyCtrl.KeyIsDown(KeyCode.ControlLeft) || app.Editor.KeyCtrl.KeyIsDown(KeyCode.ControlRight))
{ {
if (e.code === KeyCode.KeyZ) if (e.code === KeyCode.KeyZ)
@ -206,6 +212,11 @@ export class ApplicationService
app.Database.hm.Redo(); app.Database.hm.Redo();
app.Viewer.GripScene.UpdateAll(); app.Viewer.GripScene.UpdateAll();
} }
else if (e.code === KeyCode.KeyB)
{
let store = DownPanelStore.GetInstance();
store.isLayout = !store.isLayout;
}
else if (e.code === KeyCode.KeyC) else if (e.code === KeyCode.KeyC)
{ {
if (CommandState.CommandIng) return;//避免提示命令执行中,因为我们按住三个按键的时候,会重复出现命令事件 if (CommandState.CommandIng) return;//避免提示命令执行中,因为我们按住三个按键的时候,会重复出现命令事件

@ -1,23 +1,23 @@
import { Alignment, Button, Classes, HTMLSelect, InputGroup, Navbar, ProgressBar, Switch, Intent } from '@blueprintjs/core'; import { Alignment, Button, Classes, HTMLSelect, Intent, Navbar, ProgressBar, Switch } from '@blueprintjs/core';
import { inject, observer } from 'mobx-react'; import { inject, observer } from 'mobx-react';
import * as React from 'react'; import * as React from 'react';
import { app } from '../../ApplicationServices/Application'; import { app } from '../../ApplicationServices/Application';
import { CommandNames } from '../../Common/CommandNames';
import { SignUrl } from '../../Common/HostUrl'; import { SignUrl } from '../../Common/HostUrl';
import { Log } from '../../Common/Log';
import { Post, RequestStatus } from '../../Common/Request'; import { Post, RequestStatus } from '../../Common/Request';
import { Entity } from '../../DatabaseServices/Entity/Entity';
import { commandMachine } from '../../Editor/CommandMachine'; import { commandMachine } from '../../Editor/CommandMachine';
import { CommandState } from '../../Editor/CommandState'; import { CommandState } from '../../Editor/CommandState';
import { SnapMenuFixed } from '../../Editor/SnapMenuFixed'; import { SnapMenuFixed } from '../../Editor/SnapMenuFixed';
import { TempEditor } from '../../Editor/TempEditor';
import { DownPanelStore } from '../Store/DownPanelStore'; import { DownPanelStore } from '../Store/DownPanelStore';
import { TopPanelStore } from '../Store/TopPanelStore'; import { TopPanelStore } from '../Store/TopPanelStore';
import { userConfigStore } from '../Store/UserConfigStore';
import { AppConfirm } from './Common/Confirm';
import { SettingPanel } from './SettingPanel/SettingPanel'; import { SettingPanel } from './SettingPanel/SettingPanel';
import SoucePanel from './SourceManage/SoucePanel'; import SoucePanel from './SourceManage/SoucePanel';
import { AppToaster } from './Toaster'; import { AppToaster } from './Toaster';
import { CommandNames } from '../../Common/CommandNames';
import { userConfigStore } from '../Store/UserConfigStore';
import { TempEditor } from '../../Editor/TempEditor';
import { Log } from '../../Common/Log';
import { Entity } from '../../DatabaseServices/Entity/Entity';
import { AppConfirm } from './Common/Confirm';
interface TopPanelState interface TopPanelState
{ {
@ -259,7 +259,7 @@ export class DownPanel extends React.Component<{ store?: DownPanelStore; }, {}>
/> />
<Switch <Switch
checked={this.props.store.useDynSnap} checked={this.props.store.useDynSnap}
label="动态捕捉" label="动态捕捉(F3)"
data-key="useDynSnap" data-key="useDynSnap"
onChange={this.handleChange} onChange={this.handleChange}
style={switchStyle} style={switchStyle}
@ -275,7 +275,7 @@ export class DownPanel extends React.Component<{ store?: DownPanelStore; }, {}>
/> />
<Switch <Switch
checked={this.props.store.useOrtho} checked={this.props.store.useOrtho}
label="正交" label="正交(F8)"
data-key="useOrtho" data-key="useOrtho"
onChange={this.handleChange} onChange={this.handleChange}
style={switchStyle} style={switchStyle}
@ -300,7 +300,7 @@ export class DownPanel extends React.Component<{ store?: DownPanelStore; }, {}>
</div> </div>
<Switch <Switch
checked={this.props.store.isLayout} checked={this.props.store.isLayout}
label="切换布局" label="切换布局(Ctrl+B)"
data-key="isLayout" data-key="isLayout"
onChange={this.handleChange} onChange={this.handleChange}
style={switchStyle} style={switchStyle}

@ -41,7 +41,7 @@ export interface ISnapData
/** /**
* . * .
*/ */
export class DownPanelStore extends Singleton export class DownPanelStore
{ {
private _version = 1; private _version = 1;
@observable useDynInput: boolean = true; @observable useDynInput: boolean = true;
@ -113,8 +113,6 @@ export class DownPanelStore extends Singleton
private timeId: NodeJS.Timeout; private timeId: NodeJS.Timeout;
private constructor() private constructor()
{ {
super();
xaop.begin(app.Editor.MouseCtrl, app.Editor.MouseCtrl.updateWordPoint, () => xaop.begin(app.Editor.MouseCtrl, app.Editor.MouseCtrl.updateWordPoint, () =>
{ {
this.posEl.innerText = PointToString(app.Editor.MouseCtrl._CurMousePointWCS); this.posEl.innerText = PointToString(app.Editor.MouseCtrl._CurMousePointWCS);
@ -134,6 +132,15 @@ export class DownPanelStore extends Singleton
app.LayoutTool.Switch(); app.LayoutTool.Switch();
}); });
} }
private static _SingleInstance: DownPanelStore;
static GetInstance(): DownPanelStore
{
if (this._SingleInstance) return this._SingleInstance;
this._SingleInstance = new DownPanelStore;
return this._SingleInstance;
}
get Config() get Config()
{ {
return { return {

Loading…
Cancel
Save