GtkCalendar
GtkCalendar — Отображает календарь и позволяет пользователю выбрать дату
Функции
| gchar * | (*GtkCalendarDetailFunc) () |
| GtkWidget * | gtk_calendar_new () |
| void | gtk_calendar_select_month () |
| 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 () |
| GtkCalendarDisplayOptions | gtk_calendar_get_display_options () |
| void | gtk_calendar_set_display_options () |
| void | gtk_calendar_get_date () |
| void | gtk_calendar_set_detail_func () |
| gint | gtk_calendar_get_detail_width_chars () |
| void | gtk_calendar_set_detail_width_chars () |
| gint | gtk_calendar_get_detail_height_rows () |
| void | gtk_calendar_set_detail_height_rows () |
Свойства
| int | день | Чтение / Запись |
| int | высота-подробностей-строк | Чтение / Запись |
| int | ширина-подробностей-символов | Чтение / Запись |
| int | месяц | Чтение / Запись |
| gboolean | не-изменять-месяц | Чтение / Запись |
| gboolean | показывать-дни-недели | Чтение / Запись |
| gboolean | показывать-подробности | Чтение / Запись |
| gboolean | показывать-заголовок | Чтение / Запись |
| gboolean | показывать-номера-недель | Чтение / Запись |
| int | год | Чтение / Запись |
Стилизованные свойства
| int | горизонтальное-отделение | Чтение |
| int | внутренняя-рамка | Чтение |
| int | вертикальное-отделение | Чтение |
Сигналы
| void | день-выбран | Выполняется первым |
| void | двойной-щелчок-дня-выбран | Выполняется первым |
| void | месяц-изменен | Выполняется первым |
| void | следующий-месяц | Выполняется первым |
| void | следующий-год | Выполняется первым |
| void | предыдущий-месяц | Выполняется первым |
| void | предыдущий-год | Выполняется первым |
Типы и значения
| struct | GtkCalendar |
| enum | GtkCalendarDisplayOptions |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkCalendar
Реализованные интерфейсы
GtkCalendar реализует AtkImplementorIface и GtkBuildable.
Включаемые файлы
#include <gtk/gtk.h>
Описание
GtkCalendar — это виджет, отображающий григорианский календарь, по одному месяцу за раз. Его можно создать с помощью gtk_calendar_new().
Текущий отображаемый месяц и год можно изменить с помощью gtk_calendar_select_month(). Точную дату можно выбрать из отображаемого месяца с помощью gtk_calendar_select_day().
Чтобы разместить визуальную метку на определённой дате, используйте gtk_calendar_mark_day(), а чтобы удалить метку — gtk_calendar_unmark_day(). Кроме того, все метки можно очистить с помощью gtk_calendar_clear_marks().
Способ отображения самого календаря можно изменить с помощью gtk_calendar_set_display_options().
Выбранную дату можно получить из GtkCalendar с помощью gtk_calendar_get_date().
Пользователи должны знать, что, хотя григорианский календарь является законным календарём в большинстве стран, он был принят постепенно между 1582 и 1929 годами. Отображение до этих дат, вероятно, будет исторически неверным.
Функции
GtkCalendarDetailFunc ()
gchar * (*GtkCalendarDetailFunc) (GtkCalendar *calendar,guint year,guint month,guint day,gpointer user_data);
Этот тип функций предоставляет разметку Pango со сведениями о деталях для указанного дня. Примеры таких деталей — праздничные дни или записи. Функция возвращает NULL , если информация недоступна.
Параметры
calendar | a GtkCalendar. | |
year | год, для которого требуется информация. | |
month | месяц, для которого требуются детали. | |
day | день | |
user_data | данные, переданные с |
Возвращает
Новую строку, выделенную с помощью разметки Pango с деталями для указанного дня, или NULL.
[nullable][transfer full]
С: 2.14
gtk_calendar_new ()
GtkWidget *
gtk_calendar_new (void); Создаёт новый календарь, с текущей датой, которая выбрана.
Возвращает
новый GtkCalendar виджет.
gtk_calendar_select_month ()
void gtk_calendar_select_month (GtkCalendar *calendar,guint month,guint year);
Перемещает календарь в другой месяц.
Параметры
calendar | ||
month | номер месяца от 0 до 11. | |
year | год, в котором находится месяц. |
gtk_calendar_select_day ()
void gtk_calendar_select_day (GtkCalendar *calendar,guint day);
Выбирает день из текущего месяца.
Параметры
calendar | a GtkCalendar. | |
day | номер дня от 1 до 31, или 0 для снятия выделения с текущего дня. |
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. |
Возвращает
будет ли день помечен.
С: 3.0
gtk_calendar_clear_marks ()
void
gtk_calendar_clear_marks (GtkCalendar *calendar); Удаляет все визуальные метки.
Параметры
calendar |
gtk_calendar_get_display_options ()
GtkCalendarDisplayOptions
gtk_calendar_get_display_options (GtkCalendar *calendar); Возвращает текущие параметры отображения calendar.
Параметры
calendar |
Возвращает
параметры отображения.
С: 2.4
gtk_calendar_set_display_options ()
void gtk_calendar_set_display_options (GtkCalendar *calendar,GtkCalendarDisplayOptions flags);
Устанавливает параметры отображения (отображение заголовка и заголовков месяцев).
Параметры
calendar | ||
flags | настраиваемые параметры отображения |
С: 2.4
gtk_calendar_get_date ()
void gtk_calendar_get_date (GtkCalendar *calendar,guint *year,guint *month,guint *day);
Получает выбранную дату из GtkCalendar.
Параметры
calendar | ||
year | место для хранения года как десятичного числа (например, 2011), или | [out][allow-none] |
month | место для хранения номера месяца (от 0 до 11), или | [out][allow-none] |
day | место для хранения номера дня (от 1 до 31), или | [out][allow-none] |
gtk_calendar_set_detail_func ()
void gtk_calendar_set_detail_func (GtkCalendar *calendar,GtkCalendarDetailFunc func,gpointer data,GDestroyNotify destroy);
Устанавливает функцию, которая предоставляет разметку Pango с подробной информацией для каждого дня. Примерами таких деталей могут быть праздники или записи. Эта информация отображается под каждым днём, когда свойство “show-details” установлено. Подсказка с полной информацией о деталях предоставляется, если весь текст не помещается в область деталей или если “show-details” не установлено.
Размер области деталей может быть ограничен установкой свойств “detail-width-chars” и “detail-height-rows”.
Параметры
calendar | a GtkCalendar. | |
func | функция, предоставляющая подробности для каждого дня. | |
data | данные для передачи в вызовы | |
destroy | функция для освобождения |
С: 2.14
gtk_calendar_get_detail_width_chars ()
gint
gtk_calendar_get_detail_width_chars (GtkCalendar *calendar); Определяет ширину ячеек деталей в символах. См. “detail-width-chars”.
Параметры
calendar | a GtkCalendar. |
Возвращаемое значение
Ширина ячеек деталей в символах.
С: 2.14
gtk_calendar_set_detail_width_chars ()
void gtk_calendar_set_detail_width_chars (GtkCalendar *calendar,gint chars);
Обновляет ширину ячеек деталей. См. “detail-width-chars”.
Параметры
calendar | a GtkCalendar. | |
chars | ширина детали в символах. |
С: 2.14
gtk_calendar_get_detail_height_rows ()
gint
gtk_calendar_get_detail_height_rows (GtkCalendar *calendar); Запрашивает высоту ячеек деталей в строках. См. “detail-width-chars”.
Параметры
calendar | a GtkCalendar. |
Возвращаемое значение
Высота ячеек деталей в строках.
С: 2.14
gtk_calendar_set_detail_height_rows ()
void gtk_calendar_set_detail_height_rows (GtkCalendar *calendar,gint rows);
Обновляет высоту ячеек деталей. См. “detail-height-rows”.
Параметры
calendar | a GtkCalendar. | |
rows | высота детали в строках. |
С: 2.14
Типы и значения
struct GtkCalendar
struct GtkCalendar;
перечисление GtkCalendarDisplayOptions
Эти параметры могут быть использованы для влияния на отображение и поведение GtkCalendar.
Члены
GTK_CALENDAR_SHOW_HEADING | Указывает, что должны быть отображены месяц и год. | |
GTK_CALENDAR_SHOW_DAY_NAMES | Указывает, что должны быть присутствовать описания дней из трёх букв. | |
GTK_CALENDAR_NO_MONTH_CHANGE | Запрещает пользователю переключаться на другие месяцы с помощью календаря. | |
GTK_CALENDAR_SHOW_WEEK_NUMBERS | Отображает номера каждой недели текущего года слева от календаря. | |
GTK_CALENDAR_SHOW_DETAILS | Просто показать индикатор, а не весь текст деталей, когда детали предоставлены. См. |
Подробное описание свойств
Свойство “day”
“day” int
Выбранный день (как число от 1 до 31 или от 0 до отмены выбора текущего выбранного дня). Это свойство изначально устанавливается на текущий день.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Допустимые значения: [0,31]
Значение по умолчанию: 0
Свойство “detail-height-rows”
“detail-height-rows” int
Высота ячейки детали в строках. Значение 0 позволяет любую ширину. См. gtk_calendar_set_detail_func().
Владелец: GtkCalendar
Флаги: Чтение / Запись
Допустимые значения: [0,127]
Значение по умолчанию: 0
С: 2.14
Свойство “detail-width-chars”
“detail-width-chars” int
Ширина ячейки детали в символах. Значение 0 позволяет любую ширину. См. gtk_calendar_set_detail_func().
Владелец: GtkCalendar
Флаги: Чтение / Запись
Допустимые значения: [0,127]
Значение по умолчанию: 0
С: 2.14
Свойство “month”
“month” int
Выбранный месяц (как число от 0 до 11). Это свойство изначально устанавливается на текущий месяц.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Допустимые значения: [0,11]
Значение по умолчанию: 0
Свойство “no-month-change”
“no-month-change” gboolean
Определяет, можно ли изменить выбранный месяц.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С: 2.4
Свойство “show-day-names”
“show-day-names” gboolean
Определяет, отображаются ли названия дней.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С: 2.4
Свойство “show-details”
“show-details” gboolean
Определяет, отображаются ли детали непосредственно в виджете, или они доступны только как подсказки. Когда это свойство установлено, дни с деталями помечаются.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С: 2.14
Свойство “show-heading”
“show-heading” gboolean
Определяет, отображается ли заголовок.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С: 2.4
Свойство “show-week-numbers”
“show-week-numbers” gboolean
Определяет, отображаются ли номера недель.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С: 2.4
Свойство “year”
“year” int
Выбранный год. Это свойство изначально устанавливается на текущий год.
Владелец: GtkCalendar
Флаги: Чтение / Запись
Допустимые значения: [0,4194303]
Значение по умолчанию: 0
Подробности свойств стиля
Свойство стиля “horizontal-separation”
“horizontal-separation” int
Расстояние между заголовками недель и основной областью.
Владелец: GtkCalendar
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 4
Свойство стиля “inner-border”
“inner-border” int
Отступы вокруг заголовков дней/недель и основной области.
Владелец: GtkCalendar
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 4
Свойство стиля “vertical-separation”
“vertical-separation” int
Пробел между заголовками дней и основной областью.
Владелец: GtkCalendar
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 4
Подробности сигналов
Сигнал “day-selected”
void user_function (GtkCalendar *calendar, gpointer user_data)
Выдаётся, когда пользователь выбирает день.
Параметры
calendar | объект, получивший сигнал. | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется первым
Сигнал “day-selected-double-click”
void user_function (GtkCalendar *calendar, gpointer user_data)
Выдаётся, когда пользователь дважды щелкает по дню.
Параметры
calendar | объект, получивший сигнал. | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется первым
Сигнал “month-changed”
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.gnome.org/gtk3/3.24/GtkCalendar.html