From 3bd44fa81a168624766636135cc0feb4a6caab42 Mon Sep 17 00:00:00 2001 From: JackLee <809262979@qq.com> Date: Wed, 22 Apr 2026 18:17:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=90=E6=A0=8F=E7=9B=AE=E4=B8=ADUI=E5=B1=82?= =?UTF-8?q?=E9=9D=A2=E5=AE=9E=E8=A3=85=E9=A2=84=E8=A7=88=E5=92=8C=E7=BC=96?= =?UTF-8?q?=E8=BE=91,=E9=BC=A0=E6=A0=87=E5=92=8C=E8=A7=A6=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/pages/Index.ets | 16 ++++++------- .../src/main/ets/pages/eventhub/EventBase.ets | 22 +++++++++++++++++- entry/src/main/ets/pages/layout/SubColumn.ets | 10 ++++++++ .../ets/pages/titletabs/TitleColumnSub.ets | 17 +++++--------- .../base/media/base_control_mode_mouse.png | Bin 0 -> 4287 bytes .../base/media/base_control_mode_touch.png | Bin 0 -> 4064 bytes .../base/media/base_ui_mode_edit.png | Bin 0 -> 5807 bytes .../base/media/base_ui_mode_preview.png | Bin 0 -> 4573 bytes 8 files changed, 44 insertions(+), 21 deletions(-) create mode 100644 entry/src/main/resources/base/media/base_control_mode_mouse.png create mode 100644 entry/src/main/resources/base/media/base_control_mode_touch.png create mode 100644 entry/src/main/resources/base/media/base_ui_mode_edit.png create mode 100644 entry/src/main/resources/base/media/base_ui_mode_preview.png diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 4c3f2c86..ad7a1c9b 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -1,12 +1,11 @@ import { hilog } from '@kit.PerformanceAnalysisKit'; -import { OverlayManager } from '@kit.ArkUI'; import { TitleTab } from './titletabs/TitleTab' import { LeftSideTab } from './leftside/LeftSideTab' import { RightSideTab } from './rightside/RightSideTab' import { View } from './view/View' import { TitleColumnSub } from './titletabs/TitleColumnSub' import { mdwInfo } from './displaywindowinfo/DispWinInfo' - +import { uiMode } from './eventhub/EventBase' const DOMAIN = 0x0000; //分割线类型,分左和右 @@ -22,7 +21,6 @@ struct Index { @Local isDragging:boolean=false; @Provider('LeftSideWidth') leftSideWidth:number=mdwInfo.winWidth * 0.1; @Provider('RightSideWidth') rightSideWidth:number=mdwInfo.winHeight * 0.1; - @Local overlayState:boolean=true; //利用分割线拖动改变区域容器大小.鼠标和触控整合 dividerChangeSize(event:MouseEvent|TouchEvent,dividerType:DividerType){ @@ -72,13 +70,13 @@ struct Index { //OpenCAX主界面整体布局,采用多行布局 Column() { //头部导航功能区 - Blank().height(this.overlayState?'15%':'0%') + Blank().height(uiMode.state?'15%':'0%') //TitleTab().height('15%') //分割线 Divider().vertical(false).strokeWidth(1).lineCap(LineCapStyle.Round).width('100%').backgroundColor(Color.Grey) //工具栏 Row() { - TitleColumnSub({ subOverlayState:this.overlayState!! }) + TitleColumnSub() }.height('4%') .align(Alignment.Start) @@ -86,7 +84,7 @@ struct Index { Divider().vertical(false).strokeWidth(1).lineCap(LineCapStyle.Round).width('100%').backgroundColor(Color.Grey) Row() { //左侧边导航区 - LeftSideTab().width(this.overlayState?this.leftSideWidth:'0%') + LeftSideTab().width(uiMode.state?this.leftSideWidth:'0%') // 左拖拽手柄 Divider().vertical(true).strokeWidth(3).lineCap(LineCapStyle.Round).height('100%').backgroundColor(Color.Grey) .onMouse((event) => { @@ -109,8 +107,8 @@ struct Index { this.dividerChangeSize(event,DividerType.RightSide) }) //右侧边导航区 - RightSideTab().width(this.overlayState?this.rightSideWidth:'0%') - }.height(this.overlayState?'77%':'92%') + RightSideTab().width(uiMode.state?this.rightSideWidth:'0%') + }.height(uiMode.state?'77%':'92%') //分割线 Divider().vertical(false).strokeWidth(1).lineCap(LineCapStyle.Round).width('100%').backgroundColor(Color.Grey) ///状态栏 @@ -123,7 +121,7 @@ struct Index { .height('4%') } TitleTab() - .height(this.overlayState?'15%':'0%') + .height(uiMode.state?'15%':'0%') .backgroundColor(Color.Transparent) .backgroundBlurStyle(BlurStyle.Thin, { colorMode: ThemeColorMode.LIGHT, adaptiveColor: AdaptiveColor.DEFAULT, scale: 1.0 }) diff --git a/entry/src/main/ets/pages/eventhub/EventBase.ets b/entry/src/main/ets/pages/eventhub/EventBase.ets index 80799a28..5f40c130 100644 --- a/entry/src/main/ets/pages/eventhub/EventBase.ets +++ b/entry/src/main/ets/pages/eventhub/EventBase.ets @@ -29,9 +29,18 @@ export class SubWinInfo{ } } +@ObservedV2 +export class UIMode{ + @Trace public state?:boolean; + constructor(_uiModeState?:boolean,) + { + this.state = _uiModeState; + } +} + //窗体保存容器 export let subWins:Map=new Map; - +export let uiMode:UIMode=new UIMode(true); //随机ID export function RndId(): string { // 获取当前时间戳(毫秒) @@ -111,6 +120,17 @@ export function EventExecute(event:TitleButton){ let suffix:Array=['step','stp','prt'] PickFile(suffix); } + + if(event?.btnEvent.command=='MODE_PREVIEW'){ + uiMode.state=false; + }else if(event?.btnEvent.command=='MODE_EDIT'){ + uiMode.state=true; + } + if(event?.btnEvent.command=='MODE_MOUSE'){ + + }else if(event?.btnEvent.command=='MODE_TOUCH'){ + + } } //事件类型:页面 diff --git a/entry/src/main/ets/pages/layout/SubColumn.ets b/entry/src/main/ets/pages/layout/SubColumn.ets index 21439252..e257f1d0 100644 --- a/entry/src/main/ets/pages/layout/SubColumn.ets +++ b/entry/src/main/ets/pages/layout/SubColumn.ets @@ -60,5 +60,15 @@ 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:[]}} ] +//预览和编辑 +export let EditMode:Array=[ + {btnModel:[ModelType.BASE],btnName:'编辑',btnNamed:'',btnIcon:'base_ui_mode_edit',btnTips:'编辑',btnEvent:{uid:'',command:'MODE_EDIT',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:'预览',btnNamed:'',btnIcon:'base_ui_mode_preview',btnTips:'预览',btnEvent:{uid:'',command:'MODE_PREVIEW',page:'',type:EventType.EVENT,args:[]}}, +] +//鼠标和触控 +export let ControlMode:Array=[ + {btnModel:[ModelType.BASE],btnName:'鼠标',btnNamed:'',btnIcon:'base_control_mode_mouse',btnTips:'鼠标',btnEvent:{uid:'',command:'MODE_MOUSE',page:'',type:EventType.EVENT,args:[]}}, + {btnModel:[ModelType.BASE],btnName:'触控',btnNamed:'',btnIcon:'base_control_mode_touch',btnTips:'触控',btnEvent:{uid:'',command:'MODE_TOUCH',page:'',type:EventType.EVENT,args:[]}}, +] diff --git a/entry/src/main/ets/pages/titletabs/TitleColumnSub.ets b/entry/src/main/ets/pages/titletabs/TitleColumnSub.ets index b7d370ed..82d7947c 100644 --- a/entry/src/main/ets/pages/titletabs/TitleColumnSub.ets +++ b/entry/src/main/ets/pages/titletabs/TitleColumnSub.ets @@ -8,7 +8,9 @@ import { SwitchLayout, SwitchView, SwitchDisplayMode, - SwitchSelectFilter + SwitchSelectFilter, + EditMode, + ControlMode } from '../layout/SubColumn' @ComponentV2 export struct TitleColumnSub { @@ -16,8 +18,7 @@ export struct TitleColumnSub { @Local dX:number=0; @Local dY:number=0; @Local viewDialog:CustomDialogController|undefined=undefined; - @Param subOverlayState: boolean = true; - @Event $subOverlayState: (val: boolean) => void = (val: boolean) => {}; + //文件操作目录数据初始化 private ViewDialog(): CustomDialogController { @@ -63,15 +64,9 @@ export struct TitleColumnSub { height: '80%' // 图片高度占满按钮 }) SubColumnMenu({menus:SwitchDisplayMode}) + SubColumnMenu({menus:EditMode}) + SubColumnMenu({menus:ControlMode}) Blank().layoutWeight(1) - //编辑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/resources/base/media/base_control_mode_mouse.png b/entry/src/main/resources/base/media/base_control_mode_mouse.png new file mode 100644 index 0000000000000000000000000000000000000000..bfff6ff179072e287b97a5e15c6de52eb9554309 GIT binary patch literal 4287 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 literal 0 HcmV?d00001 diff --git a/entry/src/main/resources/base/media/base_control_mode_touch.png b/entry/src/main/resources/base/media/base_control_mode_touch.png new file mode 100644 index 0000000000000000000000000000000000000000..200e6b641fa51d3204cea9574c08b235af741cad GIT binary patch literal 4064 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 Qr)M>wr*%WKQk@X>KOAf)pa1{> literal 0 HcmV?d00001 diff --git a/entry/src/main/resources/base/media/base_ui_mode_edit.png b/entry/src/main/resources/base/media/base_ui_mode_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..2b59cff064d27bf1b054d53988c09998cb7c291c GIT binary patch literal 5807 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 XprnyXMcD%z|1>~NNmH=`X&LrE%A%2< literal 0 HcmV?d00001