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 () |
Свойства
| gint | день | Чтение/Запись |
| gint | строки-детали-высота | Чтение/Запись |
| gint | символы-детали-ширина | Чтение/Запись |
| gint | месяц | Чтение/Запись |
| gboolean | без-изменения-месяца | Чтение/Запись |
| gboolean | отображать-дни-недели | Чтение/Запись |
| gboolean | отображать-детали | Чтение/Запись |
| gboolean | отображать-заголовок | Чтение/Запись |
| gboolean | отображать-номера-недель | Чтение/Запись |
| gint | год | Чтение/Запись |
Стилизованные свойства
| gint | горизонтальная-разделение | Чтение |
| gint | внутренняя-граница | Чтение |
| gint | вертикальная-разделение | Чтение |
Сигналы
Типы и значения
| 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 | виджет 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 | виджет GtkCalendar | |
month | номер месяца от 0 до 11. | |
year | год, в котором находится месяц. |
gtk_calendar_select_day ()
void gtk_calendar_select_day (GtkCalendar *calendar,guint day);
Выбирает день из текущего месяца.
Параметры
calendar | виджет GtkCalendar. | |
day | номер дня от 1 до 31, или 0 для отмены выбора текущего дня. |
gtk_calendar_mark_day ()
void gtk_calendar_mark_day (GtkCalendar *calendar,guint day);
Помещает визуальную метку на определенный день.
Параметры
calendar | виджет GtkCalendar | |
day | номер дня для маркировки от 1 до 31. |
gtk_calendar_unmark_day ()
void gtk_calendar_unmark_day (GtkCalendar *calendar,guint day);
Удаляет визуальную метку с определенного дня.
Параметры
calendar | виджет GtkCalendar. | |
day | номер дня для снятия метки от 1 до 31. |
gtk_calendar_get_day_is_marked ()
gboolean gtk_calendar_get_day_is_marked (GtkCalendar *calendar,guint day);
Возвращает, помечена ли day дня в calendar.
Параметры
calendar | виджет GtkCalendar | |
day | номер дня от 1 до 31. |
Возвращаемое значение
помечен ли день.
С: 3.0
gtk_calendar_clear_marks ()
void
gtk_calendar_clear_marks (GtkCalendar *calendar); Удаляет все визуальные метки.
Параметры
calendar | виджет GtkCalendar |
gtk_calendar_get_display_options ()
GtkCalendarDisplayOptions
gtk_calendar_get_display_options (GtkCalendar *calendar); Возвращает текущие параметры отображения calendar.
Параметры
calendar | виджет GtkCalendar |
Возвращаемое значение
параметры отображения.
С: 2.4
gtk_calendar_set_display_options ()
void gtk_calendar_set_display_options (GtkCalendar *calendar,GtkCalendarDisplayOptions flags);
Устанавливает параметры отображения (отображать заголовок и заголовки месяцев).
Параметры
calendar | виджет GtkCalendar | |
flags | устанавливаемые параметры отображения |
С: 2.4
gtk_calendar_get_date ()
void gtk_calendar_get_date (GtkCalendar *calendar,guint *year,guint *month,guint *day);
Получает выбранную дату из GtkCalendar.
Параметры
calendar | виджет GtkCalendar | |
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 | функция для освобождения |
Since: 2.14
gtk_calendar_get_detail_width_chars ()
gint
gtk_calendar_get_detail_width_chars (GtkCalendar *calendar); Запрашивает ширину ячеек деталей в символах. См. “detail-width-chars”.
Параметры
calendar | a GtkCalendar. |
Возвращает
Ширину ячеек деталей в символах.
Since: 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 | ширина деталей в символах. |
Since: 2.14
gtk_calendar_get_detail_height_rows ()
gint
gtk_calendar_get_detail_height_rows (GtkCalendar *calendar); Запрашивает высоту ячеек деталей в строках. См. “detail-width-chars”.
Параметры
calendar | a GtkCalendar. |
Возвращает
Высота ячеек деталей в строках.
Since: 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 | высота деталей в строках. |
Since: 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” gint
Выбранный день (как число от 1 до 31 или от 0 до снятия выбора текущего дня). Это свойство изначально устанавливается на текущий день.
Флаги: Чтение/Запись
Допустимые значения: [0,31]
Значение по умолчанию: 0
Свойство “detail-height-rows”
“detail-height-rows” gint
Высота ячейки детали в строках. Значение 0 позволяет любую ширину. См. gtk_calendar_set_detail_func().
Флаги: Чтение/Запись
Допустимые значения: [0,127]
Значение по умолчанию: 0
Since: 2.14
Свойство “detail-width-chars”
“detail-width-chars” gint
Ширина ячейки детали в символах. Значение 0 позволяет любую ширину. См. gtk_calendar_set_detail_func().
Флаги: Чтение/Запись
Допустимые значения: [0,127]
Значение по умолчанию: 0
Since: 2.14
Свойство “month”
“month” gint
Выбранный месяц (как число от 0 до 11). Это свойство изначально устанавливается на текущий месяц.
Флаги: Чтение/Запись
Допустимые значения: [0,11]
Значение по умолчанию: 0
Свойство “no-month-change”
“no-month-change” gboolean
Определяет, можно ли изменить выбранный месяц.
Флаги: Чтение/Запись
Значение по умолчанию: FALSE
Since: 2.4
Свойство “show-day-names”
“show-day-names” gboolean
Определяет, отображаются ли названия дней.
Флаги: Чтение/Запись
Значение по умолчанию: TRUE
Since: 2.4
Свойство “show-details”
“show-details” gboolean
Определяет, отображаются ли подробности непосредственно в виджете или доступны только как всплывающая подсказка. При установке этого свойства дни с подробностями отмечаются.
Флаги: Чтение/Запись
Значение по умолчанию: TRUE
Since: 2.14
Свойство “show-heading”
“show-heading” gboolean
Определяет, отображается ли заголовок.
Флаги: Чтение/Запись
Значение по умолчанию: TRUE
Since: 2.4
Свойство “show-week-numbers”
“show-week-numbers” gboolean
Определяет, отображаются ли номера недель.
Флаги: Чтение/Запись
Значение по умолчанию: FALSE
Since: 2.4
Свойство “year”
“year” gint
Выбранный год. Это свойство изначально устанавливается на текущий год.
Флаги: Чтение/Запись
Допустимые значения: [0,4194303]
Значение по умолчанию: 0
Подробное описание свойств стиля
Свойство стиля “horizontal-separation”
“horizontal-separation” gint
Расстояние между заголовками дней недели и основной областью.
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 4
Свойство стиля “inner-border”
“inner-border” gint
Отступ вокруг заголовков дней/недель и основной области.
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 4
Свойство стиля “vertical-separation”
“vertical-separation” gint
Пробел между заголовками дней и основной областью.
Флаги: Чтение
Допустимые значения: >= 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.20/GtkCalendar.html