@@ -15,6 +15,8 @@ public class TabViewExample : Scenario
15
15
private MenuItem _miShowTopLine ;
16
16
private MenuItem [ ] _miTabsSide ;
17
17
private MenuItem _cachedTabsSide ;
18
+ private MenuItem [ ] _miTabsTextAlignment ;
19
+ private MenuItem _cachedTabsTextAlignment ;
18
20
private TabView _tabView ;
19
21
20
22
public override void Main ( )
@@ -26,6 +28,7 @@ public override void Main ()
26
28
Toplevel appWindow = new ( ) ;
27
29
28
30
_miTabsSide = SetTabsSide ( ) ;
31
+ _miTabsTextAlignment = SetTabsTextAlignment ( ) ;
29
32
30
33
var menu = new MenuBar
31
34
{
@@ -69,7 +72,12 @@ public override void Main ()
69
72
"_Show TabView Border" ,
70
73
"" ,
71
74
ShowTabViewBorder
72
- ) { Checked = true , CheckType = MenuItemCheckStyle . Checked }
75
+ ) { Checked = true , CheckType = MenuItemCheckStyle . Checked } ,
76
+ null ,
77
+ _miTabsTextAlignment [ 0 ] ,
78
+ _miTabsTextAlignment [ 1 ] ,
79
+ _miTabsTextAlignment [ 2 ] ,
80
+ _miTabsTextAlignment [ 3 ]
73
81
}
74
82
)
75
83
]
@@ -283,6 +291,43 @@ private MenuItem [] SetTabsSide ()
283
291
return menuItems . ToArray ( ) ;
284
292
}
285
293
294
+ private MenuItem [ ] SetTabsTextAlignment ( )
295
+ {
296
+ List < MenuItem > menuItems = [ ] ;
297
+
298
+ foreach ( TabSide align in Enum . GetValues ( typeof ( Alignment ) ) )
299
+ {
300
+ string alignName = Enum . GetName ( typeof ( Alignment ) , align ) ;
301
+ var item = new MenuItem { Title = $ "_{ alignName } ", Data = align } ;
302
+ item . CheckType |= MenuItemCheckStyle . Radio ;
303
+
304
+ item . Action += ( ) =>
305
+ {
306
+ if ( _cachedTabsTextAlignment == item )
307
+ {
308
+ return ;
309
+ }
310
+
311
+ _cachedTabsTextAlignment . Checked = false ;
312
+ item . Checked = true ;
313
+ _cachedTabsTextAlignment = item ;
314
+ _tabView . Style . TabsTextAlignment = ( Alignment ) item . Data ;
315
+ _tabView . ApplyStyleChanges ( ) ;
316
+ } ;
317
+ item . ShortcutKey = ( ( Key ) alignName ! [ 0 ] . ToString ( ) . ToLower ( ) ) . WithCtrl ;
318
+
319
+ if ( alignName == "Start" )
320
+ {
321
+ item . Checked = true ;
322
+ _cachedTabsTextAlignment = item ;
323
+ }
324
+
325
+ menuItems . Add ( item ) ;
326
+ }
327
+
328
+ return menuItems . ToArray ( ) ;
329
+ }
330
+
286
331
private void ShowBorder ( )
287
332
{
288
333
_miShowBorder . Checked = ! _miShowBorder . Checked ;
0 commit comments