Spec-Zone.ru › GTK 3.20

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
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

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

виджет 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), или 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.

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

Просто отображает индикатор, а не весь текст подробностей, когда подробности предоставляются. См. 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

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

Spec-Zone.ru

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