Exemplo n.º 1
0
        public void ChartForm_OnReporterMniClicked(object sender, EventArgs e)
        {
            var mniClicked = sender as ToolStripMenuItem;

            if (mniClicked == null)
            {
                string msg = "ChartForm_OnReporterMniClicked() should receive a click on ToolStripMenuItem, received from [" + sender.GetType() + "]";
                throw new Exception(msg);
            }
            string reporterShortNameClicked      = mniClicked.Text;
            bool   beforeCheckPropagatedInverted = mniClicked.Checked;

            try {
                if (beforeCheckPropagatedInverted == true)
                {
                    Reporter reporterToBeClosed = this.ReporterShortNamesUserInvoked[reporterShortNameClicked];
                    this.ReporterClosingUnregisterMniUntick(reporterToBeClosed.GetType().Name);
                    //reporterToBeClosed.ParentForm.Close();
                    DockContent form = reporterToBeClosed.Parent as DockContent;
                    form.Close();
                }
                else
                {
                    this.ReporterActivateShowRegisterMniTick(reporterShortNameClicked);
                }
                this.ChartFormManager.MainForm.MainFormSerialize();
            } catch (Exception ex) {
                this.ChartFormManager.MainForm.PopupException(ex);
                return;
            }
            //nope, doing that in ReporterActivateShowRegisterMniTick() ReporterClosingUnregisterMniUntick()
            //mniClicked.Checked = !mniClicked.Checked;
        }
 internal void RemoveTab(DockContent tabPage)
 {
     if (tabPage != null)
     {
         tabPage.Close();
     }
 }
Exemplo n.º 3
0
        private void menuItemClose_Click(object sender, EventArgs e)
        {
            DockContent dc    = null;
            bool        found = false;

            foreach (IDockContent document in this.DockHandler.DockPanel.Documents)
            {
                dc = (document as DockContent);
                if (dc != null && dc.TabText == this.TabText)
                {
                    found = true;
                    break;
                }
            }
            if (found)
            {
                if (this.renderThread != null)
                {
                    this.renderThread.Abort();
                }
                if (this.Scene != null && this.Scene.Primitives != null)
                {
                    this.Scene.Primitives.Clear();
                }
                dc.Close();
            }
        }
Exemplo n.º 4
0
        private void CloseWindowIfInSameScope(DockContent toClose, DockContent tabInSameScopeOrNull)
        {
            var parent = tabInSameScopeOrNull == null ? null : tabInSameScopeOrNull.Parent;

            if (toClose != null && (parent == null || toClose.Parent == parent))
            {
                toClose.Close();
            }
        }
Exemplo n.º 5
0
 private void menuItemCloseAll_Click(object sender, EventArgs e)
 {
     IDockContent[] contents = this.DockHandler.DockPanel.Documents.ToArray();
     for (int i = 0; i < contents.Length; i++)
     {
         DockContent document = (DockContent)contents[i];
         document.Close();
     }
 }
Exemplo n.º 6
0
        private void LogOutMenuItem_Click(object sender, EventArgs e)
        {
            _dockContent.Close();
            _operationToolbox?.Close();
            _MessageToolbox?.Close();
            LoginMenuItem.Enabled = true;
            var f = new FrmLogin();

            f.Show();
            Hide();
        }
Exemplo n.º 7
0
        public void Close(Type type)
        {
            if (formContainer.ContainsKey(type))
            {
                DockContent form = formContainer[type];
                formContainer.Remove(type);

                form.Close();
                form = null;
            }
        }
Exemplo n.º 8
0
 private void HandleDockContentToolStripMenuClick(DockContent dockWindow, DockState state)
 {
     if (dockWindow.IsHidden || dockWindow.DockState == DockState.Unknown)
     {
         dockWindow.Show(dockPanel, state);
     }
     else
     {
         dockWindow.Close();
     }
 }
