GtkCalendar
GtkCalendar — Отображает календарь и позволяет пользователю выбрать дату
Функции
| GtkWidget * | gtk_calendar_new () |
| void | gtk_calendar_select_day () |
| void | gtk_calendar_mark_day () |
| void | gtk_calendar_unmark_day () |
| gboolean | gtk_calendar_get_day_is_marked () |
| void | gtk_calendar_clear_marks () |
| gboolean | gtk_calendar_get_show_day_names () |
| void | gtk_calendar_set_show_day_names () |
| gboolean | gtk_calendar_get_show_heading () |
| void | gtk_calendar_set-show-heading () |
| gboolean | gtk_calendar_get_show_week_numbers () |
| void | gtk_calendar_set-show-week-numbers () |
| GDateTime * | gtk_calendar_get_date () |
Свойства
| int | день | Чтение/Запись |
| int | месяц | Чтение/Запись |
| gboolean | отображать-дни-недели | Чтение/Запись |
| gboolean | отображать-заголовок | Чтение/Запись |
| gboolean | отображать-номера-недель | Чтение/Запись |
| int | год | Чтение/Запись |
Сигналы
| void | день-выбран | Выполняется первым |
| void | следующий-месяц | Выполняется первым |
| void | следующий-год | Выполняется первым |
| void | предыдущий-месяц | Выполняется первым |
| void | предыдущий-год | Выполняется первым |
Типы и значения
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkCalendar
Реализованные интерфейсы
GtkCalendar реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.
Включаемые файлы
#include <gtk/gtk.h>
Описание
GtkCalendar — это виджет, отображающий григорианский календарь, по одному месяцу за раз. Его можно создать с помощью gtk_calendar_new().
Дату, которая в данный момент отображается, можно изменить с помощью gtk_calendar_select_day().
Чтобы разместить визуальную метку на определённом дне, используйте gtk_calendar_mark_day(), а для удаления метки — gtk_calendar_unmark_day(). В качестве альтернативы, все метки можно очистить с помощью gtk_calendar_clear_marks().
Выбранную дату можно получить из GtkCalendar с помощью gtk_calendar_get_date().
Пользователи должны понимать, что, хотя григорианский календарь является официальным календарем в большинстве стран, он был принят постепенно между 1582 и 1929 годами. Отображение дат до этих дат, вероятно, будет исторически некорректным.
Узлы CSS
calendar.view
├── header
│ ├── button
│ ├── stack.month
│ ├── button
│ ├── button
│ ├── label.year
│ ╰── button
╰── grid
╰── label[.day-name][.week-number][.day-number][.other-month][.today]GtkCalendar имеет главный узел с именем calendar. Он содержит поднод с именем header, содержащий виджеты для переключения между годами и месяцами.
Под-узел grid содержит все метки дней, включая номера недель слева (отмеченные классом .week-number css) и названия дней сверху (отмеченные классом .day-name css).
Метки дней, принадлежащие предыдущему или следующему месяцу, получают класс стиля .other-month. Метка текущего дня получает класс стиля .today.
Метки отмеченных дней получают назначенный состояние :selected.
Функции
gtk_calendar_new ()
GtkWidget *
gtk_calendar_new (void); Создаёт новый календарь, с текущей датой, являющейся выбранной.
Возвращает
новый виджет GtkCalendar
gtk_calendar_select_day ()
void gtk_calendar_select_day (GtkCalendar *self,GDateTime *date);
Переключится на год и месяц date и выберет его день.
Параметры
self | a GtkCalendar. | |
date | a GDateTime представляющий день для выбора. | [transfer none] |
gtk_calendar_mark_day ()
void gtk_calendar_mark_day (GtkCalendar *calendar,guint day);
Размещает визуальный маркер на определённый день.
Параметры
calendar | ||
day | номер дня для маркировки между 1 и 31. |
gtk_calendar_unmark_day ()
void gtk_calendar_unmark_day (GtkCalendar *calendar,guint day);
Удаляет визуальный маркер с определённого дня.
Параметры
calendar | a GtkCalendar. | |
day | номер дня для снятия маркировки между 1 и 31. |
gtk_calendar_get_day_is_marked ()
gboolean gtk_calendar_get_day_is_marked (GtkCalendar *calendar,guint day);
Возвращает, помечен ли day в calendar.
Параметры
calendar | ||
day | номер дня между 1 и 31. |
Возвращает
помечен ли день.
gtk_calendar_clear_marks ()
void
gtk_calendar_clear_marks (GtkCalendar *calendar); Удаляет все визуальные маркеры.
Параметры
calendar |
gtk_calendar_get_show_day_names ()
gboolean
gtk_calendar_get_show_day_names (GtkCalendar *self); Возвращает, отображаются ли в данный момент self имена дней недели над номерами дней, т.е. значение свойства “show-day-names”.
Параметры
self |
Возвращает
отображаются ли имена дней.
gtk_calendar_set_show_day_names ()
void gtk_calendar_set_show_day_names (GtkCalendar *self,gboolean value);
Устанавливает, отображаются ли имена дней в календаре.
Параметры
self | ||
value | Отображать ли имена дней над числами дней |
gtk_calendar_get_show_heading ()
gboolean
gtk_calendar_get_show_heading (GtkCalendar *self); Возвращает, отображается ли сейчас заголовок, т.е. значение свойства “show-heading”.
Возврат: Отображается ли в календаре заголовок.
Параметры
self |
gtk_calendar_set_show_heading ()
void gtk_calendar_set_show_heading (GtkCalendar *self,gboolean value);
Устанавливает, должен ли календарь отображать заголовок, содержащий текущий год и месяц, а также кнопки для изменения обоих.
Параметры
self | ||
value | Отображать ли заголовок в календаре |
gtk_calendar_get_show_week_numbers ()
gboolean
gtk_calendar_get_show_week_numbers (GtkCalendar *self); Возвращает, отображаются ли в данный момент self номера недель, т.е. значение свойства “show-week-numbers”.
Возврат: Отображаются ли номера недель в календаре.
Параметры
self |
gtk_calendar_set_show_week_numbers ()
void gtk_calendar_set_show_week_numbers (GtkCalendar *self,gboolean value);
Устанавливает, отображаются ли номера недель в календаре.
Параметры
self | ||
value | отображать ли номера недель слева от дней |
gtk_calendar_get_date ()
GDateTime *
gtk_calendar_get_date (GtkCalendar *self); Возвращает GDateTime представляющий отображаемый год, месяц и выбранный день, в часовом поясе по умолчанию.
Параметры
self |
Возвращает
GDate представляющий отображаемую дату.
[transfer full]
Типы и значения
GtkCalendar
typedef struct _GtkCalendar GtkCalendar;
Подробные сведения о свойствах
Свойство “day”
“day” int
Выбранный день (как число от 1 до 31 или 0 для отмены выбора текущего дня). Это свойство изначально устанавливается на текущий день.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Допустимые значения: [0,31]
Значение по умолчанию: 0
Свойство “month”
“month” int
Выбранный месяц (как число от 0 до 11). Это свойство изначально устанавливается на текущий месяц.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Допустимые значения: [0,11]
Значение по умолчанию: 0
Свойство “show-day-names”
“show-day-names” gboolean
Определяет, отображаются ли названия дней.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “show-heading”
“show-heading” gboolean
Определяет, отображается ли заголовок.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “show-week-numbers”
“show-week-numbers” gboolean
Определяет, отображаются ли номера недель.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “year”
“year” int
Выбранный год. Это свойство изначально устанавливается на текущий год.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Допустимые значения: [1,9999]
Значение по умолчанию: 1
Подробные сведения о сигналах
Сигнал “day-selected”
void user_function (GtkCalendar *calendar, gpointer user_data)
Выдаётся, когда пользователь выбирает день.
Параметры
calendar | объект, получивший сигнал. | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется в первую очередь
Сигнал “next-month”
void user_function (GtkCalendar *calendar, gpointer user_data)
Выдаётся, когда пользователь перешёл к следующему месяцу.
Параметры
calendar | объект, получивший сигнал. | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется в первую очередь
Сигнал “next-year”
void user_function (GtkCalendar *calendar, gpointer user_data)
Выдаётся, когда пользователь перешёл к следующему году.
Параметры
calendar | объект, получивший сигнал. | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется в первую очередь
Сигнал “prev-month”
void user_function (GtkCalendar *calendar, gpointer user_data)
Выдаётся, когда пользователь перешёл к предыдущему месяцу.
Параметры
calendar | объект, получивший сигнал. | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется в первую очередь
Сигнал “prev-year”
void user_function (GtkCalendar *calendar, gpointer user_data)
Выдаётся, когда пользователь перешёл к предыдущему году.
Параметры
calendar | объект, получивший сигнал. | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется в первую очередь
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkCalendar.html