Example #1
0
        public MainForm()
        {
            Title            = "Rhino.Inside";
            ClientSize       = new Eto.Drawing.Size(400, 400);
            _viewportControl = new Rhino.UI.Controls.ViewportControl();
            Content          = _viewportControl;

            var viewMenu = new Eto.Forms.ButtonMenuItem {
                Text = "&View"
            };

            BuildDisplayModesMenu(viewMenu.Items);
            Menu = new Eto.Forms.MenuBar()
            {
                Items =
                {
                    new Eto.Forms.ButtonMenuItem
                    {
                        Text  = "&File",
                        Items =
                        {
                            new Eto.Forms.ButtonMenuItem(new Eto.Forms.Command((s, e) => OpenFile()))
                            {
                                Text = "Open..."
                            }
                        }
                    },
                    viewMenu
                }
            };
        }
Example #2
0
        public MagnetoForm(Application app, Uri url)
        {
            MinimumSize = new Eto.Drawing.Size(800, 600);
            Size        = MinimumSize;
            _app        = app;
            var browser = new WebView
            {
                Url = url
            };

            Content       = browser;
            Title         = "Magneto";
            Load         += MagnetoForm_Load;
            Shown        += MagnetoForm_Load;
            ShowInTaskbar = true;
            Icon          = CommonTools.LoadIconResource("Integrative.Magneto.Main.favicon.ico");
            new BrowserFixer(browser);
        }
        private AreYouSureForm(ConfirmCloseOptions options)
        {
            ShowInTaskbar = false;
            MinimumSize   = new Eto.Drawing.Size(250, 100);
            var layout = new DynamicLayout();
            var cancel = new Button();
            var close  = new Button();

            DefaultButton  = close;
            AbortButton    = cancel;
            Maximizable    = false;
            Minimizable    = false;
            Resizable      = false;
            Title          = options.Title;
            layout.Padding = new Eto.Drawing.Padding(10, 0);
            cancel.Text    = options.CancelText;
            close.Text     = options.ConfirmText;
            layout.BeginVertical(padding: new Eto.Drawing.Padding(0, 10), yscale: true);
            layout.Add(new Label {
                Text = options.Message
            });
            layout.EndVertical();
            layout.BeginVertical(padding: new Eto.Drawing.Padding(0, 10), spacing: new Eto.Drawing.Size(5, 0));
            layout.BeginHorizontal();
            layout.Add(null);
            layout.Add(cancel);
            layout.Add(close);
            layout.EndHorizontal();
            layout.EndVertical();
            Content       = layout;
            cancel.Click += (sender, args) => Close();
            close.Click  += (sender, args) =>
            {
                Confirmed = true;
                Close();
            };
        }
Example #4
0
        public GLSLEditorDialog(GLSLViewModel model)
        {
            _tabarea        = new TabControl();
            _shaderControls = new EditorPage[(int)ShaderType.Fragment + 1];
            var checkCommand = new CheckCommand[_shaderControls.Length];

            for (int i = 0; i < _shaderControls.Length; i++)
            {
                ShaderType st = (ShaderType)i;
                _shaderControls[i]          = new EditorPage(_tabarea);
                checkCommand[i]             = new CheckCommand();
                checkCommand[i].DataContext = _shaderControls[i];
                checkCommand[i].MenuText    = st.ToString() + " Shader";
                checkCommand[i].BindDataContext <bool>("Checked", "Visible");
                int current = i;
                checkCommand[i].CheckedChanged += (s, e) => {
                    if (checkCommand[current].Checked)
                    {
                        ShowTab(st);
                    }
                    else
                    {
                        HideTab(st);
                    }
                };
            }


            DataContext = model;
            Title       = "GLSL Shader";
            Menu        = new MenuBar
            {
                Items =
                {
                    new ButtonMenuItem
                    {
                        Text  = "&File",
                        Items ={ new SimpleCommand("&Save",             SaveGLSL) }
                    },
                    new ButtonMenuItem
                    {
                        Text  = "&View",
                        Items =
                        {
                            checkCommand[(int)ShaderType.Vertex],
                            checkCommand[(int)ShaderType.Geometry],
                            checkCommand[(int)ShaderType.Fragment],
                        }
                    }
                }
            };
            Resizable = true;
            Size      = new Eto.Drawing.Size(600, 600);

            DefaultButton = new Button()
            {
                Text = "OK", Command = new SimpleCommand("OK", () => Close(true))
            };
            AbortButton = new Button()
            {
                Text = "Cancel", Command = new SimpleCommand("Cancel", () => Close(false))
            };
            var button_stack = new StackLayout
            {
                Padding     = 5,
                Orientation = Orientation.Horizontal,
                Items       = { null, DefaultButton, AbortButton }
            };

            // Just show the common shaders by default
            ShowTab(ShaderType.Vertex);
            ShowTab(ShaderType.Geometry);
            ShowTab(ShaderType.Fragment);
            //ShowTab(ShaderType.TransformFeedbackVertex);
            //ShowTab(ShaderType.TessellationControl);
            //ShowTab(ShaderType.TessellationEval);
            _tabarea.SelectedIndex = 0;

            _errorList        = new ListBox();
            _errorList.Height = 40;

            Content = new StackLayout
            {
                Padding     = new Eto.Drawing.Padding(5),
                Orientation = Orientation.Vertical,
                Spacing     = 5,
                Items       =
                {
                    new StackLayoutItem(_tabarea,     HorizontalAlignment.Stretch,  true),
                    new StackLayoutItem(_errorList,   HorizontalAlignment.Stretch),
                    new StackLayoutItem(button_stack, HorizontalAlignment.Stretch)
                },
            };
            GLShaderComponentBase.AnimationTimerEnabled = true;
            OnShadersCompiled(null, EventArgs.Empty);
        }
