| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #nullable enable
- namespace UICatalog.Scenarios;
- public class MarginEditor : AdornmentEditor
- {
- public MarginEditor ()
- {
- Title = "_Margin";
- Initialized += MarginEditor_Initialized;
- AdornmentChanged += MarginEditor_AdornmentChanged;
- }
- private OptionSelector<ShadowStyle>? _optionsShadow;
- private FlagSelector? _flagSelectorTransparent;
- private void MarginEditor_AdornmentChanged (object? sender, EventArgs e)
- {
- if (AdornmentToEdit is { })
- {
- _optionsShadow!.Value = ((Margin)AdornmentToEdit).ShadowStyle;
- }
- if (AdornmentToEdit is { })
- {
- _flagSelectorTransparent!.Value = (int)((Margin)AdornmentToEdit).ViewportSettings;
- }
- }
- private void MarginEditor_Initialized (object? sender, EventArgs e)
- {
- _optionsShadow = new ()
- {
- X = 0,
- Y = Pos.Bottom (SubViews.ElementAt (SubViews.Count - 1)),
- SuperViewRendersLineCanvas = true,
- Title = "_Shadow",
- BorderStyle = LineStyle.Single,
- AssignHotKeys = true
- };
- if (AdornmentToEdit is { })
- {
- _optionsShadow.Value = ((Margin)AdornmentToEdit).ShadowStyle;
- }
- _optionsShadow.ValueChanged += (_, args) => ((Margin)AdornmentToEdit!).ShadowStyle = args.Value!.Value;
- Add (_optionsShadow);
- _flagSelectorTransparent = new FlagSelector<ViewportSettingsFlags>
- {
- X = 0,
- Y = Pos.Bottom (_optionsShadow),
- SuperViewRendersLineCanvas = true,
- Title = "_ViewportSettings",
- BorderStyle = LineStyle.Single
- };
- _flagSelectorTransparent.Values = [(int)ViewportSettingsFlags.Transparent, (int)ViewportSettingsFlags.TransparentMouse];
- _flagSelectorTransparent.Labels = ["Transparent", "TransparentMouse"];
- _flagSelectorTransparent.AssignHotKeys = true;
- Add (_flagSelectorTransparent);
- if (AdornmentToEdit is { })
- {
- _flagSelectorTransparent.Value = (int)((Margin)AdornmentToEdit).ViewportSettings;
- }
- _flagSelectorTransparent.ValueChanged += (_, args) => { ((Margin)AdornmentToEdit!).ViewportSettings = (ViewportSettingsFlags)args.Value!; };
- }
- }
|