/// <summary> /// todoComment /// </summary> /// <param name="AFolderNode"></param> /// <param name="ADashboard"></param> /// <param name="AExpandedWidth"></param> /// <param name="AMultiLedgerSite"></param> /// <param name="AConferenceSelected"></param> public TPnlModuleNavigation(XmlNode AFolderNode, TDashboard ADashboard, int AExpandedWidth, bool AMultiLedgerSite, bool AConferenceSelected) { this.FDashboard = ADashboard; this.Dock = DockStyle.Top; // AutoSize causes trouble on Mono // FCollapsibleNavigation.AutoSize = true; // FCollapsibleNavigation.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; FCollapsibleNavigation.CollapseDirection = Ict.Common.Controls.TCollapseDirection.cdHorizontal; FCollapsibleNavigation.Dock = System.Windows.Forms.DockStyle.Left; FCollapsibleNavigation.ExpandedSize = AExpandedWidth; FCollapsibleNavigation.Location = new System.Drawing.Point(0, 0); FCollapsibleNavigation.Margin = new System.Windows.Forms.Padding(0); FCollapsibleNavigation.TabIndex = 0; FCollapsibleNavigation.VisualStyleEnum = Ict.Common.Controls.TVisualStylesEnum.vsHorizontalCollapse; FCollapsibleNavigation.Collapsed += delegate(object sender, EventArgs e) { OnCollapsed(); }; FCollapsibleNavigation.Expanded += delegate(object sender, EventArgs e) { OnExpanded(); }; FCollapsibleNavigation.ItemActivation += delegate(TTaskList ATaskList, XmlNode ATaskListNode, LinkLabel AItemClicked, object AOtherData) { OnItemActivation(ATaskList, ATaskListNode, AItemClicked, AOtherData); }; if (AMultiLedgerSite && (TXMLParser.GetAttribute(AFolderNode, "DependsOnLedger").ToLower() == "true")) { FIsLedgerBasedModule = true; } else if (AConferenceSelected && (TXMLParser.GetAttribute(AFolderNode, "DependsOnConference").ToLower() == "true")) { FIsConferenceBasedModule = true; } if (FIsLedgerBasedModule || FIsConferenceBasedModule || (TXMLParser.GetAttribute(AFolderNode, "ShowAsCollapsiblePanels").ToLower() == "true")) { FCollapsibleNavigation.HostedControlKind = Ict.Common.Controls.THostedControlKind.hckCollapsiblePanelHoster; } else { FCollapsibleNavigation.HostedControlKind = THostedControlKind.hckTaskList; } FCollapsibleNavigation.TaskListNode = AFolderNode; FCollapsibleNavigation.InitUserControl(); if (FIsLedgerBasedModule) { // We want Ledgers to be Selected (if there are multiple Ledgers in the Site) *AND* at the same time Sub-Modules // in the top Collapsible Panel FCollapsibleNavigation.CollapsiblePanelHosterInstance.OnlyOneActiveTaskOnAllCollapsiblePanelsTaskLists = false; } this.Controls.Add(FCollapsibleNavigation); }