Package ch.bailu.gtk.gtk
Class Calendar
- All Implemented Interfaces:
PointerInterface
`GtkCalendar` is a widget that displays a Gregorian calendar, one month
at a time.
![An example GtkCalendar](calendar.png)
A `GtkCalendar` can be created with [ctor@Gtk.Calendar.new].
The date that is currently displayed can be altered with
[method@Gtk.Calendar.select_day].
To place a visual marker on a particular day, use
[method@Gtk.Calendar.mark_day] and to remove the marker,
[method@Gtk.Calendar.unmark_day]. Alternative, all
marks can be cleared with [method@Gtk.Calendar.clear_marks].
The selected date can be retrieved from a `GtkCalendar` using
[method@Gtk.Calendar.get_date].
Users should be aware that, although the Gregorian calendar is the
legal calendar in most countries, it was adopted progressively
between 1582 and 1929. Display before these dates is likely to be
historically incorrect.
# CSS nodes
```
calendar.view
├── header
│ ├── button
│ ├── stack.month
│ ├── button
│ ├── button
│ ├── label.year
│ ╰── button
╰── grid
╰── label[.day-name][.week-number][.day-number][.other-month][.today]
```
`GtkCalendar` has a main node with name calendar. It contains a subnode
called header containing the widgets for switching between years and months.
The grid subnode contains all day labels, including week numbers on the left
(marked with the .week-number css class) and day names on top (marked with the
.day-name css class).
Day labels that belong to the previous or next month get the .other-month
style class. The label of the current day get the .today style class.
Marked day labels get the :selected state assigned.
at a time.
![An example GtkCalendar](calendar.png)
A `GtkCalendar` can be created with [ctor@Gtk.Calendar.new].
The date that is currently displayed can be altered with
[method@Gtk.Calendar.select_day].
To place a visual marker on a particular day, use
[method@Gtk.Calendar.mark_day] and to remove the marker,
[method@Gtk.Calendar.unmark_day]. Alternative, all
marks can be cleared with [method@Gtk.Calendar.clear_marks].
The selected date can be retrieved from a `GtkCalendar` using
[method@Gtk.Calendar.get_date].
Users should be aware that, although the Gregorian calendar is the
legal calendar in most countries, it was adopted progressively
between 1582 and 1929. Display before these dates is likely to be
historically incorrect.
# CSS nodes
```
calendar.view
├── header
│ ├── button
│ ├── stack.month
│ ├── button
│ ├── button
│ ├── label.year
│ ╰── button
╰── grid
╰── label[.day-name][.week-number][.day-number][.other-month][.today]
```
`GtkCalendar` has a main node with name calendar. It contains a subnode
called header containing the widgets for switching between years and months.
The grid subnode contains all day labels, including week numbers on the left
(marked with the .week-number css class) and day names on top (marked with the
.day-name css class).
Day labels that belong to the previous or next month get the .other-month
style class. The label of the current day get the .today style class.
Marked day labels get the :selected state assigned.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
static interface
static interface
static interface
static interface
Nested classes/interfaces inherited from class ch.bailu.gtk.gtk.Widget
Widget.OnDestroy, Widget.OnDestroyNotify, Widget.OnDirectionChanged, Widget.OnHide, Widget.OnKeynavFailed, Widget.OnMap, Widget.OnMnemonicActivate, Widget.OnMoveFocus, Widget.OnQueryTooltip, Widget.OnRealize, Widget.OnShow, Widget.OnStateFlagsChanged, Widget.OnTickCallback, Widget.OnUnmap, Widget.OnUnrealize
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
Fields inherited from class ch.bailu.gtk.gtk.Widget
SIGNAL_ON_DESTROY, SIGNAL_ON_DIRECTION_CHANGED, SIGNAL_ON_HIDE, SIGNAL_ON_KEYNAV_FAILED, SIGNAL_ON_MAP, SIGNAL_ON_MNEMONIC_ACTIVATE, SIGNAL_ON_MOVE_FOCUS, SIGNAL_ON_QUERY_TOOLTIP, SIGNAL_ON_REALIZE, SIGNAL_ON_SHOW, SIGNAL_ON_STATE_FLAGS_CHANGED, SIGNAL_ON_UNMAP, SIGNAL_ON_UNREALIZE
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
ConstructorDescriptionCalendar()
Creates a new calendar, with the current date being selected.Calendar
(PointerContainer pointer) -
Method Summary
Modifier and TypeMethodDescriptionImplements interfaceAccessible
.Implements interfaceBuildable
.Implements interfaceConstraintTarget
.void
Remove all visual markers.static ClassHandler
getDate()
Returns a `GDateTime` representing the shown
year, month and the selected day.boolean
getDayIsMarked
(int day) Returns if the @day of the @calendar is already marked.static int
static long
static TypeSystem.TypeSize
boolean
Returns whether @self is currently showing the names
of the week days.boolean
Returns whether @self is currently showing the heading.boolean
Returns whether @self is showing week numbers right
now.static long
static TypeSystem.TypeSize
void
markDay
(int day) Places a visual marker on a particular day.onDaySelected
(Calendar.OnDaySelected signal) Connect to signal "day-selected".onNextMonth
(Calendar.OnNextMonth signal) Connect to signal "next-month".onNextYear
(Calendar.OnNextYear signal) Connect to signal "next-year".onPrevMonth
(Calendar.OnPrevMonth signal) Connect to signal "prev-month".onPrevYear
(Calendar.OnPrevYear signal) Connect to signal "prev-year".void
Switches to @date's year and month and select its day.void
setShowDayNames
(boolean value) Sets whether the calendar shows day names.void
setShowHeading
(boolean value) Sets whether the calendar should show a heading.void
setShowWeekNumbers
(boolean value) Sets whether week numbers are shown in the calendar.void
unmarkDay
(int day) Removes the visual marker from a particular day.Methods inherited from class ch.bailu.gtk.gtk.Widget
actionSetEnabled, actionSetEnabled, activate, activateAction, activateAction, activateActionVariant, activateActionVariant, activateDefault, addController, addCssClass, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, createPangoLayout, disposeTemplate, dragCheckThreshold, errorBell, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getCanFocus, getCanTarget, getChildVisible, getClipboard, getCssClasses, getCssName, getCursor, getDefaultDirection, getDirection, getDisplay, getFirstChild, getFocusable, getFocusChild, getFocusOnClick, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeCssClass, removeMnemonicLabel, removeTickCallback, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipMarkup, setTooltipText, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, snapshotChild, triggerTooltipQuery, unmap, unparent, unrealize, unsetStateFlags
Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Field Details
-
SIGNAL_ON_DAY_SELECTED
- See Also:
-
SIGNAL_ON_NEXT_MONTH
- See Also:
-
SIGNAL_ON_NEXT_YEAR
- See Also:
-
SIGNAL_ON_PREV_MONTH
- See Also:
-
SIGNAL_ON_PREV_YEAR
- See Also:
-
-
Constructor Details
-
Calendar
-
Calendar
public Calendar()Creates a new calendar, with the current date being selected.
-
-
Method Details
-
getClassHandler
-
clearMarks
public void clearMarks()Remove all visual markers. -
getDate
Returns a `GDateTime` representing the shown
year, month and the selected day.
The returned date is in the local time zone.- Returns:
- the `GDate` representing the shown date
-
getDayIsMarked
public boolean getDayIsMarked(int day) Returns if the @day of the @calendar is already marked.- Parameters:
day
- the day number between 1 and 31.- Returns:
- whether the day is marked.
-
getShowDayNames
public boolean getShowDayNames()Returns whether @self is currently showing the names
of the week days.
This is the value of the [property@Gtk.Calendar:show-day-names]
property.- Returns:
- Whether the calendar shows day names.
-
getShowHeading
public boolean getShowHeading()Returns whether @self is currently showing the heading.
This is the value of the [property@Gtk.Calendar:show-heading]
property.- Returns:
- Whether the calendar is showing a heading.
-
getShowWeekNumbers
public boolean getShowWeekNumbers()Returns whether @self is showing week numbers right
now.
This is the value of the [property@Gtk.Calendar:show-week-numbers]
property.- Returns:
- Whether the calendar is showing week numbers.
-
markDay
public void markDay(int day) Places a visual marker on a particular day.- Parameters:
day
- the day number to mark between 1 and 31.
-
selectDay
Switches to @date's year and month and select its day.- Parameters:
date
- a `GDateTime` representing the day to select
-
setShowDayNames
public void setShowDayNames(boolean value) Sets whether the calendar shows day names.- Parameters:
value
- Whether to show day names above the day numbers
-
setShowHeading
public void setShowHeading(boolean value) Sets whether the calendar should show a heading.
The heading contains the current year and month as well as
buttons for changing both.- Parameters:
value
- Whether to show the heading in the calendar
-
setShowWeekNumbers
public void setShowWeekNumbers(boolean value) Sets whether week numbers are shown in the calendar.- Parameters:
value
- whether to show week numbers on the left of the days
-
unmarkDay
public void unmarkDay(int day) Removes the visual marker from a particular day.- Parameters:
day
- the day number to unmark between 1 and 31.
-
onDaySelected
Connect to signal "day-selected".
SeeCalendar.OnDaySelected.onDaySelected()
for signal description.
FieldSIGNAL_ON_DAY_SELECTED
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onNextMonth
Connect to signal "next-month".
SeeCalendar.OnNextMonth.onNextMonth()
for signal description.
FieldSIGNAL_ON_NEXT_MONTH
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onNextYear
Connect to signal "next-year".
SeeCalendar.OnNextYear.onNextYear()
for signal description.
FieldSIGNAL_ON_NEXT_YEAR
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onPrevMonth
Connect to signal "prev-month".
SeeCalendar.OnPrevMonth.onPrevMonth()
for signal description.
FieldSIGNAL_ON_PREV_MONTH
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onPrevYear
Connect to signal "prev-year".
SeeCalendar.OnPrevYear.onPrevYear()
for signal description.
FieldSIGNAL_ON_PREV_YEAR
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
asAccessible
Implements interfaceAccessible
. Call this to get access to interface functions.- Overrides:
asAccessible
in classWidget
- Returns:
Accessible
-
asBuildable
Implements interfaceBuildable
. Call this to get access to interface functions.- Overrides:
asBuildable
in classWidget
- Returns:
Buildable
-
asConstraintTarget
Implements interfaceConstraintTarget
. Call this to get access to interface functions.- Overrides:
asConstraintTarget
in classWidget
- Returns:
ConstraintTarget
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-