Ejemplo n.º 1
0
        private void BuildMenu()
        {
            Dictionary <string, List <SystemMenu> > dt = Framework.Environment.GetSystemMenu();

            foreach (var item in dt)
            {
                SideBarPanelItem sideBarPanelItem = new SideBarPanelItem();
                //
                sideBarPanelItem.FontBold      = true;
                sideBarPanelItem.Image         = c.GetPageICON(item.Key);
                sideBarPanelItem.Text          = item.Key;
                sideBarPanelItem.Name          = "sideBarPanelItem" + item.Key;
                sideBarPanelItem.ExpandChange += sideBarPanelItem_ExpandChange;
                foreach (var item1 in item.Value)
                {
                    //
                    ButtonItem buttonItem = new ButtonItem();
                    buttonItem.ButtonStyle   = DevComponents.DotNetBar.eButtonStyle.ImageAndText;
                    buttonItem.Image         = c.GetPageImage(item1.Title);
                    buttonItem.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top;
                    buttonItem.Text          = item1.Title;
                    buttonItem.Tooltip       = item1.Discription;
                    buttonItem.Tag           = item1;
                    //buttonItem.OptionGroup = "1";
                    //buttonItem.AutoCheckOnClick = true;
                    buttonItem.Click += new System.EventHandler(buttonItem_Click);
                    sideBarPanelItem.SubItems.Add(buttonItem);
                    //
                }
                sideBar1.Panels.Add(sideBarPanelItem);
            }
            sideBar1.Refresh();
        }
Ejemplo n.º 2
0
        // Note: The Init method is handled by the superclass.

        /// <summary>
        /// Overrides method to create main elements of the sidebar.
        /// </summary>
        /// <param name="groupCollection">Collection of groups for this sidebar.</param>
        public override void CreateUIForChoiceGroupCollection(ChoiceGroupCollection groupCollection)
        {
            foreach (ChoiceGroup group in groupCollection)
            {
                string label = group.Label;
                label = label.Replace("_", "");
                SideBarPanelItem panelItem = new SideBarPanelItem(group.Id, label);
                if (group.HasSubGroups())
                {
                    MakeTree(group, label, ref panelItem);
                }

                panelItem.Tag         = group;
                group.ReferenceWidget = panelItem;
                SideBar sidebar = MySideBar;
                sidebar.Panels.Add(panelItem);
                sidebar.Images = m_smallImages.ImageList;
                panelItem.BackgroundStyle.BackColor1.Alpha = ((System.Byte)(255));
                panelItem.BackgroundStyle.BackColor1.Color = System.Drawing.SystemColors.ControlLightLight;
                //
                // sideBarPanelItem1.BackgroundStyle.BackColor2
                //
                panelItem.BackgroundStyle.BackColor2.Alpha     = ((System.Byte)(255));
                panelItem.BackgroundStyle.BackColor2.Color     = System.Drawing.SystemColors.ControlDark;
                panelItem.BackgroundStyle.BackgroundImageAlpha = ((System.Byte)(255));
                panelItem.BackgroundStyle.Border       = DevComponents.DotNetBar.eBorderType.None;
                panelItem.BackgroundStyle.TextTrimming = System.Drawing.StringTrimming.EllipsisCharacter;
                panelItem.ItemImageSize = DevComponents.DotNetBar.eBarImageSize.Default;
            }

            MySideBar.ExpandedChange += new EventHandler(Sidebar_ExpandedChange);
        }
