Пример #1
0
        //=========================================================================================
        // windows menu command
        //

        //---------------------------------------------------------------------------------
        private void windowToolStripMenuItem_DropDownOpening(object sender, EventArgs e)
        {
            bool userMode = SystemConfig.IsInUserMode;

            editToolStripMenuItem.Visible       = !userMode;
            favoritesToolStripMenuItem.Visible  = !userMode;
            historyToolStripMenuItem.Visible    = !userMode;
            ascendantsToolStripMenuItem.Visible = !userMode;
            optionsToolStripMenuItem.Visible    = !userMode;

            debugInfoToolStripMenuItem.Visible = SystemConfig.IsInDebuggerMode;

            foreach (ToolStripItem item in windowToolStripMenuItem.DropDownItems)
            {
                if (!(item is ToolStripMenuItem))
                {
                    continue;
                }
                bool check = false;
                if (item != null && item.Tag != null && (item.Tag is Type))
                {
                    Type          type = item.Tag as Type;
                    ITaxonControl itc  = TaxonControlList.FindTaxonControl(item.Tag as Type);
                    check = itc != null;
                }
                (item as ToolStripMenuItem).Checked = check;
            }
        }
Пример #2
0
 //-------------------------------------------------------------------
 public static void RegisterTaxonControl(ITaxonControl _itc)
 {
     if (_List.IndexOf(_itc) != -1)
     {
         return;
     }
     _List.Add(_itc);
     Console.WriteLine("Register: " + _itc);
     OnRegisterTaxonControl?.Invoke(null, new TaxonControlEventArgs(_itc));
 }
Пример #3
0
        //---------------------------------------------------------------------------------
        private void windowToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem item = sender as ToolStripMenuItem;
            Type type = item.Tag as Type;

            if (type == null)
            {
                return;
            }

            ITaxonControl itc = TaxonControlList.FindTaxonControl(type);

            if (itc != null)
            {
                if (itc.OwnerContainer == null)
                {
                    return;
                }
                if (itc is TaxonControl)
                {
                    if ((itc as TaxonControl).CanBeClosed)
                    {
                        itc.OwnerContainer.Remove(itc as TaxonControl, true);
                        TaxonControlList.UnregisterTaxonControl(itc);
                    }
                    else // cannot close, just set focus then
                    {
                        itc.OwnerContainer.SetFocus(itc);
                    }
                }
            }
            else
            {
                object o = type.GetConstructor(new Type[] { }).Invoke(new object[] { });
                new FormContainer(o as TaxonControl).Show(this);
            }
        }
Пример #4
0
 //-------------------------------------------------------------------
 public static void UnregisterTaxonControl(ITaxonControl _itc)
 {
     OnUnregisterTaxonControl?.Invoke(null, new TaxonControlEventArgs(_itc));
     _List.Remove(_itc);
     Console.WriteLine("Unregister: " + _itc);
 }
Пример #5
0
 //-------------------------------------------------------------------
 public static void InitTaxonControlOnLoad(ITaxonControl _itc)
 {
     Console.WriteLine("Init after load: " + _itc);
     OnInitTaxonControlAfterLoad?.Invoke(null, new TaxonControlEventArgs(_itc));
 }
Пример #6
0
 public TaxonControlEventArgs(ITaxonControl _itc)
 {
     ITC = _itc;
 }