コード例 #1
0
        private void chekEnable_Unchecked(object sender, RoutedEventArgs e)
        {
            ClockVM vm = (sender as RoundCheckBox).Tag as ClockVM;

            vm.md.isEnable = (vm.IsEnable == true);

            AutoSaveServer.ins.hasChanged = true;
        }
コード例 #2
0
        private void txtDesc_TextChanged(object sender, TextChangedEventArgs e)
        {
            ClockVM vm = (sender as TextBox).Tag as ClockVM;

            vm.md.desc = vm.Desc;
            vm.IsNew   = false;

            AutoSaveServer.ins.hasChanged = true;
        }
コード例 #3
0
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            ClockVM vm = (sender as MiniButton).Tag as ClockVM;

            arrClock.RemoveAt(vm.Index);
            lstClockVM.RemoveAt(vm.Index);
            for (int i = vm.Index; i < lstClockVM.Count; ++i)
            {
                lstClockVM[i].Index = i;
            }

            AutoSaveServer.ins.hasChanged = true;
        }
コード例 #4
0
        public ClockBox()
        {
            InitializeComponent();

            if (DesignerProperties.GetIsInDesignMode(this))
            {
                return;
            }

            grdSetting.Visibility = Visibility.Collapsed;
            txtMusic.Text         = MainModel.ins.cfgMd.clockMusicPath;
            sldVolume.Value       = getVolume();

            arrClock = MainModel.ins.cfgMd.lstClock;
            for (int i = 0; i < arrClock.Count; ++i)
            {
                ClockVM vm = new ClockVM();
                vm.Index    = i;
                vm.md       = arrClock[i];
                vm.Desc     = arrClock[i].desc;
                vm.IsEnable = arrClock[i].isEnable;
                //vm.Time = formatTime(totalSecond);
                vm.Hour   = arrClock[i].hour;
                vm.Minute = arrClock[i].minute;
                lstClockVM.Add(vm);
            }

            lstTimer.ItemsSource = lstClockVM;

            ClockServer.ins.onPlayMusicStart = () => {
                Dispatcher.Invoke(() => {
                    var win = MainModel.ins.detailWin;
                    win.show(DetailWinViewBox.Clock);

                    updateTimerStatus();
                });
            };

            ClockServer.ins.onPlayMusicFinished = () => {
                Dispatcher.Invoke(updateTimerStatus);
            };

            EventServer.ins.detailWinHideEvent += () => {
                showSettingBox(false);
            };

            updateTimerStatus();

            NowTimeServer.ins.timer.Tick += new EventHandler(timerProc);
        }
コード例 #5
0
        private void initEditMode(ClockVM vm, EditTimeType type)
        {
            editVM                   = vm;
            editVM.IsEdit            = true;
            MainModel.ins.isEditTime = true;
            editType                 = type;
            switch (type)
            {
            case EditTimeType.Hour: oldValue = editVM.Hour; break;

            case EditTimeType.Minute: oldValue = editVM.Minute; break;

            case EditTimeType.Second: oldValue = editVM.Second; break;
            }
        }
コード例 #6
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            ClockModel md = new ClockModel();
            ClockVM    vm = new ClockVM()
            {
                Index = lstClockVM.Count,
                md    = md,
                IsNew = true,
            };

            foreach (var item in lstClockVM)
            {
                item.IsNew = false;
            }

            arrClock.Add(md);
            lstClockVM.Add(vm);
            lstTimer.ScrollIntoView(lstClockVM.Last());

            AutoSaveServer.ins.hasChanged = true;
        }
コード例 #7
0
        private void grdTimeEditMask_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (editVM == null)
            {
                return;
            }

            if (e.ChangedButton != MouseButton.Right && e.ChangedButton != MouseButton.Left)
            {
                return;
            }

            if (e.ChangedButton == MouseButton.Right)
            {
                switch (editType)
                {
                case EditTimeType.Hour: editVM.Hour = oldValue; break;

                case EditTimeType.Minute: editVM.Minute = oldValue; break;
                }
            }
            else if (e.ChangedButton == MouseButton.Left)
            {
                switch (editType)
                {
                case EditTimeType.Hour: editVM.md.hour = editVM.Hour; break;

                case EditTimeType.Minute: editVM.md.minute = editVM.Minute; break;
                }

                AutoSaveServer.ins.hasChanged = true;
            }

            editVM.IsEdit            = false;
            editVM                   = null;
            MainModel.ins.isEditTime = false;

            return;
        }
コード例 #8
0
        private void lblMinute_Click(object sender, RoutedEventArgs e)
        {
            ClockVM vm = (sender as MiniButton).Tag as ClockVM;

            initEditMode(vm, EditTimeType.Minute);
        }