Ejemplo n.º 1
0
        /// <summary>
        /// Processes SubItem CustomItem selection
        /// </summary>
        /// <param name="sender">ButtonItem</param>
        /// <param name="e">EventArgs</param>
        void User_Click(object sender, EventArgs e)
        {
            ButtonItem bi = sender as ButtonItem;

            if (bi != null)
            {
                CustomCalendarItem item = bi.Tag as CustomCalendarItem;

                // If the user selected a non-ButtonCustomItem, then
                // move this item to the selected appointment StartTime.
                //
                // If they selected another ButtonCustomItem then just
                // ensure it is visible

                if (item != null)
                {
                    if (item is ButtonCustomItem == false)
                    {
                        MoveItem(item.StartTime);
                    }
                    else
                    {
                        _CalendarView.EnsureVisible(item);
                    }
                }
            }

            _Button.ClosePopup();
        }
Ejemplo n.º 2
0
        protected virtual bool IsCustomItemVisible(CustomCalendarItem item)
        {
            if (item.Visible == false)
                return (false);

            if (string.IsNullOrEmpty(_DisplayOwnerKey))
                return (true);

            return (item.OwnerKey.Equals(_DisplayOwnerKey));
        }
Ejemplo n.º 3
0
        private bool DragCustomItem(TimeLineView pv, CustomCalendarItem ci)
        {
            // Set the new owner and selected view, and
            // recalc the new layout

            ci.OwnerKey = OwnerKey;

            NeedRecalcLayout = true;
            RecalcSize();

            CalendarView.SelectedOwnerIndex = this.DisplayedOwnerKeyIndex;

            // Get the new view

            CustomCalendarItem view = GetCustomCalendarItem(ci);

            if (view != null)
                SetNewDragItem(pv, view);

            return (true);
        }
Ejemplo n.º 4
0
        private bool IsCustomItemVisible(CustomCalendarItem item)
        {
            if (string.IsNullOrEmpty(Connector.DisplayOwnerKey))
                return (true);

            return (item.OwnerKey.Equals(Connector.DisplayOwnerKey));
        }
        /// <summary>
        /// Gets a new CustomCalendarItem
        /// </summary>
        /// <param name="item"></param>
        /// <returns>CustomCalendarItem</returns>
        private CustomCalendarItem GetNewCustomItem(CustomCalendarItem item)
        {
            CustomCalendarItem ci = (CustomCalendarItem)item.Copy();
            ci.BaseCalendarItem = item;

            _View.CalendarItems.Add(ci);
            _View.NeedRecalcLayout = true;

            _View.SubItems.Add(ci);

            ci.IsSelectedChanged += _View.ItemIsSelectedChanged;

            return (ci);
        }
        /// <summary>
        /// Gets the CustomCalendarItem from the timeline.
        /// </summary>
        /// <param name="item"></param>
        /// <returns>CustomCalendarItem or null</returns>
        private CustomCalendarItem GetItemFromTimeLine(CustomCalendarItem item)
        {
            foreach (CalendarItem citem in _View.CalendarItems)
            {
                CustomCalendarItem view = citem as CustomCalendarItem;

                if (view != null && (view == item || view.BaseCalendarItem == item))
                    return (view);
            }

            return (null);
        }
 /// <summary>
 /// Determines if the given CustomItem is valid
 /// for the current view
 /// </summary>
 /// <param name="view"></param>
 /// <returns></returns>
 private bool IsValidItem(CustomCalendarItem view)
 {
     return (IsCustomItemVisible(view) == true &&
         _View.CalendarView.CustomItems.Contains(view.BaseCalendarItem) == true);
 }
Ejemplo n.º 8
0
        /// <summary>
        /// Gets a new CustomItem
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        private CustomCalendarItem GetNewCustomItem(CustomCalendarItem item)
        {
            CustomCalendarItem ci = (CustomCalendarItem)item.Copy();

            ci.BaseCalendarItem = item;
            ci.ModelItem = item;

            // Set the selected state to match any current
            // views that are present for this appointment

            for (int i = 0; i < _View.MonthWeeks.Length; i++)
            {
                CustomCalendarItem viewPart =
                    GetItemFromWeek(_View.MonthWeeks[i], item);

                if (viewPart != null)
                {
                    ci.IsSelected = viewPart.IsSelected;
                    break;
                }
            }

            return (ci);
        }
Ejemplo n.º 9
0
        private CustomCalendarItem GetItemFromCache(
            CustomCalendarItem item, List<CustomCalendarItem> cachedItems)
        {
            if (cachedItems != null && cachedItems.Count > 0)
            {
                foreach (CustomCalendarItem view in cachedItems)
                {
                    if (view == item || view.BaseCalendarItem == item)
                    {
                        cachedItems.Remove(view);

                        return (view);
                    }
                }
            }

            return (null);
        }
Ejemplo n.º 10
0
        private CustomCalendarItem GetItemFromWeek(MonthWeek monthWeek, CustomCalendarItem item)
        {
            foreach (CalendarItem citem in monthWeek.CalendarItems)
            {
                CustomCalendarItem view = citem as CustomCalendarItem;

                if (view != null && (view == item || view.BaseCalendarItem == item))
                    return (view);
            }

            return (null);
        }
        private CustomCalendarItem GetNewCustomItem(CustomCalendarItem item)
        {
            CustomCalendarItem ci = (CustomCalendarItem)item.Copy();
            ci.BaseCalendarItem = item;

            return (ci);
        }
        private CustomCalendarItem GetItemFromColumn(DayColumn dayColumn, CustomCalendarItem item)
        {
            foreach (CalendarItem citem in dayColumn.CalendarItems)
            {
                CustomCalendarItem view = citem as CustomCalendarItem;

                if (view != null && (view == item || view.BaseCalendarItem == item))
                    return (view);
            }

            return (null);
        }
Ejemplo n.º 13
0
        private bool DragCustomItem(WeekDayView pv, CustomCalendarItem ci)
        {
            // Set the new owner and selected view, and
            // recalc the new layout

            if (ci.BaseCalendarItem != null)
                ci = ci.BaseCalendarItem;

            ci.OwnerKey = OwnerKey;

            if (NumberOfColumns > 1)
            {
                DateTime sd = ci.StartTime;
                TimeSpan ts = ci.EndTime.Subtract(ci.StartTime);

                if (Bounds.X > pv.Bounds.X)
                {
                    ci.StartTime = new DateTime(_DayColumns[0].Date.Year,
                        _DayColumns[0].Date.Month, _DayColumns[0].Date.Day, sd.Hour, sd.Minute, 0);
                }
                else
                {
                    ci.StartTime = new DateTime(_DayColumns[NumberOfColumns - 1].Date.Year,
                        _DayColumns[NumberOfColumns - 1].Date.Month,
                        _DayColumns[NumberOfColumns - 1].Date.Day, sd.Hour, sd.Minute, 0);
                }

                ci.EndTime = ci.StartTime.Add(ts);
            }

            NeedRecalcLayout = true;
            RecalcSize();

            CalendarView.SelectedOwnerIndex = this.DisplayedOwnerKeyIndex;

            // Get the new view

            CustomCalendarItem view = GetCustomCalendarItem(ci);

            if (view != null)
                SetNewDragItem(pv, view);

            return (true);
        }