diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index 8731a3f9..21743fb4 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -63,9 +63,7 @@ export default class EntryAbility extends UIAbility { console.error(`Failed to obtain the main window. Code: ${err.code}, message: ${err.message}`); return; } - if(!RunEnvCheck(data)){ - this.context.terminateSelf(); - } + RunEnvCheck(data); mdwInfo.win = data; mdwInfo.winId =data.getWindowProperties().id; //moveWindowTo diff --git a/entry/src/main/ets/pages/customcontroller/Button.ets b/entry/src/main/ets/pages/customcontroller/Button.ets index 19a3a75d..70ebb6d7 100644 --- a/entry/src/main/ets/pages/customcontroller/Button.ets +++ b/entry/src/main/ets/pages/customcontroller/Button.ets @@ -1,6 +1,6 @@ import { hilog } from '@kit.PerformanceAnalysisKit'; import { Execute } from '../eventhub/EventBase'; -import { TitleTabData } from '../layout/TitleTabData'; +import { TitleEditBars } from '../layout/TitleEditBars'; import { mdwInfo } from '../displaywindowinfo/DispWinInfo' import { TitleModel, @@ -26,7 +26,7 @@ export struct EventBtn { //普通功能按钮调用的数据 @Param eventBtn: TitleButton | undefined = undefined; //模块切换模块按钮数据 - @Consumer('curtModel') curtModel: Array | undefined = TitleTabData.mModels.get(0) + @Consumer('curtModel') curtModel: Array | undefined = TitleEditBars.mModels.get(0) @Builder build() { @@ -48,11 +48,11 @@ export struct EventBtn { Execute(this.eventBtn as TitleButton); }else{ if (this.eventBtn?.btnEvent.command == 'Switch_Model_CAD') { - this.curtModel = TitleTabData.mModels.get(1) + this.curtModel = TitleEditBars.mModels.get(1) } else if (this.eventBtn?.btnEvent.command == 'Switch_Model_CAM') { - this.curtModel = TitleTabData.mModels.get(2) + this.curtModel = TitleEditBars.mModels.get(2) } else if (this.eventBtn?.btnEvent.command == 'Switch_Model_CAE') { - this.curtModel = TitleTabData.mModels.get(3) + this.curtModel = TitleEditBars.mModels.get(3) } } }) diff --git a/entry/src/main/ets/pages/customcontroller/Dialog.ets b/entry/src/main/ets/pages/customcontroller/Dialog.ets index 8734737c..1bc2a554 100644 --- a/entry/src/main/ets/pages/customcontroller/Dialog.ets +++ b/entry/src/main/ets/pages/customcontroller/Dialog.ets @@ -1,7 +1,7 @@ import { mdwInfo } from '../displaywindowinfo/DispWinInfo' import { Execute } from "../eventhub/EventBase"; import { TitleButton } from "../interface/Interface"; -import {SwitchView} from "../layout/SwitchView" +import {SwitchView} from "../layout/SubColumn" //按钮统一尺寸,该按钮为正方形,所以以主窗口宽为基准,长=高->正方形 let ebWidth=mdwInfo.winWidth*0.02; diff --git a/entry/src/main/ets/pages/eventhub/EventBase.ets b/entry/src/main/ets/pages/eventhub/EventBase.ets index 5d53d8e9..80799a28 100644 --- a/entry/src/main/ets/pages/eventhub/EventBase.ets +++ b/entry/src/main/ets/pages/eventhub/EventBase.ets @@ -3,6 +3,7 @@ import { CreateXCompNode } from './XCompMgr'; import { mdwInfo } from '../displaywindowinfo/DispWinInfo'; import { window } from '@kit.ArkUI'; import { common, StartOptions,Want } from "@kit.AbilityKit"; +import { picker } from '@kit.CoreFileKit'; import NativeOpenCAX from 'libopencax.so'; import { @@ -60,6 +61,17 @@ export function CurrentTime():string { return`${year}-${month}-${date} ${hours}:${minutes}:${seconds}`; } +export function PickFile(suffix:Array):string{ + let fileStr:string=''; + let documentPicker = new picker.DocumentViewPicker(); + let documentSelectOptions = new picker.DocumentSelectOptions(); + documentSelectOptions.selectMode=picker.DocumentSelectMode.FILE; + documentSelectOptions.fileSuffixFilters=suffix; + documentPicker.select(documentSelectOptions,(err: BusinessError,documentSelectResult: Array) => { + fileStr =documentSelectResult.toString(); + }) + return fileStr; +} //执行事件 export function Execute(event:TitleButton){ if(event.btnEvent.type==EventType.EVENT){ @@ -79,9 +91,7 @@ export function EventExecute(event:TitleButton){ } if(event?.btnEvent.command=='Create_New'){ CreateXCompNode(""); - } - //视图切换 - if(event?.btnEvent.command=='CMD_VIEW_FRONT'){ + }else if(event?.btnEvent.command=='CMD_VIEW_FRONT'){ NativeOpenCAX.switchView("CMD_VIEW_FRONT"); }else if(event?.btnEvent.command=='CMD_VIEW_TOP'){ NativeOpenCAX.switchView("CMD_VIEW_TOP"); @@ -97,54 +107,14 @@ export function EventExecute(event:TitleButton){ NativeOpenCAX.switchView("CMD_VIEW_ISO"); }else if(event?.btnEvent.command=='CMD_VIEW_DIM'){ NativeOpenCAX.switchView("CMD_VIEW_DIM"); + }else if(event?.btnEvent.command=='CMD_OPEN_FILE'){ + let suffix:Array=['step','stp','prt'] + PickFile(suffix); } } //事件类型:页面 export function EventPage(event:TitleButton){ - if(event?.btnEvent.command=='Page_NewFile') { - const winInfo: SubWinInfo = new SubWinInfo(event.btnName, event.btnEvent.page, mdwInfo.winWidth * 0.4, mdwInfo.winHeight * 0.4); - CreateAndShowSubWindow(winInfo); - } else if(event?.btnEvent.command=='Page_OpenFile'){ - const winInfo:SubWinInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.4,mdwInfo.winHeight*0.4); - CreateAndShowSubWindow(winInfo); - }else if(event?.btnEvent.command=='Page_SaveAsFile'){ - const winInfo:SubWinInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.4,mdwInfo.winHeight*0.4); - CreateAndShowSubWindow(winInfo); - } else if(event?.btnEvent.command=='Page_ImportFile'){ - const winInfo:SubWinInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.4,mdwInfo.winHeight*0.4); - CreateAndShowSubWindow(winInfo); - }else if(event?.btnEvent.command=='Page_ExportFile'){ - const winInfo:SubWinInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.4,mdwInfo.winHeight*0.4); - CreateAndShowSubWindow(winInfo); - }else if(event?.btnEvent.command=='Page_Options'){ - const winInfo:SubWinInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.6,mdwInfo.winHeight*0.8); - CreateAndShowSubWindow(winInfo); - } -} -//事件类型:子窗体 -export function EventWin(event:TitleButton){ - let winInfo: SubWinInfo=new SubWinInfo; - if(event?.btnEvent.command=='Page_NewFile') { - winInfo = new SubWinInfo(event.btnName, event.btnEvent.page, mdwInfo.winWidth * 0.4, mdwInfo.winHeight * 0.4); - } else if(event?.btnEvent.command=='Page_OpenFile'){ - winInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.4,mdwInfo.winHeight*0.4); - }else if(event?.btnEvent.command=='Page_SaveAsFile'){ - winInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.4,mdwInfo.winHeight*0.4); - } else if(event?.btnEvent.command=='Page_ImportFile'){ - winInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.4,mdwInfo.winHeight*0.4); - }else if(event?.btnEvent.command=='Page_ExportFile'){ - winInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.4,mdwInfo.winHeight*0.4); - }else if(event?.btnEvent.command=='Page_Options'){ - winInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.6,mdwInfo.winHeight*0.8); - } - EventCreateWin().then((result) => { - //执行订阅命令,加载Sub Window参数 - if(result){ - let context =mdwInfo.win?.getUIContext().getHostContext()?.getApplicationContext(); - context?.eventHub.emit('InitSubWindow',winInfo); - } - }); } @@ -196,3 +166,29 @@ async function EventCreateWin(): Promise{ return false; } } + +//事件类型:子窗体 +export function EventWin(event:TitleButton){ + let winInfo: SubWinInfo=new SubWinInfo; + if(event?.btnEvent.command=='Page_NewFile') { + winInfo = new SubWinInfo(event.btnName, event.btnEvent.page, mdwInfo.winWidth * 0.4, mdwInfo.winHeight * 0.4); + }else if(event?.btnEvent.command=='Page_SaveAsFile'){ + winInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.4,mdwInfo.winHeight*0.4); + } else if(event?.btnEvent.command=='Page_ImportFile'){ + winInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.4,mdwInfo.winHeight*0.4); + }else if(event?.btnEvent.command=='Page_ExportFile'){ + winInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.4,mdwInfo.winHeight*0.4); + }else if(event?.btnEvent.command=='Page_Options'){ + winInfo=new SubWinInfo(event.btnName,event.btnEvent.page,mdwInfo.winWidth*0.6,mdwInfo.winHeight*0.8); + } + EventCreateWin().then((result) => { + //执行订阅命令,加载Sub Window参数 + if(result){ + let context =mdwInfo.win?.getUIContext().getHostContext()?.getApplicationContext(); + context?.eventHub.emit('InitSubWindow',winInfo); + } + }); + +} + + diff --git a/entry/src/main/ets/pages/layout/CAD.ets b/entry/src/main/ets/pages/layout/CAD.ets index d6320292..b9e2aad9 100644 --- a/entry/src/main/ets/pages/layout/CAD.ets +++ b/entry/src/main/ets/pages/layout/CAD.ets @@ -1,4 +1,4 @@ -import { TitleDefaultBars } from './TitleDefaultBars' +import { TitleDefBars } from './TitleDefBars' import { GroupActionMenu } from "./GroupAction"; import { MatrixModel ,DevModel} from "./MatrixModel"; @@ -10,7 +10,7 @@ import { } from "../interface/Interface"; export let TitleCAD:Array=[ - TitleDefaultBars[0], + TitleDefBars[0], {cmName:'建模',cmPage:'',cmTips:'',cmEvents: [ //数组表示非单个BtnEvent [ diff --git a/entry/src/main/ets/pages/layout/CAE.ets b/entry/src/main/ets/pages/layout/CAE.ets index 27e37c75..7474629c 100644 --- a/entry/src/main/ets/pages/layout/CAE.ets +++ b/entry/src/main/ets/pages/layout/CAE.ets @@ -1,4 +1,4 @@ -import {TitleDefaultBars} from './TitleDefaultBars' +import {TitleDefBars} from './TitleDefBars' import { GroupActionMenu } from "./GroupAction"; import { MatrixModel ,DevModel} from "./MatrixModel"; import { @@ -10,7 +10,7 @@ import { } from "../interface/Interface"; export let TitleCAE:Array=[ - TitleDefaultBars[0], + TitleDefBars[0], {cmName:'仿真',cmPage:'',cmTips:'',cmEvents: [ //数组表示非单个BtnEvent [ @@ -32,7 +32,7 @@ export let TitleCAE:Array=[ MatrixModel, DevModel ] -export let TitleCAM:Array=[TitleDefaultBars[0], +export let TitleCAM:Array=[TitleDefBars[0], {cmName:'仿真',cmPage:'',cmTips:'',cmEvents: [ //数组表示非单个BtnEvent [ diff --git a/entry/src/main/ets/pages/layout/CAM.ets b/entry/src/main/ets/pages/layout/CAM.ets index 44237c47..a6a594f4 100644 --- a/entry/src/main/ets/pages/layout/CAM.ets +++ b/entry/src/main/ets/pages/layout/CAM.ets @@ -1,4 +1,4 @@ -import {TitleDefaultBars} from './TitleDefaultBars' +import {TitleDefBars} from './TitleDefBars' import { GroupActionMenu } from "./GroupAction"; import { MatrixModel,DevModel } from "./MatrixModel"; import { @@ -10,7 +10,7 @@ import { } from "../interface/Interface"; export let TitleCAM:Array=[ - TitleDefaultBars[0], + TitleDefBars[0], {cmName:'加工',cmPage:'',cmTips:'',cmEvents: [ //数组表示非单个BtnEvent [ diff --git a/entry/src/main/ets/pages/layout/DisplayMode.ets b/entry/src/main/ets/pages/layout/DisplayMode.ets deleted file mode 100644 index 15bc799b..00000000 --- a/entry/src/main/ets/pages/layout/DisplayMode.ets +++ /dev/null @@ -1,20 +0,0 @@ -import { - TitleButton , - ModelType, - EventType -} from "../interface/Interface"; - -//视图选择布局数据 -export let DisplayMode:Array=[ - {btnModel:[ModelType.BASE],btnName:"线框",btnNamed:"",btnIcon:"display_hidden_line_invisible",btnTips:"正三轴测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"静态线框",btnNamed:"",btnIcon:"display_hidden_line_normal",btnTips:"正三轴测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"淡化边界线",btnNamed:"",btnIcon:"display_hidden_line_dim",btnTips:"正三轴测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"隐藏虚线",btnNamed:"",btnIcon:"display_hidden_line_dashed",btnTips:"正三轴测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"显示面边界线",btnNamed:"",btnIcon:"display_shade_show_edges",btnTips:"正三轴测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"显示小平面边界线",btnNamed:"",btnIcon:"display_shade_show_facet_edges",btnTips:"俯视图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"显示选择隐藏面",btnNamed:"",btnIcon:"display_select_hidden_faces",btnTips:"左视图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"显示选择隐藏线框",btnNamed:"",btnIcon:"display_select_hidden_wireframe",btnTips:"前视图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"着色",btnNamed:"",btnIcon:"display_shade",btnTips:"正等测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, -] - -export {TitleButton ,ModelType,EventType} \ No newline at end of file diff --git a/entry/src/main/ets/pages/layout/FileMenuData.ets b/entry/src/main/ets/pages/layout/FileMenuData.ets deleted file mode 100644 index a197d978..00000000 --- a/entry/src/main/ets/pages/layout/FileMenuData.ets +++ /dev/null @@ -1,8 +0,0 @@ -import {BaseMenuData } from "../interface/Interface"; -import { TitleTabData } from "./TitleTabData"; - -//文件菜单数据初始化 -export let FileMenuData:BaseMenuData= { - aMenus: TitleTabData.mFileModel[0][0].grpBtn, - aIndex: 0 -}; \ No newline at end of file diff --git a/entry/src/main/ets/pages/layout/LayoutSwitch.ets b/entry/src/main/ets/pages/layout/LayoutSwitch.ets deleted file mode 100644 index 536c11e3..00000000 --- a/entry/src/main/ets/pages/layout/LayoutSwitch.ets +++ /dev/null @@ -1,16 +0,0 @@ -import { - TitleButton , - ModelType, - EventType -} from "../interface/Interface"; - -//视图选择布局数据 -export let LayoutSwitch:Array=[ - {btnModel:[ModelType.BASE],btnName:"图层设置",btnNamed:"",btnIcon:"layer_settings",btnTips:"图层设置",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"视图中可见图层",btnNamed:"",btnIcon:"layer_vis_in_view",btnTips:"视图中可见图层",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"图层类别",btnNamed:"",btnIcon:"layer_category",btnTips:"图层类别",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"移至图层",btnNamed:"",btnIcon:"layer_move_to",btnTips:"移至图层",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"复制至图层",btnNamed:"",btnIcon:"layer_copy_to",btnTips:"复制至图层",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}} -] - -export {TitleButton ,ModelType,EventType} \ No newline at end of file diff --git a/entry/src/main/ets/pages/layout/MatrixModel.ets b/entry/src/main/ets/pages/layout/MatrixModel.ets index 01bf9570..1829a852 100644 --- a/entry/src/main/ets/pages/layout/MatrixModel.ets +++ b/entry/src/main/ets/pages/layout/MatrixModel.ets @@ -1,5 +1,5 @@ import { GroupActionMenu } from './GroupAction' -import { GetEventsPage } from '../EventsPages' +import { GetEventsPage } from '../subpages/MapPages' import { ModelType, EventType, diff --git a/entry/src/main/ets/pages/layout/SelectionFilter.ets b/entry/src/main/ets/pages/layout/SelectionFilter.ets deleted file mode 100644 index fb4d8c41..00000000 --- a/entry/src/main/ets/pages/layout/SelectionFilter.ets +++ /dev/null @@ -1,19 +0,0 @@ -import { - TitleButton, - ModelType, - EventType -} from "../interface/Interface"; - -//拾取器过滤布局数据 -export let SelectionFilter:Array=[ - {btnModel:[ModelType.BASE],btnName:'实体特征',btnNamed:'',btnIcon:'',btnTips:'实体特征',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:'曲线特征',btnNamed:'',btnIcon:'',btnTips:'曲线特征',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:'加工特征',btnNamed:'',btnIcon:'',btnTips:'加工特征',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:'基准',btnNamed:'',btnIcon:'',btnTips:'基准',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:'边',btnNamed:'',btnIcon:'',btnTips:'边',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:'面',btnNamed:'',btnIcon:'',btnTips:'面',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:'线',btnNamed:'',btnIcon:'',btnTips:'线',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:'视图',btnNamed:'',btnIcon:'',btnTips:'视图',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:'图像',btnNamed:'',btnIcon:'',btnTips:'图像',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}} -] - diff --git a/entry/src/main/ets/pages/layout/SubColumn.ets b/entry/src/main/ets/pages/layout/SubColumn.ets new file mode 100644 index 00000000..21439252 --- /dev/null +++ b/entry/src/main/ets/pages/layout/SubColumn.ets @@ -0,0 +1,64 @@ +import { + TitleButton , + ModelType, + EventType, + BaseMenuData +} from "../interface/Interface"; + +import { TitleEditBars } from "./TitleEditBars"; + +//文件菜单数据初始化 +export let FileMenu:BaseMenuData= { + aMenus: TitleEditBars.mFileModel[0][0].grpBtn, + aIndex: 0 +}; + +//图层切换 +export let SwitchLayout:Array=[ + {btnModel:[ModelType.BASE],btnName:"图层设置",btnNamed:"",btnIcon:"layer_settings",btnTips:"图层设置",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"视图中可见图层",btnNamed:"",btnIcon:"layer_vis_in_view",btnTips:"视图中可见图层",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"图层类别",btnNamed:"",btnIcon:"layer_category",btnTips:"图层类别",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"移至图层",btnNamed:"",btnIcon:"layer_move_to",btnTips:"移至图层",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"复制至图层",btnNamed:"",btnIcon:"layer_copy_to",btnTips:"复制至图层",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}} +] + +//视图切换文本和icon +export let SwitchView:Array=[ + {btnModel:[ModelType.BASE],btnName:"正等测图",btnNamed:"",btnIcon:"base_view_tfr_iso",btnTips:"正等测图",btnEvent:{uid:'',command:'CMD_VIEW_ISO',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"俯视图",btnNamed:"",btnIcon:"base_view_top",btnTips:"俯视图",btnEvent:{uid:'',command:'CMD_VIEW_TOP',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"正二轴测图",btnNamed:"",btnIcon:"base_view_tfr_tri",btnTips:"正二轴测图",btnEvent:{uid:'',command:'CMD_VIEW_DIM',page:'',type:EventType.EVENT,args:[]}}, + + {btnModel:[ModelType.BASE],btnName:"左视图",btnNamed:"",btnIcon:"base_view_left",btnTips:"左视图",btnEvent:{uid:'',command:'CMD_VIEW_LEFT_SIDE',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"前视图",btnNamed:"",btnIcon:"base_view_front",btnTips:"前视图",btnEvent:{uid:'',command:'CMD_VIEW_FRONT',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"右视图",btnNamed:"",btnIcon:"base_view_right",btnTips:"右视图",btnEvent:{uid:'',command:'CMD_VIEW_RIGHT_SIDE',page:'',type:EventType.EVENT,args:[]}}, + + {btnModel:[ModelType.BASE],btnName:"后视图",btnNamed:"",btnIcon:"base_view_back",btnTips:"后视图",btnEvent:{uid:'',command:'CMD_VIEW_REAR',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"仰视图",btnNamed:"",btnIcon:"base_view_bottom",btnTips:"仰视图",btnEvent:{uid:'',command:'CMD_VIEW_BOTTOM',page:'',type:EventType.EVENT,args:[]}}, +] + +//视图渲染类型文本和cion +export let SwitchDisplayMode:Array=[ + {btnModel:[ModelType.BASE],btnName:"线框",btnNamed:"",btnIcon:"display_hidden_line_invisible",btnTips:"正三轴测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"静态线框",btnNamed:"",btnIcon:"display_hidden_line_normal",btnTips:"正三轴测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"淡化边界线",btnNamed:"",btnIcon:"display_hidden_line_dim",btnTips:"正三轴测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"隐藏虚线",btnNamed:"",btnIcon:"display_hidden_line_dashed",btnTips:"正三轴测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"显示面边界线",btnNamed:"",btnIcon:"display_shade_show_edges",btnTips:"正三轴测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"显示小平面边界线",btnNamed:"",btnIcon:"display_shade_show_facet_edges",btnTips:"俯视图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"显示选择隐藏面",btnNamed:"",btnIcon:"display_select_hidden_faces",btnTips:"左视图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"显示选择隐藏线框",btnNamed:"",btnIcon:"display_select_hidden_wireframe",btnTips:"前视图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:"着色",btnNamed:"",btnIcon:"display_shade",btnTips:"正等测图",btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, +] +//拾取器过滤文本和icon +export let SwitchSelectFilter:Array=[ + {btnModel:[ModelType.BASE],btnName:'实体特征',btnNamed:'',btnIcon:'',btnTips:'实体特征',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:'曲线特征',btnNamed:'',btnIcon:'',btnTips:'曲线特征',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:'加工特征',btnNamed:'',btnIcon:'',btnTips:'加工特征',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:'基准',btnNamed:'',btnIcon:'',btnTips:'基准',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:'边',btnNamed:'',btnIcon:'',btnTips:'边',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:'面',btnNamed:'',btnIcon:'',btnTips:'面',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:'线',btnNamed:'',btnIcon:'',btnTips:'线',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:'视图',btnNamed:'',btnIcon:'',btnTips:'视图',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:'图像',btnNamed:'',btnIcon:'',btnTips:'图像',btnEvent:{uid:'',command:'',page:'',type:EventType.EVENT,args:[]}} +] + + diff --git a/entry/src/main/ets/pages/layout/SwitchView.ets b/entry/src/main/ets/pages/layout/SwitchView.ets deleted file mode 100644 index 519102f7..00000000 --- a/entry/src/main/ets/pages/layout/SwitchView.ets +++ /dev/null @@ -1,19 +0,0 @@ -import { - TitleButton, - ModelType, - EventType -} from "../interface/Interface"; - -//视图选择布局数据 -export let SwitchView:Array=[ - {btnModel:[ModelType.BASE],btnName:"正等测图",btnNamed:"",btnIcon:"base_view_tfr_iso",btnTips:"正等测图",btnEvent:{uid:'',command:'CMD_VIEW_ISO',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"俯视图",btnNamed:"",btnIcon:"base_view_top",btnTips:"俯视图",btnEvent:{uid:'',command:'CMD_VIEW_TOP',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"正二轴测图",btnNamed:"",btnIcon:"base_view_tfr_tri",btnTips:"正二轴测图",btnEvent:{uid:'',command:'CMD_VIEW_DIM',page:'',type:EventType.EVENT,args:[]}}, - - {btnModel:[ModelType.BASE],btnName:"左视图",btnNamed:"",btnIcon:"base_view_left",btnTips:"左视图",btnEvent:{uid:'',command:'CMD_VIEW_LEFT_SIDE',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"前视图",btnNamed:"",btnIcon:"base_view_front",btnTips:"前视图",btnEvent:{uid:'',command:'CMD_VIEW_FRONT',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"右视图",btnNamed:"",btnIcon:"base_view_right",btnTips:"右视图",btnEvent:{uid:'',command:'CMD_VIEW_RIGHT_SIDE',page:'',type:EventType.EVENT,args:[]}}, - - {btnModel:[ModelType.BASE],btnName:"后视图",btnNamed:"",btnIcon:"base_view_back",btnTips:"后视图",btnEvent:{uid:'',command:'CMD_VIEW_REAR',page:'',type:EventType.EVENT,args:[]}}, - {btnModel:[ModelType.BASE],btnName:"仰视图",btnNamed:"",btnIcon:"base_view_bottom",btnTips:"仰视图",btnEvent:{uid:'',command:'CMD_VIEW_BOTTOM',page:'',type:EventType.EVENT,args:[]}}, -] \ No newline at end of file diff --git a/entry/src/main/ets/pages/layout/TitleDefaultBars.ets b/entry/src/main/ets/pages/layout/TitleDefBars.ets similarity index 89% rename from entry/src/main/ets/pages/layout/TitleDefaultBars.ets rename to entry/src/main/ets/pages/layout/TitleDefBars.ets index 2c1b384a..7f979f96 100644 --- a/entry/src/main/ets/pages/layout/TitleDefaultBars.ets +++ b/entry/src/main/ets/pages/layout/TitleDefBars.ets @@ -1,22 +1,23 @@ import { DevModel, MatrixModel } from "./MatrixModel"; import { GroupActionMenu } from "./GroupAction"; -import { GetEventsPage} from '../EventsPages' +import { GetEventsPage} from '../subpages/MapPages' import { + TitleInterface, + TitleGroup, + TitleModel, TitleButton, ModelType, EventType, - TitleGroup, - TitleModel -} from "../interface/Interface"; +} from '../interface/Interface' -//主页栏目布局数据 -export let TitleDefaultBars:Array= +//初始化TitleDefaultBars内容 +export let TitleDefBars:Array= [ {cmName:'主页',cmPage:'',cmTips:'',cmEvents: [[[{ grpName:'文件', grpBtn: [ {btnModel:[ModelType.BASE],btnName:'新建',btnNamed:'',btnIcon:'base_new_file',btnTips:'新建',btnEvent:{uid:'',command:'Page_NewFile',page:GetEventsPage('Page_NewFile'),type:EventType.WIN,args:[]}}, - {btnModel:[ModelType.BASE],btnName:'打开',btnNamed:'',btnIcon:'base_open_file',btnTips:'打开',btnEvent:{uid:'',command:'Page_OpenFile',page:GetEventsPage('Page_OpenFile'),type:EventType.WIN,args:[]}}, + {btnModel:[ModelType.BASE],btnName:'打开',btnNamed:'',btnIcon:'base_open_file',btnTips:'打开',btnEvent:{uid:'',command:'CMD_OPEN_FILE',page:'',type:EventType.EVENT,args:[]}}, [ {btnModel:[ModelType.BASE],btnName:'保存',btnNamed:'',btnIcon:'base_save_file',btnTips:'保存',btnEvent:{uid:'',command:'CMD_VIEW_ISO',page:'',type:EventType.EVENT,args:[]}}, {btnModel:[ModelType.BASE],btnName:'另存为',btnNamed:'',btnIcon:'base_saveas_file',btnTips:'另存为',btnEvent:{uid:'',command:'Page_SaveAsFile',page:GetEventsPage('Page_SaveAsFile'),type:EventType.WIN,args:[]}}, @@ -31,3 +32,5 @@ export let TitleDefaultBars:Array= MatrixModel, DevModel ] + +export { TitleInterface } diff --git a/entry/src/main/ets/pages/layout/TitleTabData.ets b/entry/src/main/ets/pages/layout/TitleEditBars.ets similarity index 51% rename from entry/src/main/ets/pages/layout/TitleTabData.ets rename to entry/src/main/ets/pages/layout/TitleEditBars.ets index 9338c26d..d03f84bf 100644 --- a/entry/src/main/ets/pages/layout/TitleTabData.ets +++ b/entry/src/main/ets/pages/layout/TitleEditBars.ets @@ -1,23 +1,20 @@ -import { TitleDefaultBars } from './TitleDefaultBars' import {TitleCAD} from './CAD' import {TitleCAM} from './CAM' import {TitleCAE} from './CAE' - +import {TitleDefBars} from './TitleDefBars' import { TitleInterface, TitleGroup, - TitleModel + TitleModel, } from '../interface/Interface' - -//Title栏得布局数据 -export let TitleTabData:TitleInterface= { +//进入某个模块时的内容 +export let TitleEditBars:TitleInterface= { mId:"0", - mFileModel:TitleDefaultBars[0].cmEvents[0] as Array>, + mFileModel:TitleDefBars[0].cmEvents[0] as Array>, mModels:new Map>([ - [0,TitleDefaultBars], + [0,TitleDefBars], [1,TitleCAD], [2,TitleCAM], [3,TitleCAE] ]) -} -export { TitleInterface } +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/runenvcheck/RunEnvCheck.ets b/entry/src/main/ets/pages/runenvcheck/RunEnvCheck.ets index 0006f8c6..ddec9a22 100644 --- a/entry/src/main/ets/pages/runenvcheck/RunEnvCheck.ets +++ b/entry/src/main/ets/pages/runenvcheck/RunEnvCheck.ets @@ -1,19 +1,13 @@ -import { window} from '@kit.ArkUI'; -import { display } from '@kit.ArkUI'; -import { deviceInfo } from '@kit.BasicServicesKit'; - -export function RunEnvCheck(win:window.Window):boolean{ - let resolve:boolean=true; +import { display, window } from '@kit.ArkUI'; +import {MsgTips} from '../subpages/MsgTips' +export function RunEnvCheck(win: window.Window) { //获取屏幕状态,仅仅支持横屏模式.LANDSCAPE(横屏) or LANDSCAPE_INVERTED(反向横屏) - let orientation:number = display.getDefaultDisplaySync().orientation; - if(orientation!=1 && orientation!=3){ - resolve=false; - //TIPS提示横屏 + let orientation: number = display.getDefaultDisplaySync().orientation; + if (orientation != 1 && orientation != 3) { + MsgTips(win,'请切换到<横屏模式>后重试') } - let freeWinState=win.isInFreeWindowMode(); - if(!freeWinState){ - resolve=false; - //TIPS提示开启自由窗口 + let freeWinState = win.isInFreeWindowMode(); + if (!freeWinState) { + MsgTips(win,'请开启<自由窗口模式>后重试') } - return resolve; } \ No newline at end of file diff --git a/entry/src/main/ets/pages/EventsPages.ets b/entry/src/main/ets/pages/subpages/MapPages.ets similarity index 67% rename from entry/src/main/ets/pages/EventsPages.ets rename to entry/src/main/ets/pages/subpages/MapPages.ets index 0dea3bb6..be0762ee 100644 --- a/entry/src/main/ets/pages/EventsPages.ets +++ b/entry/src/main/ets/pages/subpages/MapPages.ets @@ -1,6 +1,5 @@ -let EventsPages: Map = new Map([ +let MapPages: Map = new Map([ ["Page_NewFile", "pages/subpages/file/SWNewFile"], - ["Page_OpenFile", "pages/subpages/file/SWOpenFile"], ["Page_SaveAsFile", "pages/subpages/file/SWSaveAsFile"], ["Page_ImportFile", "pages/subpages/file/SWImportFile"], ["Page_ExportFile", "pages/subpages/file/SWExportFile"], @@ -8,5 +7,5 @@ let EventsPages: Map = new Map([ ]); export function GetEventsPage(key: string): string { - return EventsPages.get(key) || ''; + return MapPages.get(key) || ''; } \ No newline at end of file diff --git a/entry/src/main/ets/pages/subpages/MsgTips.ets b/entry/src/main/ets/pages/subpages/MsgTips.ets new file mode 100644 index 00000000..61419bea --- /dev/null +++ b/entry/src/main/ets/pages/subpages/MsgTips.ets @@ -0,0 +1,97 @@ +import { BusinessError } from '@kit.BasicServicesKit'; +import { ComponentContent, promptAction, UIContext, window } from '@kit.ArkUI'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +const DOMAIN = 0x0000; + +export class PromptAction { + static ctx: UIContext; + static contentNode: ComponentContent; + static options: promptAction.BaseDialogOptions; + + static setContext(context: UIContext) { + PromptAction.ctx = context; + } + + static setContentNode(node: ComponentContent) { + PromptAction.contentNode = node; + } + + static setOptions(options: promptAction.BaseDialogOptions) { + PromptAction.options = options; + } + + static async openDialog() { + if (PromptAction.contentNode !== null) { + try{ + await PromptAction.ctx.getPromptAction().openCustomDialog(PromptAction.contentNode, PromptAction.options); + }catch(error){ + let message = (error as BusinessError).message; + let code = (error as BusinessError).code; + hilog.error(DOMAIN, 'testTag', 'testTag', 'CloseCustomDialog args error code is ${code}, message is ${message}'); + } + } + } + + static async closeDialog() { + if (PromptAction.contentNode !== null) { + try{ + await PromptAction.ctx.getPromptAction().closeCustomDialog(PromptAction.contentNode); + }catch(error){ + let message = (error as BusinessError).message; + let code = (error as BusinessError).code; + hilog.error(DOMAIN, 'testTag', 'testTag', 'CloseCustomDialog args error code is ${code}, message is ${message}'); + } + } + } + + static closeDialogAndDispose() { + PromptAction.ctx.getPromptAction().closeCustomDialog(PromptAction.contentNode) + .then(() => { + hilog.info(DOMAIN, 'testTag', 'testTag', 'CloseCustomDialog complete.g complete.'); + if (PromptAction.contentNode !== null) { + PromptAction.contentNode.dispose(); // 释放contentNode + } + }) + .catch((error: BusinessError) => { + let message = (error as BusinessError).message; + let code = (error as BusinessError).code; + hilog.error(DOMAIN, 'testTag', 'testTag', 'CloseCustomDialog args error code is ${code}, message is ${message}'); + }) + } + static updateDialog(options: promptAction.BaseDialogOptions) { + if (PromptAction.contentNode !== null) { + PromptAction.ctx.getPromptAction().updateCustomDialog(PromptAction.contentNode, options) + .then(() => { + hilog.info(DOMAIN, 'testTag', 'testTag', 'UpdateCustomDialog complete.'); + }) + .catch((error: BusinessError) => { + let message = (error as BusinessError).message; + let code = (error as BusinessError).code; + hilog.error(DOMAIN, 'testTag', 'testTag', 'UpdateCustomDialog args error code is ${code}, message is ${message}'); + }) + } + } +} + +@Builder +function MsgTipsDialog(tipStr: string) { + Column() { + Text(tipStr) + .fontSize(50) + .fontWeight(FontWeight.Bold) + .margin({ bottom: 36 }) + Button('Close') + .onClick(() => { + PromptAction.closeDialog(); + }) + }.backgroundColor('#FFF0F0F0') +} + +export function MsgTips(win:window.Window,msgStr:string){ + let ctx = win.getUIContext(); + let contentNode: ComponentContent = new ComponentContent(ctx, wrapBuilder(MsgTipsDialog), msgStr); + PromptAction.setContext(ctx); + PromptAction.setContentNode(contentNode); + PromptAction.setOptions({ alignment: DialogAlignment.Top, offset: { dx: 0, dy: 50 } }); + PromptAction.openDialog(); +} diff --git a/entry/src/main/ets/pages/titletabs/TitleColumnSub.ets b/entry/src/main/ets/pages/titletabs/TitleColumnSub.ets index 6dc81f24..b7d370ed 100644 --- a/entry/src/main/ets/pages/titletabs/TitleColumnSub.ets +++ b/entry/src/main/ets/pages/titletabs/TitleColumnSub.ets @@ -1,14 +1,15 @@ import { TextComboBox,TextInputComboBox } from "../customcontroller/ComboBox"; import { TitleButton } from "../interface/Interface"; import { ViewDialog } from "../customcontroller/Dialog" -import { SwitchView } from "../layout/SwitchView"; -import {SelectionFilter} from "../layout/SelectionFilter" -import {DisplayMode} from "../layout/DisplayMode" -import { LayoutSwitch } from "../layout/LayoutSwitch"; -import { FileMenuData } from "../layout/FileMenuData"; import { mdwInfo } from '../displaywindowinfo/DispWinInfo' -import { SubColumnMenu} from "../customcontroller/Button"; - +import { SubColumnMenu} from "../customcontroller/Button" +import { + FileMenu, + SwitchLayout, + SwitchView, + SwitchDisplayMode, + SwitchSelectFilter +} from '../layout/SubColumn' @ComponentV2 export struct TitleColumnSub { @Local layerArray: Array = []; @@ -35,15 +36,15 @@ export struct TitleColumnSub { build(){ Row({space:5}){ SubColumnMenu({ - menus:FileMenuData.aMenus as Array, icon:'base_shortcut_menu',name:'菜单'}) + menus:FileMenu.aMenus as Array, icon:'base_shortcut_menu',name:'菜单'}) .margin({ top:0, left: 5, bottom: 0, right: 0 }) Text('|') .fontSize(16) - TextComboBox({name:'拾取类型:',menu:SelectionFilter}) + TextComboBox({name:'拾取类型:',menu:SwitchSelectFilter}) Text('图层:') .fontSize(16) TextInputComboBox({menu:this.layerArray}).width('10%') - SubColumnMenu({menus:LayoutSwitch}) + SubColumnMenu({menus:SwitchLayout}) //视角弹窗 Button().onClick((event) => { this.dX=event.windowX @@ -61,11 +62,16 @@ export struct TitleColumnSub { width: '80%', // 图片宽度占满按钮 height: '80%' // 图片高度占满按钮 }) - SubColumnMenu({menus:DisplayMode}) + SubColumnMenu({menus:SwitchDisplayMode}) Blank().layoutWeight(1) - Button('TabsBar显示/隐藏').onClick(()=>{ + //编辑or预览 + Button('预览/编辑').onClick(()=>{ this.$subOverlayState(!this.subOverlayState); }) + // + Button('鼠标/触控').onClick(()=>{ + this.$subOverlayState(!this.subOverlayState); + }) }.width('100%') .height('100%') .backgroundBlurStyle(BlurStyle.Thin, diff --git a/entry/src/main/ets/pages/titletabs/TitleTab.ets b/entry/src/main/ets/pages/titletabs/TitleTab.ets index 3fe3e927..64a97f3a 100644 --- a/entry/src/main/ets/pages/titletabs/TitleTab.ets +++ b/entry/src/main/ets/pages/titletabs/TitleTab.ets @@ -1,7 +1,7 @@ import { hilog } from '@kit.PerformanceAnalysisKit'; import {TitleModel} from '../interface/ModelInterface' -import {TitleTabData} from '../layout/TitleTabData' -import { FileMenuData } from "../layout/FileMenuData"; +import {TitleEditBars} from '../layout/TitleEditBars' +import { FileMenu } from "../layout/SubColumn"; import {TitleTabContent} from './TitleTabContent' import { TitleButton } from '../interface/ButtonInterface'; import { BaseMenu } from '../customcontroller/Menu'; @@ -14,18 +14,18 @@ export struct TitleTab { //当前的顶部导航选择页 @Local selectedIndex: number = 0; // 当前选中的索引 //模块Bar栏 - @Provider('curtModel') curtModel:Array|undefined= TitleTabData.mModels.get(this.selectedIndex) + @Provider('curtModel') curtModel:Array|undefined= TitleEditBars.mModels.get(this.selectedIndex) @Builder build() { Flex({ direction: FlexDirection.Column }){ Scroll() { Row({space:0}) { - Button((FileMenuData.aMenus[0] as TitleButton).btnName) + Button((FileMenu.aMenus[0] as TitleButton).btnName) .width('7%') .fontSize(16) .fontColor($r('sys.color.font')) - .bindMenu(BaseMenu(FileMenuData)) + .bindMenu(BaseMenu(FileMenu)) .type(ButtonType.Normal) .backgroundColor(Color.Transparent) ForEach(this.curtModel, (item: TitleModel, index: number) => { diff --git a/entry/src/main/resources/base/profile/main_pages.json b/entry/src/main/resources/base/profile/main_pages.json index ec147162..4907e3e0 100644 --- a/entry/src/main/resources/base/profile/main_pages.json +++ b/entry/src/main/resources/base/profile/main_pages.json @@ -7,7 +7,6 @@ "pages/subpages/file/SWNewFile", "pages/subpages/file/SWSaveAsFile", "pages/subpages/file/SWImportFile", - "pages/subpages/file/SWExportFile", - "pages/subpages/file/SWOpenFile" + "pages/subpages/file/SWExportFile" ] } \ No newline at end of file