Beispiel #1
0
        /// <summary>
        /// Adds menu items for all panels or toolbars, except the doc panel, to a menu.
        /// On menu item click will show that panel.
        /// </summary>
        public void ZAddShowPanelsToMenu(ToolStripDropDown m, bool toolbars, bool clear = false)
        {
            m.SuspendLayout();
            if (clear)
            {
                m.Items.Clear();
            }

            var a = _aPanel.FindAll(v => !v.HasDocument && (toolbars == v.HasToolbar));

            a.Sort((v1, v2) => v1.Name.CompareTo(v2.Name));
            foreach (var v in a)
            {
                var s = v.Text;
                if (!v.Visible)
                {
                    s += "  (hidden)";
                }
                m.Items.Add(s, v.Image, (unu, sed) => { v.Show(true); });
            }
            //add Reset...
            m.Items.Add(new ToolStripSeparator());
            (m.Items.Add("Reset...", null, (unu, sed) => {
                if (ZResetLayoutAfterRestart)
                {
                    ZResetLayoutAfterRestart = false;
                }
                else
                {
                    ZResetLayoutAfterRestart = ADialog.ShowOkCancel("Reset panel/toolbar layout", "After restarting this application.");
                }
            }) as ToolStripMenuItem).Checked = ZResetLayoutAfterRestart;

            m.ResumeLayout();
        }
Beispiel #2
0
            private void _bClick(object sender, EventArgs e)
            {
                if (!(_lb.SelectedItem is AToolbar tb))
                {
                    return;
                }
                if (tb._c.IsDisposed)
                {
                    ADialog.Show("Closed", owner: this);
                    return;
                }
                var w = tb._c.Hwnd();
                var r = w.Rect;

                if (sender == _bShow)
                {
                    if (AScreen.IsInAnyScreen(r))
                    {
                        r.Inflate(2, 2);
                        var osd = new AOsdRect {
                            Rect = r, Color = 0xff0000
                        };
                        osd.Show();
                        ATimer.After(1000, _ => osd.Dispose());
                    }
                    else
                    {
                        ADialog.Show("Offscreen", "Rectangle: " + r.ToString(), owner: this);
                    }
                }
                else if (sender == _bMove)
                {
                    if (!w.IsVisible && !ADialog.ShowOkCancel("Hidden", "Move this hidden toolbar?", owner: this))
                    {
                        return;
                    }
                    var xy = AMouse.XY;
                    w.MoveLL(xy.x, xy.y);
                    var w2 = this.Hwnd();
                    if (!w.ZorderIsAbove(w2))
                    {
                        w.ZorderAbove(w2);
                    }
                }
            }