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 |
| перечисление | 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.
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” gint
Выбранный день (как число от 1 до 31 или от 0 для отмены текущего выбранного дня). Это свойство изначально устанавливается на текущий день.
Флаги: Чтение / Запись
Допустимые значения: [0,31]
Значение по умолчанию: 0
Свойство “detail-height-rows”
“detail-height-rows” gint
Высота ячейки детали в строках. Значение 0 позволяет любую ширину. См. gtk_calendar_set_detail_func().
Флаги: Чтение / Запись
Допустимые значения: [0,127]
Значение по умолчанию: 0
С момента: 2.14
Свойство “detail-width-chars”
“detail-width-chars” gint
Ширина ячейки детали в символах. Значение 0 позволяет любую ширину. См. gtk_calendar_set_detail_func().
Флаги: Чтение / Запись
Допустимые значения: [0,127]
Значение по умолчанию: 0
С момента: 2.14
Свойство “month”
“month” gint
Выбранный месяц (как число от 0 до 11). Это свойство изначально устанавливается на текущий месяц.
Флаги: Чтение / Запись
Допустимые значения: [0,11]
Значение по умолчанию: 0
Свойство “no-month-change”
“no-month-change” gboolean
Определяет, можно ли изменить выбранный месяц.
Флаги: Чтение / Запись
Значение по умолчанию: ЛОЖЬ
С момента: 2.4
Свойство “show-day-names”
“show-day-names” gboolean
Определяет, отображаются ли названия дней.
Флаги: Чтение / Запись
Значение по умолчанию: ИСТИНА
С момента: 2.4
Свойство “show-details”
“show-details” gboolean
Определяет, отображаются ли детали непосредственно в виджете или они доступны только в виде всплывающей подсказки. При установке этого свойства дни с деталями помечаются.
Флаги: Чтение / Запись
Значение по умолчанию: ИСТИНА
С момента: 2.14
Свойство “show-heading”
“show-heading” gboolean
Определяет, отображается ли заголовок.
Флаги: Чтение / Запись
Значение по умолчанию: ИСТИНА
С момента: 2.4
Свойство “show-week-numbers”
“show-week-numbers” gboolean
Определяет, отображаются ли номера недель.
Флаги: Чтение / Запись
Значение по умолчанию: ЛОЖЬ
С момента: 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.22/GtkCalendar.html