Spec-Zone.ru › GTK 3.22

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 вертикальная-разделительная-линия Чтение

Сигналы

void day-selected Выполнить сначала
void day-selected-double-click Выполнить сначала
void month-changed Выполнить сначала
void next-month Выполнить сначала
void next-year Выполнить сначала
void prev-month Выполнить сначала
void prev-year Выполнить сначала

Типы и значения

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

день month, для которого необходимы подробности.

user_data

данные, переданные с помощью gtk_calendar_set_detail_func().

Возвращает

Новую строку, выделенную с помощью разметки 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

a GtkCalendar

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

a GtkCalendar

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

a GtkCalendar

day

номер дня от 1 до 31.

Возвращает

помечен ли день.

С: 3.0

gtk_calendar_clear_marks ()

void
gtk_calendar_clear_marks (GtkCalendar *calendar);

Удаляет все визуальные метки.

Параметры

calendar

a GtkCalendar

gtk_calendar_get_display_options ()

GtkCalendarDisplayOptions
gtk_calendar_get_display_options (GtkCalendar *calendar);

Возвращает текущие параметры отображения calendar.

Параметры

calendar

a GtkCalendar

Возвращает

параметры отображения.

С: 2.4

gtk_calendar_set_display_options ()

void
gtk_calendar_set_display_options (GtkCalendar *calendar,
                                  GtkCalendarDisplayOptions flags);

Устанавливает параметры отображения (отображение заголовка и заголовков месяцев).

Параметры

calendar

a GtkCalendar

flags

устанавливаемые параметры отображения

С: 2.4

gtk_calendar_get_date ()

void
gtk_calendar_get_date (GtkCalendar *calendar,
                       guint *year,
                       guint *month,
                       guint *day);

Получает выбранную дату из GtkCalendar.

Параметры

calendar

a GtkCalendar

year

место для хранения года в виде десятичного числа (например, 2011), или NULL.

[out][allow-none]

month

место для хранения номера месяца (от 0 до 11), или NULL.

[out][allow-none]

day

место для хранения номера дня (от 1 до 31), или NULL.

[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

данные, передаваемые в вызовы func.

destroy

функция для освобождения data.

С момента: 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

Просто отобразить индикатор, а не полный текст деталей, когда детали предоставлены. См. gtk_calendar_set_detail_func().

Подробности свойств

Свойство “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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API