Ejemplo n.º 1
0
        private bool ProcessChanged(EDOUnitVM edoUnit, object newValue, object oldValue)
        {
            MenuItemVM newMenuItem = newValue as MenuItemVM;
            MenuItemVM oldMenuItem = oldValue as MenuItemVM;

            if (newMenuItem == null)
            {
                return(false);
            }
            //同じアイテムが選択された場合は以降の処理は行わない(エラーが発生して戻す場合に無限ループになるのを防ぐ)
            if (newMenuItem == edoUnit.SelectedMenuItem)
            {
                return(false);
            }

            if (oldMenuItem != null)
            {
                if (!oldMenuItem.validate())
                {
                    this.Dispatcher.BeginInvoke(new Action(() =>
                    {
                        oldMenuItem.IsSelected = true;
                    }));
                    return(false);
                }
            }

            edoUnit.SelectedMenuItem = newMenuItem;
            edoUnit.SetStatusMessage(newMenuItem.Title, false);
            return(true);
        }
Ejemplo n.º 2
0
        private bool ProcessChanged(EDOUnitVM edoUnit, object newValue, object oldValue)
        {
            MenuItemVM newMenuItem = newValue as MenuItemVM;
            MenuItemVM oldMenuItem = oldValue as MenuItemVM;
            if (newMenuItem == null)
            {
                return false;
            }
            //同じアイテムが選択された場合は以降の処理は行わない(エラーが発生して戻す場合に無限ループになるのを防ぐ)
            if (newMenuItem == edoUnit.SelectedMenuItem)
            {
                return false;
            }

            if (oldMenuItem != null)
            {
                if (!oldMenuItem.validate())
                {
                    this.Dispatcher.BeginInvoke(new Action(() =>
                    {
                        oldMenuItem.IsSelected = true;
                    }));
                    return false;
                }
            }

            edoUnit.SelectedMenuItem = newMenuItem;
            edoUnit.SetStatusMessage(newMenuItem.Title, false);
            return true;
        }
Ejemplo n.º 3
0
        private void treeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            EDOUnitVM edoUnit = DataContext as EDOUnitVM;

            if (!ProcessChanged(edoUnit, e.NewValue, e.OldValue))
            {
                return;
            }
            if (edoUnit is StudyUnitVM)
            {
                StudyUnitVM studyUnitVM = (StudyUnitVM)edoUnit;
                MenuItemVM  menuItem    = studyUnitVM.SelectedMenuItem;
                studyUnitVM.Main.IsDataSet = menuItem.IsDataSet;
                if (menuItem.IsDataSet)
                {
                    studyUnitVM.Main.IsDataSetSelected = true;
                }
                studyUnitVM.Main.IsCategory = menuItem.IsCategory;
                if (menuItem.IsCategory)
                {
                    studyUnitVM.Main.IsCategorySelected = true;
                }
                studyUnitVM.Main.IsCode = menuItem.IsCode;
                if (menuItem.IsCode)
                {
                    studyUnitVM.Main.IsCodeSelected = true;
                }
                studyUnitVM.Main.IsQuestionGroup = menuItem.IsQuestionGroup;
                if (menuItem.IsQuestionGroup)
                {
                    studyUnitVM.Main.IsQuestionGroupSelected = true;
                }
            }
            else if (edoUnit is GroupVM)
            {
            }
        }
Ejemplo n.º 4
0
 public WriteError(string message, EDOUnitVM edoUnit, FormVM form)
 {
     Message = message;
     EDOUnit = edoUnit;
     Form = form;
 }
Ejemplo n.º 5
0
 // メイン画面の書く入力フォームに対応したViewModel。
 // 親としてEDOUnitVMを継承した、StudyUnitVMか、GroupVMを想定。
 public FormVM(EDOUnitVM edoUnit)
     : base(edoUnit)
 {
     state = null;
 }
Ejemplo n.º 6
0
 public void ShowMenuItem(EDOUnitVM edoUnit, MenuItemVM menuItem)
 {
     SelectedItem = edoUnit;
     Window window = Application.Current.MainWindow;
     //こうしないと現在表示中のStudyUnit以外でエラーが発生したときに指定メニューが表示されない。
     window.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() =>
     {
         edoUnit.SelectMenuItem(menuItem);
     }));
 }