## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

## Index

Package: Calendar

- Goto spec source

# 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

<testgtk>create_calendar.adb</testgtk>

# Packages

### Implements_Buildable (new Glib.Types.Implements)

    package Implements_Buildable is new Glib.Types.Implements
         (Gtk.Buildable.Gtk_Buildable, Gtk_Calendar_Record, Gtk_Calendar);

# Classes

### Gtk_Calendar_Record

- Goto declaration in source

    type Gtk_Calendar_Record is new Gtk_Widget_Record with null record;

#### Ancestors:

Gtk.Widget.Gtk_Widget_Record
Glib.Object.GObject_Record

#### Primitive operations:

Clear_Marks

- To API doc
- To spec

Display_Options

- To API doc
- To spec

Freeze

- To API doc
- To spec

Get_Date

- To API doc
- To spec

Get_Detail_Height_Rows

- To API doc
- To spec

Get_Detail_Width_Chars

- To API doc
- To spec

Get_Display_Options

- To API doc
- To spec

Glib.Object.Deallocate

- To API doc
- To spec

(Inherited)
Glib.Object.Get_Type

- To API doc
- To spec

(Inherited)
Glib.Object.Notify

- To API doc
- To spec

(Inherited)
Glib.Object.Ref

- To API doc
- To spec

(Inherited)
Glib.Object.Ref_Sink

- To API doc
- To spec

(Inherited)
Glib.Object.Unref

- To API doc
- To spec

(Inherited)
Gtk.Widget.Activate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Can_Activate_Accel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Layout

- To API doc
- To spec

(Inherited)
Gtk.Widget.Destroy

- To API doc
- To spec

(Inherited)
Gtk.Widget.Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Ensure_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Error_Bell

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flag_Is_Set

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Freeze_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Height

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Width

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_X

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Y

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Requisition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pointer

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Root_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Snapshot

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Toplevel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Visual

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Default

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Has_Screen

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Input_Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Composited

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Keynav_Failed

- To API doc
- To spec

(Inherited)
Gtk.Widget.List_Mnemonic_Labels

- To API doc
- To spec

(Inherited)
Gtk.Widget.Map

- To API doc
- To spec

(Inherited)
Gtk.Widget.Mnemonic_Activate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Base

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Bg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Cursor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Fg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Font

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize_No_Redraw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Realize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Region_Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Render_Icon

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reparent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Rc_Styles

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Shapes

- To API doc
- To spec

(Inherited)
Gtk.Widget.Restore_Default_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Send_Expose

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Accel_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_App_Paintable

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Double_Buffered

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Redraw_On_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Scroll_Adjustments

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Sensitive

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_UPosition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_USize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_Now

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Style_Get_Property

- To API doc
- To spec

(Inherited)
Gtk.Widget.Thaw_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Trigger_Tooltip_Query

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unmap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unrealize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unset_Flags

- To API doc
- To spec

(Inherited)
Mark_Day

- To API doc
- To spec

Select_Day

- To API doc
- To spec

Select_Month

- To API doc
- To spec

Set_Detail_Func

- To API doc
- To spec

Set_Detail_Height_Rows

- To API doc
- To spec

Set_Detail_Width_Chars

- To API doc
- To spec

Set_Display_Options

- To API doc
- To spec

Thaw

- To API doc
- To spec

Unmark_Day

- To API doc
- To spec

# Types

### Gtk_Calendar

- Goto declaration in source

    type Gtk_Calendar is access all Gtk_Calendar_Record'Class;

### Gtk_Calendar_Display_Options

- Goto declaration in source

    type Gtk_Calendar_Display_Options is mod 2 ** 8;

### Gtk_Calendar_Detail_Func

- Goto declaration in source

    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

- Goto declaration in source

(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

- Goto declaration in source

(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

- Goto declaration in source

(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

- Goto declaration in source

(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

- Goto declaration in source

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

### Day_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Day_Property : constant Glib.Properties.Property_Int;

### Detail_Height_Rows_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Detail_Height_Rows_Property : constant Glib.Properties.Property_Int;

### Detail_Width_Chars_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Detail_Width_Chars_Property : constant Glib.Properties.Property_Int;

### Month_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Month_Property : constant Glib.Properties.Property_Int;

### No_Month_Change_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    No_Month_Change_Property : constant Glib.Properties.Property_Boolean;

### Show_Day_Names_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Show_Day_Names_Property : constant Glib.Properties.Property_Boolean;

### Show_Details_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Show_Details_Property : constant Glib.Properties.Property_Boolean;

### Show_Heading_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Show_Heading_Property : constant Glib.Properties.Property_Boolean;

### Show_Week_Numbers_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Show_Week_Numbers_Property : constant Glib.Properties.Property_Boolean;

### Year_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Year_Property : constant Glib.Properties.Property_Int;

### Signal_Day_Selected

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Day_Selected_Double_Click

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Month_Changed

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Next_Month

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Next_Year

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Prev_Month

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Prev_Year

- Goto declaration in source

(Glib.Signal_Name)

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

# Subprograms & Entries

### Gtk_New

- Goto spec in source

    procedure Gtk_New (Calendar: out Gtk_Calendar);

### Initialize

- Goto spec in source

    procedure Initialize (Calendar: access Gtk_Calendar_Record'Class);

Creates a new calendar, with the current date being selected.

### Get_Type

- Goto spec in source
- Goto body in source

    function Get_Type return Glib.GType;

### Clear_Marks

- Goto spec in source

    procedure Clear_Marks (Calendar: access Gtk_Calendar_Record);

Remove all visual markers.

### Display_Options

- Goto spec in source

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

### Get_Display_Options

- Goto spec in source

    function Get_Display_Options (Calendar: access Gtk_Calendar_Record) return Gtk_Calendar_Display_Options;

### Set_Display_Options

- Goto spec in source

    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

- Goto spec in source

    procedure Freeze (Calendar: access Gtk_Calendar_Record);

### Get_Date

- Goto spec in source

    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

- Goto spec in source

    function Get_Detail_Height_Rows (Calendar: access Gtk_Calendar_Record) return Gint;

### Set_Detail_Height_Rows

- Goto spec in source

    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

- Goto spec in source

    function Get_Detail_Width_Chars (Calendar: access Gtk_Calendar_Record) return Gint;

### Set_Detail_Width_Chars

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    procedure Thaw (Calendar: access Gtk_Calendar_Record);

### Unmark_Day

- Goto spec in source

    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.

### +

- Goto spec in source

    function "+" (Widget: access Gtk_Calendar_Record'Class) return Gtk.Buildable.Gtk_Buildable renames Implements_Buildable.To_Interface;

### -

- Goto spec in source

    function "-" (Interf: Gtk.Buildable.Gtk_Buildable) return Gtk_Calendar renames Implements_Buildable.To_Object;