Пример #1
0
        /// <summary>
        /// Build dynamic menu
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        /// <remarks>
        /// Author:			Le Tien Phat.
        /// Created date:	14/05/2011
        /// </remarks>
        private MainMenu BuildMenu(DataTable dt)
        {
            MainMenu mainMenu = new MainMenu();

            DataRow[] rows;
            rows = dt.Select("MENU_PID = 0", MENU_ZORDER);
            MDMenuItem item;
            Font       font = this.Font;

            foreach (DataRow row in rows)
            {
                item = new MDMenuItem();

                item.ID       = int.Parse(row[FORM_ID].ToString());
                item.Name     = row[MENU_NAME].ToString();
                item.FormName = AssemblyName + row[FORM_NAME].ToString();
                item.Text     = clsResources.GetTitle(frmMainName + row[MENU_NAME].ToString());
                item.Font     = font;

                if (item.Name == clsConstants.MENU_WINDOWS)
                {
                    item.MdiList = true;
                }

                mainMenu.MenuItems.Add(item);
                AddSub(item, dt);
            }
            return(mainMenu);
        }
Пример #2
0
        /// <summary>
        /// Init title column header for Main Menu.
        /// </summary>
        /// <param name="frm"></param>
        /// <param name="control"></param>
        /// <remarks>
        /// Author:			PhatLT. FPTSS.
        /// Created date:	14/02/2011
        /// </remarks>
        public static void InitTitle(Form frm, MDMenuItem item)
        {
            if (frm == null || item == null)
            {
                return;
            }

            if (item.Name == clsConstants.MENU_SEPARATE)
            {
                item.Text = clsConstants.MINUS;
            }
            else
            {
                item.Text = clsResources.GetTitle(frm.Name + "." + item.Name);
            }

            foreach (MDMenuItem sub in item.MenuItems)
            {
                InitTitle(frm, sub);
            }
        }
