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