コード例 #1
0
        /// <summary>
        /// 즐겨찾기 액션
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnQuickMenu_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                strSelectMenu = (sender as Button).Name.Replace("MN_", "");
                AccordionControl accrMenu = mainwin.FindName("accrMenu") as AccordionControl;

                DataRow[] dr = dtMenuList.Select("MNU_CD = '" + strSelectMenu + "' AND MNU_STEP = '3'");

                if (dr.Length == 1)
                {
                    if (!Logs.htPermission[strSelectMenu].ToString().Equals("N"))
                    {
                        if (!dr[0]["MNU_PATH"].ToString().Equals(""))
                        {
                            btnMenu_Click(mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString().Substring(0, 4)), null);
                            accrMenu.SelectedItem = mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString());
                            MenuControlAction(null);

                            if (!bQuickShowHiden)
                            {
                                QuickShowHidenAction(null);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Messages.ShowErrMsgBoxLog(ex);
            }
        }
コード例 #2
0
        /// <summary>
        /// GIS에서 메뉴화면선택 수동액션
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void SelMenuPage(string strSelectMenu)
        {
            try
            {
                //strSelectMenu = (sender as Button).Name.Replace("MN_", "");
                AccordionControl accrMenu = mainwin.FindName("accrMenu") as AccordionControl;

                DataRow[] dr = dtMenuList.Select("MNU_CD = '" + strSelectMenu + "' AND MNU_STEP = '3'");

                if (dr.Length == 1)
                {
                    if (!Logs.htPermission[strSelectMenu].ToString().Equals("N"))
                    {
                        if (!dr[0]["MNU_PATH"].ToString().Equals(""))
                        {
                            //탑메뉴버튼 수동클릭
                            btnMenu_Click(mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString().Substring(0, 4)), null);
                            //레프트메뉴(아코디언) 표시
                            accrMenu.SelectedItem = mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString());
                            //레프트메뉴 수동선택
                            MenuControlAction(null);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Messages.ShowErrMsgBoxLog(ex);
            }
        }
コード例 #3
0
        /// <summary>
        /// 아코디언메뉴 Show/Hiden
        /// </summary>
        /// <param name="obj"></param>
        private void MenuShowHidenAction(object obj)
        {
            Storyboard sb;

            AccordionControl accr = (AccordionControl)mainwin.FindName("accrMenu");
            Button           btn  = (Button)mainwin.FindName("btnMenuSlide");

            if (bMenuShowHiden)
            {
                sb = mainwin.FindResource("Menuin") as Storyboard;

                btn.Margin = new Thickness(0, 0, 18, 0);
                accr.CollapseAll();
                accr.RootItemExpandButtonPosition = ExpandButtonPosition.None;
                accr.ExpandItemOnHeaderClick      = false;
            }
            else
            {
                sb = mainwin.FindResource("Menuout") as Storyboard;

                btn.Margin = new Thickness(0, 0, 6, 0);
                accr.ExpandAll();
                accr.RootItemExpandButtonPosition = ExpandButtonPosition.Right;
                accr.ExpandItemOnHeaderClick      = true;
            }

            sb.Begin(mainwin);
            bMenuShowHiden = !bMenuShowHiden;
        }
コード例 #4
0
 private void ShowNavigationItemAction_CustomizeControl(object sender, CustomizeControlEventArgs e)
 {
     if (e.Control is AccordionControl)
     {
         accordion = (AccordionControl)e.Control;
         ((AccordionSearchControl)accordion.GetFilterControl()).NullValuePrompt = "Search (Ctrl+Q)";
     }
 }
コード例 #5
0
 private void Form1_Load(object sender, EventArgs e)
 {
     acControl        = new AccordionControl();
     acControl.Dock   = DockStyle.Left;
     acControl.Parent = this;
     acControl.Width  = 200;
     InitAccordionControl();
 }
コード例 #6
0
ファイル: MenuManager.cs プロジェクト: fbluth/Wookie
        public MenuManager(System.Data.SqlClient.SqlConnection sqlConnection, NavigationFrame navigationFrame, AccordionControl accordionControl, Bar statusBar)
        {
            this.navigationFrame  = navigationFrame;
            this.accordionControl = accordionControl;
            this.sqlConnection    = sqlConnection;

            this.statusBar = statusBar;
            this.statusBar.AddItem(barItemMessage);
            this.statusBar.AddItem(barItemSelection);
        }
コード例 #7
0
ファイル: MenuManager.cs プロジェクト: fbluth/Wookie
        private bool disposedValue = false; // Dient zur Erkennung redundanter Aufrufe.

        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    this.context.Dispose();
                    this.clients.Clear();
                }

                // nicht verwaltete Ressourcen (nicht verwaltete Objekte) freigeben und Finalizer weiter unten überschreiben.
                // große Felder auf Null setzen.
                this.navigationFrame  = null;
                this.accordionControl = null;

                disposedValue = true;
            }
        }
