mirror of
https://gitee.com/hoslay/ddei-editor.git
synced 2025-12-06 17:18:36 +08:00
91 lines
4.1 KiB
TypeScript
91 lines
4.1 KiB
TypeScript
import {DDeiPluginBase} from "ddei-framework";
|
|
import DDeiKeyActionAllSelect from "./actions/key-action-all-select"
|
|
import DDeiKeyActionBrushData from "./actions/key-action-brushdata"
|
|
import DDeiKeyActionCancelCompose from "./actions/key-action-cancel-compose"
|
|
import DDeiKeyActionCancelControlCreate from "./actions/key-action-cancel-control-create"
|
|
import DDeiKeyActionCancelCurrentAction from "./actions/key-action-cancel-current-action"
|
|
import DDeiKeyActionCancelQuickEdit from "./actions/key-action-cancel-quick-edit"
|
|
import DDeiKeyActionCancelSelect from "./actions/key-action-cancel-select"
|
|
import DDeiKeyActionClearBrushData from "./actions/key-action-clear-brushdata"
|
|
import DDeiKeyActionCloseDialog from "./actions/key-action-close-dialog"
|
|
import DDeiKeyActionCompose from "./actions/key-action-compose"
|
|
import DDeiKeyActionCopy from "./actions/key-action-copy"
|
|
import DDeiKeyActionCopyImage from "./actions/key-action-copy-image"
|
|
import DDeiKeyActionCut from "./actions/key-action-cut"
|
|
import DDeiKeyActionEnterQuickEdit from "./actions/key-action-enter-quick-edit"
|
|
import DDeiKeyActionMoveModels from "./actions/key-action-move-models"
|
|
import DDeiKeyActionPaste from "./actions/key-action-paste"
|
|
import DDeiKeyActionPushModels from "./actions/key-action-push-models"
|
|
import DDeiKeyActionNewRowQuickEdit from "./actions/key-action-quick-editor-newrow"
|
|
import DDeiKeyActionRemoveModels from "./actions/key-action-remove-models"
|
|
import DDeiKeyActionReRevoke from "./actions/key-action-rerevoke"
|
|
import DDeiKeyActionRevoke from "./actions/key-action-revoke"
|
|
import DDeiKeyActionSaveFile from "./actions/key-action-save-file"
|
|
import DDeiKeyActionStartQuickEdit from "./actions/key-action-start-quick-edit"
|
|
import DDeiKeyActionTableNextCol from "./actions/key-action-table-next-col"
|
|
import DDeiKeyActionTableNextRow from "./actions/key-action-table-next-row"
|
|
|
|
/**
|
|
* 快捷键扩展
|
|
*/
|
|
class DDeiCoreHotkeys extends DDeiPluginBase{
|
|
|
|
type: string = "package"
|
|
/**
|
|
* 缺省实例
|
|
*/
|
|
static defaultIns:DDeiCoreHotkeys = new DDeiCoreHotkeys(null);
|
|
|
|
|
|
plugins: object[] = [DDeiKeyActionAllSelect, DDeiKeyActionBrushData, DDeiKeyActionCancelCompose, DDeiKeyActionCancelControlCreate,
|
|
DDeiKeyActionCancelCurrentAction, DDeiKeyActionCancelQuickEdit, DDeiKeyActionCancelSelect,
|
|
DDeiKeyActionClearBrushData, DDeiKeyActionCloseDialog, DDeiKeyActionCompose,
|
|
DDeiKeyActionCopy, DDeiKeyActionCopyImage, DDeiKeyActionCut,
|
|
DDeiKeyActionEnterQuickEdit, DDeiKeyActionMoveModels, DDeiKeyActionReRevoke,
|
|
DDeiKeyActionRevoke, DDeiKeyActionSaveFile, DDeiKeyActionStartQuickEdit,
|
|
DDeiKeyActionTableNextCol, DDeiKeyActionTableNextRow, DDeiKeyActionPaste,
|
|
DDeiKeyActionPushModels, DDeiKeyActionNewRowQuickEdit, DDeiKeyActionRemoveModels
|
|
]
|
|
|
|
|
|
getHotKeys(editor){
|
|
let hotkeys = []
|
|
this.plugins?.forEach(plugin=>{
|
|
let ls
|
|
if (DDeiPluginBase.isSubclass(plugin, DDeiPluginBase)) {
|
|
ls = plugin.defaultIns.getHotKeys(editor);
|
|
} else if (plugin instanceof DDeiPluginBase) {
|
|
ls = plugin.getHotKeys(editor);
|
|
}
|
|
|
|
if (ls?.length > 0) {
|
|
hotkeys = hotkeys.concat(ls);
|
|
}
|
|
})
|
|
return hotkeys
|
|
}
|
|
|
|
|
|
static configuration(options) {
|
|
let hotkeys = new DDeiCoreHotkeys(options);
|
|
for (let i = 0; i < hotkeys.plugins?.length;i++){
|
|
hotkeys.plugins[i] = hotkeys.plugins[i].configuration(options,true)
|
|
}
|
|
return hotkeys;
|
|
}
|
|
|
|
static modify(fn) {
|
|
return DDeiCoreHotkeys.defaultIns.modify(fn)
|
|
}
|
|
}
|
|
export {
|
|
DDeiCoreHotkeys, DDeiKeyActionAllSelect, DDeiKeyActionBrushData, DDeiKeyActionCancelCompose, DDeiKeyActionCancelControlCreate,
|
|
DDeiKeyActionCancelCurrentAction, DDeiKeyActionCancelQuickEdit, DDeiKeyActionCancelSelect,
|
|
DDeiKeyActionClearBrushData, DDeiKeyActionCloseDialog, DDeiKeyActionCompose,
|
|
DDeiKeyActionCopy, DDeiKeyActionCopyImage, DDeiKeyActionCut,
|
|
DDeiKeyActionEnterQuickEdit, DDeiKeyActionMoveModels, DDeiKeyActionReRevoke,
|
|
DDeiKeyActionRevoke, DDeiKeyActionSaveFile, DDeiKeyActionStartQuickEdit,
|
|
DDeiKeyActionTableNextCol, DDeiKeyActionTableNextRow, DDeiKeyActionPaste,
|
|
DDeiKeyActionPushModels, DDeiKeyActionNewRowQuickEdit, DDeiKeyActionRemoveModels
|
|
}
|
|
export default DDeiCoreHotkeys |