Spec-Zone.ru › GTK 4.0

GtkCalendar

GtkCalendar — Отображает календарь и позволяет пользователю выбрать дату

Функции

GtkWidget * gtk_calendar_new ()
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 ()
gboolean gtk_calendar_get_show_day_names ()
void gtk_calendar_set_show_day_names ()
gboolean gtk_calendar_get_show_heading ()
void gtk_calendar_set-show-heading ()
gboolean gtk_calendar_get_show_week_numbers ()
void gtk_calendar_set-show-week-numbers ()
GDateTime * gtk_calendar_get_date ()

Свойства

int день Чтение/Запись
int месяц Чтение/Запись
gboolean отображать-дни-недели Чтение/Запись
gboolean отображать-заголовок Чтение/Запись
gboolean отображать-номера-недель Чтение/Запись
int год Чтение/Запись

Сигналы

void день-выбран Выполняется первым
void следующий-месяц Выполняется первым
void следующий-год Выполняется первым
void предыдущий-месяц Выполняется первым
void предыдущий-год Выполняется первым

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

GtkCalendar

Иерархия объектов

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkCalendar

Реализованные интерфейсы

GtkCalendar реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.

Включаемые файлы

#include <gtk/gtk.h>

Описание

GtkCalendar — это виджет, отображающий григорианский календарь, по одному месяцу за раз. Его можно создать с помощью gtk_calendar_new().

Дату, которая в данный момент отображается, можно изменить с помощью gtk_calendar_select_day().

Чтобы разместить визуальную метку на определённом дне, используйте gtk_calendar_mark_day(), а для удаления метки — gtk_calendar_unmark_day(). В качестве альтернативы, все метки можно очистить с помощью gtk_calendar_clear_marks().

Выбранную дату можно получить из GtkCalendar с помощью gtk_calendar_get_date().

Пользователи должны понимать, что, хотя григорианский календарь является официальным календарем в большинстве стран, он был принят постепенно между 1582 и 1929 годами. Отображение дат до этих дат, вероятно, будет исторически некорректным.

Узлы CSS

calendar.view
├── header
│   ├── button
│   ├── stack.month
│   ├── button
│   ├── button
│   ├── label.year
│   ╰── button
╰── grid
    ╰── label[.day-name][.week-number][.day-number][.other-month][.today]

GtkCalendar имеет главный узел с именем calendar. Он содержит поднод с именем header, содержащий виджеты для переключения между годами и месяцами.

Под-узел grid содержит все метки дней, включая номера недель слева (отмеченные классом .week-number css) и названия дней сверху (отмеченные классом .day-name css).

Метки дней, принадлежащие предыдущему или следующему месяцу, получают класс стиля .other-month. Метка текущего дня получает класс стиля .today.

Метки отмеченных дней получают назначенный состояние :selected.

Функции

gtk_calendar_new ()

GtkWidget *
gtk_calendar_new (void);

Создаёт новый календарь, с текущей датой, являющейся выбранной.

Возвращает

новый виджет GtkCalendar

gtk_calendar_select_day ()

void
gtk_calendar_select_day (GtkCalendar *self,
                         GDateTime *date);

Переключится на год и месяц date и выберет его день.

Параметры

self

a GtkCalendar.

date

a GDateTime представляющий день для выбора.

[transfer none]

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.

Возвращает

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

gtk_calendar_clear_marks ()

void
gtk_calendar_clear_marks (GtkCalendar *calendar);

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

Параметры

calendar

a GtkCalendar

gtk_calendar_get_show_day_names ()

gboolean
gtk_calendar_get_show_day_names (GtkCalendar *self);

Возвращает, отображаются ли в данный момент self имена дней недели над номерами дней, т.е. значение свойства “show-day-names”.

Параметры

self

a GtkCalendar

Возвращает

отображаются ли имена дней.

gtk_calendar_set_show_day_names ()

void
gtk_calendar_set_show_day_names (GtkCalendar *self,
                                 gboolean value);

Устанавливает, отображаются ли имена дней в календаре.

Параметры

self

a GtkCalendar

value

Отображать ли имена дней над числами дней

gtk_calendar_get_show_heading ()

gboolean
gtk_calendar_get_show_heading (GtkCalendar *self);

Возвращает, отображается ли сейчас заголовок, т.е. значение свойства “show-heading”.

Возврат: Отображается ли в календаре заголовок.

Параметры

self

a GtkCalendar

gtk_calendar_set_show_heading ()

void
gtk_calendar_set_show_heading (GtkCalendar *self,
                               gboolean value);

Устанавливает, должен ли календарь отображать заголовок, содержащий текущий год и месяц, а также кнопки для изменения обоих.

Параметры

self

a GtkCalendar

value

Отображать ли заголовок в календаре

gtk_calendar_get_show_week_numbers ()

gboolean
gtk_calendar_get_show_week_numbers (GtkCalendar *self);

Возвращает, отображаются ли в данный момент self номера недель, т.е. значение свойства “show-week-numbers”.

Возврат: Отображаются ли номера недель в календаре.

Параметры

self

a GtkCalendar

gtk_calendar_set_show_week_numbers ()

void
gtk_calendar_set_show_week_numbers (GtkCalendar *self,
                                    gboolean value);

Устанавливает, отображаются ли номера недель в календаре.

Параметры

self

a GtkCalendar

value

отображать ли номера недель слева от дней

gtk_calendar_get_date ()

GDateTime *
gtk_calendar_get_date (GtkCalendar *self);

Возвращает GDateTime представляющий отображаемый год, месяц и выбранный день, в часовом поясе по умолчанию.

Параметры

self

a GtkCalendar

Возвращает

GDate представляющий отображаемую дату.

[transfer full]

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

GtkCalendar

typedef struct _GtkCalendar GtkCalendar;

Подробные сведения о свойствах

Свойство “day”

  “day”                      int

Выбранный день (как число от 1 до 31 или 0 для отмены выбора текущего дня). Это свойство изначально устанавливается на текущий день.

Владелец: GtkCalendar

Флаги: Чтение / Запись

Допустимые значения: [0,31]

Значение по умолчанию: 0

Свойство “month”

  “month”                    int

Выбранный месяц (как число от 0 до 11). Это свойство изначально устанавливается на текущий месяц.

Владелец: GtkCalendar

Флаги: Чтение / Запись

Допустимые значения: [0,11]

Значение по умолчанию: 0

Свойство “show-day-names”

  “show-day-names”           gboolean

Определяет, отображаются ли названия дней.

Владелец: GtkCalendar

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “show-heading”

  “show-heading”             gboolean

Определяет, отображается ли заголовок.

Владелец: GtkCalendar

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “show-week-numbers”

  “show-week-numbers”        gboolean

Определяет, отображаются ли номера недель.

Владелец: GtkCalendar

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “year”

  “year”                     int

Выбранный год. Это свойство изначально устанавливается на текущий год.

Владелец: GtkCalendar

Флаги: Чтение / Запись

Допустимые значения: [1,9999]

Значение по умолчанию: 1

Подробные сведения о сигналах

Сигнал “day-selected”

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-old.gnome.org/gtk4/4.0/GtkCalendar.html

Spec-Zone.ru

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