public void GenerateBorders(Canvas canvas)
        {
            double currentTop  = 0;
            double currentLeft = 0;

            foreach (var obj in AxisDataCollection)
            {
                if (obj.IsDisplayed == false)
                {
                    continue;
                }
                foreach (var time in TimeRangeCollection)
                {
                    var tbModel = new TimeBorderViewModel()
                    {
                        StartDateTime = time.StartDateTime,
                        EndDateTime   = time.EndDateTime,
                        SourceObject  = obj
                    };

                    tbModel.MyBrush = obj.DrawBrush;
                    MoveToTimePosition(ref currentLeft, ref currentTop, time);

                    GenerateBorder(canvas, tbModel, currentLeft, currentTop, obj.Width, obj.IsUnbound);
                }

                MoveToNextObject(ref currentLeft, ref currentTop, obj.Width);
            }
        }
        public override void GenerateBorders(Canvas canvas)
        {
            double currentTop = 0;
            double currentLeft = 0;

            foreach (var obj in _axisDataCollection)
            {
                if (obj.IsDisplayed == false)
                {
                    continue;
                }
                foreach (var time in TimeRangeCollection)
                {
                    var tbModel = new TimeBorderViewModel()
                    {
                        StartDateTime = time.StartDateTime,
                        EndDateTime = time.EndDateTime,
                        SourceObject = obj
                    };

                    tbModel.MyBrush = obj.DrawBrush;
                    MoveToTimePosition(ref currentLeft, ref currentTop, time);

                    GenerateBorder(canvas, tbModel, currentLeft, currentTop, obj.Width, obj.IsUnbound);
                }

                MoveToNextObject(ref currentLeft, ref currentTop, obj.Width);
            }
        }
        private Border GenerateBorder(Canvas canvas, TimeBorderViewModel model, double x, double y, double width, bool isUnbound)
        {
            var border = VacantBorder(width);

            border.DataContext = model;
            if (isUnbound)
            {
                border.Style = canvas.FindResource("UnboundBorder") as Style;
            }

            Canvas.SetTop(border, y);
            Canvas.SetLeft(border, x);
            canvas.Children.Add(border);

            return(border);
        }
Beispiel #4
0
        public void ShowEventOnVacantCell(TimeBorderViewModel borderModel)
        {
            EventViewModel evtModel = new EventViewModel()
            {
                StartDateTime       = borderModel.StartDateTime,
                EndDateTime         = borderModel.EndDateTime,
                AppearListViewItems = GenerateAppearListViewItemModel(borderModel)
            };

            CommonLightBox lightBox = new CommonLightBox();
            EventRegister  register = new EventRegister();

            register.DataContext = evtModel;

            lightBox.LightBoxKind = CommonLightBox.CommonLightBoxKind.SaveCancel;
            lightBox.BindUIElement(register);
            lightBox.Owner          = Application.Current.MainWindow;
            lightBox.OnSaveAndQuit += register.OnSaveAndQuit;

            if (ShowDialogManager.ShowDialog(lightBox) == true)
            {
                var participants = GetParticipants(evtModel.AppearListViewItems);
                // 参加者がいないイベント作っても意味ないよね
                if (participants.Count() == 0)
                {
                    return;
                }

                var addEvent = new EventModel()
                {
                    StartDateTime = evtModel.StartDateTime,
                    EndDateTime   = evtModel.EndDateTime,
                    Title         = evtModel.Title,
                    Detail        = evtModel.Detail,
                    Participants  = participants,
                };
                _eventModelManager.Add(addEvent);
                _view.OnEventChanged(_view, new Timeline.EventChangedArgs()
                {
                    kind = Timeline.EventChangedKind.Add, model = addEvent
                });
                Initialize();
            }
        }
        public void GenerateScale(Canvas canvas)
        {
            double currentTop  = 0;
            double currentLeft = 0;

            TimeRange prev = null;

            foreach (var time in TimeRangeCollection)
            {
                var tbModel = new TimeBorderViewModel()
                {
                    StartDateTime = time.StartDateTime,
                    EndDateTime   = time.EndDateTime,
                    SourceObject  = null
                };
                MoveToTimePosition(ref currentLeft, ref currentTop, time);
                var border = GenerateBorder(canvas, tbModel, currentLeft, currentTop, _scaleWidth, false);

                border.Child = GenerateScaleControl(prev, time);

                prev = time;
            }
        }
