From 76c8dfd86e4244a2018c9a0a6ddefc429694d8f2 Mon Sep 17 00:00:00 2001 From: JackLee <809262979@qq.com> Date: Wed, 11 Mar 2026 21:02:14 +0800 Subject: [PATCH] =?UTF-8?q?1-=E5=A2=9E=E5=8A=A0=E5=AD=90=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=A0=8F=202-=E5=A2=9E=E5=8A=A0=E5=89=8D=E7=AB=AF=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E8=BF=87=E6=BB=A4=E5=99=A8=203-=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=9B=BE=E5=B1=82=E8=AE=BE=E7=BD=AE=204-=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=E9=80=89=E6=8B=A9=205-=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=9D=90=E6=A0=87=E8=BD=B4=E8=AE=BE=E7=BD=AE=206-=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=98=BE=E7=A4=BA=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ets/pages/CustomStyle/StyleButton.ets | 11 ++-- .../ets/pages/CustomStyle/StyleComboBox.ets | 59 ++++++++++++++++++ .../ets/pages/CustomStyle/StyleDialog.ets | 25 ++++++++ entry/src/main/ets/pages/Index.ets | 12 +++- .../Layout/TitleSelectionMode.ets | 15 +++++ .../LayoutInterface/Layout/TitleViewData.ets | 15 +++++ .../pages/TitleTabLayout/TitleColumnSub.ets | 53 ++++++++++++++++ .../resources/base/media/base_view_back.bmp | Bin 0 -> 65590 bytes .../resources/base/media/base_view_bottom.bmp | Bin 0 -> 65590 bytes .../resources/base/media/base_view_front.bmp | Bin 0 -> 65590 bytes .../resources/base/media/base_view_left.bmp | Bin 0 -> 65590 bytes .../resources/base/media/base_view_right.bmp | Bin 0 -> 65590 bytes .../base/media/base_view_tfr_iso.bmp | Bin 0 -> 65590 bytes .../base/media/base_view_tfr_tri.bmp | Bin 0 -> 65590 bytes .../resources/base/media/base_view_top.bmp | Bin 0 -> 65590 bytes 15 files changed, 184 insertions(+), 6 deletions(-) create mode 100644 entry/src/main/ets/pages/CustomStyle/StyleComboBox.ets create mode 100644 entry/src/main/ets/pages/CustomStyle/StyleDialog.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleSelectionMode.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleViewData.ets create mode 100644 entry/src/main/ets/pages/TitleTabLayout/TitleColumnSub.ets create mode 100644 entry/src/main/resources/base/media/base_view_back.bmp create mode 100644 entry/src/main/resources/base/media/base_view_bottom.bmp create mode 100644 entry/src/main/resources/base/media/base_view_front.bmp create mode 100644 entry/src/main/resources/base/media/base_view_left.bmp create mode 100644 entry/src/main/resources/base/media/base_view_right.bmp create mode 100644 entry/src/main/resources/base/media/base_view_tfr_iso.bmp create mode 100644 entry/src/main/resources/base/media/base_view_tfr_tri.bmp create mode 100644 entry/src/main/resources/base/media/base_view_top.bmp diff --git a/entry/src/main/ets/pages/CustomStyle/StyleButton.ets b/entry/src/main/ets/pages/CustomStyle/StyleButton.ets index 0f322364..e15e0188 100644 --- a/entry/src/main/ets/pages/CustomStyle/StyleButton.ets +++ b/entry/src/main/ets/pages/CustomStyle/StyleButton.ets @@ -45,25 +45,26 @@ export struct EventBtn { } } + //菜单目录按钮 //功能目录菜单,主要用于针对单一按钮多个功能形式 @ComponentV2 export struct MenuBtn { @Param menuBtn: Array|undefined=undefined; + @Local iconState:boolean=false; @Builder - EventMenu(_btnMenus:Array){ + EventMenu(){ Menu() { - ForEach(_btnMenus, (item: TitleButton, index: number) => { + 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 - }) + .margin({ top: 0, left: 0, bottom: 0, right: 0 }) }) } } build() { if(this.menuBtn!=undefined){ - EventBtn({eventBtn:this.menuBtn[0]}).bindMenu(this.EventMenu(this.menuBtn)) + EventBtn({eventBtn:this.menuBtn[0]}).bindMenu(this.EventMenu) } } } diff --git a/entry/src/main/ets/pages/CustomStyle/StyleComboBox.ets b/entry/src/main/ets/pages/CustomStyle/StyleComboBox.ets new file mode 100644 index 00000000..675c5909 --- /dev/null +++ b/entry/src/main/ets/pages/CustomStyle/StyleComboBox.ets @@ -0,0 +1,59 @@ +import { TitleButton } from "../LayoutInterface/Interface/TitleButtonInterface"; + +@ComponentV2 +export struct TextComboBox { + @Param menu: Array = new Array; + @Local selectIndex:number=0; + @Builder + EventMenu() { + Menu() { + ForEach(this.menu, (item: TitleButton, index: number) => { + MenuItem({ content: item.eName }) + .width('150') + .margin({ + top: 0, + left: 0, + bottom: 0, + right: 0 + }).onClick(()=>{ + this.selectIndex=index; + }) + }) + } + } + build() { + Row() { + Text(this.menu[this.selectIndex].eName) + .bindMenu(this.EventMenu) + } + } +} +@ComponentV2 +export struct TextInputComboBox { + @Param menu: Array = new Array; + @Local selectIndex:number=0; + @Builder + EventMenu() { + Menu() { + ForEach(this.menu, (item: TitleButton, index: number) => { + MenuItem({ content: item.eName }) + .width('150') + .margin({ + top: 0, + left: 0, + bottom: 0, + right: 0 + }).onClick(()=>{ + this.selectIndex=index; + }) + }) + } + } + build() { + Row() { + TextInput({placeholder:this.selectIndex.toString()}) + .bindMenu(this.EventMenu) + .type(InputType.Number) + } + } +} diff --git a/entry/src/main/ets/pages/CustomStyle/StyleDialog.ets b/entry/src/main/ets/pages/CustomStyle/StyleDialog.ets new file mode 100644 index 00000000..092781f1 --- /dev/null +++ b/entry/src/main/ets/pages/CustomStyle/StyleDialog.ets @@ -0,0 +1,25 @@ +import { TitleButton } from "../LayoutInterface/Interface/TitleButtonInterface"; +import {TitleViewMenu} from "../LayoutInterface/Layout/TitleViewData" +import { Popup } from "@kit.ArkUI"; + +//视图切换弹窗 +@CustomDialog +export struct ViewDialog { + controller: CustomDialogController; + build(){ + Row({ space:2 }) { + GridRow({ columns: 3 ,gutter: 5 }) { + ForEach(TitleViewMenu, (item: TitleButton, index?: number | undefined) => { + GridCol({ span: 1 }) { + Row() { + Image($r('app.media.' + item.eIcon)) + .width('35vp') + .height('35vp') + .objectFit(ImageFit.Contain) + } + } + }) + } + } + } +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index e2651720..e1cc4593 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -3,16 +3,25 @@ import { edgeColors } from '@kit.ArkUI'; import {TitleTab} from './TitleTabLayout/TitleTab' import {LeftSideTab} from './leftSideTab' import {ModelViewTab} from './modelViewTab' +import {TitleColumnSub} from './TitleTabLayout/TitleColumnSub' const DOMAIN = 0x0000; @Entry @Component struct Index { + build() { //OpenCAX主界面整体布局,采用多行布局 - Flex({ direction: FlexDirection.Column }) { + Column({space:1}) { //头部导航功能区 TitleTab().height('auto').borderWidth('1vp') + //工具栏 + Row() { + TitleColumnSub(); + }.height('4%') + .width('100%') + .borderWidth('1vp') + .align(Alignment.Start) Row() { //左侧边导航区 LeftSideTab().borderWidth('1vp').width('20%'); @@ -25,6 +34,7 @@ struct Index { .align(Alignment.Center) }.height('80%') .padding(1) + .padding(1) Column(){ Text('状态栏').height('100%').width('100%') }.height('5%').borderWidth('1vp') diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleSelectionMode.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleSelectionMode.ets new file mode 100644 index 00000000..d680cb4e --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleSelectionMode.ets @@ -0,0 +1,15 @@ +import { TitleButton } from "../Interface/TitleButtonInterface"; +import { TitleModelType } from "./TitleModelType"; + +export let SelectionMode:Array=[ + {eModel:[TitleModelType.BASE],eName:"实体特征",eNamed:"",eIcon:"",eTips:"正三轴测图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"曲线特征",eNamed:"",eIcon:"",eTips:"前视图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"加工特征",eNamed:"",eIcon:"",eTips:"前视图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"基准",eNamed:"",eIcon:"",eTips:"正等测图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"边",eNamed:"",eIcon:"",eTips:"前视图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"面",eNamed:"",eIcon:"",eTips:"左视图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"线",eNamed:"",eIcon:"",eTips:"右视图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"视图",eNamed:"",eIcon:"",eTips:"前视图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"图像",eNamed:"",eIcon:"",eTips:"俯视图",eEvent:""}, +] + diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleViewData.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleViewData.ets new file mode 100644 index 00000000..3c6e1732 --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleViewData.ets @@ -0,0 +1,15 @@ +import { TitleButton } from "../Interface/TitleButtonInterface"; +import { TitleModelType } from "./TitleModelType"; + +export let TitleViewMenu:Array=[ + {eModel:[TitleModelType.BASE],eName:"正三轴测图",eNamed:"",eIcon:"base_view_tfr_tri",eTips:"正三轴测图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"俯视图",eNamed:"",eIcon:"base_view_top",eTips:"俯视图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"正等测图",eNamed:"",eIcon:"base_view_tfr_iso",eTips:"正等测图",eEvent:""}, + + {eModel:[TitleModelType.BASE],eName:"左视图",eNamed:"",eIcon:"base_view_left",eTips:"左视图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"前视图",eNamed:"",eIcon:"base_view_front",eTips:"前视图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"右视图",eNamed:"",eIcon:"base_view_right",eTips:"右视图",eEvent:""}, + + {eModel:[TitleModelType.BASE],eName:"后视图",eNamed:"",eIcon:"base_view_back",eTips:"后视图",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"仰视图",eNamed:"",eIcon:"base_view_bottom",eTips:"仰视图",eEvent:""}, +] \ No newline at end of file diff --git a/entry/src/main/ets/pages/TitleTabLayout/TitleColumnSub.ets b/entry/src/main/ets/pages/TitleTabLayout/TitleColumnSub.ets new file mode 100644 index 00000000..81e5e655 --- /dev/null +++ b/entry/src/main/ets/pages/TitleTabLayout/TitleColumnSub.ets @@ -0,0 +1,53 @@ +import { TextComboBox,TextInputComboBox } from "../CustomStyle/StyleComboBox"; +import { TitleButton } from "../LayoutInterface/Interface/TitleButtonInterface"; +import { ViewDialog } from "../CustomStyle/StyleDialog" +import { TitleViewMenu } from "../LayoutInterface/Layout/TitleViewData"; +import {SelectionMode} from "../LayoutInterface/Layout/TitleSelectionMode" +@ComponentV2 +export struct TitleColumnSub { + //Title下的子行的功能 + @Local layerArray: Array = []; + @Local dX:number=0; + @Local dY:number=0; + @Local viewDialog:CustomDialogController|undefined=undefined; + + private ViewDialog(): CustomDialogController { + return new CustomDialogController({ + builder: ViewDialog(), // 确保 ViewDialog 组件已正确定义 + width: '130vp', + height: '118vp', + borderWidth: 1, + cornerRadius: 5, + isModal: true, + alignment: DialogAlignment.TopStart, + offset: { dx: this.dX, dy: this.dY }, + }); + } + build(){ + Row({space:5}){ + Image($r('app.media.base_seetings')) + .height(25) + .width(25) + .padding(1) + Text('拾取类型过滤器:') + TextComboBox({menu:SelectionMode}) + .width('100vp') + .borderWidth(1) + .borderColor(Color.Grey) + .borderRadius(5) + Text('图层:') + TextInputComboBox({menu:this.layerArray}).width('10%') + Button('坐标轴') + Image($r('app.media.' + TitleViewMenu[0].eIcon)).onClick((event) => { + this.dX=event.windowX + this.dY=event.windowY + if(this.viewDialog==undefined){ + this.viewDialog=this.ViewDialog(); + } + this.viewDialog.open(); + }).width('35vp') + .height('35vp') + Button('显示类型') + }.margin({ top: 1, left: 1, bottom: 1, right: 1 }) + } +} \ No newline at end of file diff --git a/entry/src/main/resources/base/media/base_view_back.bmp b/entry/src/main/resources/base/media/base_view_back.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e933954a090898905f89a7bcca476fe97d00bf40 GIT binary patch literal 65590 zcmeI5*LK`C5QgnH$z|?s%T{k&B-weVJfVBl{moGUklf+Uz7h9n)tJczyFQv*Zyc)@?Sh3+wuP)glir?2JV16;10M0?tnYs z4!8sEfIHw0xC8EhJKzqu1MYx3;10M0?!eV{U_9OlQsQ*l5}@*4H|CB#^6jv7l#%OS>6bJSQ|TnaH3o1?~^JBuO4 zo#xn$+qZ9r^I~CPA)FVtZruv!#m$>H!+CMz#*HA6dwwH-cYygz`>HrFIe&NHDmpM7 ze|O-jIWR5%larHxI6giO97jh-f#dM-FmN0k90ZR2{r$l4_3PKb@#V{x!14L>=fLsl z)2G1k@#Dw9@!`XV!14b5`@r$;-Mhf?_U+ri@#f8&!14O^>%j5q)vLhq^5x6G@#4jc z!14U~^T6@!*|Wg$^y$;U@#M*q!14I;FMd& z^Y0GCe9$Kc@ErjTOv)b)2!D5=zj*-skq4&XFAjjeJJ3%Dn7_0y!rvX}p92@=|Lxni zP7ZJf`sKj1{C9Wvg5-UK@OKCL`@KMZcgzmt^1twB2f*JQ=%)kt+W{Pyls_C`{_a5k z8~}ghfob@Q1K+=YZ}UHUz~2dcJ}}?&0p>65-{J2L^!N9Kv*Pa#^wWW9`S0!BZRdZO z2MTu%{v7c6!2Hh#@ zb9Nw?|Ajw00RHYkKOI1w0UVf=KOA8G?m+(>0Dt6xY50o+zkdB{^FMpQ-wAv^FyHe5 z<}dBv;qMOg_r2na@=xajm>1%R-xH@tyg!m2@m_iNSZ}={zh7?gUU6D)n0x;3-TSMZ z|A9Ln!8|>t?D2ET9zS>4qt>8K2bjM_eL-4tIthPwKy=vN zfyiIhFOLr7?$6KL`jPHm0RC2aAYHrO`P%Z$jj!^Ty(~5Y^S5vS>z5-Bs0fpkx+-2M4^TR+l$&8+vZkiE^=0q1MWH#fe@Kh_suKNG7wknU}lyFWi~ z>xb-d$PR$NRUQC;-x)EU8p+Q+|i|CPV&eZ6JA zzai?)od0~}y>#Dm>pd>PA9a`DBb_suixcAINSf+ zDh~*McA)n0FWvvaK%RRIdHxX=4uC%#DBb_suP^-B0kFq$)()ighP97>>HZG}!E-R|kZ@r31=8)*IG7{-yh`{G$WlZ{+~$jNn1({?~r} zF8^Ws>{~j3dNb!gAHV+}4&}MmI5;>kbpZU42Wo%*O7~y*vjf84(t%iKp!J5O`(OL@ zhr?0J9}a-Ol>?|VK^~}m{7d&g@>d6#zl8(JKh_(T?tksqSN_p~!^6Wi|FZ`?AH3-I z0@NA7gWAWxbpN~jM?v^oI)HjJ=RY6w|ItXEdkyfnasd312TJ>2`}KuCJHY%c97yX8 zYajp8{U43SEq^$0baZs~82}e}E^yH~q1GD3n$yz#ul@Rwzd9iNEgew)vEH!u@h{zf zIspF21GPVYrTZ`Z z*#Y5i=|Ea=ID7V8abAOF(**S(LU1I*vT0p%a-4NLdG_UkKu z+4p)JPEJnR{LdcneDI>*3s7eS4{9I((*5u9-)Z?pY@v)%T0LwPxZ%t>Zo~ z{Z9E`wgdAr4z=FLdHgTafm+9XUi!VeyVuVD&htR?zkWYR|6ZV<2i^CGCjBg!mvQj> z@OhX!;10M0?tnYs4!8sEfIHw0xC8EhJKzqu1MYx3;10M0?tnYs4!8sEfIHw0xC8Eh JJ1{#3{sE!#tR?^e literal 0 HcmV?d00001 diff --git a/entry/src/main/resources/base/media/base_view_bottom.bmp b/entry/src/main/resources/base/media/base_view_bottom.bmp new file mode 100644 index 0000000000000000000000000000000000000000..32aa8e9b1c4524764e063655d7c6e03b80e50b5e GIT binary patch literal 65590 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 literal 0 HcmV?d00001 diff --git a/entry/src/main/resources/base/media/base_view_front.bmp b/entry/src/main/resources/base/media/base_view_front.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c6560edb6f4173704f491e5a988a127f451ced2d GIT binary patch literal 65590 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 literal 0 HcmV?d00001 diff --git a/entry/src/main/resources/base/media/base_view_left.bmp b/entry/src/main/resources/base/media/base_view_left.bmp new file mode 100644 index 0000000000000000000000000000000000000000..dd542638d7834638dab31f45f1519201f95bb61c GIT binary patch literal 65590 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 b9iRhrfDX_BIzR{L03DzMbbt<&#ex3;yo}Km literal 0 HcmV?d00001 diff --git a/entry/src/main/resources/base/media/base_view_right.bmp b/entry/src/main/resources/base/media/base_view_right.bmp new file mode 100644 index 0000000000000000000000000000000000000000..62be7a05f0018110863ad5687732befaa35b2aed GIT binary patch literal 65590 zcmeI5Np{;f6h)n#)Uf8ZSoP@)L1f4#MFZG-={lKh?I-#@vw@mI3O|IFiN-TY5P8wlzE4!{9800-az z9DoCG01m(bH~HGbne+U)NikjZ|s%w}(IpZ50l zE@XFik4$!xWi~rIyR@^jb0MwP4z*e>Z??C$$(OCIZQ9z}x{%GyE!y1NOjFc8nLivb zF07*i#r!8Je>kw74wT~$2lVk^o%(_D{EY)2KYk?6hYugpynp|mIPc!QOY`>aTjIQV z^Cr#N*%@(OzkZ$O)vH&;dHM2Xninr#5a;>x=V_ijdq$k6PoJiF^5h9|9zTAZ=Fy`^ z#CiDeVVVaI9uVjL{rhR|-MdGeyLa!VxpCtL>3sR}g+71&{C_@u`a~Qlm#=KPd|Xbq zj9gZ?oLpYFtXyU(udmF$a{J2eE5EJ-t_!ywxIXUOxpU#YKsEl8OkKs`fM(C@%)iMF zxbF$);ji0E=nlC2&(F^r?ErsH&<+&wpG>&lx8c6i?K4Amz{kJI4#?+3ai9!;?SLFR zV{ssle^VV0{?ZQ=^Pdv)7YFpQGX@7-{$Ia-C1x*a+WP^`pV!Orw+^`V6}kgH{!MmZ ze*VS*U%wf$11|q>-@Xy^Z>j@}@t@}Qo1r@37Zk+y6AvZelnVn?N$eEgg2fLvQB4ixi0A?<*#?m~7TkH4=RP3Q-Nzw`s;_*)0K-h6czssk?nU%!5( z`=3{ib$3AX=k@aZjRU&=VmKD~`0FzGTwZ4f7UO@Cxt7kYTl}28)-c5SaK{%^YyaRM zBGW4S#N$o01K=Nio2|mP=(#f9NE|5Qe{yn~y#ME8ze&;SB54EmaWcU*%zzJbR%$QTD%%2)?k%C-Kol(7$T%|BoFFVXyYy)1um zz2khJqu{q$*NmZ@=XZfQah_4^uIm)yH zMf_(o?)Pne|Nfon1K>bh4#*sJ;y^L~>!clE{&2v|W#rCj6vMGV_)9-fj=y!_=FNXn z{%{~p2Q+_PFV7zi$oGY^l=d%6Y5%g6InF{lPgtG*tUH@Adx?23fPNr5uU#w-xO3GO zwSRs*IsU_eKl2&tx&C782i*CJ%kYN-**Ps^c7W%u)(({A4+qx60hzm89H_z{4#e+( z@Rxp|Dt|Z-w*#6#ug}9D4#exgL3$qxd;f}g`NM%Y9Wea)UM9wYMfk&k_#EK-7-$C; z9#90=P1_x^^u?|(2ZX=$1FK^0 zzAhXH!vS;eYkSXYm(wbLh6D9GVDEiy99Si9-)qBxdL6L*+v$DpeT-JU4Gz@jK$d?y zK}{QV1P;{WK)cQD-lh)r@;BkY)jPoawFAPUt|c6}S_g!`I8YaN{deKO)j7~^chdGR z9%v4AuET+=alr7m4%Erq{o8P0^$uA6#sQZ>-9N*D)jH7WFn61}dHeo899W$L%wId; ztN#$T!GYB{ApFIF5LoB!0~}bs1D#GcZU5pyUfqYX9S$tl0mI)q5DMqZ_5%(q&jHKd zIB;3Lhx8a6SdIhTE_1gDiE+`sz=6dbVE)>HqB;-laX7G;1HxY%2#s%<{ec7XJD~aV zdYSqT@i}l{J_owpUfTbQ2O+X8yH9xz+`4rOb5x$4k<3XaOP-g|@V5?>t?N*qm*>Fk z+qdC>#{tXVI1nn=D*FWo${!1QJ?3sxrJh56E*vQ50Q1)lgv_++zQKWF2ZX;kP_>Rj ze?A|dS(`aTwB-QL$u?r$ecx!?80ZGv2etG)-z5I^^SUn18@KizyUY_2jBo4fCF#<4!{9800-az a9DoCG01m(bH~A-)5?j9ci literal 0 HcmV?d00001 diff --git a/entry/src/main/resources/base/media/base_view_tfr_iso.bmp b/entry/src/main/resources/base/media/base_view_tfr_iso.bmp new file mode 100644 index 0000000000000000000000000000000000000000..36d1dd5f43bdc66378ae02cae896b2bb625805c8 GIT binary patch literal 65590 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