Exemplo n.º 9
0
        public void ForceWindowsClose()
        {
            while (documentViews.Count > 0)
            {
                DockContent doc = documentViews[0];
                doc.Close(); //this window should be removed from documentViews on closing
                documentViews.Remove(doc);
            }
            documentViews.Clear();

            dockPanel.ActiveDocumentChanged -= new EventHandler(OnActiveDocumentChanged);
        }
Exemplo n.º 10
0
 private void menuItemCloseButThis_Click(object sender, EventArgs e)
 {
     IDockContent[] contents = this.DockHandler.DockPanel.Documents.ToArray();
     for (int i = 0; i < contents.Length; i++)
     {
         DockContent dc = (DockContent)contents[i];
         if (dc.TabText != this.TabText)
         {
             dc.Close();
         }
     }
 }
Exemplo n.º 11
0
        public DockContent Activate(DeserializeInstruction instruction)
        {
            if (instruction.DatabaseObject != null && instruction.ObjectCollection != null)
            {
                throw new ArgumentException("DeserializeInstruction cannot have both a DatabaseObject and an ObjectCollection");
            }

            var c = _constructor.Construct(instruction.UIControlType);

            var uiInstance   = c as IRDMPSingleDatabaseObjectControl;
            var uiCollection = c as IObjectCollectionControl;

            //it has a database object so call SetDatabaseObject
            if (uiCollection != null)
            {
                //if we get here then Instruction wasn't for a
                return(Activate(uiCollection, instruction.ObjectCollection));
            }
            else
            if (uiInstance != null)
            {
                var databaseObject = instruction.DatabaseObject;

                //the database object is gone? deleted maybe
                if (databaseObject == null)
                {
                    return(null);
                }

                DockContent floatable = WindowFactory.Create(this, RefreshBus, uiInstance, CoreIconProvider.GetImage(databaseObject), databaseObject);

                floatable.Show(_mainDockPanel, DockState.Document);
                try
                {
                    uiInstance.SetDatabaseObject(this, (DatabaseEntity)databaseObject);
                    SetTabText(floatable, uiInstance);
                }
                catch (Exception e)
                {
                    floatable.Close();
                    throw new Exception("SetDatabaseObject failed on Control of Type '" + instruction.UIControlType.Name + "', control closed, see inner Exception for details", e);
                }

                return(floatable);
            }
            else
            {
                throw new PersistenceException("DeserializeInstruction must have either a DatabaseObject or an ObjectCollection");
            }
        }
Exemplo n.º 12
0
 private void tsmiCloseAll_Click(object sender, EventArgs e)
 {
     for (int i = this.dockPanel1.Contents.Count - 1; i >= 0; i--)
     {
         if (this.dockPanel1.Contents[i] is DockContent)
         {
             DockContent dock =
                 (DockContent)this.dockPanel1.Contents[i];
             if (!dock.Equals(_customerGroup))
             {
                 dock.Close();
             }
         }
     }
 }
Exemplo n.º 13
0
        public void Remove(string key)
        {
            if (dockContents.ContainsKey(key))
            {
                DockContent content = dockContents[key];
                content.Close();

                //remove event handlers
                content.FormClosing -= content_FormClosing;
                content.FormClosed  -= content_FormClosed;

                content.Dispose();
                dockContents.Remove(key);
                OnPanelRemoved(key);
            }
        }
Exemplo n.º 14
0
        /// <summary>
        /// 开始
        /// </summary>
        /// <param name="path"></param>
        private void Start(string path)
        {
            _dock1?.Close();

            _dock1 = new Dock();
            _dock1.Show(dockPanel1, DockState.DockLeft);
            for (int i = dockPanel1.Documents.Count() - 1; i >= 0; i--)
            {
                DockContent dc = (DockContent)dockPanel1.Documents.ElementAt(i);
                dc.Close();
            }
            About about = new About {
                MdiParent = this
            };

            about.Show(dockPanel1);  
        }
