FileMenu的组件和类型,数据归一化采用TitleButton数据类型.方便后续开发
This commit is contained in:
parent
ec59d56a27
commit
a4a6528a36
@ -2,8 +2,10 @@ import { hilog } from '@kit.PerformanceAnalysisKit';
|
||||
import { ExecuteCommand } from '../EventSubWindow/ExecuteCommand';
|
||||
import { TitleButton } from "../LayoutInterface/Interface/ButtonInterface";
|
||||
import { TitleModel } from "../LayoutInterface/Interface/ModelInterface";
|
||||
import { TitleData } from '../LayoutInterface/Layout/TabContent';
|
||||
import { TitleTabData } from '../LayoutInterface/Layout/TitleTabData';
|
||||
import { mwInfo } from '../AppStorageV2Class';
|
||||
import {BaseMenu } from './Menu';
|
||||
import { BaseMenuData } from '../LayoutInterface/Interface/MenuInterface';
|
||||
|
||||
//按钮统一尺寸,该按钮为正方形,所以以主窗口宽为基准,长=高->正方形
|
||||
let ebWidth=mwInfo.mainWindowWidth*0.02;
|
||||
@ -23,7 +25,7 @@ export struct EventBtn {
|
||||
//普通功能按钮调用的数据
|
||||
@Param eventBtn: TitleButton | undefined = undefined;
|
||||
//模块切换模块按钮数据
|
||||
@Consumer('curtModel') curtModel: Array<TitleModel> | undefined = TitleData.mModels.get(0)
|
||||
@Consumer('curtModel') curtModel: Array<TitleModel> | undefined = TitleTabData.mModels.get(0)
|
||||
|
||||
build() {
|
||||
Column({ space: 2 }) {
|
||||
@ -59,11 +61,11 @@ export struct EventBtn {
|
||||
})
|
||||
.onClick(() => {
|
||||
if (this.eventBtn?.eEvent == 'Switch_Model_CAD') {
|
||||
this.curtModel = TitleData.mModels.get(1)
|
||||
this.curtModel = TitleTabData.mModels.get(1)
|
||||
} else if (this.eventBtn?.eEvent == 'Switch_Model_CAM') {
|
||||
this.curtModel = TitleData.mModels.get(2)
|
||||
this.curtModel = TitleTabData.mModels.get(2)
|
||||
} else if (this.eventBtn?.eEvent == 'Switch_Model_CAE') {
|
||||
this.curtModel = TitleData.mModels.get(3)
|
||||
this.curtModel = TitleTabData.mModels.get(3)
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -90,24 +92,15 @@ export struct EventBtn {
|
||||
export struct MenuBtn {
|
||||
@Param menuBtn: Array<TitleButton> | undefined = undefined;
|
||||
@Local curtIndex:number=0;
|
||||
@Builder
|
||||
EventMenu() {
|
||||
Menu() {
|
||||
ForEach(this.menuBtn, (item: TitleButton, index: number) => {
|
||||
MenuItem({ startIcon: $r('app.media.' + item.eIcon), content: item.eName })
|
||||
.onClick(()=>{
|
||||
this.curtIndex=index;
|
||||
ExecuteCommand(item as TitleButton);
|
||||
}).size({height: ebWidth})
|
||||
})
|
||||
}.fontSize(20)
|
||||
}
|
||||
|
||||
@Local argsMenu:BaseMenuData= {
|
||||
aMenus: this.menuBtn as Array<TitleButton|Array<TitleButton>>,
|
||||
aIndex: this.curtIndex
|
||||
};
|
||||
build() {
|
||||
Column({ space: 0 }) {
|
||||
if (this.menuBtn != undefined) {
|
||||
Button()
|
||||
.bindMenu(this.EventMenu)
|
||||
.bindMenu(BaseMenu(this.argsMenu))
|
||||
.width(ebWidth)
|
||||
.height(ebHeigth)
|
||||
.backgroundImage($r('app.media.' + this.menuBtn[this.curtIndex].eIcon))
|
||||
@ -119,7 +112,7 @@ export struct MenuBtn {
|
||||
})
|
||||
Button()
|
||||
.type(ButtonType.Normal)
|
||||
.bindMenu(this.EventMenu)
|
||||
.bindMenu(BaseMenu(this.argsMenu))
|
||||
.width(ebWidth)
|
||||
.height(edHeigth)
|
||||
.backgroundImage($r('app.media.base_chevron_down'))
|
||||
@ -142,16 +135,11 @@ export struct MenuBtn {
|
||||
export struct SubColumnMenu {
|
||||
@Param menus: Array<TitleButton>| undefined = undefined;
|
||||
@Param icon:string='';
|
||||
@Builder
|
||||
EventMenu() {
|
||||
Menu() {
|
||||
ForEach(this.menus, (item: TitleButton, index: number) => {
|
||||
MenuItem({ startIcon: $r('app.media.'+item.eIcon), content: item.eName })
|
||||
.width('150')
|
||||
.size({height: mwInfo.mainWindowWidth*0.02})
|
||||
})
|
||||
}.fontSize(20)
|
||||
}
|
||||
@Local curtIndex:number=0;
|
||||
@Local argsMenu:BaseMenuData= {
|
||||
aMenus: this.menus as Array<TitleButton|Array<TitleButton>>,
|
||||
aIndex: this.curtIndex
|
||||
};
|
||||
build(){
|
||||
Row(){
|
||||
Button()
|
||||
@ -165,7 +153,7 @@ export struct SubColumnMenu {
|
||||
width: '90%', // 图片宽度占满按钮
|
||||
height: '90%' // 图片高度占满按钮
|
||||
})
|
||||
.bindMenu(this.EventMenu())
|
||||
.bindMenu(BaseMenu(this.argsMenu))
|
||||
.type(ButtonType.Normal)
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import { TitleButton } from "../LayoutInterface/Interface/ButtonInterface";
|
||||
import {SwitchView} from "../LayoutInterface/Layout/SwitchView"
|
||||
import { Popup } from "@kit.ArkUI";
|
||||
|
||||
//视图切换弹窗
|
||||
@CustomDialog
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
|
||||
|
||||
//一个复合式折叠组件
|
||||
@ComponentV2
|
||||
export struct Expandable {
|
||||
// 通过属性传入的标题和内容
|
||||
|
||||
@ -1,25 +1,64 @@
|
||||
import { TitleMenu } from "../LayoutInterface/Interface/MenuInterface";
|
||||
import { TitleGroup } from "../LayoutInterface/Interface/GroupInterface";
|
||||
import { TitleButton } from "../LayoutInterface/Interface/ButtonInterface";
|
||||
import { ExecuteCommand } from "../EventSubWindow/ExecuteCommand";
|
||||
import { mwInfo } from "../AppStorageV2Class";
|
||||
import { BaseMenuData } from "../LayoutInterface/Interface/MenuInterface";
|
||||
|
||||
|
||||
//按钮统一尺寸,该按钮为正方形,所以以主窗口宽为基准,长=高->正方形
|
||||
let ebWidth=mwInfo.mainWindowWidth*0.02;
|
||||
let ebHeigth=mwInfo.mainWindowWidth*0.02;
|
||||
|
||||
|
||||
//不带Index的Menu
|
||||
@Builder
|
||||
export function BaseMenu(indexMenu:BaseMenuData) {
|
||||
Menu() {
|
||||
ForEach(indexMenu.aMenus, (item: TitleButton|Array<TitleButton>, index: number) => {
|
||||
//如果是功能组则
|
||||
if(Array.isArray(item)){
|
||||
MenuItem({
|
||||
startIcon: $r('app.media.' + item[0].eIcon),
|
||||
content: item[0].eName,
|
||||
builder: SubMenu(item)
|
||||
})
|
||||
}else{
|
||||
MenuItem({ startIcon: $r('app.media.'+item.eIcon), content: item.eName })
|
||||
.onClick(()=> {
|
||||
indexMenu.aIndex = index;
|
||||
ExecuteCommand(item as TitleButton);
|
||||
})
|
||||
.size({height: ebWidth})
|
||||
}
|
||||
})
|
||||
}.fontSize(20)
|
||||
}
|
||||
|
||||
@Builder
|
||||
export function SubMenu(subMenu:Array<TitleButton>){
|
||||
Menu() {
|
||||
ForEach(subMenu, (subItem: TitleButton, index: number) => {
|
||||
MenuItem({
|
||||
startIcon: $r('app.media.' + subItem.eIcon),
|
||||
content: subItem.eName,
|
||||
})
|
||||
.onClick(() => {
|
||||
ExecuteCommand(subItem as TitleButton);
|
||||
})
|
||||
.size({ height: ebWidth })
|
||||
})
|
||||
}.fontSize(20)
|
||||
}
|
||||
|
||||
//菜单按钮
|
||||
//主要用于功能组操作菜单.文件下拉菜单等.
|
||||
@ComponentV2
|
||||
export struct GroupTextEventMenu {
|
||||
@Param grpEvent: TitleGroup | undefined = undefined;
|
||||
|
||||
@Builder
|
||||
GroupMenu(menus: Array<TitleMenu>) {
|
||||
Menu() {
|
||||
ForEach(menus, (item: TitleMenu, index: number) => {
|
||||
MenuItem({ startIcon: $r('app.media.' + item.mIcon), content: item.mName })
|
||||
.size({height: mwInfo.mainWindowWidth*0.02})
|
||||
})
|
||||
}.fontSize(20)
|
||||
}
|
||||
@Local argsMenu:BaseMenuData= {
|
||||
aMenus: this.grpEvent?.grpMenu as Array<TitleButton|Array<TitleButton>>,
|
||||
aIndex: 0
|
||||
};
|
||||
build() {
|
||||
Row() {
|
||||
if (this.grpEvent != undefined) {
|
||||
@ -39,7 +78,7 @@ export struct GroupTextEventMenu {
|
||||
width: '90%', // 图片宽度占满按钮
|
||||
height: '90%' // 图片高度占满按钮
|
||||
})
|
||||
.bindMenu(this.GroupMenu(this.grpEvent.grpMenu))
|
||||
.bindMenu(BaseMenu(this.argsMenu))
|
||||
.backgroundColor(Color.Transparent)
|
||||
}
|
||||
}.align(Alignment.BottomEnd)
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import { TitleMenu } from "./MenuInterface";
|
||||
import { TitleButton } from "./ButtonInterface";
|
||||
|
||||
//功能组
|
||||
@ -8,5 +7,5 @@ export interface TitleGroup{
|
||||
//按钮列表
|
||||
grpBtn:Array<TitleButton|Array<TitleButton>>
|
||||
//功能组菜单
|
||||
grpMenu:Array<TitleMenu>
|
||||
grpMenu:Array<TitleButton>
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
import { TitleGroup } from "./GroupInterface";
|
||||
import { TitleModel } from "./ModelInterface";
|
||||
|
||||
//Title配置
|
||||
@ -5,7 +6,7 @@ export interface TitleInterface{
|
||||
//Title配置ID名(唯一)
|
||||
mId:string;
|
||||
//基础模块
|
||||
mFileModel:TitleModel
|
||||
mFileModel:Array<Array<TitleGroup>>
|
||||
//功能模块
|
||||
mModels:Map<number,Array<TitleModel>>
|
||||
}
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
export interface TitleMenu{
|
||||
mName:string
|
||||
mIcon:string
|
||||
mTips:string
|
||||
mPage:string
|
||||
mEvent:string
|
||||
import { TitleButton } from "./ButtonInterface"
|
||||
|
||||
export interface BaseMenuData {
|
||||
aMenus: Array<TitleButton|Array<TitleButton>>
|
||||
aIndex:number
|
||||
}
|
||||
@ -1,10 +0,0 @@
|
||||
import { TitleMenu } from "../Interface/MenuInterface";
|
||||
|
||||
//功能布局数据
|
||||
export let ActionOption:Array<TitleMenu>=[
|
||||
{mName:'增功能',mIcon:'',mPage:'',mTips:"",mEvent:''},
|
||||
{mName:'编辑组',mIcon:'',mPage:'',mTips:"",mEvent:''},
|
||||
{mName:'改图标',mIcon:'',mPage:'',mTips:"",mEvent:''},
|
||||
{mName:'重命名',mIcon:'',mPage:'',mTips:"",mEvent:''},
|
||||
{mName:'移动到',mIcon:'',mPage:'',mTips:"",mEvent:''}
|
||||
]
|
||||
@ -1,12 +1,12 @@
|
||||
import { TitleModel } from "./TabContent";
|
||||
import {TitleMainPage} from './MainPage'
|
||||
import { TitleModel } from "./TitleTabData";
|
||||
import {TitleDefaultBars} from './TitleDefaultBars'
|
||||
import {ModelType} from './ModelType'
|
||||
import { GroupOption } from "./GroupOption";
|
||||
import { GroupActionMenu } from "./GroupAction";
|
||||
import { TitleGroup } from "../Interface/GroupInterface";
|
||||
import { MatrixModel ,DevModel} from "./MatrixModel";
|
||||
|
||||
export let TitleCAD:Array<TitleModel>=[
|
||||
TitleMainPage[0],
|
||||
TitleDefaultBars[0],
|
||||
{cmName:'建模',cmPage:'',cmTips:'',cmEvents: [
|
||||
//数组表示非单个BtnEvent
|
||||
[
|
||||
@ -31,7 +31,7 @@ export let TitleCAD:Array<TitleModel>=[
|
||||
{eModel:[ModelType.BASE],eName:"点集",eNamed:"",ePage:'',eIcon:"sketch_point_set",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"参考点云",eNamed:"",ePage:'',eIcon:"sketch_reference_point_cloud",eTips:"",eEvent:""}
|
||||
]
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>,
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>,
|
||||
[{grpName:'基本',grpBtn:[
|
||||
[
|
||||
{eModel:[ModelType.BASE],eName:"拉伸",eNamed:"",ePage:'',eIcon:"modeling_extrude",eTips:"",eEvent:""},
|
||||
@ -118,7 +118,7 @@ export let TitleCAD:Array<TitleModel>=[
|
||||
{eModel:[ModelType.BASE],eName:"变距偏置面",eNamed:"",ePage:'',eIcon:"modeling_edit_body_face_offset_face_variable",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"大致偏置",eNamed:"",ePage:'',eIcon:"modeling_edit_body_face_rough_offset",eTips:"",eEvent:""}
|
||||
]
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>,
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>,
|
||||
[{grpName:'同步建模',grpBtn:[
|
||||
[
|
||||
{eModel:[ModelType.BASE],eName:"移动",eNamed:"",ePage:'',eIcon:"modeling_edit_sync_build_move_face",eTips:"",eEvent:""},
|
||||
@ -178,7 +178,7 @@ export let TitleCAD:Array<TitleModel>=[
|
||||
{eModel:[ModelType.BASE],eName:"更新模型",eNamed:"",ePage:'',eIcon:"modeling_edit_sync_build_updatemodel",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"更新特征",eNamed:"",ePage:'',eIcon:"modeling_edit_sync_build_renew_feature",eTips:"",eEvent:""},
|
||||
]
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]
|
||||
]},
|
||||
{cmName:'基本建模',cmPage:'',cmTips:'',cmEvents: [
|
||||
@ -191,7 +191,7 @@ export let TitleCAD:Array<TitleModel>=[
|
||||
{eModel:[ModelType.BASE],eName:"圆锥",eNamed:"",ePage:'',eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"球",eNamed:"",ePage:'',eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"管道",eNamed:"",ePage:'',eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]
|
||||
]},
|
||||
{cmName:'曲线',cmPage:'',cmTips:'',cmEvents: [
|
||||
@ -204,7 +204,7 @@ export let TitleCAD:Array<TitleModel>=[
|
||||
{eModel:[ModelType.BASE],eName:"圆锥",eNamed:"",ePage:'',eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"球",eNamed:"",ePage:'',eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"管道",eNamed:"",ePage:'',eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]
|
||||
]},
|
||||
{cmName:'同步建模',cmPage:'',cmTips:'',cmEvents: [
|
||||
@ -217,7 +217,7 @@ export let TitleCAD:Array<TitleModel>=[
|
||||
{eModel:[ModelType.BASE],eName:"圆锥",eNamed:"",ePage:'',eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"球",eNamed:"",ePage:'',eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"管道",eNamed:"",ePage:'',eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]
|
||||
]},
|
||||
{cmName:'分析',cmPage:'',cmTips:'',cmEvents: [
|
||||
@ -230,7 +230,7 @@ export let TitleCAD:Array<TitleModel>=[
|
||||
{eModel:[ModelType.BASE],eName:"圆锥",eNamed:"",ePage:'',eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"球",eNamed:"",ePage:'',eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"管道",eNamed:"",ePage:'',eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]
|
||||
]},
|
||||
{cmName:'显示',cmPage:'',cmTips:'',cmEvents: [
|
||||
@ -243,7 +243,7 @@ export let TitleCAD:Array<TitleModel>=[
|
||||
{eModel:[ModelType.BASE],eName:"圆锥",eNamed:"",ePage:'',eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"球",eNamed:"",ePage:'',eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"管道",eNamed:"",ePage:'',eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]
|
||||
]},
|
||||
{cmName:'首选项',cmPage:'',cmTips:'',cmEvents: [
|
||||
@ -256,7 +256,7 @@ export let TitleCAD:Array<TitleModel>=[
|
||||
{eModel:[ModelType.BASE],eName:"圆锥",eNamed:"",ePage:'',eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"球",eNamed:"",ePage:'',eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"管道",eNamed:"",ePage:'',eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]
|
||||
]},
|
||||
MatrixModel,
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
import { TitleModel } from "./TabContent";
|
||||
import {TitleMainPage} from './MainPage'
|
||||
import { TitleModel } from "./TitleTabData";
|
||||
import {TitleDefaultBars} from './TitleDefaultBars'
|
||||
import {ModelType} from './ModelType'
|
||||
import { GroupOption } from "./GroupOption";
|
||||
import { GroupActionMenu } from "./GroupAction";
|
||||
import { TitleGroup } from "../Interface/GroupInterface";
|
||||
import { MatrixModel ,DevModel} from "./MatrixModel";
|
||||
import { TitleButton } from "../Interface/ButtonInterface";
|
||||
|
||||
export let TitleCAE:Array<TitleModel>=[
|
||||
TitleMainPage[0],
|
||||
TitleDefaultBars[0],
|
||||
{cmName:'仿真',cmPage:'',cmTips:'',cmEvents: [
|
||||
//数组表示非单个BtnEvent
|
||||
[
|
||||
@ -23,13 +23,13 @@ export let TitleCAE:Array<TitleModel>=[
|
||||
] as Array<TitleButton>,
|
||||
{eModel:[ModelType.BASE],eName:"选项",eNamed:"",ePage:'',eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"帮助",eNamed:"",ePage:'',eIcon:"base_help_file",eTips:"",eEvent:""},
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]
|
||||
]},
|
||||
MatrixModel,
|
||||
DevModel
|
||||
]
|
||||
export let TitleCAM:Array<TitleModel>=[TitleMainPage[0],
|
||||
export let TitleCAM:Array<TitleModel>=[TitleDefaultBars[0],
|
||||
{cmName:'仿真',cmPage:'',cmTips:'',cmEvents: [
|
||||
//数组表示非单个BtnEvent
|
||||
[
|
||||
@ -45,7 +45,7 @@ export let TitleCAM:Array<TitleModel>=[TitleMainPage[0],
|
||||
] as Array<TitleButton>,
|
||||
{eModel:[ModelType.BASE],eName:"选项",eNamed:"",ePage:'',eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"帮助",eNamed:"",ePage:'',eIcon:"base_help_file",eTips:"",eEvent:""},
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]
|
||||
]},
|
||||
MatrixModel,
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
import { TitleModel } from "./TabContent";
|
||||
import {TitleMainPage} from './MainPage'
|
||||
import { TitleModel } from "./TitleTabData";
|
||||
import {TitleDefaultBars} from './TitleDefaultBars'
|
||||
import {ModelType} from './ModelType'
|
||||
import { GroupOption } from "./GroupOption";
|
||||
import { GroupActionMenu } from "./GroupAction";
|
||||
import { TitleGroup } from "../Interface/GroupInterface";
|
||||
import { MatrixModel,DevModel } from "./MatrixModel";
|
||||
import { TitleButton } from "../Interface/ButtonInterface";
|
||||
|
||||
export let TitleCAM:Array<TitleModel>=[
|
||||
TitleMainPage[0],
|
||||
TitleDefaultBars[0],
|
||||
{cmName:'加工',cmPage:'',cmTips:'',cmEvents: [
|
||||
//数组表示非单个BtnEvent
|
||||
[
|
||||
@ -24,7 +24,7 @@ export let TitleCAM:Array<TitleModel>=[
|
||||
{eModel:[ModelType.BASE],eName:"新建工序",eNamed:"",ePage:'',eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"新建刀具",eNamed:"",ePage:'',eIcon:"base_export_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"选项",eNamed:"",ePage:'',eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]
|
||||
]},
|
||||
MatrixModel,
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
import { TitleButton } from "../Interface/ButtonInterface";
|
||||
import { BaseMenuData } from "../Interface/MenuInterface";
|
||||
import { TitleTabData } from "./TitleTabData";
|
||||
|
||||
//文件菜单数据初始化
|
||||
export let FileMenuData:BaseMenuData= {
|
||||
aMenus: TitleTabData.mFileModel[0][0].grpBtn,
|
||||
aIndex: 0
|
||||
};
|
||||
@ -1,16 +0,0 @@
|
||||
import { TitleModel } from "../Interface/ModelInterface";
|
||||
import { ModelType } from "./ModelType";
|
||||
|
||||
//文件模块布局数据
|
||||
export let FileModel:TitleModel={cmName:"文件",cmPage:"",cmTips:"",cmEvents:[
|
||||
{eModel:[ModelType.BASE],eName:"新建",eNamed:"",ePage:'',eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"打开",eNamed:"",ePage:'',eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"保存",eNamed:"",ePage:'',eIcon:"base_save_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"关闭",eNamed:"",ePage:'',eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"导入",eNamed:"",ePage:'',eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"导出",eNamed:"",ePage:'',eIcon:"base_export_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"首选项",eNamed:"",ePage:'',eIcon:"base_properties",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"工具",eNamed:"",ePage:'',eIcon:"base_tools",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"帮助",eNamed:"",ePage:'',eIcon:"base_help_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"退出",eNamed:"",ePage:'',eIcon:"base_exit_icon",eTips:"",eEvent:""},
|
||||
]}
|
||||
@ -0,0 +1,9 @@
|
||||
import { TitleButton } from "../Interface/ButtonInterface";
|
||||
import { ModelType } from "./ModelType";
|
||||
//功能主的操作功能布局数据
|
||||
export let GroupActionMenu:Array<TitleButton>=[
|
||||
{eModel:[ModelType.BASE],eName:"增加功能",eNamed:"",ePage:'',eIcon:"",eTips:"正三轴测图",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"编辑功能组",eNamed:"",ePage:'',eIcon:"",eTips:"前视图",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"删除功能组",eNamed:"",ePage:'',eIcon:"",eTips:"前视图",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"移动功能组",eNamed:"",ePage:'',eIcon:"",eTips:"正等测图",eEvent:""}
|
||||
]
|
||||
@ -1,9 +0,0 @@
|
||||
import { TitleMenu } from "../Interface/MenuInterface";
|
||||
|
||||
//功能主的操作功能布局数据
|
||||
export let GroupOption:Array<TitleMenu>=[
|
||||
{mName:'增加功能',mIcon:'',mPage:'',mTips:"",mEvent:''},
|
||||
{mName:'编辑功能组',mIcon:'',mPage:'',mTips:"",mEvent:''},
|
||||
{mName:'删除功能组',mIcon:'',mPage:'',mTips:"",mEvent:''},
|
||||
{mName:'移动功能组',mIcon:'',mPage:'',mTips:"",mEvent:''}
|
||||
]
|
||||
@ -2,7 +2,7 @@ import { TitleButton } from "../Interface/ButtonInterface";
|
||||
import { ModelType } from "./ModelType";
|
||||
|
||||
//视图选择布局数据
|
||||
export let LayoutOption:Array<TitleButton>=[
|
||||
export let LayoutSwitch:Array<TitleButton>=[
|
||||
{eModel:[ModelType.BASE],eName:"图层设置",eNamed:"",ePage:'',eIcon:"layer_settings",eTips:"正三轴测图",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"视图中可见图层",eNamed:"",ePage:'',eIcon:"layer_vis_in_view",eTips:"俯视图",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"图层类别",eNamed:"",ePage:'',eIcon:"layer_category",eTips:"正等测图",eEvent:""},
|
||||
@ -1,29 +0,0 @@
|
||||
import { TitleButton } from "../Interface/ButtonInterface";
|
||||
import { TitleGroup } from "../Interface/GroupInterface";
|
||||
import { DevModel, MatrixModel } from "./MatrixModel";
|
||||
import { ModelType } from "./ModelType";
|
||||
import { GroupOption } from "./GroupOption";
|
||||
import { TitleModel } from "./TabContent";
|
||||
import { FileModel } from "./FileModel";
|
||||
|
||||
//主页栏目布局数据
|
||||
export let TitleMainPage:Array<TitleModel>=
|
||||
[
|
||||
{cmName:'主页',cmPage:'',cmTips:'',cmEvents: [[[{grpName:'文件功能组',grpBtn:[
|
||||
{eModel:[ModelType.BASE],eName:"新建",eNamed:"",ePage:'',eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"打开",eNamed:"",ePage:'',eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||
[
|
||||
{eModel:[ModelType.BASE],eName:"保存",eNamed:"",ePage:'',eIcon:"base_save_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"另存为",eNamed:"",ePage:'',eIcon:"base_saveas_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"保存全部",eNamed:"",ePage:'',eIcon:"base_saveall_file",eTips:"",eEvent:""},
|
||||
] as Array<TitleButton>,
|
||||
{eModel:[ModelType.BASE],eName:"关闭",eNamed:"",ePage:'',eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"导入",eNamed:"",ePage:'',eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"导出",eNamed:"",ePage:'',eIcon:"base_export_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"选项",eNamed:"",ePage:'',eIcon:"base_properties",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"帮助",eNamed:"",ePage:'',eIcon:"base_help_file",eTips:"",eEvent:""},
|
||||
],
|
||||
grpMenu:GroupOption}] as Array<TitleGroup>]]},
|
||||
MatrixModel,
|
||||
DevModel
|
||||
]
|
||||
@ -1,6 +1,6 @@
|
||||
import { TitleGroup } from '../Interface/GroupInterface'
|
||||
import {TitleModel} from '../Interface/ModelInterface'
|
||||
import { GroupOption } from './GroupOption'
|
||||
import { GroupActionMenu } from './GroupAction'
|
||||
import { ModelType } from './ModelType'
|
||||
|
||||
//模块矩阵布局数据
|
||||
@ -10,7 +10,7 @@ export let MatrixModel:TitleModel= {
|
||||
{eModel:[ModelType.BASE],eName:"建模",eNamed:"",ePage:'',eIcon:"base_model_cad",eTips:"",eEvent:"Switch_Model_CAD"},
|
||||
{eModel:[ModelType.BASE],eName:"加工",eNamed:"",ePage:'',eIcon:"base_model_cam",eTips:"",eEvent:"Switch_Model_CAM"},
|
||||
{eModel:[ModelType.BASE],eName:"仿真",eNamed:"",ePage:'',eIcon:"base_model_cae",eTips:"",eEvent:"Switch_Model_CAE"},
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]]
|
||||
}
|
||||
//模块矩阵布局数据
|
||||
@ -22,6 +22,6 @@ export let DevModel:TitleModel= {
|
||||
{eModel:[ModelType.BASE],eName:"创建子窗体",eNamed:"",ePage:'pages/EventSubWindow/SWExtrude',eIcon:"base_new_file",eTips:"",eEvent:"Execute_CreateSubWindow"},
|
||||
{eModel:[ModelType.BASE],eName:"关闭子窗体",eNamed:"",ePage:'pages/EventSubWindow/SWExtrude',eIcon:"base_new_file",eTips:"",eEvent:"Execute_ExitSubWindow"},
|
||||
]
|
||||
],grpMenu:GroupOption}] as Array<TitleGroup>
|
||||
],grpMenu:GroupActionMenu}] as Array<TitleGroup>
|
||||
]]
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
import { TitleButton } from "../Interface/ButtonInterface";
|
||||
import { ModelType } from "./ModelType";
|
||||
//功能布局数据
|
||||
export let MenuAction:Array<TitleButton>=[
|
||||
{eModel:[ModelType.BASE],eName:"增功能",eNamed:"",ePage:'',eIcon:"",eTips:"增功能",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"编辑组",eNamed:"",ePage:'',eIcon:"",eTips:"编辑组",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"改图标",eNamed:"",ePage:'',eIcon:"",eTips:"改图标",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"重命名",eNamed:"",ePage:'',eIcon:"",eTips:"重命名",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"移动到",eNamed:"",ePage:'',eIcon:"",eTips:"移动到",eEvent:""},
|
||||
]
|
||||
@ -2,7 +2,7 @@ import { TitleButton } from "../Interface/ButtonInterface";
|
||||
import { ModelType } from "./ModelType";
|
||||
|
||||
//拾取器过滤布局数据
|
||||
export let SelectionMode:Array<TitleButton>=[
|
||||
export let SelectionFilter:Array<TitleButton>=[
|
||||
{eModel:[ModelType.BASE],eName:"实体特征",eNamed:"",ePage:'',eIcon:"",eTips:"正三轴测图",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"曲线特征",eNamed:"",ePage:'',eIcon:"",eTips:"前视图",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"加工特征",eNamed:"",ePage:'',eIcon:"",eTips:"前视图",eEvent:""},
|
||||
@ -0,0 +1,29 @@
|
||||
import { TitleButton } from "../Interface/ButtonInterface";
|
||||
import { TitleGroup } from "../Interface/GroupInterface";
|
||||
import { DevModel, MatrixModel } from "./MatrixModel";
|
||||
import { ModelType } from "./ModelType";
|
||||
import { GroupActionMenu } from "./GroupAction";
|
||||
import { TitleModel } from "./TitleTabData";
|
||||
|
||||
//主页栏目布局数据
|
||||
export let TitleDefaultBars:Array<TitleModel>=
|
||||
[
|
||||
{cmName:'主页',cmPage:'',cmTips:'',cmEvents:
|
||||
[[[{ grpName:'文件', grpBtn:
|
||||
[
|
||||
{eModel:[ModelType.BASE],eName:"新建",eNamed:"",ePage:'',eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"打开",eNamed:"",ePage:'',eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||
[
|
||||
{eModel:[ModelType.BASE],eName:"保存",eNamed:"",ePage:'',eIcon:"base_save_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"另存为",eNamed:"",ePage:'',eIcon:"base_saveas_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"保存全部",eNamed:"",ePage:'',eIcon:"base_saveall_file",eTips:"",eEvent:""},
|
||||
] as Array<TitleButton>,
|
||||
{eModel:[ModelType.BASE],eName:"关闭",eNamed:"",ePage:'',eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"导入",eNamed:"",ePage:'',eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"导出",eNamed:"",ePage:'',eIcon:"base_export_file",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"选项",eNamed:"",ePage:'',eIcon:"base_properties",eTips:"",eEvent:""},
|
||||
{eModel:[ModelType.BASE],eName:"帮助",eNamed:"",ePage:'',eIcon:"base_help_file",eTips:"",eEvent:""},
|
||||
], grpMenu:GroupActionMenu }] as Array<TitleGroup>]]},
|
||||
MatrixModel,
|
||||
DevModel
|
||||
]
|
||||
@ -1,17 +1,17 @@
|
||||
import { FileModel } from './FileModel'
|
||||
import { TitleInterface } from '../Interface/Interface'
|
||||
import { TitleModel } from '../Interface/ModelInterface'
|
||||
import { TitleMainPage } from './MainPage'
|
||||
import { TitleDefaultBars } from './TitleDefaultBars'
|
||||
import {TitleCAD} from './CAD'
|
||||
import {TitleCAM} from './CAM'
|
||||
import {TitleCAE} from './CAE'
|
||||
import { TitleGroup } from '../Interface/GroupInterface'
|
||||
|
||||
//Title栏得布局数据
|
||||
export let TitleData:TitleInterface= {
|
||||
export let TitleTabData:TitleInterface= {
|
||||
mId:"0",
|
||||
mFileModel:FileModel,
|
||||
mFileModel:TitleDefaultBars[0].cmEvents[0] as Array<Array<TitleGroup>>,
|
||||
mModels:new Map<number,Array<TitleModel>>([
|
||||
[0,TitleMainPage],
|
||||
[0,TitleDefaultBars],
|
||||
[1,TitleCAD],
|
||||
[2,TitleCAM],
|
||||
[3,TitleCAE]
|
||||
@ -2,10 +2,10 @@ import { TextComboBox,TextInputComboBox } from "../CustomStyle/ComboBox";
|
||||
import { TitleButton } from "../LayoutInterface/Interface/ButtonInterface";
|
||||
import { ViewDialog } from "../CustomStyle/Dialog"
|
||||
import { SwitchView } from "../LayoutInterface/Layout/SwitchView";
|
||||
import {SelectionMode} from "../LayoutInterface/Layout/SelectionMode"
|
||||
import {SelectionFilter} from "../LayoutInterface/Layout/SelectionFilter"
|
||||
import {DisplayMode} from "../LayoutInterface/Layout/DisplayMode"
|
||||
import { LayoutOption } from "../LayoutInterface/Layout/LayoutOption";
|
||||
import { TitleData } from "../LayoutInterface/Layout/TabContent";
|
||||
import { LayoutSwitch } from "../LayoutInterface/Layout/LayoutSwitch";
|
||||
import { FileMenuData } from "../LayoutInterface/Layout/FileMenuData";
|
||||
import { mwInfo } from "../AppStorageV2Class";
|
||||
import { SubColumnMenu } from "../CustomStyle/Button";
|
||||
|
||||
@ -17,6 +17,7 @@ export struct TitleColumnSub {
|
||||
@Local dX:number=0;
|
||||
@Local dY:number=0;
|
||||
@Local viewDialog:CustomDialogController|undefined=undefined;
|
||||
//文件操作目录数据初始化
|
||||
|
||||
private ViewDialog(): CustomDialogController {
|
||||
return new CustomDialogController({
|
||||
@ -33,21 +34,21 @@ export struct TitleColumnSub {
|
||||
|
||||
build(){
|
||||
Row({space:5}){
|
||||
SubColumnMenu({menus:TitleData.mFileModel.cmEvents as Array<TitleButton>,icon:'base_shortcut_menu'})
|
||||
SubColumnMenu({menus:FileMenuData.aMenus as Array<TitleButton>,icon:'base_shortcut_menu'})
|
||||
.margin({ top:0, left: 5, bottom: 0, right: 0 })
|
||||
Text('菜单')
|
||||
.fontSize(20)
|
||||
Text('|')
|
||||
Text('拾取类型:')
|
||||
.fontSize(20)
|
||||
TextComboBox({menu:SelectionMode})
|
||||
TextComboBox({menu:SelectionFilter})
|
||||
.borderWidth(1)
|
||||
.borderColor(Color.Grey)
|
||||
.borderRadius(5)
|
||||
Text('图层:')
|
||||
.fontSize(20)
|
||||
TextInputComboBox({menu:this.layerArray}).width('10%')
|
||||
SubColumnMenu({menus:LayoutOption,icon:LayoutOption[0].eIcon})
|
||||
SubColumnMenu({menus:LayoutSwitch,icon:LayoutSwitch[0].eIcon})
|
||||
//视角弹窗
|
||||
Button().onClick((event) => {
|
||||
this.dX=event.windowX
|
||||
|
||||
@ -1,14 +1,10 @@
|
||||
import { hilog } from '@kit.PerformanceAnalysisKit';
|
||||
import { ArrayList } from '@kit.ArkTS';
|
||||
import { AddFormMenuItem } from '@ohos.arkui.advanced.FormMenu';
|
||||
import { SceneResourceType } from '@kit.ArkGraphics3D';
|
||||
|
||||
//导入布局模块
|
||||
import {TitleData, TitleModel} from '../LayoutInterface/Layout/TabContent'
|
||||
import { TitleButton } from '../LayoutInterface/Interface/ButtonInterface'
|
||||
import { TitleGroup } from '../LayoutInterface/Interface/GroupInterface'
|
||||
import {TitleTabData, TitleModel} from '../LayoutInterface/Layout/TitleTabData'
|
||||
import { FileMenuData } from "../LayoutInterface/Layout/FileMenuData";
|
||||
import {TitleTabContent} from './TitleTabContent'
|
||||
import { mwInfo } from '../AppStorageV2Class';
|
||||
import { BaseMenu} from '../CustomStyle/Menu';
|
||||
import { TitleButton } from '../LayoutInterface/Interface/ButtonInterface';
|
||||
|
||||
@Entry
|
||||
@ComponentV2
|
||||
@ -20,28 +16,18 @@ export struct TitleTab {
|
||||
//TabBar默认焦点
|
||||
@Local titleBarDefaultFocusIndex: number = 0;
|
||||
//模块Bar栏
|
||||
@Provider('curtModel') curtModel:Array<TitleModel>|undefined= TitleData.mModels.get(this.titleBarFocusIndex)
|
||||
|
||||
@Builder
|
||||
FileMenu(menus: Array<TitleButton>) {
|
||||
Menu() {
|
||||
ForEach(menus, (item: TitleButton, index: number) => {
|
||||
MenuItem({ startIcon: $r('app.media.'+item.eIcon), content: item.eName })
|
||||
.size({height: mwInfo.mainWindowWidth*0.02})
|
||||
})
|
||||
}.fontSize(20)
|
||||
}
|
||||
@Provider('curtModel') curtModel:Array<TitleModel>|undefined= TitleTabData.mModels.get(this.titleBarFocusIndex)
|
||||
|
||||
build() {
|
||||
Flex({ direction: FlexDirection.Column }){
|
||||
Scroll() {
|
||||
Row({space:0}) {
|
||||
Button(TitleData.mFileModel.cmName)
|
||||
Button((FileMenuData.aMenus[0] as TitleButton).eName)
|
||||
.fontSize(16)
|
||||
.fontColor(Color.Black)
|
||||
.height(mwInfo.mainWindowHeight*0.025)
|
||||
.width(mwInfo.mainWindowWidth*0.035)
|
||||
.bindMenu(this.FileMenu(TitleData.mFileModel.cmEvents as Array<TitleButton>))
|
||||
.bindMenu(BaseMenu(FileMenuData))
|
||||
.type(ButtonType.Normal)
|
||||
.backgroundColor('#f3f3f0')
|
||||
|
||||
@ -58,12 +44,6 @@ export struct TitleTab {
|
||||
this.titleBarTabs.changeIndex(index);
|
||||
this.titleBarFocusIndex = index;
|
||||
})
|
||||
.onAxisEvent((event?: AxisEvent) => {
|
||||
if (event?.hasAxis(AxisType.VERTICAL_AXIS)) {
|
||||
this.titleBarTabs.changeIndex(index);
|
||||
this.titleBarFocusIndex = index;
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@ import { TitleButton} from '../LayoutInterface/Interface/ButtonInterface';
|
||||
import { TitleGroup} from '../LayoutInterface/Interface/GroupInterface';
|
||||
import {GroupTextEventMenu} from '../CustomStyle/Menu'
|
||||
import {EventBtn,MenuBtn} from '../CustomStyle/Button'
|
||||
import { TitleModel } from '../LayoutInterface/Layout/TabContent';
|
||||
import { TitleModel } from '../LayoutInterface/Layout/TitleTabData';
|
||||
import { mwInfo } from '../AppStorageV2Class';
|
||||
|
||||
@ComponentV2
|
||||
|
||||
Loading…
Reference in New Issue
Block a user