8aSXTlo#q%4KgQYx z`Wv)hwy>}9pBdLv{4*W+;SUe!iaYCW+T0OwfHeoGpTay=GM}KA^&ae519as|X@6SQ zb-O$#)~);AWXJ*5Knd|92FS}BupD4qp_>-4mN+>i%H7ZyZdJ_}_QKzCpvJ#E{yeJ; z|4tpi53pWe*d7S;i7f|Mi;OYmkVAH#dB?rLKE;1kq5iDM|$kze1;JWM5KBDPxfHjK2*y0{;lTRT0 z!!};5-h(~s#b@EW;E=6!(Cg7&^*ctCq^x*T9GQa7J~7F59={8z1#{@3^m z!(%4)!}@RcX+u!wyVZNJ7ygz5Grjlv?=$_#+J~Jw01vLc z_PVY)WMR7?T&p~`{*ZWp7LZ#&oTpe%nlJ3PZ{P0g|LQ~o#DN;W48LAHi>4NIj2C2D zur+D#mFXXdty3LagGd~pB;Op|W7uc-XB_CoJ=e$R^iaQyRd;uI_-L4`Y2zN@>3QqMO z>{ILIz1GKya|tc*ct?2v2bgmnTX&!g2Y7!G{lnG=gxlm7fPIaB9G`yi*7IPJdLNqB zpt$<#YdY4RD9ZuXZtSK7tW(H)=2oxH>OLCKuY0f0lW{Mm1>yi&K#Z3+ZkQJj=sjjd zS^)l*12rxgF8zEKO`p)F1>!*J6E;tq1H8+Q@#D}Bu)lisSc1Pe(9e6W&(+Db&?i_9 zux;0-Eb9yOUenmS>{9$Q4%C=*V$$zt62^xi2Uw$4>l9bz0PnU%3ywVU$Y$LKds*%O z`;B$C^I0tjIl%svS6-E@Rb7Px_uY4YvexU^m@scIyIoKH-P~w{;=>pR&;nxpG8|aH ze!UwTTVt#pd(Vm8a(&<3fwzheV;tZ!-d&K#fo9pCMOdS9kKq&^{g shl$mJ8ux1Tsm${p)ZeuGgmtx#-%acLpz^Q2uKA-iHP$uOgU*5f2P2~2-T(jq literal 0 HcmV?d00001 diff --git a/entry/src/main/resources/base/media/base_view_tfr_tri.bmp b/entry/src/main/resources/base/media/base_view_tfr_tri.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4dd147939b24b44ac167085c887b179e4f5abf2e GIT binary patch literal 65590 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 Z3}g&s3}g&s3}g&s3}g&s45Xcb{|8j6GqL~x literal 0 HcmV?d00001 diff --git a/entry/src/main/resources/base/media/base_view_top.bmp b/entry/src/main/resources/base/media/base_view_top.bmp new file mode 100644 index 0000000000000000000000000000000000000000..501452789acfcf4711a11c3e3087522bebd75733 GIT binary patch literal 65590 zcmeI5=XTu2vW0ctfO~qQrZEj*ni7YG*J@W`h9U?3?W%47-8D1+S-0w6tMK2tto=J{^Na0YtNthR z@L%zM;TQjR&aLWN*9V;jIt_Fh=rqu2;GeC5EnBuYw!;qF;s)Dc*=yytdGleeXqz)T z*fwq2?25K2vx9A7Vw3Z2BJ;~_GFGeuG=Tetl(Iw{E># zw{Bf!Tf26hTf26xZN2Q@%(Jaovu0|XV~Ff&2l+!2W&Sw+hijmui8X81x=aVXtj&#^ z9=2?m?8kqnfp9LU$O9n_KnHBl!rXGt4F&&B11-mbmjr`xe(hr8f{3-WgU`RBXy&O0w}=bn46JLjBp+}UTJowu{jI?J7T=9zgr z8GDwYIom#x4ZAY``m*MKIk5KMvd-vUU-TUvq?>_wSL-)}~ALR{xsD1Fk2hKM9+p6~7d+#~h@b^OPop;`G zXgEK%z#UtXaJfxuv~O7If=OUZDC;{sRly)@4x^4f%vcD z4<6tIwv2z;<)i`RDmLW5KDGSESp!u%5Dgsk zTrfE~fzbfQgC)IhROUbBF1ze9mr?`6_&@sSqxtAnsWecB|1-}#Q;L7^M}EZo&+=dC8o+rUObw7fHE_ih zSGbfKu>9}6_g;tlf4KjH{Ezsr;*Wc-A^xc~fM*zNx|SfcegMxp*l=yq^juKAK>5SJ^2#e+N)3egKk&cID-49pMKiU{ZDSc2$a4Y9|C(#ANveUm{GWU7Imi6Z_}6>?jDPSSrU9%`D%KX4 z*Az1kq+nikZ=QJ}qydZx$OU9>ExD_;8sIp9`$W7ykohBNczPOn-?wY8z1F4Fz*6xK zY2cJoPFZBn_2nfE%vEtq{W^3|r2*su%bv%|o_qeY zfaHN*)#r%4PX5#Y_@~rBD*oX8*=L{Sxu5K5m3>(Qn@7rxvA(PGe#U)H+0!3I1Nyv( z8pv!bjVpin*I$2q&Oem~V*HYl<_Pdp|3U*d-gslqKa~cW@YlT`%Aa#T#624B9g{sRG_ai6 zlSfq^Xmfuclmqy8>e@2@8F$l7H@TD=7{>qc#~*jh|J?h-wZE1>*~6Z8+Gzv)$ALYW zgfxJ;0G=D*yhDxGgKBYY7{~#0{5y5*%nah*H}FrXff#?g_e|8Z&Gd82c#(=SW?GokB(Hus80%>m%A8o2r9n{)oDG?1EqVDEWvsaY-6@6R+a zaDRZ$4nsKruW9_lxAy~@&I8Gx8o1?_TU<&FjKZJK{u%$^p&4Pd{a-E&&^d}n56^ZZX8fPYF2RPo2&Z_NL6{IBAVYd?(pmVe!IT<$-I zXNUT{fb#(Apw3tj*n3_pFBbg025!6Uww!+|4K(G?wO=@A#y|M`x->;CnygmI*vCF~ zi5y@xK=!mT4X{p;8feQO=S}`tE9&_d^@xU@(>T6o*AFyZ zPlz$VXke~RKa}~;I`B`a0n17 zAb*YpbBtpL_q6KlgrF{U-4CFOoH;uxTLfXuC}8Vi&^eE#lX zc6Jtd-#1)Orqnu*J*Uc^KABq!4cJ<>vHnu_@KK*Jr3RYv*R}tMf7B+@ z91uI7aeqI{0a?9rU$-33z{y>$WzXYm&R5bvtUoM&?9WcAfhzvC_6PHSh`(wec0S|& zKKQE!z`uzGz+W{G>yNEleeQ=AEU(nZcJDuHe<*+CF|Pdpdp6{O*!hh6`{Yjzkbhkb zkUupL>ksf(4W#C6f1l;g+7BWA*!M~Hw6XIU_xF`QeC1z91IizMtUt(~8nC=lAIEAx zApbM|3;w<~9W)R-pK*Ub#y_Tk=KK%OG z4d8hT>n3OoH9U(&(|i<~k0N&2a37}$f4lY{pJV&>|INk#)+d|9^?&r9_PFMN#rgyJ z{0}-f@x&8L{jGgprGfVR3k`sON)0sS&$_QTKk&zQP{Go+$jqlj!wzX);zljEL-%vFW`g^Soe+Zq5^->KreP) z#_2OAL|G3R}FxFN)4pokG10DPYuM*Yuw&f_VBS!p4VT> zp1v|yzd8RSa{kl+`KQuA6@Od%1^J)xk7pS;PsaZjUwl#Gzo>;3a~)9R{&H86ftL*8MJ8gUZg$BSs zr3UKo*S+7E|ApfJ>#x7g`1?Agi&~hg>eF#~J&XOhtd(k1;<|^-ttEH0WDl#)j_Zy8 z;O-mtSf|v0<&WAQxc`g%&-e#_-TOuUn1kZ8Ape8^fB*Y`Aq^lAtQyCLngw9bhCFam zR;w2L+iC#!4OIiNeo^-D!9S%2Li|IuU#j@yvwZpGmpT7$zWHX6e<=_2V&}MA-_N)o zAbVP}r?v6VV~v0Mh<`pmpax>+Ud2C^2Ac9mO$&{G%YR|vqL2pWV&}Qs-k+G*Ja6li zqFyn%t0i-5$z3h^GY`bh`-mfa?uQnTYtiRyqmBh__~SkX&I$RS{1N-#e*3M1_2WP( z4~)$?P~?5qD9vkB=Jkqs-&NVux9oYW?BOea_;vWJ2Eae12HNt+`GxpH1K2mFHEZR% zVA*Q`>{+K!>y+ZTIQhepyIL~0RyEL^|27By)ByRX(!f&ihX%^yz$+j#KjeqiQse$ZzVQMbc7pdMyU9v!p$~*^O5~?BJ&=(tEC1|uNcofLif_B12VT(xvNj^ zYM}wLr>)DM8o>Rvlp3hwAFBOf*Z!k#z#pF{#DACua31Ac5Yzy*kmm*HA#0U$1-zH> zow*EQUk;I+u9$)_%r51 z7TO3ko{P@~!!+$y*V4tPZK#afE{!sonNAwBfAKbtH{`)-dx6uI3XJKK1bAZ0pb;X76_nWrSz^+{v z_PLWktYyz*a#w5F^H{m7Pxi3IS`z;qm-YD<8bBPS)Ic5np}n6tKlG91KdJ_BZkQja z7Dm+o)~D{<_elS~sd87J%&k@S^vT>><*q(8;MWor8feD<$bKG8rGdKq?cOi)$Gs?w z|BQd|PoV*vAAT>|o;?fw=Cu&c1G{(cc5I>hWY8;`a#!E7=P|jfwd{GU+|~E-&-Fwb zGyKEX#%$Y$xc3eH%&|0u2Ac5a+JDUdl|Md*<)2yu)Ph>Q4yI4$){?tg<*q)NTdVBp zlex9ZU45)0@i}0k75|hPSW5n#28z9!mcMEs7XL>c>0=*x0PNXPQ=n zH{u`smAUmbXVKTstUkvwYju7@pYxoM)wvIS&H=5}IT3xG2dd9GptU*|q_1-T`ksHW zuDB`xAAkI@-`DI**iav`pJ3TX>cA%FdBod&||2e774 zHPD8?_VcJ3sKZ}tKg9U!XX`XDr~zG93>~!Pul+oV2I}(Hz2A&~o}FG5$v#b#y-O!`u(;r=Nbx``7k!TMabf&%IyDALEMVe}1k`0|j@^1z<5|Du4KO z_^SrMKcxnm^5@!boD1R~{4w`HoGW|!HvW06dZn*(81?O3kjFZ|q0f0v$m-mOzMTv5 znDaojIuBIe&INg_?CH1VPYwM1^Upc|R2pc*AJ4HYfAS7lGPjo8)hc)O$=q6UR~ur_ z*T`KhnOm#u=__~j$=q6UryYeqGywi7HPDtn&If&heg!9Rx0+NfSoSRa|aCVSXTo3O`VQ@_>C|6s5DQ)$5R$J$@q|HJh^um8CB zALBprKjI(ffl>e{4{_4O#l?JN#WACTtfA0O$ zwg1Tf;E!>e<3Hn{R_6ffbNsiKa{#qE2T-5mzqOnLs13~n_!{Q`YB~N}`$abAu}$Xy z>NEGNC4c6D82_V>F2;S1|KOie1H<_DdOgS5Pci=Bt>Y2-!zy?6Eqfj-d-}>{T?cgE$4x1bsnfb=YZC79;h}n7vyW42dd>9(Av6lLhLKS0p$-r&i`1a8X*5v8VK>%+HcCA-}_mIf2V=42HNrW8u;_iKl?c#g$Anlv-X?i z&%IyB|BQc(-8TN23v>>kzRm;a>l{FRj{nwj4xm=&0P1u6x0Z7NwV`64u!8nQZN3&zt8~qr_{hO{K(z+S{I}Gc{|)j_rGdKq z?cUE}@o%3^bYp?9**q%$zyJO_9|OQYg$A1N*S%kL_;-0=Fb~+eWU=x8*kgU{V-5)Z zDK*fPzg_!}IX33+oc}TQ)oT3H*J}awc`cw;uLab%*8@D(>jCaEugw6-y`C)B5%uUNVt|nE%%pH+j1Qetx3e%gsf3% zYgQM>{yQw}cN!JP(=ah(2F)ZyVZr;Z1(!Bo0$o8vKAo>c#qYlk*QD}w3J2>G*5lu4pwPq0(?EUxod#B-2Ac8jG_cY% d5aZvyKfFF-*FRnVbQ