import { hilog } from '@kit.PerformanceAnalysisKit'; import { TitleButton } from "../LayoutInterface/Interface/TitleButtonInterface"; import { TitleModel} from "../LayoutInterface/Interface/TitleModelInterface"; import { TitleData } from '../LayoutInterface/Layout/TitleTabContent'; //单一功能按钮 @ComponentV2 export struct EventBtn { @Param eventBtn:TitleButton|undefined=undefined; @Param modelType:number|undefined=0; @Consumer('curtModel') curtModel:Array|undefined= TitleData.mModels.get(0) build() { Column({ space: 2 }) { if(this.eventBtn!=undefined){ if(this.modelType==1){ Image($r('app.media.' + this.eventBtn.eIcon)) .width('45vp') .height('35vp') .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('45vp') .height('35vp') .objectFit(ImageFit.Contain) } Text(this.eventBtn.eName) .fontSize('10fp') .width('45vp') .height('10vp') .textAlign(TextAlign.Center) } } .height('50vp') .width('50vp') .padding('1vp') } } //菜单目录按钮 //功能目录菜单,主要用于针对单一按钮多个功能形式 @ComponentV2 export struct MenuBtn { @Param menuBtn: Array|undefined=undefined; @Local iconState:boolean=false; @Builder EventMenu(){ Menu() { ForEach(this.menuBtn, (item: TitleButton, index: number) => { MenuItem({ startIcon: $r('app.media.'+item.eIcon), content: item.eName }) .width('150') .margin({ top: 0, left: 0, bottom: 0, right: 0 }) }) } } build() { if(this.menuBtn!=undefined){ EventBtn({eventBtn:this.menuBtn[0]}).bindMenu(this.EventMenu) } } }