[california/wip/calendar-spans: 13/13] Emphasize Spans, not DateSpans, in Calendar interfaces
- From: Jim Nelson <jnelson src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [california/wip/calendar-spans: 13/13] Emphasize Spans, not DateSpans, in Calendar interfaces
- Date: Fri, 9 May 2014 21:39:33 +0000 (UTC)
commit dfa8f661692d717edb563148e7d4043d27163100
Author: Jim Nelson <jim yorba org>
Date: Fri May 9 14:37:48 2014 -0700
Emphasize Spans, not DateSpans, in Calendar interfaces
src/calendar/calendar-date-span.vala | 7 +++++++
src/calendar/calendar-month-span.vala | 6 +++---
src/calendar/calendar-span.vala | 15 ++++++++++++---
src/calendar/calendar-week-span.vala | 6 +++---
src/calendar/calendar-year-span.vala | 6 +++---
src/tests/tests-calendar-month-span.vala | 12 ++++++------
6 files changed, 34 insertions(+), 18 deletions(-)
---
diff --git a/src/calendar/calendar-date-span.vala b/src/calendar/calendar-date-span.vala
index 7b57384..ac13827 100644
--- a/src/calendar/calendar-date-span.vala
+++ b/src/calendar/calendar-date-span.vala
@@ -26,6 +26,13 @@ public class DateSpan : UnitSpan<Date> {
}
/**
+ * Create a { link DateSpan} from a { link Span}.
+ */
+ public DateSpan.from_span(Span span) {
+ base (span.start_date, span.end_date, span.start_date, span.end_date);
+ }
+
+ /**
* Create a { link DateSpan} from the { link ExactTimeSpan}.
*/
public DateSpan.from_exact_time_span(ExactTimeSpan exact_time_span) {
diff --git a/src/calendar/calendar-month-span.vala b/src/calendar/calendar-month-span.vala
index 9e8525c..1d81db1 100644
--- a/src/calendar/calendar-month-span.vala
+++ b/src/calendar/calendar-month-span.vala
@@ -33,9 +33,9 @@ public class MonthSpan : UnitSpan<MonthOfYear> {
* The month of the Span's start_date and the month of Span's end_date are used to determine
* the MonthSpan.
*/
- public MonthSpan.from_date_span(DateSpan date_span) {
- MonthOfYear first = date_span.start_date.month_of_year();
- MonthOfYear last = date_span.end_date.month_of_year();
+ public MonthSpan.from_span(Span span) {
+ MonthOfYear first = span.start_date.month_of_year();
+ MonthOfYear last = span.end_date.month_of_year();
base (first, last, first.start_date, last.end_date);
}
diff --git a/src/calendar/calendar-span.vala b/src/calendar/calendar-span.vala
index 373ff4f..4df9f97 100644
--- a/src/calendar/calendar-span.vala
+++ b/src/calendar/calendar-span.vala
@@ -127,7 +127,7 @@ public abstract class Span : BaseObject {
* Converts the { link Span} into a { link DateSpan}.
*/
public DateSpan to_date_span() {
- return new DateSpan(start_date, end_date);
+ return new DateSpan.from_span(this);
}
/**
@@ -136,7 +136,7 @@ public abstract class Span : BaseObject {
* Dates covering a partial week are included.
*/
public WeekSpan to_week_span(FirstOfWeek first_of_week) {
- return new WeekSpan.from_date_span(to_date_span(), first_of_week);
+ return new WeekSpan.from_span(this, first_of_week);
}
/**
@@ -145,7 +145,16 @@ public abstract class Span : BaseObject {
* Dates covering a partial month are included.
*/
public MonthSpan to_month_span() {
- return new MonthSpan.from_date_span(to_date_span());
+ return new MonthSpan.from_span(this);
+ }
+
+ /**
+ * Converts the { link Span} into a { link YearSpan}.
+ *
+ * Dates coverting a partial year are included.
+ */
+ public YearSpan to_year_span() {
+ return new YearSpan.from_span(this);
}
/**
diff --git a/src/calendar/calendar-week-span.vala b/src/calendar/calendar-week-span.vala
index cb569d1..4fb07ff 100644
--- a/src/calendar/calendar-week-span.vala
+++ b/src/calendar/calendar-week-span.vala
@@ -45,9 +45,9 @@ public class WeekSpan : UnitSpan<Week> {
* Create a span of { link Week}s corresponding to the { link DateSpan} according to
* { link FirstOfWeek}'s definition of a week's starting day.
*/
- public WeekSpan.from_date_span(DateSpan date_span, FirstOfWeek first_of_week) {
- Week first = date_span.start_date.week_of(first_of_week);
- Week last = date_span.end_date.week_of(first_of_week);
+ public WeekSpan.from_span(Span span, FirstOfWeek first_of_week) {
+ Week first = span.start_date.week_of(first_of_week);
+ Week last = span.end_date.week_of(first_of_week);
base (first, last, first.start_date, last.end_date);
diff --git a/src/calendar/calendar-year-span.vala b/src/calendar/calendar-year-span.vala
index b69850f..b118475 100644
--- a/src/calendar/calendar-year-span.vala
+++ b/src/calendar/calendar-year-span.vala
@@ -33,9 +33,9 @@ public class YearSpan : UnitSpan<Year> {
* The year of the Span's start_date and the month of Span's end_date are used to determine
* the YearSpan.
*/
- public YearSpan.from_date_span(DateSpan date_span) {
- Year first = date_span.start_date.year;
- Year last = date_span.end_date.year;
+ public YearSpan.from_span(Span span) {
+ Year first = span.start_date.year;
+ Year last = span.end_date.year;
base (first, last, first.start_date, last.end_date);
}
diff --git a/src/tests/tests-calendar-month-span.vala b/src/tests/tests-calendar-month-span.vala
index 643aa4a..2756987 100644
--- a/src/tests/tests-calendar-month-span.vala
+++ b/src/tests/tests-calendar-month-span.vala
@@ -28,8 +28,8 @@ private class CalendarMonthSpan : UnitTest.Harness {
}
private bool todays_month() throws Error {
- Calendar.MonthSpan span = new Calendar.MonthSpan.from_date_span(new Calendar.DateSpan(
- from_today(0), from_today(0)));
+ Calendar.MonthSpan span = new Calendar.MonthSpan.from_span(
+ new Calendar.DateSpan(from_today(0), from_today(0)));
return span.first.equal_to(Calendar.System.today.month_of_year())
&& span.last.equal_to(Calendar.System.today.month_of_year());
@@ -38,7 +38,7 @@ private class CalendarMonthSpan : UnitTest.Harness {
private bool contains_date() throws Error {
Calendar.Date first = new Calendar.Date(Calendar.DayOfMonth.for_checked(1), Calendar.Month.JAN, new
Calendar.Year(2014));
Calendar.Date last = new Calendar.Date(Calendar.DayOfMonth.for_checked(30), Calendar.Month.JAN, new
Calendar.Year(2014));
- Calendar.MonthSpan span = new Calendar.MonthSpan.from_date_span(new Calendar.DateSpan(first, last));
+ Calendar.MonthSpan span = new Calendar.MonthSpan.from_span(new Calendar.DateSpan(first, last));
return span.has_date(first.adjust(15));
}
@@ -46,7 +46,7 @@ private class CalendarMonthSpan : UnitTest.Harness {
private bool has_month() throws Error {
Calendar.Date first = new Calendar.Date(Calendar.DayOfMonth.for_checked(1), Calendar.Month.JAN, new
Calendar.Year(2014));
Calendar.Date last = new Calendar.Date(Calendar.DayOfMonth.for_checked(30), Calendar.Month.MAR, new
Calendar.Year(2014));
- Calendar.MonthSpan span = new Calendar.MonthSpan.from_date_span(new Calendar.DateSpan(first, last));
+ Calendar.MonthSpan span = new Calendar.MonthSpan.from_span(new Calendar.DateSpan(first, last));
return span.contains(new Calendar.MonthOfYear(Calendar.Month.FEB, new Calendar.Year(2014)));
}
@@ -54,7 +54,7 @@ private class CalendarMonthSpan : UnitTest.Harness {
private bool iterator() throws Error {
Calendar.Date first = new Calendar.Date(Calendar.DayOfMonth.for_checked(1), Calendar.Month.JAN, new
Calendar.Year(2014));
Calendar.Date last = new Calendar.Date(Calendar.DayOfMonth.for_checked(30), Calendar.Month.JUN, new
Calendar.Year(2014));
- Calendar.MonthSpan span = new Calendar.MonthSpan.from_date_span(new Calendar.DateSpan(first, last));
+ Calendar.MonthSpan span = new Calendar.MonthSpan.from_span(new Calendar.DateSpan(first, last));
Calendar.Month[] months = {
Calendar.Month.JAN,
@@ -80,7 +80,7 @@ private class CalendarMonthSpan : UnitTest.Harness {
private bool in_operator() throws Error {
Calendar.Date first = new Calendar.Date(Calendar.DayOfMonth.for_checked(1), Calendar.Month.JAN, new
Calendar.Year(2014));
Calendar.Date last = new Calendar.Date(Calendar.DayOfMonth.for_checked(30), Calendar.Month.MAR, new
Calendar.Year(2014));
- Calendar.MonthSpan span = new Calendar.MonthSpan.from_date_span(new Calendar.DateSpan(first, last));
+ Calendar.MonthSpan span = new Calendar.MonthSpan.from_span(new Calendar.DateSpan(first, last));
Calendar.MonthOfYear month = new Calendar.MonthOfYear(Calendar.Month.FEB, new Calendar.Year(2014));
return month in span;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]