Index

Package: Calendar

Description

package Gtk.Calendar is

Gtk_Calendar is a widget that displays a calendar, one month at a time. It can be created with Gtk_New.

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

The selected date can be retrieved from a Gtk_Calendar using Get_Date.

If performing many 'mark' operations, the calendar can be frozen to prevent flicker, using Freeze, and 'thawed' again using Thaw.

Screenshot

gtk-calendar.png
<testgtk>create_calendar.adb</testgtk>

Packages

Implements_Buildable (new Glib.Types.Implements)

Classes

Gtk_Calendar_Record

type Gtk_Calendar_Record is new Gtk_Widget_Record with null record;

Ancestors:

Primitive operations:

Display_Options
Get_Detail_Height_Rows
Get_Detail_Width_Chars
Get_Display_Options
Glib.Object.Deallocate (Inherited)
Glib.Object.Get_Type (Inherited)
Glib.Object.Notify (Inherited)
Glib.Object.Ref (Inherited)
Glib.Object.Ref_Sink (Inherited)
Glib.Object.Unref (Inherited)
Gtk.Widget.Activate (Inherited)
Gtk.Widget.Add_Accelerator (Inherited)
Gtk.Widget.Add_Events (Inherited)
Gtk.Widget.Add_Mnemonic_Label (Inherited)
Gtk.Widget.Can_Activate_Accel (Inherited)
Gtk.Widget.Child_Notify (Inherited)
Gtk.Widget.Class_Path (Inherited)
Gtk.Widget.Class_Path_Reversed (Inherited)
Gtk.Widget.Create_Pango_Context (Inherited)
Gtk.Widget.Create_Pango_Layout (Inherited)
Gtk.Widget.Destroy (Inherited)
Gtk.Widget.Draw (Inherited)
Gtk.Widget.Ensure_Style (Inherited)
Gtk.Widget.Error_Bell (Inherited)
Gtk.Widget.Flag_Is_Set (Inherited)
Gtk.Widget.Flags (Inherited)
Gtk.Widget.Freeze_Child_Notify (Inherited)
Gtk.Widget.Get_Allocation_Height (Inherited)
Gtk.Widget.Get_Allocation_Width (Inherited)
Gtk.Widget.Get_Allocation_X (Inherited)
Gtk.Widget.Get_Allocation_Y (Inherited)
Gtk.Widget.Get_Ancestor (Inherited)
Gtk.Widget.Get_Child_Requisition (Inherited)
Gtk.Widget.Get_Child_Visible (Inherited)
Gtk.Widget.Get_Colormap (Inherited)
Gtk.Widget.Get_Composite_Name (Inherited)
Gtk.Widget.Get_Direction (Inherited)
Gtk.Widget.Get_Events (Inherited)
Gtk.Widget.Get_Extension_Events (Inherited)
Gtk.Widget.Get_Has_Tooltip (Inherited)
Gtk.Widget.Get_Name (Inherited)
Gtk.Widget.Get_No_Show_All (Inherited)
Gtk.Widget.Get_Pango_Context (Inherited)
Gtk.Widget.Get_Parent (Inherited)
Gtk.Widget.Get_Parent_Window (Inherited)
Gtk.Widget.Get_Pointer (Inherited)
Gtk.Widget.Get_Root_Window (Inherited)
Gtk.Widget.Get_Size_Request (Inherited)
Gtk.Widget.Get_Snapshot (Inherited)
Gtk.Widget.Get_State (Inherited)
Gtk.Widget.Get_Style (Inherited)
Gtk.Widget.Get_Tooltip_Markup (Inherited)
Gtk.Widget.Get_Tooltip_Text (Inherited)
Gtk.Widget.Get_Tooltip_Window (Inherited)
Gtk.Widget.Get_Toplevel (Inherited)
Gtk.Widget.Get_Visual (Inherited)
Gtk.Widget.Get_Window (Inherited)
Gtk.Widget.Grab_Default (Inherited)
Gtk.Widget.Grab_Focus (Inherited)
Gtk.Widget.Has_Screen (Inherited)
Gtk.Widget.Hide (Inherited)
Gtk.Widget.Hide_All (Inherited)
Gtk.Widget.Input_Shape_Combine_Mask (Inherited)
Gtk.Widget.Intersect (Inherited)
Gtk.Widget.Is_Ancestor (Inherited)
Gtk.Widget.Is_Composited (Inherited)
Gtk.Widget.Is_Focus (Inherited)
Gtk.Widget.Keynav_Failed (Inherited)
Gtk.Widget.List_Mnemonic_Labels (Inherited)
Gtk.Widget.Map (Inherited)
Gtk.Widget.Mnemonic_Activate (Inherited)
Gtk.Widget.Modify_Base (Inherited)
Gtk.Widget.Modify_Bg (Inherited)
Gtk.Widget.Modify_Cursor (Inherited)
Gtk.Widget.Modify_Fg (Inherited)
Gtk.Widget.Modify_Font (Inherited)
Gtk.Widget.Modify_Text (Inherited)
Gtk.Widget.Path (Inherited)
Gtk.Widget.Path_Reversed (Inherited)
Gtk.Widget.Queue_Clear (Inherited)
Gtk.Widget.Queue_Clear_Area (Inherited)
Gtk.Widget.Queue_Draw (Inherited)
Gtk.Widget.Queue_Draw_Area (Inherited)
Gtk.Widget.Queue_Resize (Inherited)
Gtk.Widget.Queue_Resize_No_Redraw (Inherited)
Gtk.Widget.Realize (Inherited)
Gtk.Widget.Region_Intersect (Inherited)
Gtk.Widget.Remove_Accelerator (Inherited)
Gtk.Widget.Remove_Mnemonic_Label (Inherited)
Gtk.Widget.Render_Icon (Inherited)
Gtk.Widget.Reparent (Inherited)
Gtk.Widget.Reset_Rc_Styles (Inherited)
Gtk.Widget.Reset_Shapes (Inherited)
Gtk.Widget.Restore_Default_Style (Inherited)
Gtk.Widget.Send_Expose (Inherited)
Gtk.Widget.Set_Accel_Path (Inherited)
Gtk.Widget.Set_App_Paintable (Inherited)
Gtk.Widget.Set_Child_Visible (Inherited)
Gtk.Widget.Set_Colormap (Inherited)
Gtk.Widget.Set_Composite_Name (Inherited)
Gtk.Widget.Set_Direction (Inherited)
Gtk.Widget.Set_Double_Buffered (Inherited)
Gtk.Widget.Set_Events (Inherited)
Gtk.Widget.Set_Extension_Events (Inherited)
Gtk.Widget.Set_Flags (Inherited)
Gtk.Widget.Set_Has_Tooltip (Inherited)
Gtk.Widget.Set_Name (Inherited)
Gtk.Widget.Set_No_Show_All (Inherited)
Gtk.Widget.Set_Parent (Inherited)
Gtk.Widget.Set_Parent_Window (Inherited)
Gtk.Widget.Set_Redraw_On_Allocate (Inherited)
Gtk.Widget.Set_Scroll_Adjustments (Inherited)
Gtk.Widget.Set_Sensitive (Inherited)
Gtk.Widget.Set_Size_Request (Inherited)
Gtk.Widget.Set_State (Inherited)
Gtk.Widget.Set_Style (Inherited)
Gtk.Widget.Set_Tooltip_Markup (Inherited)
Gtk.Widget.Set_Tooltip_Text (Inherited)
Gtk.Widget.Set_Tooltip_Window (Inherited)
Gtk.Widget.Set_UPosition (Inherited)
Gtk.Widget.Set_USize (Inherited)
Gtk.Widget.Set_Window (Inherited)
Gtk.Widget.Shape_Combine_Mask (Inherited)
Gtk.Widget.Show (Inherited)
Gtk.Widget.Show_All (Inherited)
Gtk.Widget.Show_Now (Inherited)
Gtk.Widget.Size_Allocate (Inherited)
Gtk.Widget.Size_Request (Inherited)
Gtk.Widget.Style_Get_Property (Inherited)
Gtk.Widget.Thaw_Child_Notify (Inherited)
Gtk.Widget.Trigger_Tooltip_Query (Inherited)
Gtk.Widget.Unmap (Inherited)
Gtk.Widget.Unrealize (Inherited)
Gtk.Widget.Unset_Flags (Inherited)
Select_Month
Set_Detail_Func
Set_Detail_Height_Rows
Set_Detail_Width_Chars
Set_Display_Options

