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.

Binding from C File version 2.14

<testgtk>create_calendar.adb</testgtk>

Screenshot

gtk-calendar.png

Classes

Gtk_Calendar_Record

type Gtk_Calendar_Record is new Gtk.Widget.Gtk_Widget_Record with private;

Ancestors:

Primitive operations:

Display_Options
Get_Detail_Height_Rows
Get_Detail_Width_Chars
Get_Display_Options
Glib.Object.Deallocate (Inherited)
Glib.Object.Notify (Inherited)
Glib.Object.Ref (Inherited)
Glib.Object.Unref (Inherited)
Gtk.Object.Destroy (Inherited)
Gtk.Object.Flag_Is_Set (Inherited)
Gtk.Object.Flags (Inherited)
Gtk.Object.Get_Type (Inherited)
Gtk.Object.Set_Flags (Inherited)
Gtk.Object.Sink (Inherited)
Gtk.Object.Unset_Flags (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.Draw (Inherited)
Gtk.Widget.Ensure_Style (Inherited)
Gtk.Widget.Error_Bell (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_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)
Select_Month
Set_Detail_Func
Set_Detail_Height_Rows
Set_Detail_Width_Chars
Set_Display_Options

Types

Gtk_Calendar_Display_Options

type Gtk_Calendar_Display_Options is mod 2 ** 8;

Gtk_Calendar

type Gtk_Calendar is access all Gtk_Calendar_Record'Class;

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;
Specify that the month and year should be displayed.

Show_Day_Names (Gtk_Calendar_Display_Options)

Show_Day_Names : constant Gtk_Calendar_Display_Options;
Specify that three letter day descriptions should be present.

No_Month_Change (Gtk_Calendar_Display_Options)

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

Show_Week_Numbers (Gtk_Calendar_Display_Options)

Show_Week_Numbers : constant Gtk_Calendar_Display_Options;
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;
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 
(Widget: out Gtk_Calendar);
Create a new Calendar that points to the current date.

Initialize

procedure Initialize 
(Widget: access Gtk_Calendar_Record'Class);
Internal initialization function. See the section "Creating your own widgets" in the documentation.

Get_Type

function Get_Type return Gtk.Gtk_Type;
Return the internal value associated with a Gtk_Calendar.

Select_Month

function Select_Month 
(Calendar: access Gtk_Calendar_Record;
Month: Guint;
Year: Guint) return Boolean;
Shift the calendar to a different month/year. Return True if sucessful.

Select_Day

procedure Select_Day 
(Calendar: access Gtk_Calendar_Record;
Day: Guint);
Select a day from the current month. Only one day can be selected at a time.

Mark_Day

function Mark_Day 
(Calendar: access Gtk_Calendar_Record;
Day: Guint) return Boolean;
Set a specified Day as marked in the Calendar. This is shown visually as a painted box around the Day. Note that several days can be marked. Return True if successful.

Unmark_Day

function Unmark_Day 
(Calendar: access Gtk_Calendar_Record;
Day: Guint) return Boolean;
Undo the marking of Day. Return True if sucessful.

Clear_Marks

procedure Clear_Marks 
(Calendar: access Gtk_Calendar_Record);
Clear all the marks set by Mark_Day.

Get_Date

procedure Get_Date 
(Calendar: access Gtk_Calendar_Record;
Year: out Guint;
Month: out Guint;
Day: out Guint);
Return the date currently selected.

Set_Display_Options

procedure Set_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;
Sets display options (whether to display the heading and the month headings).

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);
Queries the height of detail cells, in rows. Since: 2.14

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);
Queries the width of detail cells, in characters. Since: 2.14

Set_Detail_Func

procedure Set_Detail_Func 
(Calendar: access Gtk_Calendar_Record;
Func: Gtk_Calendar_Detail_Func;
Data: System.Address;
Destroy: 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 the property "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 show-details is not set. The size of the details area can be restricted by setting the "detail-width-chars" and "detail-height-rows" properties. Since: 2.14

Display_Options

procedure Display_Options 
(Calendar: access Gtk_Calendar_Record;
Flags: Gtk_Calendar_Display_Options);
Display_Options Change the display options. See individual Display_Option flags for more details.

Freeze

procedure Freeze 
(Calendar: access Gtk_Calendar_Record);
Freeze Lock the display of the calendar until it is thawed.

Thaw

procedure Thaw 
(Calendar: access Gtk_Calendar_Record);
Thaw Defrost a calendar. All the changes made since the last Freeze are displayed.