| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- using System;
- namespace UICatalog.Scenarios;
- [ScenarioMetadata ("View Experiments", "v2 View Experiments")]
- [ScenarioCategory ("Controls")]
- [ScenarioCategory ("Adornments")]
- [ScenarioCategory ("Layout")]
- [ScenarioCategory ("Proof of Concept")]
- public class ViewExperiments : Scenario
- {
- public override void Main ()
- {
- Application.Init ();
- Window app = new ()
- {
- Title = GetQuitKeyAndName (),
- TabStop = TabBehavior.TabGroup
- };
- var editor = new AdornmentsEditor
- {
- X = 0,
- Y = 0,
- TabStop = TabBehavior.NoStop,
- AutoSelectViewToEdit = true,
- ShowViewIdentifier = true
- };
- app.Add (editor);
- FrameView testFrame = new ()
- {
- Title = "_1 Test Frame",
- X = Pos.Right (editor),
- Width = Dim.Fill (),
- Height = Dim.Fill (),
- };
- app.Add (testFrame);
- Button button = new ()
- {
- X = 0,
- Y = 0,
- Title = $"TopButton _{GetNextHotKey ()}",
- };
- testFrame.Add (button);
- button = new ()
- {
- X = Pos.AnchorEnd (),
- Y = Pos.AnchorEnd (),
- Title = $"TopButton _{GetNextHotKey ()}",
- };
- var popoverView = new View ()
- {
- X = Pos.Center (),
- Y = Pos.Center (),
- Width = 30,
- Height = 10,
- Title = "Popover",
- Text = "This is a popover",
- Visible = false,
- CanFocus = true,
- Arrangement = ViewArrangement.Resizable | ViewArrangement.Movable
- };
- popoverView.BorderStyle = LineStyle.RoundedDotted;
- Button popoverButton = new ()
- {
- X = Pos.Center (),
- Y = Pos.Center (),
- Title = $"_Close",
- };
- //popoverButton.Accepting += (sender, e) => App?.Popover!.Visible = false;
- popoverView.Add (popoverButton);
- button.Accepting += ButtonAccepting;
- void ButtonAccepting (object sender, CommandEventArgs e)
- {
- //App?.Popover = popoverView;
- //App?.Popover!.Visible = true;
- }
- testFrame.Activating += (sender, e) =>
- {
- if (e.Context is CommandContext<MouseBinding> { Binding.MouseEventArgs: { } mouseArgs })
- {
- if (mouseArgs.Flags == MouseFlags.Button3Clicked)
- {
- popoverView.X = mouseArgs.ScreenPosition.X;
- popoverView.Y = mouseArgs.ScreenPosition.Y;
- //App?.Popover = popoverView;
- //App?.Popover!.Visible = true;
- }
- }
- };
- testFrame.Add (button);
- editor.AutoSelectViewToEdit = true;
- editor.AutoSelectSuperView = testFrame;
- editor.AutoSelectAdornments = true;
- Application.Run (app);
- popoverView.Dispose ();
- app.Dispose ();
- Application.Shutdown ();
- return;
- }
- private int _hotkeyCount;
- private char GetNextHotKey ()
- {
- return (char)((int)'A' + _hotkeyCount++);
- }
- }
|