Пример #3
0
        /// <summary>
        /// Handle events when click on menu Item (Open window and other action).
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <remarks>
        /// Author:			Le Tien Phat.
        /// Created date:	14/05/2011
        /// </remarks>
        private void MenuItem_OnClick(object sender, EventArgs e)
        {
            string formName = "";

            MDMenuItem item = (MDMenuItem)sender;

            if (clsConstants.EXIT == item.Name)
            {
                this.Close();
            }
            else if (clsConstants.MENU_HELP_TOPIC == item.Name)
            {
            }
            else if (clsConstants.MENU_HELP_ABOUT == item.Name)
            {
                frmAbout frmAbout = new frmAbout();
                frmAbout.ShowDialog();
            }
            else if (clsConstants.WINDOW_CASCADE == item.Name)
            {
                this.LayoutMdi(MdiLayout.Cascade);
            }
            else if (clsConstants.WINDOW_TILE_HOZ == item.Name)
            {
                this.LayoutMdi(MdiLayout.TileHorizontal);
            }
            else if (clsConstants.WINDOW_TILE_VERT == item.Name)
            {
                this.LayoutMdi(MdiLayout.TileVertical);
            }
            else if (clsConstants.WINDOW_CLOSE_ALL == item.Name)
            {
                CloseAllWindow();
            }
            else if (clsConstants.SYSTEM_STYLE == item.Name)
            {
                item.Checked = !item.Checked;
                clsStyleManager.SystemStyle = item.Checked;
            }
            else if (clsConstants.COLOR_FOCUS_CONTROL == item.Name)
            {
                item.Checked = !item.Checked;
                clsStyleManager.ColorFocusControl = item.Checked;
            }
            else if (clsConstants.MAXIMIZED == item.Name)
            {
                item.Checked             = !item.Checked;
                clsFormManager.Maximized = item.Checked;
            }
            else if (clsConstants.SET_ENGLISH_LANGUAGE == item.Name)
            {
                clsResources.Init(clsConstants.ENGLISH);

                clsTitleManager.InitToolBarToolTip(this);
                //				tip.RemoveAll();
                //				foreach(Control ctrl in pnlToolBar.Controls)
                //				{
                //					tip.SetToolTip(ctrl, clsResources.GetTitle(frmMainName + ctrl.Name));
                //				}
                clsTitleManager.InitTitle(this, this.Menu);
                foreach (Form frm in this.MdiChildren)
                {
                    clsTitleManager.InitTitle(frm);
                }
            }
            else if (clsConstants.SET_VIETNAMESE_LANGUAGE == item.Name)
            {
                clsResources.Init(clsConstants.VIETNAMESE);
                clsTitleManager.InitToolBarToolTip(this);
                //				tip.RemoveAll();
                //				foreach(Control ctrl in pnlToolBar.Controls)
                //				{
                //					tip.SetToolTip(ctrl, clsResources.GetTitle(frmMainName + ctrl.Name));
                //				}
                clsTitleManager.InitTitle(this, this.Menu);
                foreach (Form frm in this.MdiChildren)
                {
                    clsTitleManager.InitTitle(frm);
                }
            }
            else if (clsConstants.LOG_OUT == item.Name)
            {
                if (MessageBox.Show(clsResources.GetMessage("messages.logout"), clsResources.GetMessage("messages.general"), MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                {
                    CloseAllWindow();
                    this.Text = clsResources.GetTitle("frmMain.Title");
                    this.Menu = mnuMain;
                    //pnlToolBar.Visible = false;
                    clsCommon.RemoveAllToolBar(this);
                    mnuLogin_Click(null, null);
                }
            }
            else
            {
                formName = item.FormName;
                if (formName.Length > 0 && formName != AssemblyName)
                {
                    if (formName == "DMS.Presentation.frmLogin")
                    {
                        mnuLogin_Click(null, null);
                    }
                    else
                    {
                        Form frm = null;
                        try
                        {
                            frm = (Form)Activator.CreateInstance(Type.GetType(formName), null);
                        }
                        catch (Exception ex)
                        {
                            log.Error(ex.Message, ex);
                            MessageBox.Show(clsResources.GetMessage("errors.form.create", formName));
                        }
                        if (frm != null)
                        {
                            clsFormManager.ShowMDIChild(frm);
                        }
                    }
                }
            }
        }
Пример #4
0
        /// <summary>
        /// Add sub menu item on recursive
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="dt"></param>
        /// <remarks>
        /// Author:			Le Tien Phat.
        /// Created date:	14/05/2011
        /// </remarks>
        private void AddSub(MDMenuItem parent, DataTable dt)
        {
            DataRow[] rows = dt.Select(string.Format("MENU_PID = {0}", parent.ID), MENU_ZORDER);
            if (rows.Length > 0)
            {
                MDMenuItem item;
                string     folder   = clsSystemConfig.IconFolder;
                string     iconName = null;
                Size       size     = new Size(14, 14);
                foreach (DataRow row in rows)
                {
                    item           = new MDMenuItem();
                    item.Font      = parent.Font;
                    item.OwnerDraw = true;
                    item.Name      = row[MENU_NAME].ToString();
                    iconName       = row[ICON_NAME].ToString();
                    if (iconName.Length > 0)
                    {
                        string filename = folder + iconName;
                        if (File.Exists(filename))
                        {
                            try
                            {
                                Icon icon = new Icon(filename);
                                item.Icon = icon;
                            }
                            catch (Exception ex)
                            {
                                log.Error(ex.Message, ex);
                            }
                        }
                    }
                    if (item.Name == clsConstants.MENU_SEPARATE)
                    {
                        item.OwnerDraw = false;
                        item.Text      = clsConstants.MINUS;
                        parent.MenuItems.Add(item);
                    }
                    else if (item.Name == clsConstants.MAXIMIZED)
                    {
                        item.Text = clsResources.GetTitle(frmMainName + row[MENU_NAME].ToString());

                        parent.MenuItems.Add(item);
                        item.Checked = clsFormManager.Maximized;
                        item.Click  += new EventHandler(MenuItem_OnClick);
                    }
                    else if (item.Name == clsConstants.SYSTEM_STYLE)
                    {
                        item.Text = clsResources.GetTitle(frmMainName + row[MENU_NAME].ToString());

                        parent.MenuItems.Add(item);
                        item.Checked = clsStyleManager.SystemStyle;
                        item.Click  += new EventHandler(MenuItem_OnClick);
                    }
                    else
                    {
                        item.ID = int.Parse(row[FORM_ID].ToString());
                        string formName = row[FORM_NAME].ToString();
                        if (formName.Length > 0)
                        {
                            item.FormName = AssemblyName + formName;
                        }
                        else
                        {
                            item.FormName = "";
                        }

                        item.Text = clsResources.GetTitle(frmMainName + row[MENU_NAME].ToString());
                        parent.MenuItems.Add(item);
                        AddSub(item, dt);
                    }
                }
            }
            else
            {
                parent.Click += new EventHandler(MenuItem_OnClick);
            }
        }