Types

Gtk_Calendar

type Gtk_Calendar is access all Gtk_Calendar_Record'Class;

Gtk_Calendar_Display_Options

type Gtk_Calendar_Display_Options is mod 2 ** 8;

Gtk_Calendar_Detail_Func

type Gtk_Calendar_Detail_Func is access function
     (Calendar  : access Gtk_Calendar_Record'Class;
      Year      : Guint;
      Month     : Guint;
      Day       : Guint;
      User_Data : System.Address) return String;
Return the details for the given day, or the empty string when there are no details.

Constants & Global variables

Show_Heading (Gtk_Calendar_Display_Options)

Show_Heading : constant Gtk_Calendar_Display_Options := 2 ** 0;
Specify that the month and year should be displayed.

Show_Day_Names (Gtk_Calendar_Display_Options)

Show_Day_Names : constant Gtk_Calendar_Display_Options := 2 ** 1;
Specify that three letter day descriptions should be present.

No_Month_Change (Gtk_Calendar_Display_Options)

No_Month_Change : constant Gtk_Calendar_Display_Options := 2 ** 2;
Prevent the user from switching months with the calendar.

Show_Week_Numbers (Gtk_Calendar_Display_Options)

Show_Week_Numbers : constant Gtk_Calendar_Display_Options := 2 ** 3;
Display each week numbers of the current year, down the left side of the calendar.

