void HandleCorruptPolicy(Exception ex, MDIChildForm child) { if (m_policySetExplorer.Count > 0) { m_policySetExplorer.Show(); } Logger.LogError(ex); Cursor = Cursors.Arrow; // because it may have been reset lower down and not reset MessageBox.Show(Properties.Resources.POLICY_CORRUPT); if (child != null) { child.CloseWithoutPromptToSave = true; child.Close(); } }
public MDIChildForm AddPolicySetWindow(IPolicySet policySet, PolicySetVersionStatus status, string version) { Guid childFormId = Guid.NewGuid(); string nodeName; if (CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "en") nodeName = string.Format(CultureInfo.CurrentCulture, "{0} - v{1} [{2}]", policySet.Name.Value, version, Workshare.Policy.PolicySuites.Instance.GetStatusText(status)); else nodeName = string.Format(CultureInfo.CurrentCulture, "{0} - [{1}]", policySet.Name.Value, Workshare.Policy.PolicySuites.Instance.GetStatusText(status)); TreeObject treeObject = new TreeObject(childFormId, (int)TreeViewControllerPolicyOriented.NodeType.PolicySet, nodeName, policySet); policySetTreeView.Nodes.Add(treeObject); MDIChildForm childForm = new MDIChildForm(childFormId, policySet, policySetTreeView, treeObject); ChildFormData childFormData = new ChildFormData(childFormId, childForm, status, policySet); treeObject.Tag = childFormData; policySetTreeView.SelectedNode = treeObject; return childForm; }
private bool OpenPolicySet(string policyname, ref MDIChildForm child) { Cursor oldCursor = null; bool ret = false; try { oldCursor = Cursor; Cursor = Cursors.WaitCursor; SuspendLayout(); PolicySuites.Instance.PolicyConverted += PolicyConverted; PolicySetItem policyset = PolicySuites.Instance.LoadPolicySet("localhost", policyname); PolicySuites.Instance.PolicyConverted -= PolicyConverted; if (policyset != null) { ShowNewForm(policyset.Data, policyset.CacheSet.LatestVersion.Status, ref child); ret = true; } } finally { ResumeLayout(); if (null != oldCursor) Cursor = oldCursor; } return ret; }
private void ShowNewForm(IPolicySet policySet, PolicySetVersionStatus status, ref MDIChildForm child) { child = m_policySetExplorer.AddPolicySetWindow(policySet, status, PolicySuites.Instance.GetVersion(policySet)); child.FormClosed += childForm_FormClosed; if (!m_policySetExplorer.Visible) { m_policySetExplorer.MdiParent = this; m_policySetExplorer.Dock = DockStyle.Left; } // Make it a child of this MDI form before showing it. child.MdiParent = this; child.Dock = DockStyle.Fill; child.Text = MDIParentMenuHelper.Instance.GetPolicySetDisplayName(policySet); child.Init(); m_policySetExplorer.ActivateWindow(child); }
private void ReallyOpenFile(string[] filenames, ref MDIChildForm child) { m_policySetExplorer.Hide(); LocalPathManager.Instance.DefaultPath = filenames[0]; PolicySetConversionSummary.Instance.Clear(); foreach (string filename in filenames) { DoActualOpen(filename, ref child); if (m_lastUsedFiles != null) m_lastUsedFiles.AddRecentlyUsedFile(filename); } if (m_policySetExplorer.Count > 0) m_policySetExplorer.Show(); if (null == m_policySetConversionSummaryUI) { m_policySetConversionSummaryUI = new PolicySetConversionUISummaryController(); } m_policySetConversionSummaryUI.ShowDialog(PolicySetConversionSummary.Instance.ConversionSummaryData); }
private void DoActualOpen(string policyname, ref MDIChildForm child) { try { child = null; if (!OpenPolicySet(policyname, ref child)) { Cursor = Cursors.Arrow; // because it may have been reset lower down and not reset MessageBox.Show(policyname + ": " + Properties.Resources.POLICY_FAILED_OPEN); if (child != null) { child.CloseWithoutPromptToSave = true; child.Close(); } } } catch (Exception ex) { HandleCorruptPolicy(ex, child); } }