Example #5
0
 public static Size ToDrawingSize(this Eto.Drawing.Size size)
 {
     return(new Size(size.Width, size.Height));
 }
Example #6
0
 public MainForm() : base()
 {
     Size  = new Eto.Drawing.Size(width: 640, height: 480);
     Title = typeof(MainForm).Assembly.GetName().Name;
 }
Example #7
0
 protected override void Initialize()
 {
     base.Initialize();
     Size = new Eto.Drawing.Size(100, 100);
 }
Example #8
0
        public GLSLEditorDialog(GLSLViewModel model, bool includeTessellationShaders, string componentName)
        {
            _dlgOpenCount++;
            _tabarea        = new TabControl();
            _shaderControls = new EditorPage[(int)ShaderType.Fragment + 1];
            var checkCommand = new CheckCommand[_shaderControls.Length];

            for (int i = 0; i < _shaderControls.Length; i++)
            {
                ShaderType st = (ShaderType)i;
                _shaderControls[i]          = new EditorPage(_tabarea);
                checkCommand[i]             = new CheckCommand();
                checkCommand[i].DataContext = _shaderControls[i];
                checkCommand[i].MenuText    = st.ToString() + " Shader";
                checkCommand[i].BindDataContext <bool>("Checked", "Visible");
                int current = i;
                checkCommand[i].CheckedChanged += (s, e) => {
                    if (checkCommand[current].Checked)
                    {
                        ShowTab(st);
                    }
                    else
                    {
                        HideTab(st);
                    }
                };
            }


            DataContext = model;
            Title       = $"GLSL Shader - {componentName}";

            var uniformBuiltinMenu = new ButtonMenuItem {
                Text = "Insert Built-In Uniform"
            };

            foreach (var bi in BuiltIn.GetUniformBuiltIns())
            {
                var menuitem = uniformBuiltinMenu.Items.Add(new SimpleCommand(bi.Name, () => InsertBuiltIn(bi, true)));
                menuitem.ToolTip = $"({bi.DataType}) {bi.Description}";
            }

            var attributeBuiltinMenu = new ButtonMenuItem {
                Text = "Insert Built-In Attribute"
            };

            foreach (var bi in BuiltIn.GetAttributeBuiltIns())
            {
                var menuitem = attributeBuiltinMenu.Items.Add(new SimpleCommand(bi.Name, () => InsertBuiltIn(bi, false)));
                menuitem.ToolTip = $"({bi.DataType}) {bi.Description}";
            }

            var functionBuiltinMenu = new ButtonMenuItem {
                Text = "Insert Function (glslify)"
            };
            var glslBuiltinMenu = new ButtonMenuItem {
                Text = "StackGL Items"
            };

            foreach (var package in GlslifyPackage.AvailablePackages)
            {
                MenuItem menuitem  = null;
                bool     isStackGl = package.Name.Equals("matcap", StringComparison.OrdinalIgnoreCase) ||
                                     package.Name.StartsWith("glsl-", StringComparison.OrdinalIgnoreCase);
                if (isStackGl)
                {
                    menuitem = glslBuiltinMenu.Items.Add(new SimpleCommand(package.Name, () => InsertGlslifyFunction(package)));
                }
                else
                {
                    menuitem = functionBuiltinMenu.Items.Add(new SimpleCommand(package.Name, () => InsertGlslifyFunction(package)));
                }

                menuitem.ToolTip = $"{package.Description}\n{package.HomePage}";
            }
            functionBuiltinMenu.Items.Add(glslBuiltinMenu);

            Menu = new MenuBar
            {
                Items =
                {
                    new ButtonMenuItem
                    {
                        Text  = "&File",
                        Items ={ new SimpleCommand("&Save",             SaveGLSL) }
                    },
                    new ButtonMenuItem
                    {
                        Text  = "&Edit",
                        Items =
                        {
                            uniformBuiltinMenu,
                            attributeBuiltinMenu,
                            functionBuiltinMenu,
                            new SeparatorMenuItem(),
                            new SimpleCommand("glslify code", GlslifyCode)
                        }
                    },
                    new ButtonMenuItem
                    {
                        Text  = "&View",
                        Items =
                        {
                            checkCommand[(int)ShaderType.Vertex],
                            checkCommand[(int)ShaderType.Geometry],
                            checkCommand[(int)ShaderType.Fragment],
                        }
                    }
                }
            };
            Resizable = true;
            Size      = new Eto.Drawing.Size(600, 600);

            var DefaultButton = new Button()
            {
                Text = "OK", Command = new SimpleCommand("OK", () => Close())
            };
            var AbortButton = new Button()
            {
                Text = "Cancel", Command = new SimpleCommand("Cancel", () =>
                {
                    Canceled = true;
                    Close();
                })
            };
            var button_stack = new StackLayout
            {
                Padding     = 5,
                Orientation = Orientation.Horizontal,
                Items       = { null, DefaultButton, AbortButton }
            };

            // Just show the common shaders by default
            ShowTab(ShaderType.Vertex);
            if (includeTessellationShaders)
            {
                ShowTab(ShaderType.TessellationControl);
                ShowTab(ShaderType.TessellationEval);
            }
            ShowTab(ShaderType.Geometry);
            ShowTab(ShaderType.Fragment);
            //ShowTab(ShaderType.TransformFeedbackVertex);
            _tabarea.SelectedIndex = 0;

            _errorList        = new ListBox();
            _errorList.Height = 40;

            Content = new StackLayout
            {
                Padding     = new Eto.Drawing.Padding(5),
                Orientation = Orientation.Vertical,
                Spacing     = 5,
                Items       =
                {
                    new StackLayoutItem(_tabarea,     HorizontalAlignment.Stretch,  true),
                    new StackLayoutItem(_errorList,   HorizontalAlignment.Stretch),
                    new StackLayoutItem(button_stack, HorizontalAlignment.Stretch)
                },
            };
            GLShaderComponentBase.AnimationTimerEnabled = true;
            OnShadersCompiled(null, EventArgs.Empty);
        }
