Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Implemented Interfaces  |  Properties  |  Signals

GtkCalendar

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

Краткое описание

#include <gtk/gtk.h> GtkCalendar; enum GtkCalendarDisplayOptions; GtkWidget* gtk_calendar_new (void); gboolean gtk_calendar_select_month (GtkCalendar *calendar, guint month, guint year); void gtk_calendar_select_day (GtkCalendar *calendar, guint day); gboolean gtk_calendar_mark_day (GtkCalendar *calendar, guint day); gboolean gtk_calendar_unmark_day (GtkCalendar *calendar, guint day); void gtk_calendar_clear_marks (GtkCalendar *calendar); GtkCalendarDisplayOptions gtk_calendar_get_display_options (GtkCalendar *calendar); void gtk_calendar_set_display_options (GtkCalendar *calendar, GtkCalendarDisplayOptions flags); void gtk_calendar_display_options (GtkCalendar *calendar, GtkCalendarDisplayOptions flags); void gtk_calendar_get_date (GtkCalendar *calendar, guint *year, guint *month, guint *day); void gtk_calendar_freeze (GtkCalendar *calendar); void gtk_calendar_thaw (GtkCalendar *calendar);

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

GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkCalendar

Реализуемые интерфейсы

GtkCalendar реализует AtkImplementorIface.

Свойства

"day" gint : Read / Write "month" gint : Read / Write "no-month-change" gboolean : Read / Write "show-day-names" gboolean : Read / Write "show-heading" gboolean : Read / Write "show-week-numbers" gboolean : Read / Write "year" gint : Read / Write

Сигналы

"day-selected" void user_function (GtkCalendar *calendar, gpointer user_data) : Run first "day-selected-double-click" void user_function (GtkCalendar *calendar, gpointer user_data) : Run first "month-changed" void user_function (GtkCalendar *calendar, gpointer user_data) : Run first "next-month" void user_function (GtkCalendar *calendar, gpointer user_data) : Run first "next-year" void user_function (GtkCalendar *calendar, gpointer user_data) : Run first "prev-month" void user_function (GtkCalendar *calendar, gpointer user_data) : Run first "prev-year" void user_function (GtkCalendar *calendar, gpointer user_data) : Run first

Описание

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().

Детали

GtkCalendar

typedef struct _GtkCalendar GtkCalendar;

num_marked_dates число содержащее количество дней которые имеют маркировку.

marked_date массив содержащий номера дней которые в текущий момент маркированы.

month, year, и selected_day содержат текущий видимый месяц, год, и выбранный день соответственно.

Все эти поля должны рассматриваться только для чтения, а изменение данных в этой структуре может производиться только функциями описанными ниже.

Примечание

Помните что month начинается с 0 (zero-based) (то есть допустимы значения в пределах 0-11), в то время как selected_day соответствует общепринятому счёту (то есть допустимые значения в пределах 1-31).


enum GtkCalendarDisplayOptions

typedef enum { GTK_CALENDAR_SHOW_HEADING = 1 << 0, GTK_CALENDAR_SHOW_DAY_NAMES = 1 << 1, GTK_CALENDAR_NO_MONTH_CHANGE = 1 << 2, GTK_CALENDAR_SHOW_WEEK_NUMBERS = 1 << 3, GTK_CALENDAR_WEEK_START_MONDAY = 1 << 4 } GtkCalendarDisplayOptions;

Эти опции могут использоваться для влияния на поведение и отображение GtkCalendar.

GTK_CALENDAR_SHOW_HEADING

Определяет какой год и месяц должен отображать календарь.

GTK_CALENDAR_SHOW_DAY_NAMES

Определяет представление описания дней тремя буквами.

GTK_CALENDAR_NO_MONTH_CHANGE

Предотвращает переключение месяца в календаре.

GTK_CALENDAR_SHOW_WEEK_NUMBERS

Отображает номер каждой недели текущемго года, нижняя левая строка календаря.

GTK_CALENDAR_WEEK_START_MONDAY

Начиная с версии GTK+ 2.4, эта опция устарела и игнорируется GTK+. Информация с какого дня недели начинается неделя, определяется в зависимости от настроек локализации.


gtk_calendar_new ()

GtkWidget*  gtk_calendar_new                (void);

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

Возвращает :

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


gtk_calendar_select_month ()

gboolean gtk_calendar_select_month (GtkCalendar *calendar, guint month, guint year);

Сдвигает календарь к другому месяцу.

calendar :

GtkCalendar

month :

Номер месяца между 0 и 11.

year :

Год месяца.

Возвращает :

TRUE, всегда


gtk_calendar_select_day ()

void gtk_calendar_select_day (GtkCalendar *calendar, guint day);

