示例#1
0
        /// <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);
        }
        /// <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);
        }