Example #9
0
        void InitializeComponent()
        {
            Title      = "Arbites Innova - 3.0.0";
            ClientSize = new Size(1000, 600);

            var tlMain = new TableLayout();

            tlMain.Padding = 5;

            var trTop = new TableRow();

            tlMain.Rows.Add(trTop);

            var tcTop = new TableCell();

            trTop.Cells.Add(tcTop);

            var tlTop = new TableLayout();

            tcTop.Control = tlTop;
            tlTop.Padding = 5;

            var trContext = new TableRow();

            tlTop.Rows.Add(trContext);

            var tcTopLeft = new TableCell();

            tcTopLeft.ScaleWidth = true;
            trContext.Cells.Add(tcTopLeft);

            var slTopLeft = new StackLayout();

            slTopLeft.Orientation = Orientation.Horizontal;
            slTopLeft.VerticalContentAlignment = VerticalAlignment.Center;
            slTopLeft.Spacing = 5;
            tcTopLeft.Control = slTopLeft;

            BtnSelectDevice         = new Button();
            BtnSelectDevice.Text    = "Select Device";
            BtnSelectDevice.ToolTip = "Select Device";
            slTopLeft.Items.Add(BtnSelectDevice);

            BtnOpenKeyMenu         = new Button();
            BtnOpenKeyMenu.Text    = "Key Menu";
            BtnOpenKeyMenu.ToolTip = "Key Menu";
            slTopLeft.Items.Add(BtnOpenKeyMenu);

            BtnSettings         = new Button();
            BtnSettings.Text    = "Preferences";
            BtnSettings.ToolTip = "Preferences";
            slTopLeft.Items.Add(BtnSettings);

            BtnFirmwareUpdate         = new Button();
            BtnFirmwareUpdate.Text    = "Firmware Uploader";
            BtnFirmwareUpdate.ToolTip = "Firmware Uploader:\nThis Allows users to update the firmware on their hardware devices.";
            slTopLeft.Items.Add(BtnFirmwareUpdate);

            var tcTopMid = new TableCell();

            tcTopMid.ScaleWidth = true;
            trContext.Cells.Add(tcTopMid);

            var slTopMid = new StackLayout();

            slTopMid.Orientation = Orientation.Horizontal;
            slTopMid.VerticalContentAlignment = VerticalAlignment.Center;
            slTopMid.Spacing = 5;
            tcTopMid.Control = slTopMid;

            BtnEditMacro         = new Button();
            BtnEditMacro.Text    = "Edit Macros";
            BtnEditMacro.ToolTip = "Edit Macros";
            slTopMid.Items.Add(BtnEditMacro);

            BtnEditTapDance         = new Button();
            BtnEditTapDance.Text    = "Edit Tap-Dance";
            BtnEditTapDance.ToolTip = "Edit Tap-Dance";
            slTopMid.Items.Add(BtnEditTapDance);

            BtnEditMouse         = new Button();
            BtnEditMouse.Text    = "Edit Mouse Keys";
            BtnEditMouse.ToolTip = "Edit Mouse Keys";
            //slTopMid.Items.Add(BtnEditMouse);

            BtnEditLED         = new Button();
            BtnEditLED.Text    = "Edit LEDs";
            BtnEditLED.ToolTip = "Edit LEDs";
            //slTopMid.Items.Add(BtnEditLED);

            var tcTopRight = new TableCell();

            tcTopRight.ScaleWidth = true;
            trContext.Cells.Add(tcTopRight);

            var tlTopRight = new TableLayout();

            tlTopRight.Spacing = new Size(5, 5);
            tcTopRight.Control = tlTopRight;

            var trTopRight = new TableRow();

            tlTopRight.Rows.Add(trTopRight);

            var tcTopInputMethod = new TableCell();

            tcTopInputMethod.ScaleWidth = true;
            trTopRight.Cells.Add(tcTopInputMethod);

            var tlInputMethod = new TableLayout();

            tcTopInputMethod.Control = tlInputMethod;

            var trInputMethod = new TableRow();

            tlInputMethod.Rows.Add(trInputMethod);

            var lInputmethod = new Label();

            lInputmethod.Text = "Input Method:";
            lInputmethod.VerticalAlignment = VerticalAlignment.Center;
            trInputMethod.Cells.Add(lInputmethod);

            DDInputMethod = new DropDown();
            trInputMethod.Cells.Add(DDInputMethod);


            var tcTopRightContent = new TableCell();

            tcTopRightContent.ScaleWidth = false;
            trTopRight.Cells.Add(tcTopRightContent);


            var slTopRight = new StackLayout();

            slTopRight.Orientation = Orientation.Horizontal;
            slTopRight.VerticalContentAlignment = VerticalAlignment.Center;
            slTopRight.Spacing        = 5;
            tcTopRightContent.Control = slTopRight;

            BtnSelectPort         = new Button();
            BtnSelectPort.Text    = "Select Port";
            BtnSelectPort.ToolTip = "Select Port";
            slTopRight.Items.Add(BtnSelectPort);

            BtnApply         = new Button();
            BtnApply.Text    = "Apply Layout";
            BtnApply.ToolTip = "Apply Layout";
            slTopRight.Items.Add(BtnApply);

            var trMain = new TableRow();

            tlMain.Rows.Add(trMain);

            var tcContent = new TableCell();

            trMain.Cells.Add(tcContent);

            PnMain            = new Panel();
            tcContent.Control = PnMain;

            this.Size = new Size(1200, 480);

            this.Content = tlMain;
        }
Example #10
0
 private MainForm() : base()
 {
     Size = new Eto.Drawing.Size(width: 640, height: 480);
 }
Example #11
0
 public static Size EtoDrawingSizeToSystemDrawingSize(Eto.Drawing.Size size)
 {
     return(new Size(size.Width, size.Height));
 }