Add validity property to GsweTimestamp
This commit is contained in:
parent
1c14b451fd
commit
fe19bacfc3
@ -76,6 +76,7 @@ enum {
|
||||
PROP_GREGORIAN_TIMEZONE_OFFSET,
|
||||
PROP_JULIAN_DAY,
|
||||
PROP_JULIAN_DAY_VALID,
|
||||
PROP_VALIDITY,
|
||||
PROP_COUNT
|
||||
};
|
||||
|
||||
@ -167,12 +168,15 @@ gswe_timestamp_class_init(GsweTimestampClass *klass)
|
||||
* currently considered as valid, thus, no recalculation is needed.
|
||||
* Otherwise, the Gregorian date components will be recalculated upon
|
||||
* request.
|
||||
*
|
||||
* Deprecated:2.1:Use the 'timestamp-validity' property
|
||||
* instead. This property will be removed in a future release.
|
||||
*/
|
||||
gswe_timestamp_props[PROP_GREGORIAN_VALID] = g_param_spec_boolean(
|
||||
"gregorian-valid",
|
||||
"Gregorian date is valid",
|
||||
"TRUE if the Gregorian date components are considered as valid.",
|
||||
TRUE, G_PARAM_READABLE
|
||||
TRUE, G_PARAM_READABLE | G_PARAM_DEPRECATED
|
||||
);
|
||||
g_object_class_install_property(
|
||||
gobject_class,
|
||||
@ -349,12 +353,15 @@ gswe_timestamp_class_init(GsweTimestampClass *klass)
|
||||
* If TRUE, the Julian day value stored in the GsweTimestamp object is
|
||||
* currently considered as valid, thus, no recalculation is needed.
|
||||
* Otherwise, the Julian day components will be recalculated upon request.
|
||||
*
|
||||
* Deprecated:2.1:Use the 'timestamp-validity' property
|
||||
* instead. This property will be removed in a future release.
|
||||
*/
|
||||
gswe_timestamp_props[PROP_JULIAN_DAY_VALID] = g_param_spec_boolean(
|
||||
"julian-day-valid",
|
||||
"Julian day is valid",
|
||||
"TRUE if the Julian day components are considered as valid.",
|
||||
TRUE, G_PARAM_READABLE
|
||||
TRUE, G_PARAM_READABLE | G_PARAM_DEPRECATED
|
||||
);
|
||||
g_object_class_install_property(
|
||||
gobject_class,
|
||||
@ -362,6 +369,26 @@ gswe_timestamp_class_init(GsweTimestampClass *klass)
|
||||
gswe_timestamp_props[PROP_JULIAN_DAY_VALID]
|
||||
);
|
||||
|
||||
/**
|
||||
* GsweTimestamp:timestamp-validity:
|
||||
*
|
||||
* The timestamp validity flags. This value reflects the currently
|
||||
* valid timestamps in #GsweTimestamp.
|
||||
*/
|
||||
gswe_timestamp_props[PROP_VALIDITY] = g_param_spec_flags(
|
||||
"timestamp-validity",
|
||||
"Timestamp validity",
|
||||
"Timestamp validity flags",
|
||||
GSWE_TYPE_TIMESTAMP_VALIDITY_FLAGS,
|
||||
GSWE_VALID_NONE,
|
||||
G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
|
||||
);
|
||||
g_object_class_install_property(
|
||||
gobject_class,
|
||||
PROP_VALIDITY,
|
||||
gswe_timestamp_props[PROP_VALIDITY]
|
||||
);
|
||||
|
||||
g_date_time_unref(local_time);
|
||||
}
|
||||
|
||||
@ -488,6 +515,11 @@ gswe_timestamp_set_property(GObject *object,
|
||||
|
||||
break;
|
||||
|
||||
case PROP_VALIDITY:
|
||||
timestamp->priv->valid_dates = g_value_get_flags(value);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
|
||||
|
||||
@ -585,6 +617,11 @@ gswe_timestamp_get_property(
|
||||
|
||||
break;
|
||||
|
||||
case PROP_VALIDITY:
|
||||
g_value_set_flags(value, timestamp->priv->valid_dates);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
|
||||
|
||||
@ -1679,10 +1716,9 @@ gswe_timestamp_new_from_gregorian_full(
|
||||
"gregorian-second", second,
|
||||
"gregorian-microsecond", microsecond,
|
||||
"gregorian-timezone-offset", time_zone_offset,
|
||||
"timestamp-validity", GSWE_VALID_GREGORIAN,
|
||||
NULL));
|
||||
|
||||
timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
|
||||
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
@ -1701,9 +1737,15 @@ gswe_timestamp_new_from_gregorian_full(
|
||||
GsweTimestamp *
|
||||
gswe_timestamp_new_from_julian_day(gdouble julian_day)
|
||||
{
|
||||
GsweTimestamp *timestamp = gswe_timestamp_new();
|
||||
GsweTimestamp *timestamp;
|
||||
|
||||
gswe_timestamp_set_julian_day_et(timestamp, julian_day, NULL);
|
||||
gswe_init();
|
||||
|
||||
timestamp = GSWE_TIMESTAMP(g_object_new(GSWE_TYPE_TIMESTAMP,
|
||||
"julian-day", julian_day,
|
||||
"timestamp-validity", GSWE_VALID_JULIAN_DAY,
|
||||
NULL
|
||||
));
|
||||
|
||||
return timestamp;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user