/// <summary> /// Init for basic panebar. /// </summary> /// <param name="mediator"></param> /// <param name="propertyTable"></param> /// <param name="mainControl"></param> public void Init(Mediator mediator, PropertyTable propertyTable, Control mainControl) { if (m_mediator != null && m_mediator != mediator) { throw new ArgumentException("Mis-matched mediators being set for this object."); } if (m_propertyTable != null && m_propertyTable != propertyTable) { throw new ArgumentException("Mis-matched property tables being set for this object."); } if (m_mediator == null) { m_mediator = mediator; } if (m_propertyTable == null) { m_propertyTable = propertyTable; } m_paneBar = CreatePaneBar(); Controls.Add(m_paneBar as Control); mainControl.Dock = DockStyle.Fill; Controls.Add(mainControl); mainControl.BringToFront(); }
/// <summary> /// Init for basic panebar. /// </summary> /// <param name="mediator"></param> /// <param name="mainControl"></param> public void Init(Mediator mediator, Control mainControl) { m_mediator = mediator; m_paneBar = CreatePaneBar(); Controls.Add(m_paneBar as Control); mainControl.Dock = DockStyle.Fill; Controls.Add(mainControl); mainControl.BringToFront(); }
private void ReloadPaneBar(IPaneBar paneBar) { string groupId = XmlUtils.GetOptionalAttributeValue(m_configurationParameters, "PaneBarGroupId", null); if (groupId != null) { XWindow window = (XWindow)m_mediator.PropertyTable.GetValue("window"); ChoiceGroup group = window.GetChoiceGroupForMenu(groupId); group.PopulateNow(); paneBar.AddGroup(group); } }
protected IPaneBar CreatePaneBar() { string preferredLibrary = (string)m_mediator.PropertyTable.GetValue("PreferredUILibrary", "xCoreOpenSourceAdapter.dll"); Assembly adaptorAssembly = AdapterAssemblyFactory.GetAdapterAssembly(preferredLibrary); IPaneBar paneBar = adaptorAssembly.CreateInstance("XCore.PaneBar") as IPaneBar; Control pb = paneBar as Control; if (pb.AccessibleName == null) { pb.AccessibleName = "XCore.PaneBar"; } pb.Dock = DockStyle.Top; return(paneBar); }
/// <summary></summary> public void Init(Mediator mediator, XmlNode configurationParameters) { CheckDisposed(); SuspendLayout(); m_mediator = mediator; m_configurationParameters = configurationParameters; // Make the IPaneBar. IPaneBar paneBar = CreatePaneBar(); // initialize the panebar string groupId = XmlUtils.GetOptionalAttributeValue(m_configurationParameters, "PaneBarGroupId", null); if (groupId != null) { XWindow window = (XWindow)m_mediator.PropertyTable.GetValue("window"); SIL.Utils.ImageCollection small = (SIL.Utils.ImageCollection)m_mediator.PropertyTable.GetValue("smallImages"); paneBar.Init(small, (IUIMenuAdapter)window.MenuAdapter, m_mediator); } ReloadPaneBar(paneBar); m_paneBar = paneBar; Controls.Add(paneBar as Control); // Make the main control. XmlNode mainControlNode = m_configurationParameters.SelectSingleNode("control"); Control mainControl = DynamicLoader.CreateObjectUsingLoaderNode(mainControlNode) as Control; if (mainControl == null) { throw new ApplicationException("Soemthing went wrong trying to create the main control."); } if (!(mainControl is IxCoreContentControl)) { throw new ApplicationException("A PaneBarContainer can only handle controls which implement IxCoreContentControl."); } mainControl.SuspendLayout(); m_mainControl = mainControl; mainControl.Dock = DockStyle.Fill; if (mainControl is IPaneBarUser) { (mainControl as IPaneBarUser).MainPaneBar = paneBar; } /* * if (mainControl is MultiPane) * { * MultiPane mp = mainControl as MultiPane; * mp.DefaultPrintPaneId = DefaultPrintPaneId; * mp.ParentSizeHint = ParentSizeHint; * }*/ (mainControl as IxCoreColleague).Init(m_mediator, mainControlNode.SelectSingleNode("parameters")); Controls.Add(mainControl); if (mainControl is MultiPane) { MultiPane mp = mainControl as MultiPane; mp.DefaultPrintPaneId = DefaultPrintPaneId; mp.ParentSizeHint = ParentSizeHint; if (mp.FirstControl is IPaneBarUser) { (mp.FirstControl as IPaneBarUser).MainPaneBar = paneBar; } } mainControl.BringToFront(); mainControl.ResumeLayout(false); ResumeLayout(false); }