gtkmm: Gtk::Calendar Class Reference

Display a calendar and/or allow the user to select a date. More...

Inheritance diagram for Gtk::Calendar:
Collaboration diagram for Gtk::Calendar:

List of all members.

Public Types

typedef sigc::slot

< Glib::ustring, guint, guint,

guint > 
SlotDetails
 Detail markup handler.

Public Member Functions

virtual ~Calendar ()
GtkCalendar* gobj ()
 Provides access to the underlying C GtkObject.

const GtkCalendar* gobj () const
 Provides access to the underlying C GtkObject.

 Calendar ()
void select_month (guint month, guint year)
 Shifts the calendar to a different month.

void select_day (guint day)
 Selects a day from the current month.

void mark_day (guint day)
 Places a visual marker on a particular day.

void unmark_day (guint day)
 Removes the visual marker from a particular day.

void clear_marks ()
 Remove all visual markers.

void set_display_options (CalendarDisplayOptions flags)
 Sets display options (whether to display the heading and the month headings).

CalendarDisplayOptions get_display_options () const
 Returns the current display options of calendar.

void get_date (guint& year, guint& month, guint& day) const
 Obtains the selected date from a Gtk::Calendar.

void get_date (Glib::Date& date) const
 Get the date as Glib::Date.

void set_detail_func (const SlotDetails& slot)
 Installs a function which provides Pango markup with detail information for each day.

void set_detail_width_chars (int chars)
 Updates the width of detail cells.

void set_detail_height_rows (int rows)
 Updates the height of detail cells.

int get_detail_width_chars () const
 Queries the width of detail cells, in characters.

int get_detail_height_rows () const
 Queries the height of detail cells, in rows.

bool get_day_is_marked (guint day) const
 Returns if the day of the calendar is already marked.

Glib::SignalProxy0< void > signal_month_changed ()
Glib::SignalProxy0< void > signal_day_selected ()
Glib::SignalProxy0< void > signal_day_selected_double_click ()
Glib::SignalProxy0< void > signal_prev_month ()
Glib::SignalProxy0< void > signal_next_month ()
Glib::SignalProxy0< void > signal_prev_year ()
Glib::SignalProxy0< void > signal_next_year ()
Glib::PropertyProxy< int > property_year ()
 The selected year.

Glib::PropertyProxy_ReadOnly< int > property_year () const
 The selected year.

Glib::PropertyProxy< int > property_month ()
 The selected month (as a number between 0 and 11).

Glib::PropertyProxy_ReadOnly< int > property_month () const
 The selected month (as a number between 0 and 11).

Glib::PropertyProxy< int > property_day ()
 The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day).

Glib::PropertyProxy_ReadOnly< int > property_day () const
 The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day).

Glib::PropertyProxy< bool > property_show_heading ()
 If TRUE, a heading is displayed.

Glib::PropertyProxy_ReadOnly

< bool > 
property_show_heading () const
 If TRUE, a heading is displayed.

Glib::PropertyProxy< bool > property_show_day_names ()
 If TRUE, day names are displayed.

Glib::PropertyProxy_ReadOnly

< bool > 
property_show_day_names () const
 If TRUE, day names are displayed.

Glib::PropertyProxy< bool > property_no_month_change ()
 If TRUE, the selected month cannot be changed.

Glib::PropertyProxy_ReadOnly

< bool > 
property_no_month_change () const
 If TRUE, the selected month cannot be changed.

Glib::PropertyProxy< bool > property_show_week_numbers ()
 If TRUE, week numbers are displayed.

Glib::PropertyProxy_ReadOnly

< bool > 
property_show_week_numbers () const
 If TRUE, week numbers are displayed.

Glib::PropertyProxy< bool > property_show_details ()
 If TRUE, details are shown.

Glib::PropertyProxy_ReadOnly

< bool > 
property_show_details () const
 If TRUE, details are shown.

Glib::PropertyProxy< int > property_detail_width_chars ()
 Details width in characters.

Glib::PropertyProxy_ReadOnly< int > property_detail_width_chars () const
 Details width in characters.

Glib::PropertyProxy< int > property_detail_height_rows ()
 Details height in rows.

Glib::PropertyProxy_ReadOnly< int > property_detail_height_rows () const
 Details height in rows.

Protected Member Functions

