Beispiel #1
0
        public void ButtonVisibleChanged()
        {
            IMetroToolBarButton lastVisible = null;

            foreach (IMetroToolBarButton btn in Controls)
            {
                var index = Controls.IndexOf(btn as Control);
                if (btn is MetroToolbarSeparator)
                {
                    btn.Visible = lastVisible != null
                            ? !(lastVisible is MetroToolbarSeparator)
                            : true;
                }

                if (btn.Visible && lastVisible == null)
                {
                    lastVisible = btn;
                    continue;
                }

                System.Diagnostics.Debug.WriteLine($"Name '{btn.Name}' type '{btn.GetType()}");

                if (btn.Visible)
                {
                    lastVisible = btn;
                }
            }
        }
Beispiel #2
0
        public void ToolbarDropDownClicked(IMetroToolBarButton e)
        {
            var btn = e as MetroToolbarDropDownButton;

            switch (btn.Items.Count)
            {
            case 0:
                OnItemClicked(btn.ButtonType);
                ItemClicked?.Invoke(this, btn.ButtonType);
                break;

            case 1:
                OnToolStripMenuClick(btn.Items[0].Tag as string);
                break;

            default:
                btn.ShowMenu();
                break;
            }
        }
Beispiel #3
0
        private void ChangeToolbar(MetroToolbarState status = MetroToolbarState.Browse)
        {
            IMetroToolBarButton btn = null;

            btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.New);
            if (btn != null)
            {
                btn.IsVisible = status == MetroToolbarState.Browse || status == MetroToolbarState.Found;
            }

            btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Edit);
            if (btn != null)
            {
                btn.IsVisible = status == MetroToolbarState.Found;
            }

            btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Delete);
            if (btn != null)
            {
                btn.IsVisible = status == MetroToolbarState.Found && buttonDeleteVisible;
            }

            btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Undo);
            if (btn != null)
            {
                btn.IsVisible = status == MetroToolbarState.New || status == MetroToolbarState.Edit || status == MetroToolbarState.Find;
            }

            btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Save);
            if (btn != null)
            {
                btn.IsVisible = status == MetroToolbarState.New || status == MetroToolbarState.Edit;
            }

            btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Search);
            if (btn != null)
            {
                btn.IsVisible = status == MetroToolbarState.Browse || status == MetroToolbarState.Found || status == MetroToolbarState.Find;
            }

            btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Filter);
            if (btn != null)
            {
                btn.IsVisible = status == MetroToolbarState.Browse || status == MetroToolbarState.Found;
            }

            btn = GetButton <MetroToolbarDropDownButton>(MetroToolbarButtonType.Preview);
            if (btn != null)
            {
                btn.IsVisible = status == MetroToolbarState.Found && buttonPreviewVisible;
            }

            btn = GetButton <MetroToolbarDropDownButton>(MetroToolbarButtonType.Print);
            if (btn != null)
            {
                btn.IsVisible = status == MetroToolbarState.Found && buttonPrintVisible;
            }

            btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Preference);
            if (btn != null)
            {
                btn.IsVisible = status == MetroToolbarState.Browse || status == MetroToolbarState.Found && buttonPrefVisible;
            }

            btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.AddOn);
            if (btn != null)
            {
                btn.IsVisible = buttonAddOnVisible;
            }

            btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Execute);
            if (btn != null)
            {
                var pushButton = btn as MetroToolbarPushButton;
                pushButton.Image = status == MetroToolbarState.Browse
                                  ? Properties.Resources.Play32
                                  : Properties.Resources.Stop32;

                pushButton.NoFocusImage = status == MetroToolbarState.Browse
                                    ? Properties.Resources.Play32g
                                    : Properties.Resources.Stop32g;
            }
        }
Beispiel #4
0
 protected virtual void OnbuttonClicked(IMetroToolBarButton button)
 {
 }
Beispiel #5
0
 public void AddButton(IMetroToolBarButton btn, int pos)
 {
     Controls.Add(btn as Control);
     Controls.SetChildIndex(btn as Control, pos);
 }
Beispiel #6
0
 public void ToolbarPushButtonClicked(IMetroToolBarButton e)
 {
     OnItemClicked(e.ButtonType);
     ItemClicked?.Invoke(e, e.ButtonType);
 }
Beispiel #7
0
 public void ToolbarButtonClicked(IMetroToolBarButton e)
 {
     OnbuttonClicked(e);
     ButtonClicked?.Invoke(this, e);
 }
Beispiel #8
0
 protected virtual void OnCustomToolbarButtonClick(IMetroToolBarButton btn)
 {
 }