Week_Start_Monday (Gtk_Calendar_Display_Options)

Week_Start_Monday : constant Gtk_Calendar_Display_Options := 2 ** 4;
Start the calendar week on Monday, instead of the default Sunday.

Detail_Height_Rows_Property (Glib.Properties.Property_Int)

Detail_Height_Rows_Property : constant Glib.Properties.Property_Int;

Detail_Width_Chars_Property (Glib.Properties.Property_Int)

Detail_Width_Chars_Property : constant Glib.Properties.Property_Int;

No_Month_Change_Property (Glib.Properties.Property_Boolean)

No_Month_Change_Property : constant Glib.Properties.Property_Boolean;

Show_Day_Names_Property (Glib.Properties.Property_Boolean)

Show_Day_Names_Property : constant Glib.Properties.Property_Boolean;

Show_Details_Property (Glib.Properties.Property_Boolean)

Show_Details_Property : constant Glib.Properties.Property_Boolean;

Show_Heading_Property (Glib.Properties.Property_Boolean)

Show_Heading_Property : constant Glib.Properties.Property_Boolean;

Show_Week_Numbers_Property (Glib.Properties.Property_Boolean)

Show_Week_Numbers_Property : constant Glib.Properties.Property_Boolean;

Signal_Day_Selected (Glib.Signal_Name)

Signal_Day_Selected : constant Glib.Signal_Name := "day-selected";

Signal_Day_Selected_Double_Click (Glib.Signal_Name)

Signal_Day_Selected_Double_Click : constant Glib.Signal_Name := "day-selected-double-click";

Signal_Month_Changed (Glib.Signal_Name)

Signal_Month_Changed : constant Glib.Signal_Name := "month-changed";

Signal_Next_Month (Glib.Signal_Name)

Signal_Next_Month : constant Glib.Signal_Name := "next-month";

Signal_Next_Year (Glib.Signal_Name)

Signal_Next_Year : constant Glib.Signal_Name := "next-year";

Signal_Prev_Month (Glib.Signal_Name)

Signal_Prev_Month : constant Glib.Signal_Name := "prev-month";

Signal_Prev_Year (Glib.Signal_Name)

Signal_Prev_Year : constant Glib.Signal_Name := "prev-year";

Subprograms & Entries

Gtk_New

procedure Gtk_New 
(Calendar: out Gtk_Calendar);

Initialize