コード例 #8
0
        protected virtual AccordionControl GetAccordion()
        {
            var accordion = new AccordionControl();

            Control control = null;

            foreach (var child in Children)
            {
                if (child is LogAggregationControl lac)
                {
                    control = new AccordionItemControl(new Paragraph(lac.Message), lac, lac.HasError);
                }
                else
                {
                    control = child;
                }

                accordion.Items.Add(control);
            }

            return(accordion);
        }
コード例 #9
0
        /// <summary>
        /// 按鈕建立
        /// </summary>
        /// <param name="buttonSetting">按鈕設定檔</param>
        public void AccordionLoad(AccordionControl accordionControl1, ButtonSetting buttonSetting)
        {
            AccordionControl = accordionControl1;
            accordionControl1.Clear();
            accordionControl1.AllowItemSelection = true;
            if (buttonSetting != null)
            {
                foreach (var item in buttonSetting.ButtonGroupSettings)
                {
                    ButtonTypeEnum ButtonTypeEnum = (ButtonTypeEnum)item.ButtonStyle;
                    switch (ButtonTypeEnum)
                    {
                    case ButtonTypeEnum.Group:     // 群組
                    {
                        //
                        //列表
                        //
                        AccordionControlElement[] ButtonItem = new AccordionControlElement[item.ButtonItemSettings.Count];        //建立列表
                        for (int i = 0; i < item.ButtonItemSettings.Count; i++)
                        {
                            ButtonItem[i] = new AccordionControlElement()
                            {
                                Style = ElementStyle.Item,                   //設定列表類型
                                Name  = item.ButtonItemSettings[i].ItemName, // 設定顯示名稱
                                Tag   = item.ButtonItemSettings[i],          //自訂TAG
                                Text  = item.ButtonItemSettings[i].ItemName, //縮小名稱
                            };
                            AccordionControlElements.Add(ButtonItem[i]);
                        }
                        //
                        // 群組
                        //
                        AccordionControlElement Group = new AccordionControlElement(); //建立群組
                        Group.Expanded = false;                                        //不顯示列表
                        Group.Name     = item.GroupName;                               // 設定顯示名稱
                        Group.Text     = item.GroupName;                               //縮小名稱
                                                                                       //Group.ImageOptions.Image= System.Drawing.Bitmap//加入ICON
                        /*設定字體*/
                        Group.Appearance.Normal.FontStyleDelta  = FontStyle.Bold;
                        Group.Appearance.Normal.Name            = "微軟正黑體";
                        Group.Appearance.Normal.FontSizeDelta   = 10;
                        Group.Appearance.Hovered.FontStyleDelta = FontStyle.Bold;
                        Group.Appearance.Hovered.Name           = "微軟正黑體";
                        Group.Appearance.Hovered.FontSizeDelta  = 10;
                        Group.Appearance.Pressed.FontStyleDelta = FontStyle.Bold;
                        Group.Appearance.Pressed.Name           = "微軟正黑體";
                        Group.Appearance.Pressed.FontSizeDelta  = 10;
                        Group.Elements.AddRange(ButtonItem);        //將列表加入至群組
                        accordionControl1.Elements.Add(Group);      //將群組加入至控制物件
                                                                    //
                                                                    //列表
                                                                    //
                        for (int i = 0; i < item.ButtonItemSettings.Count; i++)
                        {
                            /*設定字體*/
                            ButtonItem[i].Appearance.Normal.FontStyleDelta  = FontStyle.Bold;
                            ButtonItem[i].Appearance.Normal.Name            = "微軟正黑體";
                            ButtonItem[i].Appearance.Normal.FontSizeDelta   = 8;
                            ButtonItem[i].Appearance.Hovered.FontStyleDelta = FontStyle.Bold;
                            ButtonItem[i].Appearance.Hovered.Name           = "微軟正黑體";
                            ButtonItem[i].Appearance.Hovered.FontSizeDelta  = 8;
                            ButtonItem[i].Appearance.Pressed.FontStyleDelta = FontStyle.Bold;
                            ButtonItem[i].Appearance.Pressed.Name           = "微軟正黑體";
                            ButtonItem[i].Appearance.Pressed.FontSizeDelta  = 8;
                        }
                    }
                    break;

                    case ButtonTypeEnum.Item:     //列表
                    {
                        AccordionControlElement ButtonItem = new AccordionControlElement()
                        {
                            Style = ElementStyle.Item,
                            Name  = item.ButtonItemSettings[0].ItemName,
                            Tag   = item.ButtonItemSettings[0],
                            Text  = item.ButtonItemSettings[0].ItemName,
                        };
                        ButtonItem.Appearance.Normal.FontStyleDelta  = FontStyle.Bold;
                        ButtonItem.Appearance.Normal.Name            = "微軟正黑體";
                        ButtonItem.Appearance.Normal.FontSizeDelta   = 8;
                        ButtonItem.Appearance.Hovered.FontStyleDelta = FontStyle.Bold;
                        ButtonItem.Appearance.Hovered.Name           = "微軟正黑體";
                        ButtonItem.Appearance.Hovered.FontSizeDelta  = 8;
                        ButtonItem.Appearance.Pressed.FontStyleDelta = FontStyle.Bold;
                        ButtonItem.Appearance.Pressed.Name           = "微軟正黑體";
                        ButtonItem.Appearance.Pressed.FontSizeDelta  = 8;
                        accordionControl1.Elements.Add(ButtonItem);
                        AccordionControlElements.Add(ButtonItem);
                    }
                    break;
                    }
                }
                accordionControl1.OptionsMinimizing.AllowMinimizeMode = DevExpress.Utils.DefaultBoolean.False;         // 鎖定視窗
                accordionControl1.ElementClick   += new ElementClickEventHandler(this.accordionControl1_ElementClick); //按鈕事件
                accordionControl1.SelectedElement = AccordionControlElements[0];                                       //觸發初始按鈕
            }
        }
