1----------------------------------------------------------------------- 2-- GtkAda - Ada95 binding for Gtk+/Gnome -- 3-- -- 4-- Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet -- 5-- Copyright (C) 2000-2013, AdaCore -- 6-- -- 7-- This library is free software; you can redistribute it and/or -- 8-- modify it under the terms of the GNU General Public -- 9-- License as published by the Free Software Foundation; either -- 10-- version 2 of the License, or (at your option) any later version. -- 11-- -- 12-- This library is distributed in the hope that it will be useful, -- 13-- but WITHOUT ANY WARRANTY; without even the implied warranty of -- 14-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- 15-- General Public License for more details. -- 16-- -- 17-- You should have received a copy of the GNU General Public -- 18-- License along with this library; if not, write to the -- 19-- Free Software Foundation, Inc., 59 Temple Place - Suite 330, -- 20-- Boston, MA 02111-1307, USA. -- 21-- -- 22-- As a special exception, if other files instantiate generics from -- 23-- this unit, or you link this unit with other files to produce an -- 24-- executable, this unit does not by itself cause the resulting -- 25-- executable to be covered by the GNU General Public License. This -- 26-- exception does not however invalidate any other reasons why the -- 27-- executable file might be covered by the GNU Public License. -- 28----------------------------------------------------------------------- 29 30-- <description> 31-- This package contains a number of types that are shared by several 32-- widgets in GtkAda. 33-- </description> 34-- <c_version>2.16.6</c_version> 35 36with Glib; 37with Glib.Generic_Properties; use Glib.Generic_Properties; 38pragma Elaborate_All (Glib.Generic_Properties); 39with Glib.Glist, Glib.GSlist; 40pragma Elaborate_All (Glib.Glist); 41pragma Elaborate_All (Glib.GSlist); 42 43with System; 44 45package Gtk.Enums is 46 47 type Gtk_Anchor_Type is 48 (Anchor_Center, 49 Anchor_North, 50 Anchor_North_West, 51 Anchor_North_East, 52 Anchor_South, 53 Anchor_South_East, 54 Anchor_South_West, 55 Anchor_West, 56 Anchor_East); 57 -- Gtk_Anchor_Type indicates the exact location of the widget on its 58 -- side. Note that not all anchors are relevant for each side. 59 -- 60 -- For instance, if you put a widget on Side_Right, with an anchor of 61 -- Anchor_North, Anchor_North_West or Anchor_North_East, the widget will 62 -- in fact appear on the upper right side of the remaining space in the 63 -- container. 64 -- 65 -- Thus, if a previous child was added on Side_North, then the new child 66 -- will only appear on the second line in the container. The order the 67 -- children are inserted into the container is important. 68 69 pragma Convention (C, Gtk_Anchor_Type); 70 71 Anchor_N : Gtk_Anchor_Type renames Anchor_North; 72 Anchor_NW : Gtk_Anchor_Type renames Anchor_North_West; 73 Anchor_NE : Gtk_Anchor_Type renames Anchor_North_East; 74 Anchor_S : Gtk_Anchor_Type renames Anchor_South; 75 Anchor_SW : Gtk_Anchor_Type renames Anchor_South_West; 76 Anchor_SE : Gtk_Anchor_Type renames Anchor_South_East; 77 Anchor_W : Gtk_Anchor_Type renames Anchor_West; 78 Anchor_E : Gtk_Anchor_Type renames Anchor_East; 79 80 type Gtk_Arrow_Type is 81 (Arrow_Up, 82 Arrow_Down, 83 Arrow_Left, 84 Arrow_Right); 85 -- The various types of arrows that can be represented by GtkAda 86 87 type Gtk_Attach_Options is new Glib.Guint32; 88 -- The various options used for attaching widgets to tables 89 90 Expand : constant Gtk_Attach_Options := 1; 91 Shrink : constant Gtk_Attach_Options := 2; 92 Fill : constant Gtk_Attach_Options := 4; 93 94 type Gtk_Button_Box_Style is 95 (Buttonbox_Default_Style, 96 Buttonbox_Spread, 97 Buttonbox_Edge, 98 Buttonbox_Start, 99 Buttonbox_End); 100 -- The style for button boxes 101 -- - Buttonbox_Spread: The children are spread regularly across the box 102 -- - Buttonbox_Edge : Same as Spread, except that the first and last 103 -- children are aligned on the border of the box. 104 -- - Buttonbox_Start : The children are put as much to the left (resp. top) 105 -- as possible in the box. 106 -- - Buttonbox_End : The children are put as much to the right 107 -- (resp. bottom) as possible in the box. 108 109 type Gtk_Curve_Type is 110 (Curve_Type_Linear, -- Linear interpolation 111 Curve_Type_Spline, -- Spline interpolation 112 Curve_Type_Free); -- Free form curve 113 -- The curve types that can be used in gtk-curve.ads 114 115 type Gtk_Delete_Type is 116 (Delete_Chars, 117 Delete_Word_Ends, 118 Delete_Words, 119 Delete_Display_Lines, 120 Delete_Display_Line_Ends, 121 Delete_Paragraph_Ends, 122 Delete_Paragraphs, 123 Delete_Whitespace); 124 -- The deletion modes used in the text editor. 125 -- Delete_Word_Ends will delete only the portion of the word to the 126 -- left/right of the cursor if we are in the middle of a word. 127 -- Delete_Paragraph_Ends acts like c-k in Emacs: it deletes the text until, 128 -- but not including, the end of line. 129 -- Delete_Paragraphs acts like c-k in pico: it deletes the whole line. 130 -- Delete_Whitespace acts like M-\ in Emacs, and removes all white spaces 131 -- surrounding the cursor. 132 133 type Gtk_Direction_Type is 134 (Dir_Tab_Forward, 135 Dir_Tab_Backward, 136 Dir_Up, 137 Dir_Down, 138 Dir_Left, 139 Dir_Right); 140 -- Focus movement types 141 142 type Gtk_Expander_Style is 143 (Expander_Collapsed, 144 Expander_Semi_Collapsed, 145 Expander_Semi_Expanded, 146 Expander_Expanded); 147 -- Expander styles, as seen in trees 148 149 type Gtk_Icon_Size is new Gint; 150 Icon_Size_Invalid : constant Gtk_Icon_Size := 0; 151 Icon_Size_Menu : constant Gtk_Icon_Size := 1; 152 Icon_Size_Small_Toolbar : constant Gtk_Icon_Size := 2; 153 Icon_Size_Large_Toolbar : constant Gtk_Icon_Size := 3; 154 Icon_Size_Button : constant Gtk_Icon_Size := 4; 155 Icon_Size_Dnd : constant Gtk_Icon_Size := 5; 156 Icon_Size_Dialog : constant Gtk_Icon_Size := 6; 157 -- Built-in stock icon sizes. Depending on the context, icons should be 158 -- displayed larger or smaller (typically, icons in menus are much smaller 159 -- than icons in toolbars for instance). 160 -- New custom icon sizes can be created (see gtk-icon_factory.ads) 161 162 type Gtk_Text_Direction is 163 (Text_Dir_None, 164 Text_Dir_Ltr, 165 Text_Dir_Rtl); 166 -- The directory in which text should be written (left to right or 167 -- right to left). 168 169 type Gtk_Justification is 170 (Justify_Left, 171 Justify_Right, 172 Justify_Center, 173 Justify_Fill); 174 -- Within a paragraph, text can be justified in various ways: aligned on 175 -- the left, aligned on the right, centered, or justified (in which case 176 -- the width of the spaces might vary so that the text is aligned on both 177 -- sides). 178 179 type Gtk_Menu_Direction_Type is 180 (Menu_Dir_Parent, 181 Menu_Dir_Child, 182 Menu_Dir_Next, 183 Menu_Dir_Prev); 184 -- Direction where to move the selection. 185 186 type Gtk_Metric_Type is (Pixels, Inches, Centimeters); 187 -- The unit to use when you display a ruler at the top of a drawing area. 188 189 type Gtk_Movement_Step is 190 (Movement_Logical_Positions, -- move by forw/back graphemes 191 Movement_Visual_Positions, -- move by left/right graphemes 192 Movement_Words, -- move by forward/back words 193 Movement_Display_Lines, -- move up/down lines (wrapped lines) 194 Movement_Display_Line_Ends, -- move up/down lines (wrapped lines) 195 Movement_Paragraphs, -- move up/down paragraphs 196 Movement_Paragraph_Ends, -- move to either end of a paragraph 197 Movement_Pages, -- move by pages 198 Movement_Buffer_Ends, -- move to ends of the buffer 199 Movement_Horizontal_Pages); -- move horizontally by pages 200 -- The various kind of movements that can be performed within an editor. 201 -- Gtk+ has builtin knowledge of all of the above. 202 -- Note that a paragraph is defined as a new-line ended line. 203 204 type Gtk_Number_Up_Layout is 205 (Left_To_Right_Top_To_Bottom, -- nick=lrtb 206 Left_To_Right_Bottom_To_Top, -- nick=lrbt 207 Right_To_Left_Top_To_Bottom, -- nick=rltb 208 Right_To_Left_Bottom_To_Top, -- nick=rlbt 209 Top_To_Bottom_Left_To_Right, -- nick=tblr 210 Top_To_Bottom_Right_To_Left, -- nick=tbrl 211 Bottom_To_Top_Left_To_Right, -- nick=btlr 212 Bottom_To_Top_Right_To_Left); -- nick=btrl 213 -- Used to determine the layout of pages on a sheet when printing multiple 214 -- pages per sheet. 215 216 type Gtk_Scroll_Step is 217 (Scroll_Steps, 218 Scroll_Pages, 219 Scroll_Ends, 220 Scroll_Horizontal_Steps, 221 Scroll_Horizontal_Pages, 222 Scroll_Horizontal_Ends); 223 -- The behavior of scrollbars for editors 224 225 type Gtk_Orientation is (Orientation_Horizontal, Orientation_Vertical); 226 -- Orientation of widgets. Most widgets have no such notion, but for 227 -- instance toolbars can display different kind of information depending 228 -- on their current orientation 229 230 type Gtk_Page_Orientation is 231 (Page_Orientation_Portrait, 232 Page_Orientation_Landscape, 233 Page_Orientation_Reverse_Portrait, 234 Page_Orientation_Reverse_Landscape); 235 -- Orientation of a printed page. 236 237 type Gtk_Corner_Type is 238 (Corner_Top_Left, 239 Corner_Bottom_Left, 240 Corner_Top_Right, 241 Corner_Bottom_Right); 242 -- Type used by Set_Placement below to determine the location of the 243 -- child widget with respect to the scrollbars. 244 -- Corner_Top_Left means the child is in the top left, with the scrollbars 245 -- underneath and to the right. 246 247 type Gtk_Grid_Lines is 248 (Grid_Lines_None, 249 Grid_Lines_Horizontal, 250 Grid_Lines_Vertical, 251 Grid_Lines_Both); 252 -- Used to indicate which grid lines to draw in a tree view. 253 254 type Gtk_Pack_Type is (Pack_Start, Pack_End); 255 -- Whether items should be added at the start or at the end of the list of 256 -- children for a widget. This impacts the visual rendering of containers 257 258 type Gtk_Path_Priority_Type is mod 2 ** 32; 259 -- Priorities for path lookups 260 261 Path_Prio_Lowest : constant Gtk_Path_Priority_Type := 0; 262 Path_Prio_Gtk : constant Gtk_Path_Priority_Type := 4; 263 Path_Prio_Application : constant Gtk_Path_Priority_Type := 8; 264 Path_Prio_Theme : constant Gtk_Path_Priority_Type := 10; 265 Path_Prio_RC : constant Gtk_Path_Priority_Type := 12; 266 Path_Prio_Highest : constant Gtk_Path_Priority_Type := 15; 267 Path_Prio_Mask : constant Gtk_Path_Priority_Type := 16#0f#; 268 269 type Gtk_Path_Type is (Path_Widget, Path_Widget_Class, Path_Class); 270 -- Widget path types 271 272 type Gtk_Policy_Type is (Policy_Always, Policy_Automatic, Policy_Never); 273 -- When should scrollbars be made visible in Gtk_Scrolled_Window 274 275 type Gtk_Position_Type is 276 (Pos_Left, 277 Pos_Right, 278 Pos_Top, 279 Pos_Bottom); 280 -- Use to define the position of children within a container 281 282 type Gtk_Page_Set is 283 (Page_Set_All, 284 Page_Set_Even, 285 Page_Set_Odd); 286 -- The set of pages to print 287 288 type Gtk_Print_Duplex is 289 (Print_Duplex_Simplex, 290 Print_Duplex_Horizontal, 291 Print_Duplex_Vertical); 292 -- Whether/how to print on both sides of a sheet. 293 294 type Gtk_Print_Pages is 295 (Print_Pages_All, 296 Print_Pages_Current, 297 Print_Pages_Ranges); 298 -- Which pages to print. 299 300 type Gtk_Print_Quality is 301 (Print_Quality_Low, 302 Print_Quality_Normal, 303 Print_Quality_High, 304 Print_Quality_Draft); 305 -- Quality of printed output. 306 307 type Gtk_Relief_Style is (Relief_Normal, Relief_Half, Relief_None); 308 -- Explains how the border of widgets should be displayed 309 310 type Gtk_Resize_Mode is 311 (Resize_Parent, -- Pass request to the parent 312 Resize_Queue, -- Queue resizes on this widget 313 Resize_Immediate); -- Perform the resizes now 314 -- The resizing of widgets is generally done asynchronously, for efficiency 315 -- reasons. This can have some impact on the visual rendering of the widget 316 -- which might be an issue in some cases. 317 -- This type is only used when you are writting your own containers. 318 319 type Gtk_Scroll_Type is 320 (Scroll_None, 321 Scroll_Jump, 322 Scroll_Step_Backward, 323 Scroll_Step_Forward, 324 Scroll_Page_Backward, 325 Scroll_Page_Forward, 326 Scroll_Step_Up, 327 Scroll_Step_Down, 328 Scroll_Page_Up, 329 Scroll_Page_Down, 330 Scroll_Step_Left, 331 Scroll_Step_Right, 332 Scroll_Page_Left, 333 Scroll_Page_Right, 334 Scroll_Start, 335 Scroll_End); 336 -- How clists should be scrolled 337 338 type Gtk_Selection_Mode is 339 (Selection_None, 340 Selection_Single, 341 Selection_Browse, 342 Selection_Multiple); 343 -- Indicates what selection is allowed in a tree (no selection allowed, a 344 -- single line, a single line when the mouse is released, or multiple 345 -- lines). 346 347 type Gtk_Sensitivity_Type is 348 (Gtk_Sensitivity_Auto, 349 Gtk_Sensitivity_On, 350 Gtk_Sensitivity_Off); 351 -- Determines how GTK+ handles the sensitivity of stepper arrows at 352 -- the end of range widgets. 353 354 type Gtk_Shadow_Type is 355 (Shadow_None, 356 Shadow_In, 357 Shadow_Out, 358 Shadow_Etched_In, 359 Shadow_Etched_Out); 360 -- The type of shadows that can be drawn around widgets 361 362 type Gtk_State_Type is 363 (State_Normal, 364 State_Active, 365 State_Prelight, 366 State_Selected, 367 State_Insensitive); 368 -- Widgets can be in various states. This impacts their visual rendering, 369 -- but can also impact whether they react to events or not (they do not 370 -- when in State_Insensitive mode). 371 372 type Gtk_Toolbar_Style is 373 (Toolbar_Icons, 374 Toolbar_Text, 375 Toolbar_Both, 376 Toolbar_Both_Horiz); 377 -- The style of toolbars. Toolbar_Both_Horiz indicates that both icon and 378 -- text should be displayed, arranged horizontally. 379 380 type Gtk_Unit is (Pixel, Points, Inch, MM); 381 -- Unit of distance measurement. 382 383 type Gtk_Update_Type is 384 (Update_Continuous, 385 Update_Discontinuous, 386 Update_Delayed); 387 -- For some widgets, this indicates how often they should be updated 388 389 type Gtk_Visibility is 390 (Visibility_None, 391 Visibility_Partial, 392 Visibility_Full); 393 -- Generic visibility flags. This indicate how visible a window currently 394 -- is. 395 396 type Gtk_Window_Position is 397 (Win_Pos_None, 398 Win_Pos_Center, 399 Win_Pos_Mouse, 400 Win_Pos_Center_Always, 401 Win_Pos_Center_On_Parent); 402 -- The position at which a new window should be initially displayed on the 403 -- screen. 404 405 type Gtk_Window_Type is 406 (Window_Toplevel, 407 Window_Popup); 408 -- GtkAda supports multiple types of windows. They all act as top-level 409 -- containers, but the amount of decoration is different. A popup window 410 -- has no title bar for instance. 411 412 type Gtk_Wrap_Mode is 413 (Wrap_None, 414 Wrap_Char, 415 Wrap_Word, 416 Wrap_Word_Char); 417 -- Text wrapping algorithm. This indicates where a text widget is allowed 418 -- to break its contents to display multiple lines when a line doesn't fit 419 -- on the screen. 420 421 type Gtk_Sort_Type is 422 (Sort_Ascending, 423 Sort_Descending); 424 -- How to sort 425 426 type Gtk_Pack_Direction is 427 (Pack_Direction_LTR, 428 Pack_Direction_RTL, 429 Pack_Direction_TTB, 430 Pack_Direction_BTT); 431 -- The direction in which children should be packed in their parents 432 -- (Left-to-Right, Right-To-Left, Top-To-Bottom or Bottom-To-Top) 433 434 type Gtk_Text_Window_Type is 435 (Text_Window_Private, 436 Text_Window_Widget, 437 Text_Window_Text, 438 Text_Window_Left, 439 Text_Window_Right, 440 Text_Window_Top, 441 Text_Window_Bottom); 442 -- The various components of a Gtk.Text_View widget 443 444 ------------------------------- 445 -- Some Glib instantiations -- 446 ------------------------------- 447 448 function Convert (S : String) return System.Address; 449 function Convert (S : System.Address) return String; 450 function Convert_I (I : Gint) return System.Address; 451 function Convert_A (S : System.Address) return Gint; 452 pragma Import (C, Convert_I, "convert_i"); 453 pragma Import (C, Convert_A, "convert_a"); 454 455 package String_List is new Glib.Glist.Generic_List (UTF8_String); 456 package String_SList is new Glib.GSlist.Generic_SList (UTF8_String); 457 -- Warning: when you create this list, new memory gets allocated for 458 -- all the strings. You should use the function Free_String_List 459 -- instead of Glib.Glist.Free to be sure to free this memory. 460 461 procedure Free_String_List (List : in out String_List.Glist); 462 procedure Free_String_List (List : in out String_SList.GSlist); 463 -- Free the memory occupied by all the strings in the list, as well 464 -- as the memory occupied by the list itself. 465 466 package Gint_List is new 467 Glib.Glist.Generic_List (Gint, Convert_I, Convert_A); 468 469 function Convert_UI (I : Guint) return System.Address; 470 function Convert_UA (S : System.Address) return Guint; 471 pragma Import (C, Convert_UI, "convert_ui"); 472 pragma Import (C, Convert_UA, "convert_ua"); 473 package Guint_List is new 474 Glib.Glist.Generic_List (Guint, Convert_UI, Convert_UA); 475 476 pragma Convention (C, Gtk_Arrow_Type); 477 pragma Convention (C, Gtk_Button_Box_Style); 478 pragma Convention (C, Gtk_Curve_Type); 479 pragma Convention (C, Gtk_Delete_Type); 480 pragma Convention (C, Gtk_Direction_Type); 481 pragma Convention (C, Gtk_Grid_Lines); 482 pragma Convention (C, Gtk_Path_Type); 483 pragma Convention (C, Gtk_Expander_Style); 484 pragma Convention (C, Gtk_Text_Direction); 485 pragma Convention (C, Gtk_Justification); 486 pragma Convention (C, Gtk_Menu_Direction_Type); 487 pragma Convention (C, Gtk_Metric_Type); 488 pragma Convention (C, Gtk_Movement_Step); 489 pragma Convention (C, Gtk_Number_Up_Layout); 490 pragma Convention (C, Gtk_Orientation); 491 pragma Convention (C, Gtk_Page_Orientation); 492 pragma Convention (C, Gtk_Corner_Type); 493 pragma Convention (C, Gtk_Pack_Type); 494 pragma Convention (C, Gtk_Policy_Type); 495 pragma Convention (C, Gtk_Position_Type); 496 pragma Convention (C, Gtk_Page_Set); 497 pragma Convention (C, Gtk_Print_Duplex); 498 pragma Convention (C, Gtk_Print_Pages); 499 pragma Convention (C, Gtk_Print_Quality); 500 pragma Convention (C, Gtk_Relief_Style); 501 pragma Convention (C, Gtk_Resize_Mode); 502 pragma Convention (C, Gtk_Scroll_Type); 503 pragma Convention (C, Gtk_Selection_Mode); 504 pragma Convention (C, Gtk_Sensitivity_Type); 505 pragma Convention (C, Gtk_Shadow_Type); 506 pragma Convention (C, Gtk_State_Type); 507 pragma Convention (C, Gtk_Text_Window_Type); 508 pragma Convention (C, Gtk_Toolbar_Style); 509 pragma Convention (C, Gtk_Update_Type); 510 pragma Convention (C, Gtk_Unit); 511 pragma Convention (C, Gtk_Visibility); 512 pragma Convention (C, Gtk_Window_Position); 513 pragma Convention (C, Gtk_Window_Type); 514 pragma Convention (C, Gtk_Wrap_Mode); 515 pragma Convention (C, Gtk_Sort_Type); 516 517 ---------------- 518 -- Properties -- 519 ---------------- 520 -- The following packages and types are used to represent properties of 521 -- the given type. They are used in the packages that use these properties 522 523 package Relief_Style_Properties is new 524 Generic_Internal_Discrete_Property (Gtk_Relief_Style); 525 package Resize_Mode_Properties is new 526 Generic_Internal_Discrete_Property (Gtk_Resize_Mode); 527 package Arrow_Type_Properties is new 528 Generic_Internal_Discrete_Property (Gtk_Arrow_Type); 529 package Shadow_Type_Properties is new 530 Generic_Internal_Discrete_Property (Gtk_Shadow_Type); 531 package Update_Type_Properties is new 532 Generic_Internal_Discrete_Property (Gtk_Update_Type); 533 package Position_Type_Properties is new 534 Generic_Internal_Discrete_Property (Gtk_Position_Type); 535 package Toolbar_Style_Properties is new 536 Generic_Internal_Discrete_Property (Gtk_Toolbar_Style); 537 package Justification_Properties is new 538 Generic_Internal_Discrete_Property (Gtk_Justification); 539 package Orientation_Properties is new 540 Generic_Internal_Discrete_Property (Gtk_Orientation); 541 package Window_Type_Properties is new 542 Generic_Internal_Discrete_Property (Gtk_Window_Type); 543 package Window_Position_Properties is new 544 Generic_Internal_Discrete_Property (Gtk_Window_Position); 545 package Text_Direction_Properties is new 546 Generic_Internal_Discrete_Property (Gtk_Text_Direction); 547 package Wrap_Mode_Properties is new 548 Generic_Internal_Discrete_Property (Gtk_Text_Direction); 549 package Policy_Properties is new 550 Generic_Internal_Discrete_Property (Gtk_Policy_Type); 551 package Pack_Direction_Properties is new 552 Generic_Internal_Discrete_Property (Gtk_Pack_Direction); 553 package Sort_Type_Properties is new 554 Generic_Internal_Discrete_Property (Gtk_Sort_Type); 555 package Metric_Type_Properties is new 556 Generic_Internal_Discrete_Property (Gtk_Metric_Type); 557 package Pack_Type_Properties is new 558 Generic_Internal_Discrete_Property (Gtk_Pack_Type); 559 package Icon_Size_Properties is new 560 Generic_Internal_Discrete_Property (Gtk_Icon_Size); 561 package Selection_Mode_Properties is new 562 Generic_Internal_Discrete_Property (Gtk_Selection_Mode); 563 package Sensitivity_Properties is new 564 Generic_Internal_Discrete_Property (Gtk_Sensitivity_Type); 565 package BBox_Style_Properties is new 566 Generic_Internal_Discrete_Property (Gtk_Button_Box_Style); 567 package Curve_Type_Properties is new 568 Generic_Internal_Discrete_Property (Gtk_Curve_Type); 569 570 type Property_Gtk_Relief_Style is new Relief_Style_Properties.Property; 571 type Property_Gtk_Resize_Mode is new Resize_Mode_Properties.Property; 572 type Property_Gtk_Arrow_Type is new Arrow_Type_Properties.Property; 573 type Property_Gtk_Shadow_Type is new Shadow_Type_Properties.Property; 574 type Property_Gtk_Update_Type is new Update_Type_Properties.Property; 575 type Property_Gtk_Position_Type is new Position_Type_Properties.Property; 576 type Property_Gtk_Toolbar_Style is new Toolbar_Style_Properties.Property; 577 type Property_Gtk_Button_Box_Style is new BBox_Style_Properties.Property; 578 type Property_Gtk_Justification is new Justification_Properties.Property; 579 type Property_Gtk_Orientation is new Orientation_Properties.Property; 580 type Property_Gtk_Window_Type is new Window_Type_Properties.Property; 581 type Property_Gtk_Window_Position is new 582 Window_Position_Properties.Property; 583 type Property_Gtk_Text_Direction is new Text_Direction_Properties.Property; 584 type Property_Gtk_Wrap_Mode is new Wrap_Mode_Properties.Property; 585 type Property_Gtk_Policy_Type is new Policy_Properties.Property; 586 type Property_Pack_Direction is new Pack_Direction_Properties.Property; 587 type Property_Sort_Type is new Sort_Type_Properties.Property; 588 type Property_Metric_Type is new Metric_Type_Properties.Property; 589 type Property_Pack_Type is new Pack_Type_Properties.Property; 590 type Property_Gtk_Icon_Size is new Icon_Size_Properties.Property; 591 type Property_Gtk_Selection_Mode is new Selection_Mode_Properties.Property; 592 type Property_Gtk_Sensitivity_Type is new Sensitivity_Properties.Property; 593 type Property_Gtk_Curve_Type is new Curve_Type_Properties.Property; 594 595 ----------------- 596 -- Obsolescent -- 597 ----------------- 598 -- All subprograms below are now obsolescent in gtk+. They might be removed 599 -- from future versions of gtk+ (and therefore GtkAda). 600 -- To find out whether your code uses any of these, we recommend compiling 601 -- with the -gnatwj switch 602 -- <doc_ignore> 603 604 type Gtk_Side_Type is (Side_Top, Side_Bottom, Side_Left, Side_Right); 605 -- pragma Obsolescent; 606 pragma Convention (C, Gtk_Side_Type); 607 608 type Gtk_Match_Type is 609 (Match_All, Match_All_Tail, Match_Head, Match_Tail, 610 Match_Exact, Match_Last); 611 -- pragma Obsolescent; 612 pragma Convention (C, Gtk_Match_Type); 613 614 type Gtk_Preview_Type is (Preview_Color, Preview_Grayscale); 615 -- pragma Obsolescent; 616 pragma Convention (C, Gtk_Preview_Type); 617 618 type Gtk_Submenu_Direction is (Direction_Left, Direction_Right); 619 -- pragma Obsolescent; 620 621 type Gtk_Submenu_Placement is (Top_Bottom, Left_Right); 622 -- pragma Obsolescent; 623 624 type Gtk_Toolbar_Space_Style is (Toolbar_Space_Empty, Toolbar_Space_Line); 625 -- pragma Obsolescent; 626 627 pragma Convention (C, Gtk_Toolbar_Space_Style); 628 629 package Toolbar_Space_Style_Properties is new 630 Generic_Internal_Discrete_Property (Gtk_Toolbar_Space_Style); 631 type Property_Toolbar_Space_Style is new 632 Toolbar_Space_Style_Properties.Property; 633 634 type Gtk_Tree_View_Mode is (Tree_View_Line, Tree_View_Item); 635 -- pragma Obsolescent; 636 637 pragma Convention (C, Gtk_Submenu_Direction); 638 pragma Convention (C, Gtk_Submenu_Placement); 639 pragma Convention (C, Gtk_Tree_View_Mode); 640 -- </doc_ignore> 641 642 -- These comments are for the sake of our automatic tool to check whether 643 -- the bindings are up-to-date. They indicate that the functions are part 644 -- of GtkAda itself, no gtk+ 645 -- External binding: convert_ui 646 -- External binding: convert_ua 647 -- External binding: convert_i 648 -- External binding: convert_a 649end Gtk.Enums; 650