procedure Initialize 
(Calendar: access Gtk_Calendar_Record'Class);
Creates a new calendar, with the current date being selected.

Get_Type

function Get_Type return Glib.GType;

Clear_Marks

procedure Clear_Marks 
(Calendar: access Gtk_Calendar_Record);
Remove all visual markers.

Display_Options

procedure Display_Options 
(Calendar: access Gtk_Calendar_Record;
Flags: Gtk_Calendar_Display_Options);

Get_Display_Options

function Get_Display_Options 
(Calendar: access Gtk_Calendar_Record) return Gtk_Calendar_Display_Options;

Set_Display_Options

procedure Set_Display_Options 
(Calendar: access Gtk_Calendar_Record;
Flags: Gtk_Calendar_Display_Options);
Sets display options (whether to display the heading and the month headings). Since: gtk+ 2.4 "flags": the display options to set

Freeze

procedure Freeze 
(Calendar: access Gtk_Calendar_Record);

Get_Date

procedure Get_Date 
(Calendar: access Gtk_Calendar_Record;
Year: out Guint;
Month: out Guint;
Day: out Guint);
Obtains the selected date from a Gtk.Calendar.Gtk_Calendar. "year": location to store the year as a decimal number (e.g. 2011), or null "month": location to store the month number (between 0 and 11), or null "day": location to store the day number (between 1 and 31), or null

Get_Detail_Height_Rows

function Get_Detail_Height_Rows 
(Calendar: access Gtk_Calendar_Record) return Gint;

Set_Detail_Height_Rows

procedure Set_Detail_Height_Rows 
(Calendar: access Gtk_Calendar_Record;
Rows: Gint);
Updates the height of detail cells. See Gtk.Calendar.Gtk_Calendar:detail-height-rows. Since: gtk+ 2.14 "rows": detail height in rows.

Get_Detail_Width_Chars

function Get_Detail_Width_Chars 
(Calendar: access Gtk_Calendar_Record) return Gint;

Set_Detail_Width_Chars

procedure Set_Detail_Width_Chars 
(Calendar: access Gtk_Calendar_Record;
Chars: Gint);
Updates the width of detail cells. See Gtk.Calendar.Gtk_Calendar:detail-width-chars. Since: gtk+ 2.14 "chars": detail width in characters.

Mark_Day

function Mark_Day 
(Calendar: access Gtk_Calendar_Record;
Day: Guint) return Boolean;
Places a visual marker on a particular day. Note that this function always returns True, and you should ignore the return value. In GTK+ 3, this function will not return a value. "day": the day number to mark between 1 and 31.

Select_Day

procedure Select_Day 
(Calendar: access Gtk_Calendar_Record;
Day: Guint);
Selects a day from the current month. "day": the day number between 1 and 31, or 0 to unselect the currently selected day.

Select_Month

function Select_Month 
(Calendar: access Gtk_Calendar_Record;
Month: Guint;
Year: Guint) return Boolean;
Shifts the calendar to a different month. Note that this function always returns True, and you should ignore the return value. In GTK+ 3, this function will not return a value. "month": a month number between 0 and 11. "year": the year the month is in.

Set_Detail_Func

procedure Set_Detail_Func 
(Calendar: access Gtk_Calendar_Record;
Func: Gtk_Calendar_Detail_Func;
Data: System.Address;
Destroy: Glib.G_Destroy_Notify_Address);
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 Gtk.Calendar.Gtk_Calendar:show-details is set. A tooltip containing with full detail information is provided, if the entire text should not fit into the details area, or if Gtk.Calendar.Gtk_Calendar:show-details is not set. The size of the details area can be restricted by setting the Gtk.Calendar.Gtk_Calendar:detail-width-chars and Gtk.Calendar.Gtk_Calendar:detail-height-rows properties. Since: gtk+ 2.14 "func": a function providing details for each day. "data": data to pass to Func invokations. "destroy": a function for releasing Data.

Thaw

procedure Thaw 
(Calendar: access Gtk_Calendar_Record);

Unmark_Day

function Unmark_Day 
(Calendar: access Gtk_Calendar_Record;
Day: Guint) return Boolean;
Removes the visual marker from a particular day. Note that this function always returns True, and you should ignore the return value. In GTK+ 3, this function will not return a value. "day": the day number to unmark between 1 and 31.