Beispiel #1
0
        private Double ConvertTimeToDistance(TimeSpan span)
        {
            TimeLineViewLevel lvl      = (TimeLineViewLevel)GetValue(ViewLevelProperty);
            Double            unitSize = (Double)GetValue(UnitSizeProperty);
            Double            value    = unitSize;

            switch (lvl)
            {
            case TimeLineViewLevel.Seconds:
                value = span.TotalSeconds * unitSize;
                break;

            case TimeLineViewLevel.Minutes:
                value = span.TotalMinutes * unitSize;
                break;

            case TimeLineViewLevel.Hours:
                value = span.TotalHours * unitSize;
                break;

            case TimeLineViewLevel.Days:
                value = span.TotalDays * unitSize;
                break;

            case TimeLineViewLevel.Weeks:
                value = (span.TotalDays / 7.0) * unitSize;
                break;

            case TimeLineViewLevel.Months:
                value = (span.TotalDays / 30.0) * unitSize;
                break;

            case TimeLineViewLevel.Years:
                value = (span.TotalDays / 365.0) * unitSize;
                break;

            default:
                break;
            }
            return(value);
        }
Beispiel #2
0
        private void UpdateViewLevel(TimeLineViewLevel lvl)
        {
            if (Items == null)
                return;
            for (int i = 0; i < Items.Count; i++)
            {

                var templatedControl = GetTimeLineItemControlAt(i);
                if (templatedControl != null)
                    templatedControl.ViewLevel = lvl;

            }
            ReDrawChildren();
            //Now we go back and have to detect if things have been collapsed
        }
Beispiel #3
0
        private TimeSpan ConvertDistanceToTime(Double distance)
        {
            TimeLineViewLevel lvl = (TimeLineViewLevel)GetValue(ViewLevelProperty);
            Double            unitSize = (Double)GetValue(UnitSizeProperty);
            double            minutes, hours, days, weeks, months, years, milliseconds = 0;

            switch (lvl)
            {
            case TimeLineViewLevel.Seconds:
                minutes = (distance / unitSize);
                //convert to milliseconds
                milliseconds  = minutes * 60000;
                milliseconds /= 1000;
                break;

            case TimeLineViewLevel.Minutes:
                //value = span.TotalMinutes * unitSize;
                minutes = (distance / unitSize);
                //convert to milliseconds
                milliseconds = minutes * 60000;
                break;

            case TimeLineViewLevel.Hours:
                hours = (distance / unitSize);
                //convert to milliseconds
                milliseconds = hours * 60 * 60000;
                break;

            case TimeLineViewLevel.Days:
                days = (distance / unitSize);
                //convert to milliseconds
                milliseconds = days * 24 * 60 * 60000;
                break;

            case TimeLineViewLevel.Weeks:
                //value = (span.TotalDays / 7.0) * unitSize;
                weeks = (7 * distance / unitSize);
                //convert to milliseconds
                milliseconds = weeks * 7 * 24 * 60 * 60000;
                break;

            case TimeLineViewLevel.Months:
                months = (30 * distance / unitSize);;
                //convert to milliseconds
                milliseconds = months * 30 * 24 * 60 * 60000;
                break;

            case TimeLineViewLevel.Years:
                years = (365 * distance / unitSize);
                //convert to milliseconds
                milliseconds = years * 365 * 24 * 60 * 60000;
                break;

            default:
                break;
            }
            long     ticks    = (long)milliseconds * 10000;
            TimeSpan returner = new TimeSpan(ticks);

            return(returner);

            //return new TimeSpan(0, 0, 0, 0, (int)milliseconds);
        }