virtual void on_month_changed ()
virtual void on_day_selected ()
virtual void on_day_selected_double_click ()
virtual void on_prev_month ()
virtual void on_next_month ()
virtual void on_prev_year ()
virtual void on_next_year ()

Related Functions

(Note that these are not member functions.)

Gtk::Calendarwrap (GtkCalendar* object, bool take_copy=false)
 A Glib::wrap() method for this object.


Detailed Description

Display a calendar and/or allow the user to select a date.

This is a widget that displays a calendar, one month at a time.

The month and year currently displayed can be altered with select_month(). The exact day can be selected from the displayed month using select_day().

The way in which the calendar itself is displayed can be altered using set_display_options().

The selected date can be retrieved from a GtkCalendar using get_date().

If performing many 'mark' operations, the calendar can be frozen to prevent flicker, using freeze(), and 'thawed' again using thaw().

The Calendar widget looks like this:

calendar1.png

Member Typedef Documentation

typedef sigc::slot<Glib::ustring, guint, guint, guint> Gtk::Calendar::SlotDetails

Detail markup handler.

For instance,

 Glib::ustring on_calendar_details(guint year, guint month, guint day);
Parameters:
yearThe year for which details are needed.
monthThe month for which details are needed.
dayThe day of for which details are needed.
Returns:
Pango markup with details for the specified day, or an empty string.

This callback function provides Pango markup with detail information for the specified day. Examples for such details are holidays or appointments. The function should return an empty string when no information is available.

Since gtkmm 2.14:

Constructor & Destructor Documentation

virtual Gtk::Calendar::~Calendar ( ) [virtual]
Gtk::Calendar::Calendar ( )

Member Function Documentation

void Gtk::Calendar::clear_marks ( )

Remove all visual markers.

void Gtk::Calendar::get_date ( guint &  year,
guint &  month,
guint &  day 
) const

Obtains the selected date from a Gtk::Calendar.

Parameters:
yearLocation to store the year number, or 0.
monthLocation to store the month number (between 0 and 11), or 0.
dayLocation to store the day number (between 1 and 31), or 0.
void Gtk::Calendar::get_date ( Glib::Date date) const

Get the date as Glib::Date.

Parameters:
dateReferenz to set the date
bool Gtk::Calendar::get_day_is_marked ( guint  day) const

Returns if the day of the calendar is already marked.

Since gtkmm 3.0:
Parameters:
dayThe day number between 1 and 31.
Returns:
Whether the day is marked.
int Gtk::Calendar::get_detail_height_rows ( ) const

Queries the height of detail cells, in rows.

See Gtk::Calendar:detail-width-chars.

Since gtkmm 2.14:
Returns:
The height of detail cells, in rows.
int Gtk::Calendar::get_detail_width_chars ( ) const

Queries the width of detail cells, in characters.

See Gtk::Calendar:detail-width-chars.

Since gtkmm 2.14:
Returns:
The width of detail cells, in characters.
CalendarDisplayOptions Gtk::Calendar::get_display_options ( ) const

Returns the current display options of calendar.

Since gtkmm 2.4:
Returns:
The display options.
const GtkCalendar* Gtk::Calendar::gobj ( ) const [inline]

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Widget.

GtkCalendar* Gtk::Calendar::gobj ( ) [inline]

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Widget.

void Gtk::Calendar::mark_day ( guint  day)

Places a visual marker on a particular day.

Parameters:
dayThe day number to mark between 1 and 31.
virtual void Gtk::Calendar::on_day_selected ( ) [protected, virtual]
virtual void Gtk::Calendar::on_day_selected_double_click ( ) [protected, virtual]
virtual void Gtk::Calendar::on_month_changed ( ) [protected, virtual]
virtual void Gtk::Calendar::on_next_month ( ) [protected, virtual]
virtual void Gtk::Calendar::on_next_year ( ) [protected, virtual]
virtual void Gtk::Calendar::on_prev_month ( ) [protected, virtual]
virtual void Gtk::Calendar::on_prev_year ( ) [protected, virtual]
Glib::PropertyProxy<int> Gtk::Calendar::property_day ( )

The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day).

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<int> Gtk::Calendar::property_day ( ) const

The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day).

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<int> Gtk::Calendar::property_detail_height_rows ( ) const

Details height in rows.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<int> Gtk::Calendar::property_detail_height_rows ( )

Details height in rows.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<int> Gtk::Calendar::property_detail_width_chars ( )