Выбирает день в текущемм месяце.

calendar :

GtkCalendar.

day :

Номер дня в пределах от 1 до 31, или 0 для отмены текущемго выбора.


gtk_calendar_mark_day ()

gboolean gtk_calendar_mark_day (GtkCalendar *calendar, guint day);

Размещает визуальную метку на определённом дне.

calendar :

GtkCalendar

day :

Номер отмечаемого дня от 1 до 31.

Возвращает :

TRUE, всегда


gtk_calendar_unmark_day ()

gboolean gtk_calendar_unmark_day (GtkCalendar *calendar, guint day);

Снимает текущую визуальную метку определённого дня.

calendar :

GtkCalendar.

day :

Номер дня для снятия метки, от 1 до 31.

Возвращает :

TRUE, всегда


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_display_options ()

void gtk_calendar_display_options (GtkCalendar *calendar, GtkCalendarDisplayOptions flags);

Внимание

gtk_calendar_display_options устарела и не должна использоваться во вновь создаваемом коде.

Устанавливает опции отображения.

calendar :

GtkCalendar.

flags :

Опции отображения для установки.


gtk_calendar_get_date ()

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

Определяет выбранную дату в GtkCalendar.

calendar :

GtkCalendar

year :

Номер года, или NULL

month :

Номер месяца (между 0 и 11), или NULL

day :

Номер дня (между 1 и 31), или NULL


gtk_calendar_freeze ()

void        gtk_calendar_freeze             (GtkCalendar *calendar);

Внимание

gtk_calendar_freeze начиная с версии 2.8 устарела и не должна использоваться во вновь создаваемом коде.

Ничего не делать. Предварительная блокировка отображения календаря до тех пор пока её не снимут с помощью gtk_calendar_thaw().

calendar :

GtkCalendar


gtk_calendar_thaw ()

void        gtk_calendar_thaw               (GtkCalendar *calendar);

Внимание

gtk_calendar_thaw начиная с версии 2.8 устарела и не должна использоваться во вновь создаваемом коде.

Ничего не делает. Предварительная разморозка календаря; все изменения сделанные начиная с последнего gtk_calendar_freeze() будут отображены.

calendar :

GtkCalendar

Детали свойств

Свойство "day"

  "day"                  gint                  : Read / Write

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

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

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


Свойство "month"

  "month"                gint                  : Read / Write

Выбранный месяц (как число между 0 и 11).

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

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


Свойство "no-month-change"

  "no-month-change"      gboolean              : Read / Write

Определяет может ли изменяться месяц.

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

Начиная с версии 2.4


Свойство "show-day-names"

  "show-day-names"       gboolean              : Read / Write

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

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

Начиная с версии 2.4


Свойство "show-heading"

  "show-heading"         gboolean              : Read / Write

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

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

Начиная с версии 2.4


Свойство "show-week-numbers"

  "show-week-numbers"    gboolean              : Read / Write

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

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

Начиная с версии 2.4


Свойство "year"

  "year"                 gint                  : Read / Write

Выбранный код.

Допустимые значения: >= 0

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

Детали сигналов

Сигнал "day-selected"

void user_function (GtkCalendar *calendar, gpointer user_data) : Run first

Издаётся когда пользователь выбирает день.

calendar :

Объект получающий сигнал.

user_data :

Данные помещаемые при подключении обработчика сигнала.


Сигнал "day-selected-double-click"

void user_function (GtkCalendar *calendar, gpointer user_data) : Run first

calendar :

Объект получающий сигнал.

user_data :

Данные помещаемые при подключении обработчика сигнала.


Сигнал "month-changed"

void user_function (GtkCalendar *calendar, gpointer user_data) : Run first

Издаётся при нажатии пользователем кнопки для изменения месяца в календаре.

calendar :

Объект получающий сигнал.

user_data :

Данные помещаемые при подключении обработчика сигнала.


Сигнал "next-month"

void user_function (GtkCalendar *calendar, gpointer user_data) : Run first

calendar :

Объект получающий сигнал.

user_data :

Данные помещаемые при подключении обработчика сигнала.


Сигнал "next-year"

void user_function (GtkCalendar *calendar, gpointer user_data) : Run first

calendar :

Объект получающий сигнал.

user_data :

Данные помещаемые при подключении обработчика сигнала.


Сигнал "prev-month"

void user_function (GtkCalendar *calendar, gpointer user_data) : Run first

calendar :

Объект получающий сигнал.

user_data :

Данные помещаемые при подключении обработчика сигнала.


Сигнал "prev-year"

void user_function (GtkCalendar *calendar, gpointer user_data) : Run first

calendar :

Объект получающий сигнал.

user_data :

Данные помещаемые при подключении обработчика сигнала.