Beispiel #6
0
        public ObservableCollection <AppearListViewItemModel> GenerateAppearListViewItemModel(TimeBorderViewModel borderModel)
        {
            ObservableCollection <AppearListViewItemModel> modelList = new ObservableCollection <AppearListViewItemModel>();

            foreach (var item in _dataSource)
            {
                if (item.IsUnbound)
                {
                    continue;
                }

                if (borderModel.SourceObject.Id == item.Id)
                {
                    modelList.Add(new AppearListViewItemModel(item.HeaderName, true, "登場する", "登場しない", item)
                    {
                        BackgroundBrush = item.DrawBrush
                    });
                }
                else
                {
                    modelList.Add(new AppearListViewItemModel(item.HeaderName, false, "登場する", "登場しない", item)
                    {
                        BackgroundBrush = item.DrawBrush
                    });
                }
            }
            return(modelList);
        }
        private Border GenerateBorder(Canvas canvas, TimeBorderViewModel model, double x, double y, double width, bool isUnbound)
        {
            var border = VacantBorder(width);
            border.DataContext = model;
            if (isUnbound)
            {
                border.Style = canvas.FindResource("UnboundBorder") as Style;
            }

            Canvas.SetTop(border, y);
            Canvas.SetLeft(border, x);
            canvas.Children.Add(border);

            return border;
        }
        public void GenerateScale(Canvas canvas)
        {
            double currentTop = 0;
            double currentLeft = 0;

            TimeRange prev = null;
            foreach (var time in TimeRangeCollection)
            {
                var tbModel = new TimeBorderViewModel()
                {
                    StartDateTime = time.StartDateTime,
                    EndDateTime = time.EndDateTime,
                    SourceObject = null
                };
                MoveToTimePosition(ref currentLeft, ref currentTop, time);
                var border = GenerateBorder(canvas, tbModel, currentLeft, currentTop, _scaleWidth, false);

                border.Child = GenerateScaleControl(prev, time);

                prev = time;
            }
        }
        public void ShowEventOnVacantCell(TimeBorderViewModel borderModel)
        {
            EventViewModel evtModel = new EventViewModel()
            {
                StartDateTime = borderModel.StartDateTime,
                EndDateTime = borderModel.EndDateTime,
                AppearListViewItems = GenerateAppearListViewItemModel(borderModel)
            };

            CommonLightBox lightBox = new CommonLightBox();
            EventRegister register = new EventRegister();

            register.DataContext = evtModel;

            lightBox.LightBoxKind = CommonLightBox.CommonLightBoxKind.SaveCancel;
            lightBox.BindUIElement(register);
            lightBox.Owner = Application.Current.MainWindow;
            lightBox.OnSaveAndQuit += register.OnSaveAndQuit;

            if (ShowDialogManager.ShowDialog(lightBox) == true)
            {
                var participants = GetParticipants(evtModel.AppearListViewItems);
                // 参加者がいないイベント作っても意味ないよね
                if (participants.Count() == 0)
                {
                    return;
                }

                var addEvent = new EventModel()
                    {
                        StartDateTime = evtModel.StartDateTime,
                        EndDateTime = evtModel.EndDateTime,
                        Title = evtModel.Title,
                        Detail = evtModel.Detail,
                        Participants = participants,
                    };
                _eventModelManager.Add(addEvent);
                _view.OnEventChanged(_view, new Timeline.EventChangedArgs(){kind = Timeline.EventChangedKind.Add, model = addEvent});
                Initialize();
            }
        }
        public ObservableCollection<AppearListViewItemModel> GenerateAppearListViewItemModel(TimeBorderViewModel borderModel)
        {
            ObservableCollection<AppearListViewItemModel> modelList = new ObservableCollection<AppearListViewItemModel>();

            foreach(var item in _dataSource)
            {
                if (item.IsUnbound)
                {
                    continue;
                }

                if(borderModel.SourceObject.Id == item.Id)
                {
                    modelList.Add(new AppearListViewItemModel(item.HeaderName, true,"登場する", "登場しない", item) { BackgroundBrush = item.DrawBrush });
                }
                else
                {
                    modelList.Add(new AppearListViewItemModel(item.HeaderName, false,"登場する", "登場しない", item) { BackgroundBrush = item.DrawBrush });
                }
            }
            return modelList;
        }