Details width in characters.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<int> Gtk::Calendar::property_detail_width_chars ( ) const

Details width in characters.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<int> Gtk::Calendar::property_month ( )

The selected month (as a number between 0 and 11).

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<int> Gtk::Calendar::property_month ( ) const

The selected month (as a number between 0 and 11).

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<bool> Gtk::Calendar::property_no_month_change ( )

If TRUE, the selected month cannot be changed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<bool> Gtk::Calendar::property_no_month_change ( ) const

If TRUE, the selected month cannot be changed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<bool> Gtk::Calendar::property_show_day_names ( ) const

If TRUE, day names are displayed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<bool> Gtk::Calendar::property_show_day_names ( )

If TRUE, day names are displayed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<bool> Gtk::Calendar::property_show_details ( ) const

If TRUE, details are shown.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<bool> Gtk::Calendar::property_show_details ( )

If TRUE, details are shown.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<bool> Gtk::Calendar::property_show_heading ( )

If TRUE, a heading is displayed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<bool> Gtk::Calendar::property_show_heading ( ) const

If TRUE, a heading is displayed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<bool> Gtk::Calendar::property_show_week_numbers ( )

If TRUE, week numbers are displayed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<bool> Gtk::Calendar::property_show_week_numbers ( ) const

If TRUE, week numbers are displayed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<int> Gtk::Calendar::property_year ( )

The selected year.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<int> Gtk::Calendar::property_year ( ) const

The selected year.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
void Gtk::Calendar::select_day ( guint  day)

Selects a day from the current month.

Parameters:
dayThe day number between 1 and 31, or 0 to unselect the currently selected day.
void Gtk::Calendar::select_month ( guint  month,
guint  year 
)

Shifts the calendar to a different month.

Parameters:
monthA month number between 0 and 11.
yearThe year the month is in.
void Gtk::Calendar::set_detail_func ( const SlotDetails slot)

Installs a function which provides Pango markup with detail information for each day.

Examples for such details are holidays or appointments. That information is shown below each day when show-details is set. A tooltip containing full detail information is provided if the entire text could not fit into the details area, or if the show-details property is not set.

The size of the details area can be restricted by setting the detail-width-chars and detail-height-rows properties.

Parameters:
slotA callback function providing details for each day.
Since gtkmm 2.14:
void Gtk::Calendar::set_detail_height_rows ( int  rows)

Updates the height of detail cells.

See Gtk::Calendar:detail-height-rows.

Since gtkmm 2.14:
Parameters:
rowsDetail height in rows.
void Gtk::Calendar::set_detail_width_chars ( int  chars)

Updates the width of detail cells.

See Gtk::Calendar:detail-width-chars.

Since gtkmm 2.14:
Parameters:
charsDetail width in characters.
void Gtk::Calendar::set_display_options ( CalendarDisplayOptions  flags)

Sets display options (whether to display the heading and the month headings).

Since gtkmm 2.4:
Parameters:
flagsThe display options to set.
Glib::SignalProxy0< void > Gtk::Calendar::signal_day_selected ( )
Prototype:
void on_my_day_selected()
Glib::SignalProxy0< void > Gtk::Calendar::signal_day_selected_double_click ( )
Prototype:
void on_my_day_selected_double_click()
Glib::SignalProxy0< void > Gtk::Calendar::signal_month_changed ( )
Prototype:
void on_my_month_changed()
Glib::SignalProxy0< void > Gtk::Calendar::signal_next_month ( )
Prototype:
void on_my_next_month()
Glib::SignalProxy0< void > Gtk::Calendar::signal_next_year ( )
Prototype:
void on_my_next_year()
Glib::SignalProxy0< void > Gtk::Calendar::signal_prev_month ( )
Prototype:
void on_my_prev_month()
Glib::SignalProxy0< void > Gtk::Calendar::signal_prev_year ( )
Prototype:
void on_my_prev_year()
void Gtk::Calendar::unmark_day ( guint  day)

Removes the visual marker from a particular day.

Parameters:
dayThe day number to unmark between 1 and 31.

Friends And Related Function Documentation

Gtk::Calendar* wrap ( GtkCalendar *  object,
bool  take_copy = false 
) [related]

A Glib::wrap() method for this object.

Parameters:
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns:
A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:
  • gtkmm/calendar.h