Spec-Zone.ru › GTK 3.24

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

день 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”                      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

Spec-Zone.ru

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