示例#1
0
 public SaveRulerDialog()
 {
     window = new Window(new WindowOptions {
         FixedSize = true,
         Title     = "Save Ruler",
         Visible   = false,
         Style     = WindowStyle.Dialog,
     });
     rootWidget = new ThemedInvalidableWindowWidget(window)
     {
         LayoutBasedWindowSize = true,
         Padding = new Thickness(8),
         Layout  = new VBoxLayout {
             Spacing = 16
         },
         Nodes =
         {
             new Widget {
                 Layout = new TableLayout{
                     ColCount    = 2,
                     RowCount    = 1,
                     Spacing     = 8,
                     ColDefaults =
                     {
                         new LayoutCell(Alignment.RightCenter, 0.5f, 0),
                         new LayoutCell(Alignment.LeftCenter,     1, 0)
                     }
                 },
                 Nodes =
                 {
                     new ThemedSimpleText("Enter ruler name"),
                     (EditBox = new ThemedEditBox()),
                 }
             },
             (buttonsPanel = new Widget{
                 Layout = new HBoxLayout{
                     Spacing = 8
                 },
                 LayoutCell = new LayoutCell(Alignment.RightCenter),
                 Nodes =
                 {
                     (okButton     = new ThemedButton("Ok")),
                     (cancelButton = new ThemedButton("Cancel")),
                 }
             })
         }
     };
     cancelButton.Clicked += window.Close;
     okButton.AddChangeWatcher(() => EditBox.Text, (text) => okButton.Enabled = !string.IsNullOrEmpty(text));
     okButton.Clicked += () => {
         result = EditBox.Text;
         window.Close();
     };
     rootWidget.FocusScope = new KeyboardFocusScope(rootWidget);
     EditBox.SetFocus();
 }
示例#2
0
        public SaveRulerDialog(Ruler ruler)
        {
            ThemedButton cancelButton;
            ThemedButton okButton;
            CheckBox     checkBox;
            EditBox      editBox;

            window = new Window(new WindowOptions {
                Title   = "Save Ruler",
                Visible = false,
                Style   = WindowStyle.Dialog,
            });
            WindowWidget rootWidget = new ThemedInvalidableWindowWidget(window)
            {
                LayoutBasedWindowSize = true,
                Padding = new Thickness(8),
                Layout  = new VBoxLayout {
                    Spacing = 16
                },
                Nodes =
                {
                    new Widget {
                        Layout = new TableLayout{
                            ColumnCount    = 2,
                            RowCount       = 2,
                            Spacing        = 8,
                            ColumnDefaults =
                            {
                                new DefaultLayoutCell(Alignment.RightCenter, 0.5f, 0),
                                new DefaultLayoutCell(Alignment.LeftCenter,     1, 0)
                            }
                        },
                        Nodes =
                        {
                            new ThemedSimpleText("Ruler name"),
                            (editBox = new ThemedEditBox{
                                MinWidth = 150
                            }),
                            new ThemedSimpleText("Anchor to root"),
                            (checkBox = new ThemedCheckBox())
                        }
                    },
                    new Widget {
                        Layout = new HBoxLayout{
                            Spacing = 8
                        },
                        LayoutCell = new LayoutCell(Alignment.RightCenter),
                        Nodes      =
                        {
                            (okButton     = new ThemedButton("Ok")),
                            (cancelButton = new ThemedButton("Cancel")),
                        }
                    }
                }
            };

            cancelButton.Clicked += window.Close;
            okButton.AddChangeWatcher(() => editBox.Text, (text) => okButton.Enabled = !string.IsNullOrEmpty(text));
            okButton.Clicked += () => {
                ruler.Name         = editBox.Text;
                ruler.AnchorToRoot = checkBox.Checked;
                result             = true;
                window.Close();
            };
            rootWidget.FocusScope = new KeyboardFocusScope(rootWidget);
            editBox.SetFocus();
        }