Ejemplo n.º 3
0
 Task <bool> IniMenu()
 {
     return(Task.Run(() =>
     {
         DataTable dt = T_Sysset.GetMenuSet();
         if (dt == null || dt.Rows.Count <= 0)
         {
             return false;
         }
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             string strname = dt.Rows[i][0].ToString();
             if (strname.Trim().Length <= 0)
             {
                 continue;
             }
             if (T_User.UserMenu.IndexOf(DESEncrypt.DesEncrypt(strname)) < 0)
             {
                 continue;
             }
             SideBarPanelItem item = new SideBarPanelItem();
             item.Name = strname;
             item.Text = strname;
             item.FontBold = true;
             sideBarManger.Invoke(new Action(() =>
             {
                 sideBarManger.Panels.Add(item);
                 sideBarManger.Refresh();
             }));
         }
         return true;
     }));
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Overrides method to add itmes to the selected main itme in the sidebar.
        /// </summary>
        /// <param name="group">The group that defines this part of the sidebar.</param>
        public override void CreateUIForChoiceGroup(ChoiceGroup group)
        {
#if USE_DOTNETBAR
            SideBarPanelItem panelItem = (SideBarPanelItem)group.ReferenceWidget;
            if (panelItem.SubItems.Count > 0 && panelItem.SubItems[0] is ControlContainerItem)
            {
                ControlContainerItem item = (ControlContainerItem)panelItem.SubItems[0];
                TreeView             tree = (TreeView)item.Control;
                if (tree.Nodes.Count == 0)
                {
                    FillTreeNodes(tree.Nodes, group);
                }
                // It keeps growing with this. tree.Size = item.Size;
            }
            else if (group.ReferenceWidget is SideBarPanelItem)
            {
                panelItem.SubItems.Clear();
                foreach (ChoiceRelatedClass item in group)
                {
                    Debug.Assert(item is ChoiceBase, "Only things that can be made into buttons should be appearing here, else we should have a tree.");
                    MakeButton(panelItem, (ChoiceBase)item);
                }
            }
#endif
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Handle the ExpandedChange event of the sidebar.
        /// </summary>
        /// <param name="sender">The main section that has been expanded.</param>
        /// <param name="e"></param>
        protected void Sidebar_ExpandedChange(object sender, EventArgs e)
        {
            SideBarPanelItem item  = (SideBarPanelItem)sender;
            ChoiceGroup      group = (ChoiceGroup)item.Tag;

            Debug.Assert(group != null);
            group.OnDisplay(this, null);
        }
        private void LoadNavMeun(string currentid)
        {
            foreach (DataRow dr in ClientCache.Instance.DTUserMoule.Rows)
            {
                string parentId = dr[PiModuleTable.FieldParentId].ToString();
                //~这部分可以单独调优,只是为了把左侧功能栏项加载好,要新增项只需修改判断条件。
                //if ((dr[PiModuleTable.FieldParentId].ToString() != "1"))
                if (string.IsNullOrEmpty(parentId.Trim()) || parentId != currentid)
                {
                    continue;
                }

                //只加载模块类型为1(WinForm类型)或3(WinForm与WebForm相结合)的
                var moduleType = BusinessLogic.ConvertToNullableInt(dr[PiModuleTable.FieldModuleType]);
                if (moduleType != null && moduleType != 1 && moduleType != 3)
                {
                    continue;
                }

                var dataRows = ClientCache.Instance.DTUserMoule.Select(PiModuleTable.FieldParentId + " = '" + dr[PiModuleTable.FieldId].ToString() + "' AND (" + PiModuleTable.FieldModuleType + " IS NULL OR " + PiModuleTable.FieldModuleType + "=1 OR " + PiModuleTable.FieldModuleType + "=3)", PiModuleTable.FieldSortCode);
                if (dataRows.Length <= 0)
                {
                    continue;
                }

                var sideBarPanelItem = new SideBarPanelItem
                {
                    Name = dr[PiModuleTable.FieldCode].ToString(),
                    Text = dr[PiModuleTable.FieldFullName].ToString(),
                    Tag  = dr
                };
                if (SystemInfo.MultiLanguage)
                {
                    if (SystemInfo.CurrentLanguage.Equals("zh-TW", StringComparison.OrdinalIgnoreCase))
                    {
                        sideBarPanelItem.Text = ChineseStringHelper.StringConvert(sideBarPanelItem.Text, 1);
                    }

                    if (SystemInfo.CurrentLanguage.Equals("en-US", StringComparison.OrdinalIgnoreCase))
                    {
                        sideBarPanelItem.Text = sideBarPanelItem.Name.StartsWith("Frm", StringComparison.OrdinalIgnoreCase) ? sideBarPanelItem.Name.Remove(0, 3) : sideBarPanelItem.Name;
                    }
                }

                if (dr[PiModuleTable.FieldImageIndex] != null && !string.IsNullOrEmpty(dr[PiModuleTable.FieldImageIndex].ToString().Trim()))
                {
                    byte[] buffer = fileService.Download(this.UserInfo, dr[PiModuleTable.FieldImageIndex].ToString().Trim());
                    if (buffer != null && buffer.Length > 0)
                    {
                        sideBarPanelItem.ItemImageSize = eBarImageSize.Default;
                        sideBarPanelItem.Image         = BusinessLogic.byteArrayToImage(buffer);
                    }
                }
                this.AddButtonItem(dataRows, sideBarPanelItem);
                sideBarMain.Panels.Add(sideBarPanelItem);
            }
        }
        private void AddButtonItem(DataRow[] dataRows, SideBarPanelItem sidebarPItem)
        {
            if (dataRows.Length <= 0)
            {
                return;
            }
            foreach (DataRow dataRow in dataRows)
            {
                //只加载模块类型为1(WinForm类型)或3(WinForm与WebForm相结合)的
                var moduleType = BusinessLogic.ConvertToNullableInt(dataRow[PiModuleTable.FieldModuleType]);

                if (moduleType != null && moduleType != 1 && moduleType != 3)
                {
                    continue;
                }

                var buttomItem = new ButtonItem
                {
                    ButtonStyle   = eButtonStyle.ImageAndText,
                    ImagePosition = eImagePosition.Top,
                    ItemAlignment = eItemAlignment.Center
                };
                if (dataRow[PiModuleTable.FieldImageIndex] != null && !string.IsNullOrEmpty(dataRow[PiModuleTable.FieldImageIndex].ToString().Trim()))
                {
                    byte[] buffer = fileService.Download(this.UserInfo, dataRow[PiModuleTable.FieldImageIndex].ToString().Trim());
                    buttomItem.Image = buffer != null && buffer.Length > 0
                        ? BusinessLogic.byteArrayToImage(buffer)
                        : imageListMain.Images[0];
                }
                else //取默认图标
                {
                    buttomItem.Image = imageListMain.Images[0];
                }

                buttomItem.Name = dataRow[PiModuleTable.FieldCode].ToString();
                buttomItem.Text = dataRow[PiModuleTable.FieldFullName].ToString();
                if (SystemInfo.MultiLanguage)
                {
                    if (SystemInfo.CurrentLanguage.Equals("zh-TW", StringComparison.OrdinalIgnoreCase))
                    {
                        buttomItem.Text = ChineseStringHelper.StringConvert(buttomItem.Text, 1);
                    }

                    if (SystemInfo.CurrentLanguage.Equals("en-US", StringComparison.OrdinalIgnoreCase))
                    {
                        buttomItem.Text = buttomItem.Name.StartsWith("Frm", StringComparison.OrdinalIgnoreCase) ? buttomItem.Name.Remove(0, 3) : buttomItem.Name;
                    }
                }
                buttomItem.Tag    = dataRow;
                buttomItem.Click += this.sideBarItem_Click;
                sidebarPItem.SubItems.Add(buttomItem);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Redraw ths expanded item, so that the selected and enabled items are up to date.
        /// </summary>
        public override void OnIdle()
        {
            SideBar          sidebar   = MySideBar;
            SideBarPanelItem panelItem = sidebar.ExpandedPanel;

            if (panelItem != null)
            {
//				CreateUIForChoiceGroup((ChoiceGroup)panelItem.Tag);
//				sidebar.Refresh();
                ((ChoiceGroup)panelItem.Tag).OnDisplay(this, null);                 //jh experiment
            }
        }
Ejemplo n.º 9
0
        private SideBarPanelItem CrearPanel(menu unMenu)
        {
            SideBarPanelItem unPanel = null;

            #region PROPIEDADES DEL PANEL
            unPanel = new SideBarPanelItem(unMenu.idpadre.ToString() + unMenu.nombre)
            {
                Text = unMenu.nombre, Visible = unMenu.visible
            };
            unPanel.BackgroundStyle.BackColor1.Color  = System.Drawing.Color.FromArgb(((int)(((byte)(246)))), ((int)(((byte)(246)))), ((int)(((byte)(246)))));
            unPanel.BackgroundStyle.BackColor2.Color  = System.Drawing.Color.FromArgb(((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250)))));
            unPanel.BackgroundStyle.Border            = DevComponents.DotNetBar.eBorderType.SingleLine;
            unPanel.BackgroundStyle.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(45)))), ((int)(((byte)(150)))));
            unPanel.BackgroundStyle.ForeColor.Color   = System.Drawing.SystemColors.ControlText;
            unPanel.FontBold = true;
            unPanel.HeaderHotStyle.BackColor1.Color     = System.Drawing.Color.FromArgb(((int)(((byte)(135)))), ((int)(((byte)(173)))), ((int)(((byte)(228)))));
            unPanel.HeaderHotStyle.BackColor2.Color     = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255)))));
            unPanel.HeaderHotStyle.ForeColor.Color      = System.Drawing.SystemColors.ControlText;
            unPanel.HeaderHotStyle.GradientAngle        = 90;
            unPanel.HeaderSideHotStyle.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(135)))), ((int)(((byte)(173)))), ((int)(((byte)(228)))));
            unPanel.HeaderSideHotStyle.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255)))));
            unPanel.HeaderSideHotStyle.GradientAngle    = 90;
            unPanel.HeaderSideStyle.BackColor1.Color    = System.Drawing.Color.FromArgb(((int)(((byte)(223)))), ((int)(((byte)(237)))), ((int)(((byte)(254)))));
            unPanel.HeaderSideStyle.BackColor2.Color    = System.Drawing.Color.FromArgb(((int)(((byte)(142)))), ((int)(((byte)(179)))), ((int)(((byte)(231)))));
            unPanel.HeaderSideStyle.Border            = DevComponents.DotNetBar.eBorderType.SingleLine;
            unPanel.HeaderSideStyle.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(45)))), ((int)(((byte)(150)))));
            unPanel.HeaderSideStyle.BorderSide        = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top)
                                                                                                | DevComponents.DotNetBar.eBorderSide.Bottom)));
            unPanel.HeaderSideStyle.GradientAngle = 90;
            unPanel.HeaderStyle.BackColor1.Color  = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255)))));
            unPanel.HeaderStyle.BackColor2.Color  = System.Drawing.Color.FromArgb(((int)(((byte)(135)))), ((int)(((byte)(173)))), ((int)(((byte)(228)))));
            unPanel.HeaderStyle.Border            = DevComponents.DotNetBar.eBorderType.SingleLine;
            unPanel.HeaderStyle.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(45)))), ((int)(((byte)(150)))));
            unPanel.HeaderStyle.BorderSide        = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Right | DevComponents.DotNetBar.eBorderSide.Top)
                                                                                            | DevComponents.DotNetBar.eBorderSide.Bottom)));
            unPanel.HeaderStyle.Font            = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold);
            unPanel.HeaderStyle.ForeColor.Color = System.Drawing.SystemColors.ControlText;
            unPanel.HeaderStyle.GradientAngle   = 90;
            unPanel.ImageIndex = unMenu.icono;
            #endregion PROPIEDADES DEL PANEL

            List <menu> listaHijos = this.listaMenus.Where(x => x.idpadre == unMenu.id).ToList();
            foreach (menu item in listaHijos)
            {
                ButtonItem unBoton = CreaSubItems(item);
                if (unBoton != null)
                {
                    unPanel.SubItems.Add(unBoton);
                }
            }
            return(unPanel);
        }