コード例 #10
0
 public static void UpdateAccordionControlHeight(AccordionControl control)
 {
     UpdateAccordionControlHeight(control.Elements);
 }
コード例 #11
0
        /// <summary>
        /// 단축키 입력 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Mainwin_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                AccordionControl accrMenu = mainwin.FindName("accrMenu") as AccordionControl;
                DataRow[]        dr       = null;

                if (Keyboard.IsKeyDown(Key.F1))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F1'");
                }
                else if (Keyboard.IsKeyDown(Key.F2))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F2'");
                }
                else if (Keyboard.IsKeyDown(Key.F3))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F3'");
                }
                else if (Keyboard.IsKeyDown(Key.F4))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F4'");
                }
                else if (Keyboard.IsKeyDown(Key.F5))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F5'");
                }
                else if (Keyboard.IsKeyDown(Key.F6))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F6'");
                }
                else if (Keyboard.IsKeyDown(Key.F7))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F7'");
                }
                else if (Keyboard.IsKeyDown(Key.F8))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F8'");
                }
                else if (Keyboard.IsKeyDown(Key.F9))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F9'");
                }
                else if (Keyboard.IsKeyDown(Key.F10))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F10'");
                }
                else if (Keyboard.IsKeyDown(Key.F11))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F11'");
                }
                else if (Keyboard.IsKeyDown(Key.F12))
                {
                    dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F12'");
                }

                if (dr != null && dr.Length == 1)
                {
                    dr = dtMenuList.Select("MNU_CD = '" + dr[0]["MNU_CD"].ToString() + "' AND MNU_STEP = '3'");

                    if (dr.Length == 1)
                    {
                        if (!Logs.htPermission[dr[0]["MNU_CD"]].ToString().Equals("N"))
                        {
                            if (!dr[0]["MNU_PATH"].ToString().Equals(""))
                            {
                                btnMenu_Click(mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString().Substring(0, 4)), null);
                                accrMenu.SelectedItem = mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString());
                                MenuControlAction(null);

                                if (!bQuickShowHiden)
                                {
                                    QuickShowHidenAction(null);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Messages.ShowErrMsgBoxLog(ex);
            }
        }
コード例 #12
0
        /// <summary>
        /// 메뉴선택 이벤트
        /// </summary>
        /// <param name="obj"></param>
        private void MenuControlAction(object obj)
        {
            AccordionControl accrMenu = mainwin.FindName("accrMenu") as AccordionControl;

            try
            {
                AccordionItem accitemSelect = accrMenu.SelectedItem as AccordionItem;

                if (accitemSelect != null)
                {
                    strSelectMenu = accitemSelect.Name.Replace("MN_", "");
                    DataRow[] dr = dtMenuList.Select("MNU_CD = '" + strSelectMenu + "' AND MNU_STEP = '3'");

                    if (dr.Length == 1)
                    {
                        if (!Logs.htPermission[strSelectMenu].ToString().Equals("N"))
                        {
                            if (!dr[0]["MNU_PATH"].ToString().Equals(""))
                            {
                                /*
                                 */


                                //Grid gridtitle = mainwin.FindName("gridtitle") as Grid;
                                //gridtitle.RowDefinitions[0].Height = new GridLength(40, GridUnitType.Pixel);

                                //regionManager.Regions["ContentRegion"].RemoveAll();
                                //regionManager.RequestNavigate("ContentRegion", new Uri(dr[0]["MNU_PATH"].ToString(), UriKind.Relative));



                                // 선택된 메뉴를 세션에 저장
                                Logs.strFocusMNU_CD = accitemSelect.Name.Split('_')[1].ToString();


                                /*
                                 * ContentsRegion표시하지않고 팝업윈도우를 호출
                                 */

                                // 0.현재열려있는 팝업을 닫는다

                                /* Popup클래그 방식
                                 * pmain.IsOpen = false;
                                 */
                                try
                                {
                                    FmsUtil.popWinView.Close();
                                }
                                catch (Exception) { }



                                if (FmsUtil.IsNull(dr[0]["MNU_PATH"].ToString()))
                                {
                                    Messages.ShowErrMsgBox("잘못된 메뉴경로입니다.");
                                    return;
                                }



                                // 2.점검관리화면은 단독윈도우형태
                                if (dr[0]["MNU_PATH"].ToString().Contains("Mntc/View/ChkSchListView.xaml"))
                                {
                                    //클래스풀패키지명 만들기
                                    string className = "GTI.WFMS.Modules";
                                    var    paths     = dr[0]["MNU_PATH"].ToString().Split('/');
                                    foreach (string p in paths)
                                    {
                                        className += "." + p.Replace(".xaml", "");
                                    }

                                    //Type t = ModulesAssembly.GetType("GTI.WFMS.Modules.Mntc.View.ChkSchListView");
                                    Type t = ModulesAssembly.GetType(className);
                                    FmsUtil.popWinView = Activator.CreateInstance(t) as Window;
                                    //popWinView = new ChkSchListView();

                                    //공통팝업창 사이즈 초기화
                                    FmsUtil.popWinView.Height = 631;
                                    //팝업결과리턴
                                    if (FmsUtil.popWinView.ShowDialog() is bool)
                                    {
                                        //재조회
                                    }
                                }
                                // 3.일반 업무화면은 Page 형태의 팝업
                                else
                                {
                                    /* Window 공통화면 형태
                                     */
                                    FmsUtil.popWinView = new PopWinView(dr[0]["MNU_PATH"].ToString());
                                    Label lbTitle = FmsUtil.popWinView.FindName("lbTitle") as Label;//화면타이틀
                                    lbTitle.Content          = dr[0]["MNU_NM"].ToString();
                                    FmsUtil.popWinView.Title = dr[0]["MNU_NM"].ToString();

                                    //팝업결과리턴
                                    if (FmsUtil.popWinView.ShowDialog() is bool)
                                    {
                                        //재조회
                                    }



                                    /* Popup 공통화면 형태
                                     * try
                                     * {
                                     *  pmain = new PopMain(dr[0]["MNU_PATH"].ToString());
                                     *  pmain.DataContext = this;//팝업에 현재데이터컨텍스트를 전달한다...
                                     * }
                                     * catch (Exception)
                                     * {
                                     *  return;
                                     * }
                                     *
                                     * Label lbTitle = pmain.FindName("lbTitle") as Label;//화면타이틀
                                     * lbTitle.Content = dr[0]["MNU_NM"].ToString();
                                     *
                                     * pmain.PlacementTarget = borderTop;
                                     * pmain.Placement = PlacementMode.Bottom;
                                     * pmain.VerticalOffset = 100;
                                     * pmain.Placement = PlacementMode.Left;
                                     * pmain.HorizontalOffset = 100;
                                     * pmain.IsOpen = true;
                                     * pmain.StaysOpen = false;
                                     * //pmain.Focusable = true;
                                     * //FmsUtil.__popMain = pmain; //열린팝업을 전역변수로 저장해놓음
                                     */
                                }
                            }
                            else
                            {
                                Messages.ShowInfoMsgBox("메뉴 경로가 부적합 합니다.");
                                return;
                            }
                        }
                        //else
                        //{
                        //    Messages.ShowInfoMsgBox("해당메뉴에 권한이 없습니다.");
                        //}
                    }
                }
            }
            catch (Exception ex)
            {
                Messages.ShowErrMsgBoxLog(ex);
            }
        }
コード例 #13
0
        /// <summary>
        /// 탑메뉴 클릭시 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnMenu_Click(object sender, RoutedEventArgs e)
        {
            AccordionControl accrMenu = mainwin.FindName("accrMenu") as AccordionControl;

            foreach (AccordionItem item in accrMenu.Items)
            {
                //메인윈도우에 객체를 삭제/추가한다...
                mainwin.UnregisterName(item.Name);

                foreach (AccordionItem citem in item.Items)
                {
                    item.UnregisterName(citem.Name);
                }
            }

            accrMenu.Items.Clear();

            DataRow[] drmidMENU;
            DataRow[] drsmMENU;
            drmidMENU = dtMenuList.Select("MNU_STEP = '2' AND UPPER_CD ='" + ((Button)sender).Name.Replace("MN_", "").ToString() + "'", "ORD");

            //중메뉴
            foreach (DataRow r in drmidMENU)
            {
                try
                {
                    //중메뉴 권한 필터링 (N)인경우 NO
                    if (!Logs.htPermission[r["MNU_CD"].ToString()].ToString().Equals("N"))
                    {
                        AccordionItem acctwoitem = new AccordionItem
                        {
                            Name       = "MN_" + r["MNU_CD"].ToString(),
                            Header     = r["MNU_NM"].ToString(),
                            Foreground = new SolidColorBrush(Colors.White),
                            FontSize   = 14,
                            Glyph      = new BitmapImage(new Uri("/Resources/Images/MNUImage/" + r["MNU_IMG"].ToString(), UriKind.Relative))
                        };
                        if (ThemeApply.strThemeName.Equals("GTINavyTheme"))
                        {
                            acctwoitem.Glyph = new BitmapImage(new Uri("/Resources/Navy/Images/MNUImage/" + r["MNU_IMG"].ToString(), UriKind.Relative));
                        }
                        else
                        {
                            acctwoitem.Glyph = new BitmapImage(new Uri("/Resources/Blue/Images/MNUImage/" + r["MNU_IMG"].ToString(), UriKind.Relative));
                        }
                        acctwoitem.Margin = new Thickness(3, 0, 3, 0);

                        mainwin.RegisterName(acctwoitem.Name, acctwoitem); //메인윈도우에 객체를 추가한다...
                        accrMenu.Items.Add(acctwoitem);

                        drsmMENU = null;
                        drsmMENU = dtMenuList.Select("MNU_STEP = '3' AND UPPER_CD ='" + acctwoitem.Name.Replace("MN_", "").ToString() + "'", "ORD");

                        //소메뉴
                        foreach (DataRow drthree in drsmMENU)
                        {
                            try
                            {
                                //소메뉴 권한 필터링 (N)인경우 NO
                                if (!Logs.htPermission[drthree["MNU_CD"].ToString()].ToString().Equals("N"))
                                {
                                    AccordionItem accthreeitem = new AccordionItem
                                    {
                                        Name       = "MN_" + drthree["MNU_CD"].ToString(),
                                        Header     = " ⁃ " + drthree["MNU_NM"].ToString(),
                                        FontSize   = 14,
                                        Foreground = new SolidColorBrush(Colors.White),
                                        //Background = (Brush)new BrushConverter().ConvertFrom("#195A92")
                                    };
                                    mainwin.RegisterName(accthreeitem.Name, accthreeitem);
                                    acctwoitem.Items.Add(accthreeitem);
                                }
                            }
                            catch (Exception ex)
                            {
                                Messages.ErrLog(ex);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Messages.ErrLog(ex);
                }

                //편의를 위해 확장 추후 결정
                accrMenu.ExpandAll();
            }
        }