整理布局数据文件和Interface使得阅读方便
This commit is contained in:
parent
6e51b8ba36
commit
dca22581d7
@ -1,21 +1,43 @@
|
|||||||
import { BtnEvent } from "../LayoutData/TitleInterface";
|
import { hilog } from '@kit.PerformanceAnalysisKit';
|
||||||
|
import { TitleButton } from "../LayoutInterface/Interface/TitleButtonInterface";
|
||||||
|
import { TitleModel} from "../LayoutInterface/Interface/TitleModelInterface";
|
||||||
|
import { TitleData } from '../LayoutInterface/Layout/TitleTabContent';
|
||||||
|
|
||||||
//单一功能按钮
|
//单一功能按钮
|
||||||
@ComponentV2
|
@ComponentV2
|
||||||
export struct EventButton {
|
export struct EventBtn {
|
||||||
@Event btn:BtnEvent;
|
@Param eventBtn:TitleButton|undefined=undefined;
|
||||||
|
@Param modelType:number|undefined=0;
|
||||||
|
@Consumer('curtModel') curtModel:Array<TitleModel>|undefined= TitleData.mModels.get(0)
|
||||||
build() {
|
build() {
|
||||||
Column({ space: 2 }) {
|
Column({ space: 2 }) {
|
||||||
// 请将$r('app.media.loading')替换为实际资源文件
|
if(this.eventBtn!=undefined){
|
||||||
Image($r('app.media.' + this.btn.eIcon))
|
if(this.modelType==1){
|
||||||
.width(45)
|
Image($r('app.media.' + this.eventBtn.eIcon))
|
||||||
.height(35)
|
.width(45)
|
||||||
.objectFit(ImageFit.Contain)
|
.height(35)
|
||||||
Text(this.btn.eName)
|
.objectFit(ImageFit.Contain)
|
||||||
|
.onClick(()=>{
|
||||||
|
if(this.eventBtn?.eEvent=='Switch_Model_CAD'){
|
||||||
|
this.curtModel=TitleData.mModels.get(1)
|
||||||
|
}else if(this.eventBtn?.eEvent=='Switch_Model_CAM'){
|
||||||
|
this.curtModel=TitleData.mModels.get(2)
|
||||||
|
}else if(this.eventBtn?.eEvent=='Switch_Model_CAE'){
|
||||||
|
this.curtModel=TitleData.mModels.get(3)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
Image($r('app.media.' + this.eventBtn.eIcon))
|
||||||
|
.width(45)
|
||||||
|
.height(35)
|
||||||
|
.objectFit(ImageFit.Contain)
|
||||||
|
}
|
||||||
|
Text(this.eventBtn.eName)
|
||||||
.fontSize(10)
|
.fontSize(10)
|
||||||
.width(45)
|
.width(45)
|
||||||
.height(10)
|
.height(10)
|
||||||
.textAlign(TextAlign.Center)
|
.textAlign(TextAlign.Center)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.height('50')
|
.height('50')
|
||||||
.width('50')
|
.width('50')
|
||||||
@ -26,12 +48,12 @@ export struct EventButton {
|
|||||||
//菜单目录按钮
|
//菜单目录按钮
|
||||||
//功能目录菜单,主要用于针对单一按钮多个功能形式
|
//功能目录菜单,主要用于针对单一按钮多个功能形式
|
||||||
@ComponentV2
|
@ComponentV2
|
||||||
export struct EventBtnMenu {
|
export struct MenuBtn {
|
||||||
@Event btnMenus: Array<BtnEvent>=[];
|
@Param menuBtn: Array<TitleButton>|undefined=undefined;
|
||||||
@Builder
|
@Builder
|
||||||
EventMenu(_btnMenus:Array<BtnEvent>){
|
EventMenu(_btnMenus:Array<TitleButton>){
|
||||||
Menu() {
|
Menu() {
|
||||||
ForEach(_btnMenus, (item: BtnEvent, index: number) => {
|
ForEach(_btnMenus, (item: TitleButton, index: number) => {
|
||||||
MenuItem({ startIcon: $r('app.media.'+item.eIcon), content: item.eName })
|
MenuItem({ startIcon: $r('app.media.'+item.eIcon), content: item.eName })
|
||||||
.width('150')
|
.width('150')
|
||||||
.margin({ top: 0, left: 0, bottom: 0, right: 0
|
.margin({ top: 0, left: 0, bottom: 0, right: 0
|
||||||
@ -40,7 +62,9 @@ export struct EventBtnMenu {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
build() {
|
build() {
|
||||||
EventButton({btn:this.btnMenus[0]}).bindMenu(this.EventMenu(this.btnMenus))
|
if(this.menuBtn!=undefined){
|
||||||
|
EventBtn({eventBtn:this.menuBtn[0]}).bindMenu(this.EventMenu(this.menuBtn))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
import { BaseMenu } from "../LayoutData/TitleInterface";
|
import { TitleMenu } from "../LayoutInterface/Interface/TitleMenuInterface";
|
||||||
|
import { TitleGroup } from "../LayoutInterface/Interface/TitleGroupInterface";
|
||||||
|
|
||||||
//菜单按钮
|
//菜单按钮
|
||||||
//主要用于功能组操作菜单.文件下拉菜单等.
|
//主要用于功能组操作菜单.文件下拉菜单等.
|
||||||
@ComponentV2
|
@ComponentV2
|
||||||
export struct GroupTextEventMenu {
|
export struct GroupTextEventMenu {
|
||||||
@Event grpName:string =''
|
@Param grpEvent:TitleGroup|undefined=undefined;
|
||||||
@Event grpMenus: Array<BaseMenu>=[];
|
|
||||||
@Builder
|
@Builder
|
||||||
GroupMenu(menus: Array<BaseMenu>) {
|
GroupMenu(menus: Array<TitleMenu>) {
|
||||||
ForEach(menus, (item: BaseMenu, index: number) => {
|
ForEach(menus, (item: TitleMenu, index: number) => {
|
||||||
MenuItem({ startIcon: $r('app.media.'+item.icon), content: item.str })
|
MenuItem({ startIcon: $r('app.media.'+item.mIcon), content: item.mName })
|
||||||
.width('150')
|
.width('150')
|
||||||
.margin({ top: 0, left: 0, bottom: 0, right: 0
|
.margin({ top: 0, left: 0, bottom: 0, right: 0
|
||||||
})
|
})
|
||||||
@ -17,18 +17,20 @@ export struct GroupTextEventMenu {
|
|||||||
}
|
}
|
||||||
build(){
|
build(){
|
||||||
Row(){
|
Row(){
|
||||||
//功能组名文本
|
if(this.grpEvent!=undefined){
|
||||||
Blank().width('auto')
|
//功能组名文本
|
||||||
Text(this.grpName)
|
Blank().width('auto')
|
||||||
.fontSize(8)
|
Text(this.grpEvent.grpName)
|
||||||
.fontColor(Color.Gray)
|
.fontSize(8)
|
||||||
Blank().width('auto')
|
.fontColor(Color.Gray)
|
||||||
Image($r('app.media.base_seetings'))
|
Blank().width('auto')
|
||||||
.height(15)
|
Image($r('app.media.base_seetings'))
|
||||||
.width(15)
|
.height(15)
|
||||||
.padding(1)
|
.width(15)
|
||||||
.bindMenu(this.GroupMenu(this.grpMenus))
|
.padding(1)
|
||||||
.backgroundColor(Color.Transparent)
|
.bindMenu(this.GroupMenu(this.grpEvent.grpMenu))
|
||||||
|
.backgroundColor(Color.Transparent)
|
||||||
|
}
|
||||||
}.align(Alignment.BottomEnd)
|
}.align(Alignment.BottomEnd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,63 +0,0 @@
|
|||||||
export enum Model{
|
|
||||||
CAD,
|
|
||||||
CAM,
|
|
||||||
CAE,
|
|
||||||
BASE
|
|
||||||
};
|
|
||||||
//Button和Event绑定
|
|
||||||
export interface BtnEvent {
|
|
||||||
eModel:Array<Model>
|
|
||||||
eName:string
|
|
||||||
eNamed:string
|
|
||||||
eIcon:string
|
|
||||||
eTips:string
|
|
||||||
eEvent:string
|
|
||||||
}
|
|
||||||
//Menu
|
|
||||||
export interface Menu{
|
|
||||||
mName:string
|
|
||||||
mIcon:string
|
|
||||||
mTips:string
|
|
||||||
mEvent:string
|
|
||||||
}
|
|
||||||
//功能组
|
|
||||||
export interface GroupEvent{
|
|
||||||
//功能组名字
|
|
||||||
grpName:string;
|
|
||||||
//按钮列表
|
|
||||||
grpBtn:Array<BtnEvent|Array<BtnEvent>>
|
|
||||||
//功能组菜单
|
|
||||||
grpMenu:Array<BaseMenu>
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CAXModel{
|
|
||||||
//模块名
|
|
||||||
cmName:string
|
|
||||||
//模块路由页面
|
|
||||||
cmPage:string
|
|
||||||
//模块提示
|
|
||||||
cmTips:string
|
|
||||||
//模块布局数据
|
|
||||||
//第一个Array为TabContent的行数
|
|
||||||
//第二个Array为单行的按钮列表,该参数分为三种形态
|
|
||||||
//BtnEvent单按钮
|
|
||||||
//Array<GroupEvent>按钮组
|
|
||||||
//Array<BtnEvent>菜单按钮
|
|
||||||
cmEvents:Array<Array<BtnEvent|Array<GroupEvent>|Array<BtnEvent>>>|Array<BtnEvent>
|
|
||||||
}
|
|
||||||
//Title配置
|
|
||||||
export interface TitleConfig{
|
|
||||||
//Title配置ID名(唯一)
|
|
||||||
mId:string;
|
|
||||||
//基础模块
|
|
||||||
mFileModel:CAXModel
|
|
||||||
//功能模块
|
|
||||||
mModels:Map<number,Array<CAXModel>>
|
|
||||||
}
|
|
||||||
//菜单配置
|
|
||||||
export interface BaseMenu{
|
|
||||||
str:string
|
|
||||||
icon:string
|
|
||||||
tips:string
|
|
||||||
event:string
|
|
||||||
}
|
|
||||||
@ -1,129 +0,0 @@
|
|||||||
import {
|
|
||||||
BaseMenu,
|
|
||||||
Model,
|
|
||||||
TitleConfig ,
|
|
||||||
CAXModel,
|
|
||||||
GroupEvent,
|
|
||||||
Menu,
|
|
||||||
BtnEvent,
|
|
||||||
}from './TitleInterface'
|
|
||||||
|
|
||||||
export let GroupMenu:Array<BaseMenu>=[
|
|
||||||
{str:'增功能',icon:'',tips:"",event:''},
|
|
||||||
{str:'编辑组',icon:'',tips:"",event:''},
|
|
||||||
{str:'改图标',icon:'',tips:"",event:''},
|
|
||||||
{str:'重命名',icon:'',tips:"",event:''},
|
|
||||||
{str:'移动到',icon:'',tips:"",event:''}
|
|
||||||
]
|
|
||||||
export let RowMenu:Array<BaseMenu>=[
|
|
||||||
{str:'增加功能',icon:'',tips:"",event:''},
|
|
||||||
{str:'编辑功能组',icon:'',tips:"",event:''},
|
|
||||||
{str:'删除功能组',icon:'',tips:"",event:''},
|
|
||||||
{str:'移动功能组',icon:'',tips:"",event:''}
|
|
||||||
]
|
|
||||||
export let MatrixModel:CAXModel= {
|
|
||||||
cmName:"应用模块",cmPage:"",cmTips:"",cmEvents:[
|
|
||||||
[[{grpName:'模块矩阵',grpBtn:[
|
|
||||||
{eModel:[Model.BASE],eName:"建模",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:"Switch_Model_CAD"},
|
|
||||||
{eModel:[Model.BASE],eName:"加工",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:"Switch_Model_CAM"},
|
|
||||||
{eModel:[Model.BASE],eName:"仿真",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:"Switch_Model_CAE"},
|
|
||||||
],grpMenu:RowMenu}] as Array<GroupEvent>
|
|
||||||
]]
|
|
||||||
}
|
|
||||||
|
|
||||||
export let TitleData:TitleConfig= {
|
|
||||||
mId:"0",
|
|
||||||
mFileModel:
|
|
||||||
{cmName:"文件",cmPage:"",cmTips:"",cmEvents:[
|
|
||||||
{eModel:[Model.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"选项",eNamed:"",eIcon:"base_preferences",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"帮助",eNamed:"",eIcon:"base_help",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"退出",eNamed:"",eIcon:"base_exit",eTips:"",eEvent:""},
|
|
||||||
]},
|
|
||||||
mModels:new Map<number,Array<CAXModel>>([
|
|
||||||
[0,[
|
|
||||||
{cmName:'主页',cmPage:'',cmTips:'',cmEvents: [
|
|
||||||
//数组表示非单个BtnEvent
|
|
||||||
[
|
|
||||||
//数组成员区别是GroupEvent还是BtnEvent
|
|
||||||
[{grpName:'文件功能组',grpBtn:[
|
|
||||||
{eModel:[Model.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
|
||||||
[
|
|
||||||
{eModel:[Model.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"另存为",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"保存全部",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""},
|
|
||||||
] as Array<BtnEvent>,
|
|
||||||
{eModel:[Model.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"帮助",eNamed:"",eIcon:"base_help_file",eTips:"",eEvent:""},
|
|
||||||
],grpMenu:RowMenu}] as Array<GroupEvent>
|
|
||||||
]
|
|
||||||
]},MatrixModel]],
|
|
||||||
[1,[
|
|
||||||
{cmName:'建模',cmPage:'',cmTips:'',cmEvents: [
|
|
||||||
//数组表示非单个BtnEvent
|
|
||||||
[
|
|
||||||
//数组成员区别是GroupEvent还是BtnEvent
|
|
||||||
[{grpName:'基础模型',grpBtn:[
|
|
||||||
{eModel:[Model.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}
|
|
||||||
],grpMenu:RowMenu}] as Array<GroupEvent>
|
|
||||||
]
|
|
||||||
]},MatrixModel]],
|
|
||||||
[2,[
|
|
||||||
{cmName:'加工',cmPage:'',cmTips:'',cmEvents: [
|
|
||||||
//数组表示非单个BtnEvent
|
|
||||||
[
|
|
||||||
//数组成员区别是GroupEvent还是BtnEvent
|
|
||||||
[{grpName:'文件功能组',grpBtn:[
|
|
||||||
{eModel:[Model.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
|
||||||
[
|
|
||||||
{eModel:[Model.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"另存为",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"保存全部",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""},
|
|
||||||
] as Array<BtnEvent>,
|
|
||||||
{eModel:[Model.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"帮助",eNamed:"",eIcon:"base_help_file",eTips:"",eEvent:""},
|
|
||||||
],grpMenu:RowMenu}] as Array<GroupEvent>
|
|
||||||
]
|
|
||||||
]},MatrixModel]],
|
|
||||||
[3,[
|
|
||||||
{cmName:'仿真',cmPage:'',cmTips:'',cmEvents: [
|
|
||||||
//数组表示非单个BtnEvent
|
|
||||||
[
|
|
||||||
//数组成员区别是GroupEvent还是BtnEvent
|
|
||||||
[{grpName:'文件功能组',grpBtn:[
|
|
||||||
{eModel:[Model.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
|
||||||
[
|
|
||||||
{eModel:[Model.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"另存为",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"保存全部",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""},
|
|
||||||
] as Array<BtnEvent>,
|
|
||||||
{eModel:[Model.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
|
||||||
{eModel:[Model.BASE],eName:"帮助",eNamed:"",eIcon:"base_help_file",eTips:"",eEvent:""},
|
|
||||||
],grpMenu:RowMenu}] as Array<GroupEvent>
|
|
||||||
]
|
|
||||||
]},MatrixModel]]
|
|
||||||
])
|
|
||||||
}
|
|
||||||
|
|
||||||
export { TitleConfig, CAXModel }
|
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
import { TitleModelType } from "../Layout/TitleModelType"
|
||||||
|
|
||||||
|
export interface TitleButton {
|
||||||
|
eModel:Array<TitleModelType>
|
||||||
|
eName:string
|
||||||
|
eNamed:string
|
||||||
|
eIcon:string
|
||||||
|
eTips:string
|
||||||
|
eEvent:string
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
import { TitleMenu } from "./TitleMenuInterface";
|
||||||
|
import { TitleButton } from "./TitleButtonInterface";
|
||||||
|
|
||||||
|
//功能组
|
||||||
|
export interface TitleGroup{
|
||||||
|
//功能组名字
|
||||||
|
grpName:string;
|
||||||
|
//按钮列表
|
||||||
|
grpBtn:Array<TitleButton|Array<TitleButton>>
|
||||||
|
//功能组菜单
|
||||||
|
grpMenu:Array<TitleMenu>
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
import { TitleModel } from "./TitleModelInterface";
|
||||||
|
|
||||||
|
//Title配置
|
||||||
|
export interface TitleInterface{
|
||||||
|
//Title配置ID名(唯一)
|
||||||
|
mId:string;
|
||||||
|
//基础模块
|
||||||
|
mFileModel:TitleModel
|
||||||
|
//功能模块
|
||||||
|
mModels:Map<number,Array<TitleModel>>
|
||||||
|
}
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
export interface TitleMenu{
|
||||||
|
mName:string
|
||||||
|
mIcon:string
|
||||||
|
mTips:string
|
||||||
|
mEvent:string
|
||||||
|
}
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
import { TitleButton } from "./TitleButtonInterface"
|
||||||
|
import { TitleGroup } from "./TitleGroupInterface"
|
||||||
|
|
||||||
|
export interface TitleModel{
|
||||||
|
//模块名
|
||||||
|
cmName:string
|
||||||
|
//模块路由页面
|
||||||
|
cmPage:string
|
||||||
|
//模块提示
|
||||||
|
cmTips:string
|
||||||
|
//模块布局数据
|
||||||
|
//第一个Array为TabContent的行数
|
||||||
|
//第二个Array为单行的按钮列表,该参数分为三种形态
|
||||||
|
//BtnEvent单按钮
|
||||||
|
//Array<GroupEvent>按钮组
|
||||||
|
//Array<BtnEvent>菜单按钮
|
||||||
|
cmEvents:Array<Array<TitleButton|Array<TitleGroup>|Array<TitleButton>>>|Array<TitleButton>
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
import { TitleModel } from "../Interface/TitleModelInterface";
|
||||||
|
import { TitleModelType } from "./TitleModelType";
|
||||||
|
|
||||||
|
//文件Bar->Menus
|
||||||
|
export let TitleFileMenuModel:TitleModel={cmName:"文件",cmPage:"",cmTips:"",cmEvents:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"选项",eNamed:"",eIcon:"base_preferences",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"帮助",eNamed:"",eIcon:"base_help",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"退出",eNamed:"",eIcon:"base_exit",eTips:"",eEvent:""},
|
||||||
|
]}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
import { TitleMenu } from "../Interface/TitleMenuInterface";
|
||||||
|
|
||||||
|
export let GroupMenu:Array<TitleMenu>=[
|
||||||
|
{mName:'增功能',mIcon:'',mTips:"",mEvent:''},
|
||||||
|
{mName:'编辑组',mIcon:'',mTips:"",mEvent:''},
|
||||||
|
{mName:'改图标',mIcon:'',mTips:"",mEvent:''},
|
||||||
|
{mName:'重命名',mIcon:'',mTips:"",mEvent:''},
|
||||||
|
{mName:'移动到',mIcon:'',mTips:"",mEvent:''}
|
||||||
|
]
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
import { TitleButton } from "../Interface/TitleButtonInterface";
|
||||||
|
import { TitleGroup } from "../Interface/TitleGroupInterface";
|
||||||
|
import { TitleModelType } from "./TitleModelType";
|
||||||
|
import { TitleRowMenu } from "./TitleRowMenu";
|
||||||
|
|
||||||
|
//主页Bar
|
||||||
|
export let MainPageModel:Array<TitleGroup>=
|
||||||
|
[{grpName:'文件功能组',grpBtn:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"另存为",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"保存全部",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""},
|
||||||
|
] as Array<TitleButton>,
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"帮助",eNamed:"",eIcon:"base_help_file",eTips:"",eEvent:""},
|
||||||
|
],grpMenu:TitleRowMenu}] as Array<TitleGroup>
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
import { TitleGroup } from '../Interface/TitleGroupInterface'
|
||||||
|
import {TitleModel} from '../Interface/TitleModelInterface'
|
||||||
|
import { TitleRowMenu } from './TitleRowMenu'
|
||||||
|
import { TitleModelType } from './TitleModelType'
|
||||||
|
|
||||||
|
export let MatrixModel:TitleModel= {
|
||||||
|
cmName:"应用模块",cmPage:"",cmTips:"",cmEvents:[
|
||||||
|
[[{grpName:'模块矩阵',grpBtn:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"建模",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:"Switch_Model_CAD"},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"加工",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:"Switch_Model_CAM"},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"仿真",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:"Switch_Model_CAE"},
|
||||||
|
],grpMenu:TitleRowMenu}] as Array<TitleGroup>
|
||||||
|
]]
|
||||||
|
}
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
export enum TitleModelType{
|
||||||
|
CAD,
|
||||||
|
CAM,
|
||||||
|
CAE,
|
||||||
|
BASE
|
||||||
|
};
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
import { TitleMenu } from "../Interface/TitleMenuInterface";
|
||||||
|
|
||||||
|
export let TitleRowMenu:Array<TitleMenu>=[
|
||||||
|
{mName:'增加功能',mIcon:'',mTips:"",mEvent:''},
|
||||||
|
{mName:'编辑功能组',mIcon:'',mTips:"",mEvent:''},
|
||||||
|
{mName:'删除功能组',mIcon:'',mTips:"",mEvent:''},
|
||||||
|
{mName:'移动功能组',mIcon:'',mTips:"",mEvent:''}
|
||||||
|
]
|
||||||
@ -0,0 +1,150 @@
|
|||||||
|
import { TitleFileMenuModel } from './TitleFileModel'
|
||||||
|
import { TitleInterface } from '../Interface/TitleInterface'
|
||||||
|
import { TitleModel } from '../Interface/TitleModelInterface'
|
||||||
|
import { MainPageModel } from './TitleMainPage'
|
||||||
|
import { MatrixModel } from './TitleMatrixModel'
|
||||||
|
import { TitleModelType } from './TitleModelType'
|
||||||
|
import { TitleGroup } from '../Interface/TitleGroupInterface'
|
||||||
|
import { TitleRowMenu } from './TitleRowMenu'
|
||||||
|
import { TitleButton } from '../Interface/TitleButtonInterface'
|
||||||
|
|
||||||
|
export let TitleData:TitleInterface= {
|
||||||
|
mId:"0",
|
||||||
|
mFileModel:TitleFileMenuModel,
|
||||||
|
mModels:new Map<number,Array<TitleModel>>([
|
||||||
|
[0,[{cmName:'主页',cmPage:'',cmTips:'',cmEvents: [[MainPageModel]]},MatrixModel]],
|
||||||
|
[1,[{cmName:'主页',cmPage:'',cmTips:'',cmEvents: [[MainPageModel]]},
|
||||||
|
{cmName:'建模',cmPage:'',cmTips:'',cmEvents: [
|
||||||
|
//数组表示非单个BtnEvent
|
||||||
|
[
|
||||||
|
//数组成员区别是GroupEvent还是BtnEvent
|
||||||
|
[{grpName:'基础模型',grpBtn:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||||
|
],grpMenu:TitleRowMenu}] as Array<TitleGroup>
|
||||||
|
]
|
||||||
|
]},
|
||||||
|
{cmName:'曲面',cmPage:'',cmTips:'',cmEvents: [
|
||||||
|
//数组表示非单个BtnEvent
|
||||||
|
[
|
||||||
|
//数组成员区别是GroupEvent还是BtnEvent
|
||||||
|
[{grpName:'基础模型',grpBtn:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||||
|
],grpMenu:TitleRowMenu}] as Array<TitleGroup>
|
||||||
|
]
|
||||||
|
]},
|
||||||
|
{cmName:'曲线',cmPage:'',cmTips:'',cmEvents: [
|
||||||
|
//数组表示非单个BtnEvent
|
||||||
|
[
|
||||||
|
//数组成员区别是GroupEvent还是BtnEvent
|
||||||
|
[{grpName:'基础模型',grpBtn:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||||
|
],grpMenu:TitleRowMenu}] as Array<TitleGroup>
|
||||||
|
]
|
||||||
|
]},
|
||||||
|
{cmName:'同步建模',cmPage:'',cmTips:'',cmEvents: [
|
||||||
|
//数组表示非单个BtnEvent
|
||||||
|
[
|
||||||
|
//数组成员区别是GroupEvent还是BtnEvent
|
||||||
|
[{grpName:'基础模型',grpBtn:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||||
|
],grpMenu:TitleRowMenu}] as Array<TitleGroup>
|
||||||
|
]
|
||||||
|
]},
|
||||||
|
{cmName:'分析',cmPage:'',cmTips:'',cmEvents: [
|
||||||
|
//数组表示非单个BtnEvent
|
||||||
|
[
|
||||||
|
//数组成员区别是GroupEvent还是BtnEvent
|
||||||
|
[{grpName:'基础模型',grpBtn:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||||
|
],grpMenu:TitleRowMenu}] as Array<TitleGroup>
|
||||||
|
]
|
||||||
|
]},
|
||||||
|
{cmName:'显示',cmPage:'',cmTips:'',cmEvents: [
|
||||||
|
//数组表示非单个BtnEvent
|
||||||
|
[
|
||||||
|
//数组成员区别是GroupEvent还是BtnEvent
|
||||||
|
[{grpName:'基础模型',grpBtn:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||||
|
],grpMenu:TitleRowMenu}] as Array<TitleGroup>
|
||||||
|
]
|
||||||
|
]},
|
||||||
|
{cmName:'首选项',cmPage:'',cmTips:'',cmEvents: [
|
||||||
|
//数组表示非单个BtnEvent
|
||||||
|
[
|
||||||
|
//数组成员区别是GroupEvent还是BtnEvent
|
||||||
|
[{grpName:'基础模型',grpBtn:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}
|
||||||
|
],grpMenu:TitleRowMenu}] as Array<TitleGroup>
|
||||||
|
]
|
||||||
|
]},MatrixModel]],
|
||||||
|
[2,[{cmName:'主页',cmPage:'',cmTips:'',cmEvents: [[MainPageModel]]},
|
||||||
|
{cmName:'加工',cmPage:'',cmTips:'',cmEvents: [
|
||||||
|
//数组表示非单个BtnEvent
|
||||||
|
[
|
||||||
|
//数组成员区别是GroupEvent还是BtnEvent
|
||||||
|
[{grpName:'加工环境',grpBtn:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"重置环境",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"工艺",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"切削参数",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"切削速度",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"主轴参数",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""},
|
||||||
|
] as Array<TitleButton>,
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"显示刀路",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"新建工序",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"新建刀具",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
],grpMenu:TitleRowMenu}] as Array<TitleGroup>
|
||||||
|
]
|
||||||
|
]},MatrixModel]],
|
||||||
|
[3,[{cmName:'主页',cmPage:'',cmTips:'',cmEvents: [[MainPageModel]]},
|
||||||
|
{cmName:'仿真',cmPage:'',cmTips:'',cmEvents: [
|
||||||
|
//数组表示非单个BtnEvent
|
||||||
|
[
|
||||||
|
//数组成员区别是GroupEvent还是BtnEvent
|
||||||
|
[{grpName:'初始化仿真',grpBtn:[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"导入模型",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"导出模型",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"设定仿真环境",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
[
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"环境参数",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"力学参数",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"化学参数",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""},
|
||||||
|
] as Array<TitleButton>,
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""},
|
||||||
|
{eModel:[TitleModelType.BASE],eName:"帮助",eNamed:"",eIcon:"base_help_file",eTips:"",eEvent:""},
|
||||||
|
],grpMenu:TitleRowMenu}] as Array<TitleGroup>
|
||||||
|
]
|
||||||
|
]},MatrixModel]]
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
|
export { TitleInterface, TitleModel }
|
||||||
@ -4,8 +4,9 @@ import { AddFormMenuItem } from '@ohos.arkui.advanced.FormMenu';
|
|||||||
import { SceneResourceType } from '@kit.ArkGraphics3D';
|
import { SceneResourceType } from '@kit.ArkGraphics3D';
|
||||||
|
|
||||||
//导入布局模块
|
//导入布局模块
|
||||||
import {TitleData,TitleConfig,CAXModel} from '../LayoutData/TitleLayoutData'
|
import {TitleData, TitleModel} from '../LayoutInterface/Layout/TitleTabContent'
|
||||||
import { BtnEvent, GroupEvent } from '../LayoutData/TitleInterface'
|
import { TitleButton } from '../LayoutInterface/Interface/TitleButtonInterface'
|
||||||
|
import { TitleGroup } from '../LayoutInterface/Interface/TitleGroupInterface'
|
||||||
import {TitleTabContent} from './TitleTabContent'
|
import {TitleTabContent} from './TitleTabContent'
|
||||||
|
|
||||||
@ComponentV2
|
@ComponentV2
|
||||||
@ -14,13 +15,14 @@ export struct TitleTab {
|
|||||||
private titleBarTabs: TabsController = new TabsController();
|
private titleBarTabs: TabsController = new TabsController();
|
||||||
//当前的顶部导航选择页
|
//当前的顶部导航选择页
|
||||||
@Local titleBarFocusIndex: number = 0;
|
@Local titleBarFocusIndex: number = 0;
|
||||||
|
//TabBar默认焦点
|
||||||
@Local titleBarDefaultFocusIndex: number = 0;
|
@Local titleBarDefaultFocusIndex: number = 0;
|
||||||
@Local currentModel:Array<CAXModel>|undefined= TitleData.mModels.get(0)
|
//模块Bar栏
|
||||||
|
@Provider('curtModel') curtModel:Array<TitleModel>|undefined= TitleData.mModels.get(0)
|
||||||
@Builder
|
@Builder
|
||||||
FileMenu(menus: Array<BtnEvent>) {
|
FileMenu(menus: Array<TitleButton>) {
|
||||||
Menu() {
|
Menu() {
|
||||||
ForEach(menus, (item: BtnEvent, index: number) => {
|
ForEach(menus, (item: TitleButton, index: number) => {
|
||||||
MenuItem({ startIcon: $r('app.media.'+item.eIcon), content: item.eName })
|
MenuItem({ startIcon: $r('app.media.'+item.eIcon), content: item.eName })
|
||||||
.width('150')
|
.width('150')
|
||||||
.margin({
|
.margin({
|
||||||
@ -40,10 +42,10 @@ export struct TitleTab {
|
|||||||
.height(25)
|
.height(25)
|
||||||
.width(60)
|
.width(60)
|
||||||
.padding(5)
|
.padding(5)
|
||||||
.bindMenu(this.FileMenu(TitleData.mFileModel.cmEvents as Array<BtnEvent>))
|
.bindMenu(this.FileMenu(TitleData.mFileModel.cmEvents as Array<TitleButton>))
|
||||||
.type(ButtonType.Normal)
|
.type(ButtonType.Normal)
|
||||||
.backgroundColor(Color.Brown)
|
.backgroundColor(Color.Brown)
|
||||||
ForEach(this.currentModel, (item: CAXModel, index: number) => {
|
ForEach(this.curtModel, (item: TitleModel, index: number) => {
|
||||||
Button(item.cmName)
|
Button(item.cmName)
|
||||||
.fontWeight(index === this.titleBarFocusIndex ? FontWeight.Bold : FontWeight.Normal)
|
.fontWeight(index === this.titleBarFocusIndex ? FontWeight.Bold : FontWeight.Normal)
|
||||||
.height(25)
|
.height(25)
|
||||||
@ -54,7 +56,7 @@ export struct TitleTab {
|
|||||||
.onClick(() => {
|
.onClick(() => {
|
||||||
this.titleBarTabs.changeIndex(index);
|
this.titleBarTabs.changeIndex(index);
|
||||||
this.titleBarFocusIndex = index;
|
this.titleBarFocusIndex = index;
|
||||||
this.currentModel=TitleData.mModels.get(index);
|
//this.currentModel=TitleData.mModels.get(index);
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -65,9 +67,9 @@ export struct TitleTab {
|
|||||||
.margin({ top: 2,left:2,bottom:2,right:2})
|
.margin({ top: 2,left:2,bottom:2,right:2})
|
||||||
.width('100%')
|
.width('100%')
|
||||||
Tabs({barPosition: BarPosition.Start, index: this.titleBarDefaultFocusIndex,controller: this.titleBarTabs}){
|
Tabs({barPosition: BarPosition.Start, index: this.titleBarDefaultFocusIndex,controller: this.titleBarTabs}){
|
||||||
ForEach(this.currentModel,(item:CAXModel, index: number)=>{
|
ForEach(this.curtModel,(item:TitleModel, index: number)=>{
|
||||||
TabContent() {
|
TabContent() {
|
||||||
TitleTabContent({tabLayout:item.cmEvents as Array<Array<BtnEvent|Array<GroupEvent>|Array<BtnEvent>>>})
|
TitleTabContent({tabLayout:item.cmEvents as Array<Array<TitleButton|Array<TitleGroup>|Array<TitleButton>>>})
|
||||||
}.align(Alignment.Start)
|
}.align(Alignment.Start)
|
||||||
.padding(1)
|
.padding(1)
|
||||||
.margin({ top: 0,left:0,bottom:2,right:0})
|
.margin({ top: 0,left:0,bottom:2,right:0})
|
||||||
|
|||||||
@ -1,47 +1,52 @@
|
|||||||
import { hilog } from '@kit.PerformanceAnalysisKit';
|
import { hilog } from '@kit.PerformanceAnalysisKit';
|
||||||
import { BaseMenu, BtnEvent, GroupEvent } from '../LayoutData/TitleInterface';
|
import { TitleButton} from '../LayoutInterface/Interface/TitleButtonInterface';
|
||||||
|
import { TitleGroup} from '../LayoutInterface/Interface/TitleGroupInterface';
|
||||||
import {GroupTextEventMenu} from '../CustomStyle/StyleMenu'
|
import {GroupTextEventMenu} from '../CustomStyle/StyleMenu'
|
||||||
import {EventButton,EventBtnMenu} from '../CustomStyle/StyleButton'
|
import {EventBtn,MenuBtn} from '../CustomStyle/StyleButton'
|
||||||
|
|
||||||
|
|
||||||
@ComponentV2
|
@ComponentV2
|
||||||
export struct TitleTabContent {
|
export struct TitleTabContent {
|
||||||
@Param tabLayout:Array<Array<BtnEvent|Array<GroupEvent>|Array<BtnEvent>>>=[];
|
@Param tabLayout:Array<Array<TitleButton|Array<TitleGroup>|Array<TitleButton>>>=[];
|
||||||
build() {
|
build() {
|
||||||
//垂直布局展示多行
|
//垂直布局展示多行
|
||||||
Column({ space: 0 }) {
|
Column({ space: 0 }) {
|
||||||
//迭代生成行容器
|
//迭代生成行容器
|
||||||
ForEach(this.tabLayout, (row_items: Array<BtnEvent|Array<GroupEvent>|Array<BtnEvent>>, index: number) => {
|
ForEach(this.tabLayout, (row_items: Array<TitleButton|Array<TitleGroup>|Array<TitleButton>>, mIndex: number) => {
|
||||||
//行的按钮组容器
|
//行的按钮组容器
|
||||||
Row(){
|
Row(){
|
||||||
ForEach(row_items, (row_item: BtnEvent|Array<GroupEvent>|Array<BtnEvent>, index: number) => {
|
ForEach(row_items, (row_item: TitleButton|Array<TitleGroup>|Array<TitleButton>, index: number) => {
|
||||||
//首先判断是否为数组.如果不为数组者为BtnEvent
|
//首先判断是否为数组.如果不为数组者为BtnEvent
|
||||||
if(!Array.isArray(row_item)){
|
if(!Array.isArray(row_item)){
|
||||||
//单按钮
|
//单按钮
|
||||||
EventButton({btn:row_item})
|
EventBtn({eventBtn:row_item})
|
||||||
}else if(row_item instanceof Array<GroupEvent>){
|
}else if(row_item instanceof Array<TitleGroup>){
|
||||||
//功能组,迭代多个功能组
|
//功能组,迭代多个功能组
|
||||||
ForEach(row_item, (group_item: GroupEvent, index: number) =>{
|
ForEach(row_item, (group_item: TitleGroup, index: number) =>{
|
||||||
Column({ space: 5 }){
|
Column({ space: 5 }){
|
||||||
Row({ space: 1 }){
|
Row({ space: 1 }){
|
||||||
ForEach(group_item.grpBtn, (btn_item: BtnEvent|Array<BtnEvent>, index: number) =>{
|
ForEach(group_item.grpBtn, (btn_item: TitleButton|Array<TitleButton>, index: number) =>{
|
||||||
//如果是数组则为菜单按钮否则为单功能按钮
|
//如果是数组则为菜单按钮否则为单功能按钮
|
||||||
if(Array.isArray(btn_item)){
|
if(Array.isArray(btn_item)){
|
||||||
EventBtnMenu({btnMenus:btn_item})
|
MenuBtn({menuBtn:btn_item})
|
||||||
}else{
|
}else{
|
||||||
EventButton({btn:btn_item})
|
//针对最后一个Bar特化处理.如果为最后一个Bar则在子组件Image真假onClick事件
|
||||||
|
if(mIndex==this.tabLayout.length-1){
|
||||||
|
EventBtn({eventBtn:btn_item,modelType:1})
|
||||||
|
}else{
|
||||||
|
EventBtn({eventBtn:btn_item})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}.margin({ top: 1,left:1,bottom:1,right:1})
|
}.margin({ top: 1,left:1,bottom:1,right:1})
|
||||||
//功能组名
|
//功能组名
|
||||||
GroupTextEventMenu({grpName:group_item.grpName,grpMenus:group_item.grpMenu})
|
GroupTextEventMenu({grpEvent:group_item})
|
||||||
}.borderWidth(1)
|
}.borderWidth(1)
|
||||||
.borderColor(Color.Grey)
|
.borderColor(Color.Grey)
|
||||||
})
|
})
|
||||||
}else{
|
}else{
|
||||||
//菜单按钮
|
//菜单按钮
|
||||||
Column(){
|
Column(){
|
||||||
Button((row_item as Array<BtnEvent>)[0].eName)
|
Button((row_item as Array<TitleButton>)[0].eName)
|
||||||
.height('95%')
|
.height('95%')
|
||||||
.width('50')
|
.width('50')
|
||||||
.padding('1')
|
.padding('1')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user