Ejemplo n.º 10
0
        public static void Click(SideBarPanelItem sideBar,
                                 SuperTabControl superTabControl, ButtonItem ClickedButton, SuperTabItem TabItem)
        {
            Util.WriteMethodInfoToConsole();
            try
            {
                HConsole.WriteLine(LastCheckedButton.Text + " (" + LastCheckedButton.Name + ") --> unchecked");
                LastCheckedButton.Checked = false;
            }
            catch { }
            foreach (ButtonItem bi in sideBar.SubItems)
            {
                if (bi.Name == ClickedButton.Name)
                {
                    bi.Checked = true;
                    HConsole.WriteLine(bi.Text + " (" + bi.Name + ") --> is now LastCheckedButton");
                    LastCheckedButton = bi;
                }
                else
                {
                    bi.Checked = false;
                }
            }
            //System.Windows.Forms.Form MainForm = System.Windows.Forms.Application.OpenForms.Cast<System.Windows.Forms.Form>().Where(x => x.Name == "frmMain").FirstOrDefault();
            //var c = GetAllControlsOfType(MainForm, typeof(SideBar));
            //Console.WriteLine("Total ButtonItem Controls: " + c.Count());
            if (TabItem != null)
            {
                foreach (SuperTabItem sti in superTabControl.Tabs)
                {
                    if (sti.Name == TabItem.Name)
                    {
                        sti.Visible = true;
                        sti.Text    = ClickedButton.Text;
                    }
                    else
                    {
                        sti.Visible = false;
                    }
                }
                superTabControl.Visible = true;
            }
            else
            {
                superTabControl.Visible = false;
            }

            //if (!superTabControl.Visible)
            //{
            //    superTabControl.Visible = true;
            //}
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 重写方法,添加文本框
        /// </summary>
        /// <param name="objItem"></param>
        /// <param name="e"></param>
        protected override void OnItemDoubleClick(BaseItem objItem, MouseEventArgs e)
        {
            //首先判断下是否允许双击更改Text
            if (!EnableDoubleClickChangeText)
            {
                base.OnItemDoubleClick(objItem, e);
                return;
            }

            //下面则是允许
            _SideBarPanelItem = objItem as SideBarPanelItem;

            //判断一下
            if (_SideBarPanelItem == null)
            {
                base.OnItemDoubleClick(objItem, e);
                return;
            }

            Rectangle DisplayRectangle = _SideBarPanelItem.DisplayRectangle;
            Rectangle PanelRect        = _SideBarPanelItem.PanelRect;
            Point     Location         = this.PointToClient(e.Location);

            //处理下特殊情况
            if (Location.Y > DisplayRectangle.Location.Y + PanelRect.Height && Location.Y < PanelRect.Y + DisplayRectangle.Height)
            {
                base.OnItemDoubleClick(objItem, e);
                return;
            }

            //填充相关信息
            this._NameEdit.Clear();
            this._NameEdit.Location        = _SideBarPanelItem.DisplayRectangle.Location;
            this._NameEdit.Size            = _SideBarPanelItem.PanelRect.Size;
            this._NameEdit.Text            = _SideBarPanelItem.Text;
            this._NameEdit.SelectionLength = this._NameEdit.TextLength;
            this._NameEdit.SelectAll();
            this._NameEdit.ScrollToCaret();

            //显现
            this._NameEdit.Show();

            //设置焦点
            this._NameEdit.Focus();

            //添加到最前面
            this.Controls.SetChildIndex(this._NameEdit, 0);

            //base方法
            base.OnItemDoubleClick(objItem, e);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Create a tree view for the sidebar.
        /// </summary>
        /// <param name="group">The definition for the tree view.</param>
        /// <param name="label"></param>
        /// <param name="panelItem"></param>
        protected void MakeTree(ChoiceGroup group, string label, ref SideBarPanelItem panelItem)
        {
            // TODO: This tree isn't the right size, when the window opens.
            // Figure out how to make it right.
            TreeView tree = new TreeView();

            tree.Tag          = group;
            tree.AfterSelect += new TreeViewEventHandler(OnTreeNodeSelected);
            ControlContainerItem containerItem = new ControlContainerItem(group.Id, label);

            containerItem.AllowItemResize = true;
            containerItem.Control         = tree;
            panelItem.SubItems.Add(containerItem);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Create a ButtonItem for the sidebar.
        /// </summary>
        /// <param name="panelItem"></param>
        /// <param name="control"></param>
        protected void MakeButton(SideBarPanelItem panelItem, ChoiceBase control)
        {
            UIItemDisplayProperties display = control.GetDisplayProperties();

            display.Text = display.Text.Replace("_", "");
            ButtonItem button = new ButtonItem(control.Id, display.Text);

            button.Tag = control;
            control.ReferenceWidget = button;

            if (panelItem.ItemImageSize == eBarImageSize.Large)
            {
                if (m_largeImages.ImageList.Images.Count > 0)
                {
                    button.ImageIndex = m_largeImages.GetImageIndex(display.ImageLabel);
                }
            }
            else
            {
                if (m_smallImages.ImageList.Images.Count > 0)
                {
                    button.ImageIndex = m_smallImages.GetImageIndex(display.ImageLabel);
                }
            }

            button.Text        = display.Text;
            button.ButtonStyle = eButtonStyle.ImageAndText;

            if (!display.Enabled)
            {
                button.Text = button.Text + " NA";
            }

            button.Click += new EventHandler(OnClick);
            panelItem.SubItems.Add(button);

            //a button in this framework not really a Control... so I don't know how to use
            //(the same company's) balloon tip control on a sidebar button!
            //	m_mediator.SendMessage("RegisterHelpTarget", button.ContainerControl);
        }
Ejemplo n.º 14
0
        private void LoadCategories(TextureCategory[] categories)
        {
            foreach (TextureCategory cat in categories)
            {
                var pnl = new SideBarPanelItem()
                {
                    Text = cat.Name
                };
                foreach (TextureBlock b in cat.Blocks)
                {
                    var btn = new ButtonItem()
                    {
                        Tag        = b,
                        Text       = b.Name,
                        ColorTable = eButtonColor.Orange
                    };
                    btn.Click   += ButtonItem_Clicked;
                    btn.MouseUp += ButtonItem_MouseUp;
                    pnl.SubItems.Add(btn);
                }

                SideBar1.Panels.Add(pnl);
            }
        }