Exemplo n.º 15
0
        /// <summary>
        /// Closes the tab.
        /// </summary>
        /// <param name="forceClose">'true' to bypass the Unsaved Changes prompt.</param>
        /// <returns>'true' if the tab was closed; 'false' on cancel.</returns>
        public bool Close(bool forceClose = false)
        {
            if (forceClose || PromptSave())
            {
                // unsubscribe FormClosing event to prevent duplicate prompt
                _content.FormClosing -= on_FormClosing;

                // save view state and close tab
                SaveViewState();
                _content.Close();
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 16
0
        /// <summary>
        /// Close a document form
        /// </summary>
        /// <param name="document">The document to close</param>
        public void CloseDocumentForm(IDocumentObject document)
        {
            if (InvokeRequired)
            {
                Invoke(new Action <IDocumentObject>(CloseDocumentForm), document);
            }
            else
            {
                if (_entries.ContainsKey(document))
                {
                    DockContent win = _entries[document];

                    if ((win != null) && (!win.IsDisposed))
                    {
                        win.Close();
                    }
                }
            }
        }
Exemplo n.º 17
0
        public void LoadPanelsFromXML()
        {
            try
            {
                Windows.TreePanel   = null;
                Windows.ConfigPanel = null;
                Windows.ErrorsPanel = null;

                while (_MainForm.pnlDock.Contents.Count > 0)
                {
                    DockContent dc = (DockContent)_MainForm.pnlDock.Contents[0];
                    dc.Close();
                }

                CreatePanels();
#if !PORTABLE
                string oldPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\" + GeneralAppInfo.ProdName + "\\" + SettingsFileInfo.LayoutFileName;
#endif
                string newPath = SettingsFileInfo.SettingsPath + "\\" + SettingsFileInfo.LayoutFileName;
                if (File.Exists(newPath))
                {
                    _MainForm.pnlDock.LoadFromXml(newPath, GetContentFromPersistString);
#if !PORTABLE
                }
                else if (File.Exists(oldPath))
                {
                    _MainForm.pnlDock.LoadFromXml(oldPath, GetContentFromPersistString);
#endif
                }
                else
                {
                    Startup.Instance.SetDefaultLayout();
                }
            }
            catch (Exception ex)
            {
                Logger.Instance.Error("LoadPanelsFromXML failed" + Environment.NewLine + ex.Message);
            }
        }
Exemplo n.º 18
0
        private void FlashPanel_FormClosed(object sender, FormClosedEventArgs e)
        {
            try
            {
                closed = true;

                if (outSocket != null)
                {
                    outSocket.Close();
                }
                if (inSocket != null)
                {
                    inSocket.Close();
                }

                traceDock.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemplo n.º 19
0
        private void 重新加载当前文件ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DockContent activeDocument = (DockContent)dockPanel1.ActiveDocument;

            if (activeDocument?.Tag == null)
            {
                return;
            }
            string       tbName = activeDocument.Tag.ToString();
            DialogResult dr     = MessageBox.Show($"请确认是否放弃对文件[{tbName}]的所有修改,并重新加载当前文件内容", @"提示信息", MessageBoxButtons.OKCancel);

            if (dr != DialogResult.OK)
            {
                return;
            }
            DataHelper.XkfyData.Tables.Remove(tbName);
            if (DataHelper.FormConfig[tbName].DtType == "1")
            {
                DataHelper.XkfyData.Tables.Remove(tbName + "_D");
            }
            FileHelper.LoadTable(tbName);
            activeDocument.Close();
        }
Exemplo n.º 20
0
        public void UnloadPad(FormsDesigner.IPadContent content)
        {
            if (content == null)
            {
                return;
            }
            DockContent dockContent = content.Control as DockContent;

            if (dockContent == null)
            {
                dockContent = content.Control.Parent as DockContent;
            }

            dockContent.Close();

            PadContentCollection.Remove(content);

            if (_layout != null)
            {
                _layout.UnloadPad(content);
            }

            content.Dispose();
        }
Exemplo n.º 21
0
        private void 重新加载当前文件ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DockContent d = (DockContent)dockPanel1.ActiveDocument;

            if (d == null || d.Tag == null)
            {
                return;
            }
            string fmName   = d.Text.Replace("*", "");
            string tbName   = d.Tag.ToString();
            string fileName = string.Empty;
            string prefix   = fmName.Substring(0, 3);
            string keyName  = fmName.Substring(3);

            if (prefix == "[M]")
            {
                DataHelper.MapData.Tables.Remove(tbName);
                fileName = "MapInfo";
                //读取MAP文件
                ToolsHelper.ReadMapData(DataHelper.MapFile[keyName], tbName, fileName);
            }
            else if (prefix == "[N]")
            {
                DataHelper.MapData.Tables.Remove(tbName);
                fileName = "NpcProduct";
                //读取NpcConduct
                ToolsHelper.ReadMapData(DataHelper.MapFile[keyName], tbName, fileName);
            }
            else
            {
                if (DataHelper.FormConfig[tbName].DtType == "1")
                {
                    DataHelper.XkfyData.Tables.Remove(DataHelper.FormConfig[tbName].MainDtName);
                    DataHelper.XkfyData.Tables.Remove(DataHelper.FormConfig[tbName].DetailDtName);
                }
                else
                {
                    DataHelper.XkfyData.Tables.Remove(tbName);
                }
                DataHelper.ExistTable(tbName);
            }

            d.Close();



            //反射实例化窗体
            DockContent dc = (DockContent)Assembly.Load("xkfy_mod").CreateInstance("xkfy_mod." + tbName);

            //如果对象为空,则代表使用的是公共窗口
            if (dc == null)
            {
                if (prefix != "[M]" && prefix != "[N]")
                {
                    fileName = "other";
                }

                Almighty a = new Almighty(tbName, fileName);
                a.Text = fmName;
                a.Tag  = tbName;
                a.Show(this.dockPanel1, DockState.Document);
            }
            else
            {
                dc.Text = fmName;
                dc.Tag  = tbName;
                dc.Show(this.dockPanel1, DockState.Document);
            }
        }
Exemplo n.º 22
0
        /// <summary>
        /// Shows the content.
        /// </summary>
        /// <param name="vc">The vc.</param>
        /// <param name="region">The region.</param>
        public void ShowContent(IViewContent vc, ViewRegion region)
        {
            TabManager tm = ServiceManager.Instance.GetService <TabManager>();

            DockContent content = new DockContent();

            content.TabText     = vc.Title;
            content.Text        = vc.Title;
            content.ToolTipText = vc.Title;
            content.CloseButton = vc.CanClose;

            switch (region)
            {
            case ViewRegion.Bottom:
                content.DockAreas = DockAreas.DockBottom;
                break;

            case ViewRegion.Top:
                content.DockAreas = DockAreas.DockTop;
                break;

            case ViewRegion.Left:
                content.DockAreas = DockAreas.DockLeft;
                break;

            case ViewRegion.Right:
                content.DockAreas = DockAreas.DockRight;
                break;

            case ViewRegion.Document:
                content.DockAreas = DockAreas.Document;
                break;

            case ViewRegion.Floating:
                content.DockAreas = DockAreas.Float;
                break;
            }

            vc.TitleChanged += delegate(object sender, EventArgs e)
            {
                content.TabText     = vc.Title;
                content.Text        = vc.Title;
                content.ToolTipText = vc.Title;
            };

            vc.ViewContentClosing += delegate(object sender, EventArgs e)
            {
                if (vc.CanClose)
                {
                    content.Close();
                }
            };

            content.ClientSize  = vc.ContentControl.Size;
            content.CloseButton = vc.CanClose;

            vc.ContentControl.Dock = DockStyle.Fill;
            content.Controls.Add(vc.ContentControl);

            if (vc is IConnectionDependentView)
            {
                tm.Register((IConnectionDependentView)vc);
            }

            if (region == ViewRegion.Dialog)
            {
                content.StartPosition = FormStartPosition.CenterParent;
                content.ShowDialog();
            }
            else
            {
                content.Show(contentPanel);
            }
        }