Blame Widgets.src

Packit bd2e5d
%(***********************************************************************)
Packit bd2e5d
%(*                                                                     *)
Packit bd2e5d
%(*                 MLTk, Tcl/Tk interface of OCaml                     *)
Packit bd2e5d
%(*                                                                     *)
Packit bd2e5d
%(*    Francois Rouaix, Francois Pessaux, Jun Furuse and Pierre Weis    *)
Packit bd2e5d
%(*               projet Cristal, INRIA Rocquencourt                    *)
Packit bd2e5d
%(*            Jacques Garrigue, Kyoto University RIMS                  *)
Packit bd2e5d
%(*                                                                     *)
Packit bd2e5d
%(*  Copyright 2002 Institut National de Recherche en Informatique et   *)
Packit bd2e5d
%(*  en Automatique and Kyoto University.  All rights reserved.         *)
Packit bd2e5d
%(*  This file is distributed under the terms of the GNU Library        *)
Packit bd2e5d
%(*  General Public License, with the special exception on linking      *)
Packit bd2e5d
%(*  described in file LICENSE found in the OCaml source tree.          *)
Packit bd2e5d
%(*                                                                     *)
Packit bd2e5d
%(***********************************************************************)
Packit bd2e5d
Packit bd2e5d
%%%%%%%%%%%%%% Standard Tk8.0.3 Widgets and functions %%%%%%%%%%%%%%
Packit bd2e5d
type Widget external
Packit bd2e5d
Packit bd2e5d
% cget will probably never be implemented with verifications
Packit bd2e5d
function (string) cgets [widget; "cget"; string]
Packit bd2e5d
% another version with some hack is
Packit bd2e5d
type options_constrs external
Packit bd2e5d
function (string) cget [widget; "cget"; options_constrs]
Packit bd2e5d
% constructors of type options_constrs are of the form C<c>
Packit bd2e5d
% where <c> is an option constructor  (e.g. CBackground)
Packit bd2e5d
Packit bd2e5d
%%%%% Some types for standard options of widgets
Packit bd2e5d
type Anchor {
Packit bd2e5d
    NW ["nw"]       N ["n"]           NE ["ne"]
Packit bd2e5d
    W  ["w"]   Center ["center"]      E  ["e"]
Packit bd2e5d
    SW ["sw"]       S ["s"]           SE ["se"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type Bitmap external    % builtin_GetBitmap.ml
Packit bd2e5d
type Cursor external    % builtin_GetCursor.ml
Packit bd2e5d
type Color external     % builtin_GetCursor.ml
Packit bd2e5d
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
Packit bd2e5d
type ImageBitmap {
Packit bd2e5d
  BitmapImage [string]
Packit bd2e5d
  }
Packit bd2e5d
type ImagePhoto {
Packit bd2e5d
  PhotoImage [string]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
##else
Packit bd2e5d
Packit bd2e5d
variant type ImageBitmap {
Packit bd2e5d
  Bitmap [string]
Packit bd2e5d
  }
Packit bd2e5d
variant type ImagePhoto {
Packit bd2e5d
  Photo [string]
Packit bd2e5d
  }
Packit bd2e5d
variant type Image {
Packit bd2e5d
  Bitmap [string]
Packit bd2e5d
  Photo [string]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
type Justification {
Packit bd2e5d
   Justify_Left   ["left"]
Packit bd2e5d
   Justify_Center ["center"]
Packit bd2e5d
   Justify_Right  ["right"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type Orientation {
Packit bd2e5d
    Vertical ["vertical"]
Packit bd2e5d
    Horizontal ["horizontal"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type Relief {
Packit bd2e5d
   Raised ["raised"]
Packit bd2e5d
   Sunken ["sunken"]
Packit bd2e5d
   Flat   ["flat"]
Packit bd2e5d
   Ridge  ["ridge"]
Packit bd2e5d
   Solid  ["solid"]
Packit bd2e5d
   Groove ["groove"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type TextVariable external      % textvariable.ml
Packit bd2e5d
type Units external             % builtin_GetPixel.ml
Packit bd2e5d
Packit bd2e5d
%%%%% The standard options, as defined in man page options(n)
Packit bd2e5d
%%%%% The subtype is never used
Packit bd2e5d
subtype option(standard) {
Packit bd2e5d
   ActiveBackground             ["-activebackground"; Color]
Packit bd2e5d
   ActiveBorderWidth            ["-activeborderwidth"; Units/int]
Packit bd2e5d
   ActiveForeground             ["-activeforeground"; Color]
Packit bd2e5d
   Anchor                       ["-anchor"; Anchor]
Packit bd2e5d
   Background                   ["-background"; Color]
Packit bd2e5d
   Bitmap                       ["-bitmap"; Bitmap]
Packit bd2e5d
   BorderWidth                  ["-borderwidth"; Units/int]
Packit bd2e5d
   Cursor                       ["-cursor";  Cursor]
Packit bd2e5d
   DisabledForeground           ["-disabledforeground"; Color]
Packit bd2e5d
   ExportSelection              ["-exportselection"; bool]
Packit bd2e5d
   Font                         ["-font"; string]
Packit bd2e5d
   Foreground                   ["-foreground"; Color]
Packit bd2e5d
% Geometry is not one of standard options...
Packit bd2e5d
   Geometry                     ["-geometry"; string]  % Too variable to encode
Packit bd2e5d
   HighlightBackground          ["-highlightbackground"; Color]
Packit bd2e5d
   HighlightColor               ["-highlightcolor"; Color]
Packit bd2e5d
   HighlightThickness           ["-highlightthickness"; Units/int]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   % images are split, to do additionnal static typing
Packit bd2e5d
   ImageBitmap (ImageBitmap)    ["-image"; ImageBitmap]
Packit bd2e5d
   ImagePhoto  (ImagePhoto)    ["-image"; ImagePhoto]
Packit bd2e5d
##else
Packit bd2e5d
   Image                        ["-image"; Image]
Packit bd2e5d
##endif
Packit bd2e5d
   InsertBackground             ["-insertbackground"; Color]
Packit bd2e5d
   InsertBorderWidth            ["-insertborderwidth"; Units/int]
Packit bd2e5d
   InsertOffTime                ["-insertofftime"; int]   % Positive only
Packit bd2e5d
   InsertOnTime                 ["-insertontime"; int]    % Idem
Packit bd2e5d
   InsertWidth                  ["-insertwidth"; Units/int]
Packit bd2e5d
   Jump                         ["-jump"; bool]
Packit bd2e5d
   Justify                      ["-justify"; Justification]
Packit bd2e5d
   Orient                       ["-orient"; Orientation]
Packit bd2e5d
   PadX                         ["-padx"; Units/int]
Packit bd2e5d
   PadY                         ["-pady"; Units/int]
Packit bd2e5d
   Relief                       ["-relief"; Relief]
Packit bd2e5d
   RepeatDelay                  ["-repeatdelay"; int]
Packit bd2e5d
   RepeatInterval               ["-repeatinterval"; int]
Packit bd2e5d
   SelectBackground             ["-selectbackground"; Color]
Packit bd2e5d
   SelectBorderWidth            ["-selectborderwidth"; Units/int]
Packit bd2e5d
   SelectForeground             ["-selectforeground"; Color]
Packit bd2e5d
   SetGrid                      ["-setgrid"; bool]
Packit bd2e5d
   % incomplete description of TakeFocus
Packit bd2e5d
   TakeFocus                    ["-takefocus"; bool]
Packit bd2e5d
   Text                         ["-text"; string]
Packit bd2e5d
   TextVariable                 ["-textvariable"; TextVariable]
Packit bd2e5d
   TroughColor                  ["-troughcolor"; Color]
Packit bd2e5d
   UnderlinedChar               ["-underline"; int]
Packit bd2e5d
   WrapLength                   ["-wraplength"; Units/int]
Packit bd2e5d
   XScrollCommand               ["-xscrollcommand"; function(first:float, last:float)]
Packit bd2e5d
   YScrollCommand               ["-yscrollcommand"; function(first:float, last:float)]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
%%%% Some other common types
Packit bd2e5d
type Index external   % builtin_index.ml
Packit bd2e5d
type sequence ScrollValue external   % builtin_ScrollValue.ml
Packit bd2e5d
% type sequence ScrollValue {
Packit bd2e5d
%   MoveTo ["moveto"; float]
Packit bd2e5d
%   ScrollUnit ["scroll"; int; "unit"]
Packit bd2e5d
%   ScrollPage ["scroll"; int; "page"]
Packit bd2e5d
%   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% bell(n)
Packit bd2e5d
module Bell {
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
  function () ring ["bell"; ?displayof:["-displayof"; widget]]
Packit bd2e5d
  function () ring_displayof ["bell"; "-displayof" ; displayof: widget]
Packit bd2e5d
##else
Packit bd2e5d
  function () ring ["bell"; ?displayof:["-displayof"; widget]]
Packit bd2e5d
##endif
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
%%%%% bind(n)
Packit bd2e5d
% builtin_bind.ml
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% bindtags(n)
Packit bd2e5d
%type Bindings {
Packit bd2e5d
%   TagBindings [string]
Packit bd2e5d
%   WidgetBindings [widget]
Packit bd2e5d
%   }
Packit bd2e5d
Packit bd2e5d
type Bindings external
Packit bd2e5d
Packit bd2e5d
function () bindtags ["bindtags"; widget; [bindings: Bindings list]]
Packit bd2e5d
function (Bindings list) bindtags_get ["bindtags"; widget]
Packit bd2e5d
Packit bd2e5d
%%%%% bitmap(n)
Packit bd2e5d
subtype option(bitmapimage) {
Packit bd2e5d
  Background
Packit bd2e5d
  Data ["-data"; string]
Packit bd2e5d
  File ["-file"; string]
Packit bd2e5d
  Foreground
Packit bd2e5d
  Maskdata ["-maskdata"; string]
Packit bd2e5d
  Maskfile ["-maskfile"; string]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
module Imagebitmap {
Packit bd2e5d
  function (ImageBitmap) create ["image"; "create"; "bitmap"; ?name:[ImageBitmap]; option(bitmapimage) list]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
  function (ImageBitmap) create_named ["image"; "create"; "bitmap"; ImageBitmap; option(bitmapimage) list]
Packit bd2e5d
##endif
Packit bd2e5d
  function () delete ["image"; "delete"; ImageBitmap]
Packit bd2e5d
  function (int) height ["image"; "height"; ImageBitmap]
Packit bd2e5d
  function (int) width ["image"; "width"; ImageBitmap]
Packit bd2e5d
  function () configure [ImageBitmap; "configure"; option(bitmapimage) list]
Packit bd2e5d
  function (string) configure_get [ImageBitmap; "configure"]
Packit bd2e5d
  % Functions inherited from the "image" TK class
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
%%%%% button(n)
Packit bd2e5d
Packit bd2e5d
type State {
Packit bd2e5d
   Normal ["normal"]
Packit bd2e5d
   Active ["active"]
Packit bd2e5d
   Disabled ["disabled"]
Packit bd2e5d
   Hidden ["hidden"]                           % introduced in tk8.3, requested for Syndex
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
widget button {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option ActiveBackground
Packit bd2e5d
   option ActiveForeground
Packit bd2e5d
   option Anchor
Packit bd2e5d
   option Background
Packit bd2e5d
   option Bitmap
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option DisabledForeground
Packit bd2e5d
   option Font
Packit bd2e5d
   option Foreground
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   option ImageBitmap
Packit bd2e5d
   option ImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   option Image
Packit bd2e5d
##endif
Packit bd2e5d
   option Justify
Packit bd2e5d
   option PadX
Packit bd2e5d
   option PadY
Packit bd2e5d
   option Relief
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   option Text
Packit bd2e5d
   option TextVariable
Packit bd2e5d
   option UnderlinedChar
Packit bd2e5d
   option WrapLength
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option Command ["-command"; function ()]
Packit bd2e5d
   option Default ["-default"; State]
Packit bd2e5d
   option Height ["-height"; Units/int]
Packit bd2e5d
   option State ["-state"; State]
Packit bd2e5d
   option Width ["-width"; Units/int]
Packit bd2e5d
Packit bd2e5d
   function ()  configure [widget(button); "configure"; option(button) list]
Packit bd2e5d
   function (string) configure_get [widget(button); "configure"]
Packit bd2e5d
   function () flash [widget(button); "flash"]
Packit bd2e5d
   function () invoke [widget(button); "invoke"]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%%% canvas(n)
Packit bd2e5d
% Item ids and tags
Packit bd2e5d
type TagOrId {
Packit bd2e5d
  Tag [string]
Packit bd2e5d
  Id  [int]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
% Indices: defined internally
Packit bd2e5d
% subtype Index(canvas) {
Packit bd2e5d
%   Number End Insert SelFirst SelLast AtXY
Packit bd2e5d
%   }
Packit bd2e5d
Packit bd2e5d
type SearchSpec {
Packit bd2e5d
  Above ["above"; TagOrId]
Packit bd2e5d
  All   ["all"]
Packit bd2e5d
  Below ["below"; TagOrId]
Packit bd2e5d
  Closest ["closest"; Units/int; Units/int]
Packit bd2e5d
  ClosestHalo (Closesthalo) ["closest"; Units/int; Units/int; Units/int]
Packit bd2e5d
  ClosestHaloStart (Closesthalostart) ["closest"; Units/int; Units/int; Units/int; TagOrId]
Packit bd2e5d
  Enclosed ["enclosed"; Units/int;Units/int;Units/int;Units/int]
Packit bd2e5d
  Overlapping ["overlapping"; int;int;int;int]
Packit bd2e5d
  Withtag ["withtag"; TagOrId]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type ColorMode {
Packit bd2e5d
   Color ["color"]
Packit bd2e5d
   Gray ["gray"]
Packit bd2e5d
   Mono ["mono"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
subtype option(postscript) {
Packit bd2e5d
   % Cannot support this without array variables
Packit bd2e5d
   % Colormap ["-colormap"; TextVariable]
Packit bd2e5d
   Colormode ["-colormode"; ColorMode]
Packit bd2e5d
   File ["-file"; string]
Packit bd2e5d
   % Fontmap ["-fontmap"; TextVariable]
Packit bd2e5d
   Height
Packit bd2e5d
   PageAnchor ["-pageanchor"; Anchor]
Packit bd2e5d
   PageHeight ["-pageheight"; Units/int]
Packit bd2e5d
   PageWidth ["-pagewidth"; Units/int]
Packit bd2e5d
   PageX ["-pagex"; Units/int]
Packit bd2e5d
   PageY ["-pagey"; Units/int]
Packit bd2e5d
   Rotate ["-rotate"; bool]
Packit bd2e5d
   Width
Packit bd2e5d
   X ["-x"; Units/int]
Packit bd2e5d
   Y ["-y"; Units/int]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
% Arc item configuration
Packit bd2e5d
type ArcStyle {
Packit bd2e5d
   Arc ["arc"]
Packit bd2e5d
   Chord ["chord"]
Packit bd2e5d
   PieSlice ["pieslice"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
subtype option(arc) {
Packit bd2e5d
   Extent ["-extent"; float]
Packit bd2e5d
   Dash ["-dash"; string]
Packit bd2e5d
   % Fill is used by packer
Packit bd2e5d
   FillColor ["-fill"; Color]
Packit bd2e5d
   Outline ["-outline"; Color]
Packit bd2e5d
   OutlineStipple ["-outlinestipple"; Bitmap]
Packit bd2e5d
   Start ["-start"; float]
Packit bd2e5d
   Stipple ["-stipple"; Bitmap]
Packit bd2e5d
   ArcStyle ["-style"; ArcStyle]
Packit bd2e5d
   Tags ["-tags"; [TagOrId/string list]]
Packit bd2e5d
   Width
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
% Bitmap item configuration
Packit bd2e5d
subtype option(bitmap) {
Packit bd2e5d
   Anchor
Packit bd2e5d
   Background
Packit bd2e5d
   Bitmap
Packit bd2e5d
   Foreground
Packit bd2e5d
   Tags
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
% Image item configuration
Packit bd2e5d
subtype option(image) {
Packit bd2e5d
   Anchor
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   ImagePhoto
Packit bd2e5d
   ImageBitmap
Packit bd2e5d
##else
Packit bd2e5d
   Image
Packit bd2e5d
##endif
Packit bd2e5d
   Tags
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
% Line item configuration
Packit bd2e5d
type ArrowStyle {
Packit bd2e5d
   Arrow_None ["none"]
Packit bd2e5d
   Arrow_First ["first"]
Packit bd2e5d
   Arrow_Last ["last"]
Packit bd2e5d
   Arrow_Both ["both"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type CapStyle {
Packit bd2e5d
   Cap_Butt ["butt"]
Packit bd2e5d
   Cap_Projecting ["projecting"]
Packit bd2e5d
   Cap_Round ["round"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type JoinStyle {
Packit bd2e5d
   Join_Bevel ["bevel"]
Packit bd2e5d
   Join_Miter ["miter"]
Packit bd2e5d
   Join_Round ["round"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
subtype option(line) {
Packit bd2e5d
   ArrowStyle ["-arrow"; ArrowStyle]
Packit bd2e5d
   ArrowShape ["-arrowshape"; [Units/int; Units/int; Units/int]]
Packit bd2e5d
   CapStyle ["-capstyle"; CapStyle]
Packit bd2e5d
   Dash
Packit bd2e5d
   FillColor
Packit bd2e5d
   JoinStyle ["-joinstyle"; JoinStyle]
Packit bd2e5d
   Smooth ["-smooth"; bool]
Packit bd2e5d
   SplineSteps ["-splinesteps"; int]
Packit bd2e5d
   Stipple
Packit bd2e5d
   Tags
Packit bd2e5d
   Width
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
% Oval item configuration
Packit bd2e5d
subtype option(oval) {
Packit bd2e5d
   Dash FillColor Outline Stipple Tags Width
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
% Polygon item configuration
Packit bd2e5d
subtype option(polygon) {
Packit bd2e5d
   Dash FillColor Outline Smooth SplineSteps
Packit bd2e5d
   Stipple Tags Width
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
% Rectangle item configuration
Packit bd2e5d
subtype option(rectangle) {
Packit bd2e5d
   Dash FillColor Outline Stipple Tags Width
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
% Text item configuration
Packit bd2e5d
Packit bd2e5d
##ifndef CAMLTK
Packit bd2e5d
% Only for Labltk. CanvasTextState is unified as State in Camltk
Packit bd2e5d
type CanvasTextState {
Packit bd2e5d
   Normal ["normal"]
Packit bd2e5d
   Disabled ["disabled"]
Packit bd2e5d
   Hidden ["hidden"]
Packit bd2e5d
}
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
subtype option(canvastext) {
Packit bd2e5d
   Anchor FillColor Font Justify
Packit bd2e5d
   Stipple Tags Text Width
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   State                                       % introduced in tk8.3, requested for Syndex
Packit bd2e5d
##else
Packit bd2e5d
   CanvasTextState ["-state"; CanvasTextState] % introduced in tk8.3, requested for Syndex
Packit bd2e5d
##endif
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
% Window item configuration
Packit bd2e5d
subtype option(window) {
Packit bd2e5d
   Anchor Height Tags Width
Packit bd2e5d
   Window ["-window"; widget]
Packit bd2e5d
   Dash
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
% Types of items
Packit bd2e5d
type CanvasItem {
Packit bd2e5d
   Arc_item ["arc"]
Packit bd2e5d
   Bitmap_item ["bitmap"]
Packit bd2e5d
   Image_item ["image"]
Packit bd2e5d
   Line_item ["line"]
Packit bd2e5d
   Oval_item ["oval"]
Packit bd2e5d
   Polygon_item ["polygon"]
Packit bd2e5d
   Rectangle_item ["rectangle"]
Packit bd2e5d
   Text_item ["text"]
Packit bd2e5d
   Window_item ["window"]
Packit bd2e5d
   User_item [string]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
widget canvas {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option Background
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
   option InsertBackground
Packit bd2e5d
   option InsertBorderWidth
Packit bd2e5d
   option InsertOffTime
Packit bd2e5d
   option InsertOnTime
Packit bd2e5d
   option InsertWidth
Packit bd2e5d
   option Relief
Packit bd2e5d
   option SelectBackground
Packit bd2e5d
   option SelectBorderWidth
Packit bd2e5d
   option SelectForeground
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   option XScrollCommand
Packit bd2e5d
   option YScrollCommand
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option CloseEnough ["-closeenough"; float]
Packit bd2e5d
   option Confine ["-confine"; bool]
Packit bd2e5d
   option Height ["-height"; Units/int]
Packit bd2e5d
   option ScrollRegion ["-scrollregion"; [Units/int;Units/int;Units/int;Units/int]]
Packit bd2e5d
   option Width ["-width"; Units/int]
Packit bd2e5d
   option XScrollIncrement ["-xscrollincrement"; Units/int]
Packit bd2e5d
   option YScrollIncrement ["-yscrollincrement"; Units/int]
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
   function () addtag [widget(canvas); "addtag"; tag: TagOrId/string; specs: SearchSpec list]     % Tag only
Packit bd2e5d
   % bbox not fully supported. should be builtin because of ambiguous result
Packit bd2e5d
   % will raise Protocol.TkError if no items match TagOrId
Packit bd2e5d
   function (int,int,int,int) bbox [widget(canvas); "bbox"; TagOrId list]
Packit bd2e5d
   external bind "builtin/canvas_bind"
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function (float) canvasx [widget(canvas); "canvasx"; ?spacing:[Units]; Units]
Packit bd2e5d
   function (float) canvasy [widget(canvas); "canvasy"; ?spacing:[Units]; Units]
Packit bd2e5d
   function (float) canvasx_grid [widget(canvas); "canvasx"; Units; Units]
Packit bd2e5d
   function (float) canvasy_grid [widget(canvas); "canvasy"; Units; Units]
Packit bd2e5d
##else
Packit bd2e5d
   function (float) canvasx [widget(canvas); "canvasx"; x:int; ?spacing:[int]]
Packit bd2e5d
   function (float) canvasy [widget(canvas); "canvasy"; y:int; ?spacing:[int]]
Packit bd2e5d
##endif
Packit bd2e5d
   function () configure [widget(canvas); "configure"; option(canvas) list]
Packit bd2e5d
   function (string) configure_get [widget(canvas); "configure"]
Packit bd2e5d
   % TODO: check result
Packit bd2e5d
   function (float list) coords_get [widget(canvas); "coords"; TagOrId]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function () coords_set [widget(canvas); "coords"; TagOrId; xys: Units list]
Packit bd2e5d
##else
Packit bd2e5d
   function () coords_set [widget(canvas); "coords"; TagOrId; xys: {int, int} list]
Packit bd2e5d
##endif
Packit bd2e5d
   % create variations (see below)
Packit bd2e5d
   function () dchars [widget(canvas); "dchars"; TagOrId; first: Index(canvas); last: Index(canvas)]
Packit bd2e5d
   function () delete [widget(canvas); "delete"; TagOrId list]
Packit bd2e5d
   function () dtag [widget(canvas); "dtag"; TagOrId; tag: TagOrId/string]
Packit bd2e5d
   function (TagOrId list) find [widget(canvas); "find"; specs: SearchSpec list]
Packit bd2e5d
   % focus variations
Packit bd2e5d
   function () focus_reset [widget(canvas); "focus"; ""]
Packit bd2e5d
   function (TagOrId) focus_get [widget(canvas); "focus"]
Packit bd2e5d
   function () focus [widget(canvas); "focus"; TagOrId]
Packit bd2e5d
   function (TagOrId/string list) gettags [widget(canvas); "gettags"; TagOrId]
Packit bd2e5d
   function () icursor [widget(canvas); "icursor"; TagOrId; index: Index(canvas)]
Packit bd2e5d
   function (int) index [widget(canvas); "index"; TagOrId; index: Index(canvas)]
Packit bd2e5d
   function () insert [widget(canvas); "insert"; TagOrId; before: Index(canvas); text: string]
Packit bd2e5d
   % itemcget, itemconfigure are defined later
Packit bd2e5d
   function () lower [widget(canvas); "lower"; TagOrId; ?below: [TagOrId]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function () lower_below [widget(canvas); "lower"; TagOrId; TagOrId]
Packit bd2e5d
   function () lower_bot   [widget(canvas); "lower"; TagOrId]
Packit bd2e5d
##endif
Packit bd2e5d
   function () move [widget(canvas); "move"; TagOrId; x: Units/int; y: Units/int]
Packit bd2e5d
   unsafe function (string) postscript [widget(canvas); "postscript"; option(postscript) list]
Packit bd2e5d
   % We use raise with Module name
Packit bd2e5d
   function () raise [widget(canvas); "raise"; TagOrId; ?above:[TagOrId]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function () raise_above [widget(canvas); "raise"; TagOrId; TagOrId]
Packit bd2e5d
   function () raise_top [widget(canvas); "raise"; TagOrId]
Packit bd2e5d
##endif
Packit bd2e5d
   function () scale [widget(canvas); "scale"; TagOrId; xorigin: Units/int; yorigin: Units/int; xscale: float; yscale: float]
Packit bd2e5d
   % For scan, use x:int and y:int since common usage is with mouse coordinates
Packit bd2e5d
   function () scan_mark [widget(canvas); "scan"; "mark"; x: int; y: int]
Packit bd2e5d
   function () scan_dragto [widget(canvas); "scan"; "dragto"; x: int; y: int]
Packit bd2e5d
   % select variations
Packit bd2e5d
   function () select_adjust [widget(canvas); "select"; "adjust"; TagOrId; index: Index(canvas)]
Packit bd2e5d
   function () select_clear [widget(canvas); "select"; "clear"]
Packit bd2e5d
   function () select_from [widget(canvas); "select"; "from"; TagOrId; index: Index(canvas)]
Packit bd2e5d
   function (TagOrId) select_item [widget(canvas); "select"; "item"]
Packit bd2e5d
   function () select_to  [widget(canvas); "select"; "to"; TagOrId; index: Index(canvas)]
Packit bd2e5d
Packit bd2e5d
   function (CanvasItem) typeof [widget(canvas); "type"; TagOrId]
Packit bd2e5d
   function (float,float) xview_get [widget(canvas); "xview"]
Packit bd2e5d
   function (float,float) yview_get [widget(canvas); "yview"]
Packit bd2e5d
   function () xview [widget(canvas); "xview"; scroll: ScrollValue]
Packit bd2e5d
   function () yview [widget(canvas); "yview"; scroll: ScrollValue]
Packit bd2e5d
Packit bd2e5d
   % create and configure variations
Packit bd2e5d
   function (TagOrId) create_arc [widget(canvas); "create"; "arc"; x1: Units/int; y1: Units/int; x2: Units/int; y2: Units/int; option(arc) list]
Packit bd2e5d
   function (TagOrId) create_bitmap [widget(canvas); "create"; "bitmap"; x: Units/int; y: Units/int; option(bitmap) list]
Packit bd2e5d
   function (TagOrId) create_image [widget(canvas); "create"; "image"; x: Units/int; y: Units/int; option(image) list]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function (TagOrId) create_line [widget(canvas); "create"; "line"; Units list; option(line) list]
Packit bd2e5d
   function (TagOrId) create_polygon [widget(canvas); "create"; "polygon"; Units list; option(polygon) list]
Packit bd2e5d
##else
Packit bd2e5d
   function (TagOrId) create_line [widget(canvas); "create"; "line"; xys: {int, int} list; option(line) list]
Packit bd2e5d
   function (TagOrId) create_polygon [widget(canvas); "create"; "polygon"; xys: {int, int} list; option(polygon) list]
Packit bd2e5d
##endif
Packit bd2e5d
   function (TagOrId) create_oval [widget(canvas); "create"; "oval"; x1: Units/int; y1: Units/int; x2: Units/int; y2: Units/int; option(oval) list]
Packit bd2e5d
   function (TagOrId) create_rectangle [widget(canvas); "create"; "rectangle"; x1: Units/int; y1: Units/int; x2: Units/int; y2: Units/int; option(rectangle) list]
Packit bd2e5d
   function (TagOrId) create_text [widget(canvas); "create"; "text"; x: Units/int; y: Units/int; option(canvastext) list]
Packit bd2e5d
   function (TagOrId) create_window [widget(canvas); "create"; "window"; x: Units/int; y: Units/int; option(window) list]
Packit bd2e5d
Packit bd2e5d
   function (string) itemconfigure_get [widget(canvas); "itemconfigure"; TagOrId]
Packit bd2e5d
Packit bd2e5d
   function () configure_arc [widget(canvas); "itemconfigure"; TagOrId; option(arc) list]
Packit bd2e5d
   function () configure_bitmap [widget(canvas); "itemconfigure"; TagOrId; option(bitmap) list]
Packit bd2e5d
   function () configure_image [widget(canvas); "itemconfigure"; TagOrId; option(image) list]
Packit bd2e5d
   function () configure_line [widget(canvas); "itemconfigure"; TagOrId; option(line) list]
Packit bd2e5d
   function () configure_oval [widget(canvas); "itemconfigure"; TagOrId; option(oval) list]
Packit bd2e5d
   function () configure_polygon [widget(canvas); "itemconfigure"; TagOrId; option(polygon) list]
Packit bd2e5d
   function () configure_rectangle [widget(canvas); "itemconfigure"; TagOrId; option(rectangle) list]
Packit bd2e5d
   function () configure_text [widget(canvas); "itemconfigure"; TagOrId; option(canvastext) list]
Packit bd2e5d
   function () configure_window [widget(canvas); "itemconfigure"; TagOrId; option(window) list]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% checkbutton(n)
Packit bd2e5d
widget checkbutton {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option ActiveBackground
Packit bd2e5d
   option ActiveForeground
Packit bd2e5d
   option Anchor
Packit bd2e5d
   option Background
Packit bd2e5d
   option Bitmap
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option DisabledForeground
Packit bd2e5d
   option Font
Packit bd2e5d
   option Foreground
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   option ImageBitmap
Packit bd2e5d
   option ImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   option Image
Packit bd2e5d
##endif
Packit bd2e5d
   option Justify
Packit bd2e5d
   option PadX
Packit bd2e5d
   option PadY
Packit bd2e5d
   option Relief
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   option Text
Packit bd2e5d
   option TextVariable
Packit bd2e5d
   option UnderlinedChar
Packit bd2e5d
   option WrapLength
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option Command
Packit bd2e5d
   option Height
Packit bd2e5d
   option IndicatorOn ["-indicatoron"; bool]
Packit bd2e5d
   option OffValue ["-offvalue"; string]
Packit bd2e5d
   option OnValue  ["-onvalue"; string]
Packit bd2e5d
   option SelectColor ["-selectcolor"; Color]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   option SelectImageBitmap (SelectImageBitmap) ["-selectimage"; ImageBitmap]
Packit bd2e5d
   option SelectImagePhoto (SelectImagePhoto) ["-selectimage"; ImagePhoto]
Packit bd2e5d
##else
Packit bd2e5d
   option SelectImage ["-selectimage"; Image]
Packit bd2e5d
##endif
Packit bd2e5d
   option State
Packit bd2e5d
   option Variable ["-variable"; TextVariable]
Packit bd2e5d
   option Width
Packit bd2e5d
Packit bd2e5d
   function () configure [widget(checkbutton); "configure"; option(checkbutton) list]
Packit bd2e5d
   function (string) configure_get [widget(checkbutton); "configure"]
Packit bd2e5d
   function () deselect [widget(checkbutton);  "deselect"]
Packit bd2e5d
   function () flash [widget(checkbutton); "flash"]
Packit bd2e5d
   function () invoke [widget(checkbutton); "invoke"]
Packit bd2e5d
   function () select [widget(checkbutton); "select"]
Packit bd2e5d
   function () toggle [widget(checkbutton); "toggle"]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
%%%%% clipboard(n)
Packit bd2e5d
subtype icccm(clipboard_append) {
Packit bd2e5d
  ICCCMFormat ["-format"; string]
Packit bd2e5d
  ICCCMType ["-type"; string]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
module Clipboard {
Packit bd2e5d
  function () clear ["clipboard"; "clear"; ?displayof:["-displayof"; widget]]
Packit bd2e5d
  function () append ["clipboard"; "append"; ?displayof:["-displayof"; widget]; icccm(clipboard_append) list; "--"; data: string]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
%%%%% destroy(n)
Packit bd2e5d
function () destroy ["destroy"; widget]
Packit bd2e5d
Packit bd2e5d
%%%%% tk_dialog(n)
Packit bd2e5d
module Dialog {
Packit bd2e5d
  external create "builtin/dialog"
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
%%%%% entry(n)
Packit bd2e5d
% Defined internally
Packit bd2e5d
% subtype Index(entry) {
Packit bd2e5d
%    Number End Insert SelFirst SelLast At AnchorPoint
Packit bd2e5d
% }
Packit bd2e5d
Packit bd2e5d
##ifndef CAMLTK
Packit bd2e5d
% Only for Labltk. InputState is unified as State in Camltk
Packit bd2e5d
type InputState {
Packit bd2e5d
   Normal ["normal"]
Packit bd2e5d
   Disabled ["disabled"]
Packit bd2e5d
}
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
widget entry {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option Background
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option ExportSelection
Packit bd2e5d
   option Font
Packit bd2e5d
   option Foreground
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
   option InsertBackground
Packit bd2e5d
   option InsertBorderWidth
Packit bd2e5d
   option InsertOffTime
Packit bd2e5d
   option InsertOnTime
Packit bd2e5d
   option InsertWidth
Packit bd2e5d
   option Justify
Packit bd2e5d
   option Relief
Packit bd2e5d
   option SelectBackground
Packit bd2e5d
   option SelectBorderWidth
Packit bd2e5d
   option SelectForeground
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   option TextVariable
Packit bd2e5d
   option XScrollCommand
Packit bd2e5d
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option Show ["-show"; char]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   option State
Packit bd2e5d
##else
Packit bd2e5d
   option EntryState ["-state"; InputState]
Packit bd2e5d
##endif
Packit bd2e5d
   option TextWidth (Textwidth) ["-width"; int]
Packit bd2e5d
Packit bd2e5d
   function (int,int,int,int) bbox [widget(entry); "bbox"; Index(entry)]
Packit bd2e5d
   function () configure [widget(entry); "configure"; option(entry) list]
Packit bd2e5d
   function (string) configure_get [widget(entry); "configure"]
Packit bd2e5d
   function () delete_single [widget(entry); "delete"; index: Index(entry)]
Packit bd2e5d
   function () delete_range [widget(entry); "delete"; start: Index(entry); stop: Index(entry)]
Packit bd2e5d
   function (string) get [widget(entry); "get"]
Packit bd2e5d
   function () icursor [widget(entry); "icursor"; index: Index(entry)]
Packit bd2e5d
   function (int) index [widget(entry); "index"; index: Index(entry)]
Packit bd2e5d
   function () insert [widget(entry); "insert"; index: Index(entry); text: string]
Packit bd2e5d
   function () scan_mark [widget(entry); "scan"; "mark"; x: int]
Packit bd2e5d
   function () scan_dragto [widget(entry); "scan"; "dragto"; x: int]
Packit bd2e5d
   % selection variation
Packit bd2e5d
   function () selection_adjust [widget(entry); "selection"; "adjust"; index: Index(entry)]
Packit bd2e5d
   function () selection_clear [widget(entry); "selection"; "clear"]
Packit bd2e5d
   function () selection_from [widget(entry); "selection"; "from"; index: Index(entry)]
Packit bd2e5d
   function (bool) selection_present [widget(entry); "selection"; "present"]
Packit bd2e5d
   function () selection_range [widget(entry); "selection"; "range"; start: Index(entry) ; stop: Index(entry)]
Packit bd2e5d
   function () selection_to [widget(entry); "selection"; "to"; index: Index(entry)]
Packit bd2e5d
Packit bd2e5d
   function (float,float) xview_get [widget(entry); "xview"]
Packit bd2e5d
   function () xview [widget(entry); "xview"; scroll: ScrollValue]
Packit bd2e5d
   function () xview_index [widget(entry); "xview"; index: Index(entry)]
Packit bd2e5d
   function (float, float) xview_get [widget(entry); "xview"]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% focus(n)
Packit bd2e5d
%%%%% tk_focusNext(n)
Packit bd2e5d
module Focus {
Packit bd2e5d
  unsafe function (widget) get ["focus"; ?displayof:["-displayof"; widget]]
Packit bd2e5d
  unsafe function (widget) displayof ["focus"; "-displayof"; widget]
Packit bd2e5d
  function () set ["focus"; widget]
Packit bd2e5d
  function () force ["focus"; "-force"; widget]
Packit bd2e5d
  unsafe function (widget) lastfor ["focus"; "-lastfor"; widget]
Packit bd2e5d
  unsafe function (widget) next ["tk_focusNext"; widget]
Packit bd2e5d
  unsafe function (widget) prev ["tk_focusPrev"; widget]
Packit bd2e5d
  function () follows_mouse ["tk_focusFollowsMouse"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type font external % builtin/builtin_font.ml
Packit bd2e5d
Packit bd2e5d
type weight {
Packit bd2e5d
  Weight_Normal(Normal)         ["normal"]
Packit bd2e5d
  Weight_Bold(Bold)             ["bold"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type slant {
Packit bd2e5d
  Slant_Roman(Roman)            ["roman"]
Packit bd2e5d
  Slant_Italic(Italic)          ["italic"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type fontMetrics {
Packit bd2e5d
  Ascent ["-ascent"]
Packit bd2e5d
  Descent ["-descent"]
Packit bd2e5d
  Linespace ["-linespace"]
Packit bd2e5d
  Fixed ["-fixed"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
subtype options(font) {
Packit bd2e5d
  Font_Family   ["-family"; string]
Packit bd2e5d
  Font_Size             ["-size"; int]
Packit bd2e5d
  Font_Weight   ["-weight"; weight]
Packit bd2e5d
  Font_Slant            ["-slant"; slant]
Packit bd2e5d
  Font_Underline        ["-underline"; bool]
Packit bd2e5d
  Font_Overstrike       ["-overstrike"; bool]
Packit bd2e5d
% later, JP only
Packit bd2e5d
% Charset                       ["-charset"; string]
Packit bd2e5d
%% Beware of the order of Compound ! Put it as the first option
Packit bd2e5d
% Compound                      ["-compound"; [font list]]
Packit bd2e5d
% Copy                          ["-copy"; string]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
module Font {
Packit bd2e5d
  function (string) actual_family ["font"; "actual"; font;
Packit bd2e5d
                                   ?displayof:["-displayof"; widget];
Packit bd2e5d
                                   "-family"]
Packit bd2e5d
  function (int) actual_size ["font"; "actual"; font;
Packit bd2e5d
                                   ?displayof:["-displayof"; widget];
Packit bd2e5d
                                   "-size"]
Packit bd2e5d
  function (string) actual_weight ["font"; "actual"; font;
Packit bd2e5d
                                   ?displayof:["-displayof"; widget];
Packit bd2e5d
                                   "-weight"]
Packit bd2e5d
  function (string) actual_slant ["font"; "actual"; font;
Packit bd2e5d
                                   ?displayof:["-displayof"; widget];
Packit bd2e5d
                                   "-slant"]
Packit bd2e5d
  function (bool) actual_underline ["font"; "actual"; font;
Packit bd2e5d
                                   ?displayof:["-displayof"; widget];
Packit bd2e5d
                                   "-underline"]
Packit bd2e5d
  function (bool) actual_overstrike ["font"; "actual"; font;
Packit bd2e5d
                                   ?displayof:["-displayof"; widget];
Packit bd2e5d
                                   "-overstrike"]
Packit bd2e5d
Packit bd2e5d
  function () configure ["font"; "configure"; font; options(font) list]
Packit bd2e5d
  function (font) create ["font"; "create"; ?name:[string]; options(font) list]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
  function (font) create_named ["font"; "create"; string; options(font) list]
Packit bd2e5d
##endif
Packit bd2e5d
  function () delete ["font"; "delete"; font]
Packit bd2e5d
  function (string list) families ["font"; "families";
Packit bd2e5d
                                ?displayof:["-displayof"; widget]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
  function (string list) families_displayof ["font"; "families";
Packit bd2e5d
                                                "-displayof"; widget]
Packit bd2e5d
##endif
Packit bd2e5d
  function (int) measure ["font"; "measure"; font; string;
Packit bd2e5d
                                ?displayof:["-displayof"; widget]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
  function (int) measure_displayof ["font"; "measure"; font;
Packit bd2e5d
                                    "-displayof"; widget; string ]
Packit bd2e5d
##endif
Packit bd2e5d
  function (int) metrics ["font"; "metrics"; font;
Packit bd2e5d
                                ?displayof:["-displayof"; widget];
Packit bd2e5d
                                fontMetrics ]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
  function (int) metrics_displayof ["font"; "metrics"; font;
Packit bd2e5d
                                    "-displayof"; widget;
Packit bd2e5d
                                    fontMetrics ]
Packit bd2e5d
##endif
Packit bd2e5d
  function (string list) names ["font"; "names"]
Packit bd2e5d
% JP
Packit bd2e5d
%  function () failsafe ["font"; "failsafe"; string]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
%%%%% frame(n)
Packit bd2e5d
type Colormap {
Packit bd2e5d
  NewColormap (New) ["new"]
Packit bd2e5d
  WidgetColormap (Widget) [widget]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
% Visual classes are: directcolor, grayscale, greyscale, pseudocolor,
Packit bd2e5d
%                     staticcolor, staticgray, staticgrey, truecolor
Packit bd2e5d
type Visual {
Packit bd2e5d
  ClassVisual (Clas) [[string; int]]
Packit bd2e5d
  DefaultVisual ["default"]
Packit bd2e5d
  WidgetVisual (Widget) [widget]
Packit bd2e5d
  BestDepth (Bestdepth) [["best"; int]]
Packit bd2e5d
  Best ["best"]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
widget frame {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
   option Relief
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option Background
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   option Class  ["-class"; string]
Packit bd2e5d
##else
Packit bd2e5d
   option Clas  ["-class"; string]
Packit bd2e5d
##endif
Packit bd2e5d
   option Colormap ["-colormap"; Colormap]
Packit bd2e5d
   option Container ["-container"; bool]
Packit bd2e5d
   option Height
Packit bd2e5d
   option Visual ["-visual"; Visual]
Packit bd2e5d
   option Width
Packit bd2e5d
Packit bd2e5d
   % Class and Colormap and Visual cannot be changed
Packit bd2e5d
   function () configure [widget(frame); "configure"; option(frame) list]
Packit bd2e5d
   function (string) configure_get [widget(frame); "configure"]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% grab(n)
Packit bd2e5d
type GrabStatus {
Packit bd2e5d
   GrabNone ["none"]
Packit bd2e5d
   GrabLocal ["local"]
Packit bd2e5d
   GrabGlobal ["global"]
Packit bd2e5d
}
Packit bd2e5d
type GrabGlobal external
Packit bd2e5d
module Grab {
Packit bd2e5d
   function () set ["grab"; "set"; ?global:[GrabGlobal]; widget]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function () set_global ["grab"; "set"; "-global"; widget]
Packit bd2e5d
##endif
Packit bd2e5d
   unsafe function (widget list) current ["grab"; "current"; ?displayof:[widget]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   % all_current is now current.
Packit bd2e5d
   % The old current is now current_of
Packit bd2e5d
   unsafe function (widget list) current_of ["grab"; "current"; widget]
Packit bd2e5d
##endif
Packit bd2e5d
   function () release ["grab"; "release"; widget]
Packit bd2e5d
   function (GrabStatus) status ["grab"; "status"; widget]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
subtype option(rowcolumnconfigure) {
Packit bd2e5d
  Minsize ["-minsize"; Units/int]
Packit bd2e5d
  Weight  ["-weight"; int]
Packit bd2e5d
  Pad ["-pad"; Units/int]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
subtype option(grid) {
Packit bd2e5d
   Column ["-column"; int]
Packit bd2e5d
   ColumnSpan ["-columnspan"; int]
Packit bd2e5d
   In(Inside) ["-in"; widget]
Packit bd2e5d
   IPadX ["-ipadx"; Units/int]
Packit bd2e5d
   IPadY ["-ipady"; Units/int]
Packit bd2e5d
   PadX
Packit bd2e5d
   PadY
Packit bd2e5d
   Row ["-row"; int]
Packit bd2e5d
   RowSpan ["-rowspan"; int]
Packit bd2e5d
   Sticky ["-sticky"; string]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
% Same as pack
Packit bd2e5d
function () grid ["grid"; widget list; option(grid) list]
Packit bd2e5d
Packit bd2e5d
module Grid {
Packit bd2e5d
   function (int,int,int,int) bbox ["grid"; "bbox"; widget]
Packit bd2e5d
   function (int,int,int,int) bbox_cell ["grid"; "bbox"; widget; column: int; row: int]
Packit bd2e5d
   function (int,int,int,int) bbox_span ["grid"; "bbox"; widget; column1: int; row1: int; column2: int; row2: int]
Packit bd2e5d
   function () column_configure
Packit bd2e5d
       ["grid"; "columnconfigure"; widget; int;
Packit bd2e5d
         option(rowcolumnconfigure) list]
Packit bd2e5d
   function () configure ["grid"; "configure"; widget list; option(grid) list]
Packit bd2e5d
   function (string) column_configure_get ["grid"; "columnconfigure"; widget;
Packit bd2e5d
                              int]
Packit bd2e5d
   function () forget ["grid"; "forget"; widget list]
Packit bd2e5d
   %% info returns only a string
Packit bd2e5d
    function (string) info ["grid"; "info"; widget]
Packit bd2e5d
   %% TODO: check result values
Packit bd2e5d
   function (int,int) location ["grid"; "location"; widget; x:Units/int; y:Units/int]
Packit bd2e5d
   function (bool) propagate_get ["grid"; "propagate"; widget]
Packit bd2e5d
   function () propagate_set ["grid"; "propagate"; widget; bool]
Packit bd2e5d
   function () row_configure
Packit bd2e5d
       ["grid"; "rowconfigure"; widget; int; option(rowcolumnconfigure) list]
Packit bd2e5d
   function (string) row_configure_get ["grid"; "rowconfigure"; widget; int]
Packit bd2e5d
   function (int,int) size ["grid"; "size"; widget]
Packit bd2e5d
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function (widget list) slaves ["grid"; "slaves"; widget; ?column:["-column"; int]; ?row:["-row"; int]]
Packit bd2e5d
   function (widget list) row_slaves ["grid"; "slaves"; widget; "-row"; int]
Packit bd2e5d
   function (widget list) column_slaves ["grid"; "slaves"; widget; "-column"; int]
Packit bd2e5d
##else
Packit bd2e5d
   function (widget list) slaves ["grid"; "slaves"; widget; ?column:["-column"; int]; ?row:["-row"; int]]
Packit bd2e5d
##endif
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
%%%%% image(n)
Packit bd2e5d
%%%%% cf Imagephoto and Imagebitmap
Packit bd2e5d
% Some functions on images are implemented in Imagephoto or Imagebitmap.
Packit bd2e5d
module Image {
Packit bd2e5d
   external names "builtin/image"
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
%%%%% label(n)
Packit bd2e5d
widget label {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option Anchor
Packit bd2e5d
   option Background
Packit bd2e5d
   option Bitmap
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option Font
Packit bd2e5d
   option Foreground
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   option ImageBitmap
Packit bd2e5d
   option ImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   option Image
Packit bd2e5d
##endif
Packit bd2e5d
   option Justify
Packit bd2e5d
   option PadX
Packit bd2e5d
   option PadY
Packit bd2e5d
   option Relief
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   option Text
Packit bd2e5d
   option TextVariable
Packit bd2e5d
   option UnderlinedChar
Packit bd2e5d
   option WrapLength
Packit bd2e5d
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option Height
Packit bd2e5d
   % use according to label contents
Packit bd2e5d
   option Width
Packit bd2e5d
   option TextWidth
Packit bd2e5d
Packit bd2e5d
   function () configure [widget(label); "configure"; option(label) list]
Packit bd2e5d
   function (string) configure_get [widget(label); "configure"]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% listbox(n)
Packit bd2e5d
Packit bd2e5d
% Defined internally
Packit bd2e5d
% subtype Index(listbox) {
Packit bd2e5d
%   Number Active AnchorPoint End AtXY
Packit bd2e5d
%}
Packit bd2e5d
Packit bd2e5d
type SelectModeType {
Packit bd2e5d
   Single ["single"]
Packit bd2e5d
   Browse ["browse"]
Packit bd2e5d
   Multiple ["multiple"]
Packit bd2e5d
   Extended ["extended"]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
widget listbox {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option Background
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option ExportSelection
Packit bd2e5d
   option Font
Packit bd2e5d
   option Foreground
Packit bd2e5d
   % Height is TextHeight
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
   option Relief
Packit bd2e5d
   option SelectBackground
Packit bd2e5d
   option SelectBorderWidth
Packit bd2e5d
   option SelectForeground
Packit bd2e5d
   option SetGrid
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   % Width is TextWidth
Packit bd2e5d
   option XScrollCommand
Packit bd2e5d
   option YScrollCommand
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option TextHeight ["-height"; int]
Packit bd2e5d
   option TextWidth
Packit bd2e5d
   option SelectMode ["-selectmode"; SelectModeType]
Packit bd2e5d
Packit bd2e5d
   function () activate [widget(listbox); "activate"; index: Index(listbox)]
Packit bd2e5d
   function (int,int,int,int) bbox [widget(listbox); "bbox"; index: Index(listbox)]
Packit bd2e5d
   function () configure [widget(listbox); "configure"; option(listbox) list]
Packit bd2e5d
   function (string) configure_get [widget(listbox); "configure"]
Packit bd2e5d
   function (Index(listbox) as "[>`Num of int]" list) curselection [widget(listbox); "curselection"]
Packit bd2e5d
   function () delete [widget(listbox); "delete"; first: Index(listbox); last: Index(listbox)]
Packit bd2e5d
   function (string) get [widget(listbox); "get"; index: Index(listbox)]
Packit bd2e5d
   function (string list) get_range [widget(listbox); "get"; first: Index(listbox); last: Index(listbox)]
Packit bd2e5d
   function (Index(listbox) as "[>`Num of int]") index [widget(listbox); "index"; index: Index(listbox)]
Packit bd2e5d
   function () insert [widget(listbox); "insert"; index: Index(listbox); texts: string list]
Packit bd2e5d
   function (Index(listbox) as "[>`Num of int]") nearest [widget(listbox); "nearest"; y: int]
Packit bd2e5d
   function () scan_mark [widget(listbox); "scan"; "mark"; x: int; y: int]
Packit bd2e5d
   function () scan_dragto [widget(listbox); "scan"; "dragto"; x: int; y: int]
Packit bd2e5d
   function () see [widget(listbox); "see"; index: Index(listbox)]
Packit bd2e5d
   function () selection_anchor [widget(listbox); "selection"; "anchor"; index: Index(listbox)]
Packit bd2e5d
   function () selection_clear [widget(listbox); "selection"; "clear"; first: Index(listbox); last: Index(listbox)]
Packit bd2e5d
   function (bool) selection_includes [widget(listbox); "selection"; "includes"; index: Index(listbox)]
Packit bd2e5d
   function () selection_set [widget(listbox); "selection"; "set"; first: Index(listbox); last: Index(listbox)]
Packit bd2e5d
   function (int) size [widget(listbox); "size"]
Packit bd2e5d
Packit bd2e5d
   function (float,float) xview_get [widget(listbox); "xview"]
Packit bd2e5d
   function (float,float) yview_get [widget(listbox); "yview"]
Packit bd2e5d
   function () xview_index [widget(listbox); "xview"; index: Index(listbox)]
Packit bd2e5d
   function () yview_index [widget(listbox); "yview"; index: Index(listbox)]
Packit bd2e5d
   function () xview [widget(listbox); "xview"; scroll: ScrollValue]
Packit bd2e5d
   function () yview [widget(listbox); "yview"; scroll: ScrollValue]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
%%%%% lower(n)
Packit bd2e5d
function () lower_window ["lower"; widget; ?below:[widget]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
function () lower_window_below ["lower"; widget; below: widget]
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% menu(n)
Packit bd2e5d
%%%%% tk_popup(n)
Packit bd2e5d
% defined internally
Packit bd2e5d
% subtype Index(menu) {
Packit bd2e5d
%   Number Active End Last None At Pattern
Packit bd2e5d
%   }
Packit bd2e5d
Packit bd2e5d
type MenuItem {
Packit bd2e5d
   Cascade_Item ["cascade"]
Packit bd2e5d
   Checkbutton_Item ["checkbutton"]
Packit bd2e5d
   Command_Item ["command"]
Packit bd2e5d
   Radiobutton_Item ["radiobutton"]
Packit bd2e5d
   Separator_Item ["separator"]
Packit bd2e5d
   TearOff_Item ["tearoff"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
% notused as a subtype. just for cleaning up the rest.
Packit bd2e5d
subtype option(menuentry) {
Packit bd2e5d
   ActiveBackground
Packit bd2e5d
   ActiveForeground
Packit bd2e5d
   Accelerator ["-accelerator"; string]
Packit bd2e5d
   Background
Packit bd2e5d
   Bitmap
Packit bd2e5d
   ColumnBreak ["-columnbreak"; bool]
Packit bd2e5d
   Command
Packit bd2e5d
   Font
Packit bd2e5d
   Foreground
Packit bd2e5d
   HideMargin ["-hidemargin"; bool]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   ImageBitmap
Packit bd2e5d
   ImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   Image
Packit bd2e5d
##endif
Packit bd2e5d
   IndicatorOn
Packit bd2e5d
   Label ["-label"; string]
Packit bd2e5d
   Menu ["-menu"; widget(menu)]
Packit bd2e5d
   OffValue
Packit bd2e5d
   OnValue
Packit bd2e5d
   SelectColor
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   SelectImageBitmap
Packit bd2e5d
   SelectImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   SelectImage
Packit bd2e5d
##endif
Packit bd2e5d
   State
Packit bd2e5d
   UnderlinedChar
Packit bd2e5d
   Value ["-value"; string]
Packit bd2e5d
   Variable
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
% Options for cascade entry
Packit bd2e5d
subtype option(menucascade) {
Packit bd2e5d
   ActiveBackground ActiveForeground Accelerator
Packit bd2e5d
   Background Bitmap ColumnBreak Command Font Foreground
Packit bd2e5d
   HideMargin
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   ImageBitmap ImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   Image
Packit bd2e5d
##endif
Packit bd2e5d
   IndicatorOn Label Menu State UnderlinedChar
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
% Options for radiobutton entry
Packit bd2e5d
subtype option(menuradio) {
Packit bd2e5d
   ActiveBackground ActiveForeground Accelerator
Packit bd2e5d
   Background Bitmap ColumnBreak Command Font Foreground
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   ImageBitmap ImagePhoto SelectImageBitmap SelectImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   Image SelectImage
Packit bd2e5d
##endif
Packit bd2e5d
   IndicatorOn Label SelectColor
Packit bd2e5d
   State UnderlinedChar Value Variable
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
% Options for checkbutton entry
Packit bd2e5d
subtype option(menucheck) {
Packit bd2e5d
   ActiveBackground ActiveForeground Accelerator
Packit bd2e5d
   Background Bitmap ColumnBreak Command Font Foreground
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   ImageBitmap SelectImageBitmap ImagePhoto SelectImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   Image SelectImage
Packit bd2e5d
##endif
Packit bd2e5d
   IndicatorOn Label
Packit bd2e5d
   OffValue OnValue SelectColor
Packit bd2e5d
   State UnderlinedChar Variable
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
% Options for command entry
Packit bd2e5d
subtype option(menucommand) {
Packit bd2e5d
   ActiveBackground ActiveForeground Accelerator
Packit bd2e5d
   Background Bitmap ColumnBreak Command Font Foreground
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   ImageBitmap ImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   Image
Packit bd2e5d
##endif
Packit bd2e5d
   Label State UnderlinedChar
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
type menuType {
Packit bd2e5d
  Menu_Menubar ["menubar"]
Packit bd2e5d
  Menu_Tearoff ["tearoff"]
Packit bd2e5d
  Menu_Normal ["normal"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
% Separators and tearoffs don't have options
Packit bd2e5d
Packit bd2e5d
widget menu {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option ActiveBackground
Packit bd2e5d
   option ActiveBorderWidth
Packit bd2e5d
   option ActiveForeground
Packit bd2e5d
   option Background
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option DisabledForeground
Packit bd2e5d
   option Font
Packit bd2e5d
   option Foreground
Packit bd2e5d
   option Relief
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option PostCommand ["-postcommand"; function()]
Packit bd2e5d
   option SelectColor
Packit bd2e5d
   option TearOff ["-tearoff"; bool]
Packit bd2e5d
   option TearOffCommand ["-tearoffcommand"; function(menu: widget(any), tornoff: widget(any)) ]
Packit bd2e5d
   option MenuTitle ["-title"; string]
Packit bd2e5d
   option MenuType ["-type"; menuType]
Packit bd2e5d
Packit bd2e5d
   function () activate [widget(menu); "activate"; index: Index(menu)]
Packit bd2e5d
   % add variations
Packit bd2e5d
   function () add_cascade [widget(menu); "add"; "cascade"; option(menucascade) list]
Packit bd2e5d
   function () add_checkbutton [widget(menu); "add"; "checkbutton"; option(menucheck) list]
Packit bd2e5d
   function () add_command [widget(menu); "add"; "command"; option(menucommand) list]
Packit bd2e5d
   function () add_radiobutton [widget(menu); "add"; "radiobutton"; option(menuradio) list]
Packit bd2e5d
   function () add_separator [widget(menu); "add"; "separator"]
Packit bd2e5d
   % not for user: function clone [widget(menu); "clone"; ???; menuType]
Packit bd2e5d
   function () configure [widget(menu); "configure"; option(menu) list]
Packit bd2e5d
   function (string) configure_get [widget(menu); "configure"]
Packit bd2e5d
   % beware of possible callback leak when deleting menu entries
Packit bd2e5d
   function () delete [widget(menu); "delete"; first: Index(menu); last: Index(menu)]
Packit bd2e5d
   function () configure_cascade [widget(menu); "entryconfigure"; Index(menu); option(menucascade) list]
Packit bd2e5d
   function () configure_checkbutton [widget(menu); "entryconfigure"; Index(menu); option(menucheck) list]
Packit bd2e5d
   function () configure_command [widget(menu); "entryconfigure"; Index(menu); option(menucommand) list]
Packit bd2e5d
   function () configure_radiobutton [widget(menu); "entryconfigure"; Index(menu); option(menuradio) list]
Packit bd2e5d
   function (string) entryconfigure_get [widget(menu); "entryconfigure"; Index(menu)]
Packit bd2e5d
   function (int) index [widget(menu); "index"; Index(menu)]
Packit bd2e5d
   function () insert_cascade [widget(menu); "insert"; index: Index(menu); "cascade"; option(menucascade) list]
Packit bd2e5d
   function () insert_checkbutton [widget(menu); "insert"; index: Index(menu); "checkbutton"; option(menucheck) list]
Packit bd2e5d
   function () insert_command [widget(menu); "insert"; index: Index(menu); "command"; option(menucommand) list]
Packit bd2e5d
   function () insert_radiobutton [widget(menu); "insert"; index: Index(menu); "radiobutton"; option(menuradio) list]
Packit bd2e5d
   function () insert_separator [widget(menu); "insert"; index: Index(menu); "separator"]
Packit bd2e5d
   function (string) invoke [widget(menu); "invoke"; index: Index(menu)]
Packit bd2e5d
   function () post [widget(menu); "post"; x: int; y: int]
Packit bd2e5d
   function () postcascade [widget(menu); "postcascade"; index: Index(menu)]
Packit bd2e5d
   % can't use type of course
Packit bd2e5d
   function (MenuItem) typeof [widget(menu); "type"; index: Index(menu)]
Packit bd2e5d
   function () unpost [widget(menu); "unpost"]
Packit bd2e5d
   function (int) yposition [widget(menu); "yposition"; index: Index(menu)]
Packit bd2e5d
Packit bd2e5d
   function () popup ["tk_popup"; widget(menu); x: int; y: int; ?entry:[Index(menu)]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function () popup_entry ["tk_popup"; widget(menu); x: int; y: int; index: Index(menu)]
Packit bd2e5d
##endif
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% menubutton(n)
Packit bd2e5d
Packit bd2e5d
type menubuttonDirection {
Packit bd2e5d
   Dir_Above ["above"]
Packit bd2e5d
   Dir_Below ["below"]
Packit bd2e5d
   Dir_Left  ["left"]
Packit bd2e5d
   Dir_Right ["right"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
widget menubutton {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option ActiveBackground
Packit bd2e5d
   option ActiveForeground
Packit bd2e5d
   option Anchor
Packit bd2e5d
   option Background
Packit bd2e5d
   option Bitmap
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option DisabledForeground
Packit bd2e5d
   option Font
Packit bd2e5d
   option Foreground
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   option ImageBitmap
Packit bd2e5d
   option ImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   option Image
Packit bd2e5d
##endif
Packit bd2e5d
   option Justify
Packit bd2e5d
   option PadX
Packit bd2e5d
   option PadY
Packit bd2e5d
   option Relief
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   option Text
Packit bd2e5d
   option TextVariable
Packit bd2e5d
   option UnderlinedChar
Packit bd2e5d
   option WrapLength
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option Direction ["-direction"; menubuttonDirection ]
Packit bd2e5d
   option Height
Packit bd2e5d
   option IndicatorOn
Packit bd2e5d
   option Menu ["-menu"; widget(menu)]
Packit bd2e5d
   option State
Packit bd2e5d
   option Width
Packit bd2e5d
   option TextWidth
Packit bd2e5d
Packit bd2e5d
   function () configure [widget(menubutton); "configure"; option(menubutton) list]
Packit bd2e5d
   function (string) configure_get [widget(menubutton); "configure"]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% message(n)
Packit bd2e5d
widget message {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option Anchor
Packit bd2e5d
   option Background
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option Font
Packit bd2e5d
   option Foreground
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
   option PadX
Packit bd2e5d
   option PadY
Packit bd2e5d
   option Relief
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   option Text
Packit bd2e5d
   option TextVariable
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option Aspect ["-aspect"; int]
Packit bd2e5d
   option Justify
Packit bd2e5d
   option Width
Packit bd2e5d
Packit bd2e5d
   function () configure [widget(message); "configure"; option(message) list]
Packit bd2e5d
   function (string) configure_get [widget(message); "configure"]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% option(n)
Packit bd2e5d
type OptionPriority {
Packit bd2e5d
   WidgetDefault  ["widgetDefault"]
Packit bd2e5d
   StartupFile    ["startupFile"]
Packit bd2e5d
   UserDefault    ["userDefault"]
Packit bd2e5d
   Interactive    ["interactive"]
Packit bd2e5d
   Priority      [int]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
Packit bd2e5d
module Option {
Packit bd2e5d
   unsafe function () add ["option"; "add"; string; string; OptionPriority]
Packit bd2e5d
   function () clear ["option"; "clear"]
Packit bd2e5d
   function (string) get ["option"; "get"; widget; string; string]
Packit bd2e5d
   unsafe function () readfile ["option"; "readfile"; string; OptionPriority]
Packit bd2e5d
   }
Packit bd2e5d
%% Resource is now superseded by Option
Packit bd2e5d
module Resource {
Packit bd2e5d
   unsafe function () add ["option"; "add"; string; string; OptionPriority]
Packit bd2e5d
   function () clear ["option"; "clear"]
Packit bd2e5d
   function (string) get ["option"; "get"; widget; string; string]
Packit bd2e5d
   unsafe function () readfile ["option"; "readfile"; string; OptionPriority]
Packit bd2e5d
   }
Packit bd2e5d
##else
Packit bd2e5d
module Option {
Packit bd2e5d
   unsafe function () add
Packit bd2e5d
        ["option"; "add"; path: string; string; ?priority:[OptionPriority]]
Packit bd2e5d
   function () clear ["option"; "clear"]
Packit bd2e5d
   function (string) get ["option"; "get"; widget; name: string; clas: string]
Packit bd2e5d
   unsafe function () readfile
Packit bd2e5d
        ["option"; "readfile"; string; ?priority:[OptionPriority]]
Packit bd2e5d
   }
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
%%%%% tk_optionMenu(n)
Packit bd2e5d
module Optionmenu {
Packit bd2e5d
   external create "builtin/optionmenu"
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% pack(n)
Packit bd2e5d
type Side {
Packit bd2e5d
   Side_Left ["left"]
Packit bd2e5d
   Side_Right ["right"]
Packit bd2e5d
   Side_Top ["top"]
Packit bd2e5d
   Side_Bottom ["bottom"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type FillMode {
Packit bd2e5d
   Fill_None ["none"]
Packit bd2e5d
   Fill_X ["x"]
Packit bd2e5d
   Fill_Y ["y"]
Packit bd2e5d
   Fill_Both ["both"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
subtype option(pack) {
Packit bd2e5d
   After ["-after"; widget]
Packit bd2e5d
   Anchor
Packit bd2e5d
   Before ["-before"; widget]
Packit bd2e5d
   Expand ["-expand"; bool]
Packit bd2e5d
   Fill ["-fill"; FillMode]
Packit bd2e5d
   In(Inside) ["-in"; widget]
Packit bd2e5d
   IPadX ["-ipadx"; Units/int]
Packit bd2e5d
   IPadY ["-ipady"; Units/int]
Packit bd2e5d
   PadX
Packit bd2e5d
   PadY
Packit bd2e5d
   Side ["-side"; Side]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
function ()  pack ["pack"; widget list; option(pack) list]
Packit bd2e5d
Packit bd2e5d
module Pack {
Packit bd2e5d
    function () configure ["pack"; "configure"; widget list; option(pack) list]
Packit bd2e5d
    function () forget ["pack"; "forget"; widget list]
Packit bd2e5d
    function (string) info ["pack"; "info"; widget]
Packit bd2e5d
    function (bool) propagate_get ["pack"; "propagate"; widget]
Packit bd2e5d
    function () propagate_set ["pack"; "propagate"; widget; bool]
Packit bd2e5d
    function (widget list) slaves ["pack"; "slaves"; widget]
Packit bd2e5d
    }
Packit bd2e5d
Packit bd2e5d
subtype TkPalette(any) { % Not sophisticated...
Packit bd2e5d
  PaletteActiveBackground    ["activeBackground"; Color]
Packit bd2e5d
  PaletteActiveForeground    ["activeForeground"; Color]
Packit bd2e5d
  PaletteBackground          ["background"; Color]
Packit bd2e5d
  PaletteDisabledForeground  ["disabledForeground"; Color]
Packit bd2e5d
  PaletteForeground          ["foreground"; Color]
Packit bd2e5d
  PaletteHighlightBackground ["hilightBackground"; Color]
Packit bd2e5d
  PaletteHighlightColor      ["highlightColor"; Color]
Packit bd2e5d
  PaletteInsertBackground    ["insertBackground"; Color]
Packit bd2e5d
  PaletteSelectColor         ["selectColor"; Color]
Packit bd2e5d
  PaletteSelectBackground    ["selectBackground"; Color]
Packit bd2e5d
  PaletteForegroundselectColor ["selectForeground"; Color]
Packit bd2e5d
  PaletteTroughColor         ["troughColor"; Color]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
%%%%% tk_setPalette(n)
Packit bd2e5d
%%%% can't simply encode general form of tk_setPalette
Packit bd2e5d
module Palette {
Packit bd2e5d
  function () set_background ["tk_setPalette"; Color]
Packit bd2e5d
  function () set ["tk_setPalette"; TkPalette(any) list]
Packit bd2e5d
  function () bisque ["tk_bisque"]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
%%%%% photo(n)
Packit bd2e5d
type PaletteType external  % builtin_palette.ml
Packit bd2e5d
Packit bd2e5d
subtype option(photoimage) {
Packit bd2e5d
  % Channel ["-channel"; file_descr] % removed in 8.3 ?
Packit bd2e5d
  Data
Packit bd2e5d
  Format ["-format"; string]
Packit bd2e5d
  File
Packit bd2e5d
  Gamma ["-gamma"; float]
Packit bd2e5d
  Height
Packit bd2e5d
  Palette ["-palette"; PaletteType]
Packit bd2e5d
  Width
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
subtype photo(copy) {
Packit bd2e5d
  ImgFrom(Src_area) ["-from"; int; int; int; int]
Packit bd2e5d
  ImgTo(Dst_area)   ["-to"; int; int; int; int]
Packit bd2e5d
  Shrink       ["-shrink"]
Packit bd2e5d
  Zoom         ["-zoom"; int; int]
Packit bd2e5d
  Subsample    ["-subsample"; int; int]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
subtype photo(put) {
Packit bd2e5d
  ImgTo
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
subtype photo(read) {
Packit bd2e5d
  ImgFormat ["-format"; string]
Packit bd2e5d
  ImgFrom
Packit bd2e5d
  Shrink
Packit bd2e5d
  TopLeft(Dst_pos) ["-to"; int; int]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
subtype photo(write) {
Packit bd2e5d
  ImgFormat ImgFrom
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
module Imagephoto {
Packit bd2e5d
  function (ImagePhoto) create ["image"; "create"; "photo"; ?name:[ImagePhoto]; option(photoimage) list]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
  function (ImagePhoto) create_named ["image"; "create"; "photo"; ImagePhoto; option(photoimage) list]
Packit bd2e5d
##endif
Packit bd2e5d
  function () delete ["image"; "delete"; ImagePhoto]
Packit bd2e5d
  function (int) height ["image"; "height"; ImagePhoto]
Packit bd2e5d
  function (int) width ["image"; "width"; ImagePhoto]
Packit bd2e5d
Packit bd2e5d
%name
Packit bd2e5d
%type
Packit bd2e5d
Packit bd2e5d
  function () blank [ImagePhoto; "blank"]
Packit bd2e5d
  function () configure [ImagePhoto; "configure"; option(photoimage) list]
Packit bd2e5d
  function (string) configure_get [ImagePhoto; "configure"]
Packit bd2e5d
  function () copy [ImagePhoto; "copy"; src: ImagePhoto; photo(copy) list]
Packit bd2e5d
  function (int, int, int) get [ImagePhoto; "get"; x: int; y: int]
Packit bd2e5d
% it is buggy ? can't express nested lists ?
Packit bd2e5d
  function () put [ImagePhoto; "put"; [Color list list]; photo(put) list]
Packit bd2e5d
%  external put "builtin/imagephoto_put"
Packit bd2e5d
  function () read [ImagePhoto; "read"; file: string; photo(read) list]
Packit bd2e5d
  function () redither [ImagePhoto; "redither"]
Packit bd2e5d
  function () write [ImagePhoto; "write"; file: string; photo(write) list]
Packit bd2e5d
  % Functions inherited from the "image" TK class
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% place(n)
Packit bd2e5d
type BorderMode {
Packit bd2e5d
  Inside ["inside"]
Packit bd2e5d
  Outside ["outside"]
Packit bd2e5d
  Ignore ["ignore"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
subtype option(place) {
Packit bd2e5d
  In
Packit bd2e5d
  X
Packit bd2e5d
  RelX ["-relx"; float]
Packit bd2e5d
  Y
Packit bd2e5d
  RelY ["-rely"; float]
Packit bd2e5d
  Anchor
Packit bd2e5d
  Width
Packit bd2e5d
  RelWidth ["-relwidth"; float]
Packit bd2e5d
  Height
Packit bd2e5d
  RelHeight ["-relheight"; float]
Packit bd2e5d
  BorderMode ["-bordermode"; BorderMode]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
function () place ["place"; widget; option(place) list]
Packit bd2e5d
Packit bd2e5d
module Place {
Packit bd2e5d
    function () configure ["place"; "configure"; widget; option(place) list]
Packit bd2e5d
    function () forget ["place"; "forget"; widget]
Packit bd2e5d
    function (string) info ["place"; "info"; widget]
Packit bd2e5d
    function (widget list) slaves ["place"; "slaves"; widget]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% radiobutton(n)
Packit bd2e5d
Packit bd2e5d
widget radiobutton {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option ActiveBackground
Packit bd2e5d
   option ActiveForeground
Packit bd2e5d
   option Anchor
Packit bd2e5d
   option Background
Packit bd2e5d
   option Bitmap
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option DisabledForeground
Packit bd2e5d
   option Font
Packit bd2e5d
   option Foreground
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   option ImageBitmap
Packit bd2e5d
   option ImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   option Image
Packit bd2e5d
##endif
Packit bd2e5d
   option Justify
Packit bd2e5d
   option PadX
Packit bd2e5d
   option PadY
Packit bd2e5d
   option Relief
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   option Text
Packit bd2e5d
   option TextVariable
Packit bd2e5d
   option UnderlinedChar
Packit bd2e5d
   option WrapLength
Packit bd2e5d
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option Command
Packit bd2e5d
   option Height
Packit bd2e5d
   option IndicatorOn
Packit bd2e5d
   option SelectColor
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   option SelectImageBitmap
Packit bd2e5d
   option SelectImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
   option SelectImage
Packit bd2e5d
##endif
Packit bd2e5d
   option State
Packit bd2e5d
   option Value
Packit bd2e5d
   option Variable
Packit bd2e5d
   option Width
Packit bd2e5d
Packit bd2e5d
   function () configure [widget(radiobutton); "configure"; option(radiobutton) list]
Packit bd2e5d
   function (string) configure_get [widget(radiobutton); "configure"]
Packit bd2e5d
   function () deselect [widget(radiobutton); "deselect"]
Packit bd2e5d
   function () flash [widget(radiobutton); "flash"]
Packit bd2e5d
   function () invoke [widget(radiobutton); "invoke"]
Packit bd2e5d
   function () select [widget(radiobutton); "select"]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% raise(n)
Packit bd2e5d
% We cannot use raise !!
Packit bd2e5d
function () raise_window ["raise"; widget; ?above:[widget]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
function () raise_window_above ["raise"; widget; widget]
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
%%%%% scale(n)
Packit bd2e5d
%% shared with scrollbars
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
subtype WidgetElement(scale) {
Packit bd2e5d
  Slider ["slider"]
Packit bd2e5d
  Trough1 ["trough1"]
Packit bd2e5d
  Trough2 ["trough2"]
Packit bd2e5d
  Beyond [""]
Packit bd2e5d
  }
Packit bd2e5d
##else
Packit bd2e5d
type ScaleElement {
Packit bd2e5d
  Slider ["slider"]
Packit bd2e5d
  Trough1 ["trough1"]
Packit bd2e5d
  Trough2 ["trough2"]
Packit bd2e5d
  Beyond [""]
Packit bd2e5d
  }
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
widget scale {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option ActiveBackground
Packit bd2e5d
   option Background
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option Font
Packit bd2e5d
   option Foreground
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
   option Orient
Packit bd2e5d
   option Relief
Packit bd2e5d
   option RepeatDelay
Packit bd2e5d
   option RepeatInterval
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   option TroughColor
Packit bd2e5d
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option BigIncrement ["-bigincrement"; float]
Packit bd2e5d
   option ScaleCommand ["-command"; function (float)]
Packit bd2e5d
   option Digits ["-digits"; int]
Packit bd2e5d
   option From(Min) ["-from"; float]
Packit bd2e5d
   option Label ["-label"; string]
Packit bd2e5d
   option Length ["-length"; Units/int]
Packit bd2e5d
   option Resolution ["-resolution"; float]
Packit bd2e5d
   option ShowValue ["-showvalue"; bool]
Packit bd2e5d
   option SliderLength ["-sliderlength"; Units/int]
Packit bd2e5d
   option State
Packit bd2e5d
   option TickInterval ["-tickinterval"; float]
Packit bd2e5d
   option To(Max) ["-to"; float]
Packit bd2e5d
   option Variable
Packit bd2e5d
   option Width
Packit bd2e5d
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function (int,int) coords [widget(scale); "coords"]
Packit bd2e5d
   function (int,int) coords_at [widget(scale); "coords"; at: float]
Packit bd2e5d
##else
Packit bd2e5d
   function (int,int) coords [widget(scale); "coords"; ?at: [float]]
Packit bd2e5d
##endif
Packit bd2e5d
   function () configure [widget(scale); "configure"; option(scale) list]
Packit bd2e5d
   function (string) configure_get [widget(scale); "configure"]
Packit bd2e5d
   function (float) get [widget(scale); "get"]
Packit bd2e5d
   function (float) get_xy [widget(scale); "get"; x: int; y: int]
Packit bd2e5d
   function (WidgetElement/ScaleElement) identify [widget(scale); x: int; y: int]
Packit bd2e5d
   function () set [widget(scale); "set"; float]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% scrollbar(n)
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
subtype WidgetElement(scrollbar) {
Packit bd2e5d
  Arrow1 ["arrow1"]
Packit bd2e5d
  Trough1
Packit bd2e5d
  Trough2
Packit bd2e5d
  Slider
Packit bd2e5d
  Arrow2 ["arrow2"]
Packit bd2e5d
  Beyond
Packit bd2e5d
  }
Packit bd2e5d
##else
Packit bd2e5d
type ScrollbarElement {
Packit bd2e5d
  Arrow1 ["arrow1"]
Packit bd2e5d
  Trough1 ["through1"]
Packit bd2e5d
  Trough2 ["through2"]
Packit bd2e5d
  Slider ["slider"]
Packit bd2e5d
  Arrow2 ["arrow2"]
Packit bd2e5d
  Beyond [""]
Packit bd2e5d
  }
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
widget scrollbar {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option ActiveBackground
Packit bd2e5d
   option Background
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
   option Jump
Packit bd2e5d
   option Orient
Packit bd2e5d
   option Relief
Packit bd2e5d
   option RepeatDelay
Packit bd2e5d
   option RepeatInterval
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   option TroughColor
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option ActiveRelief ["-activerelief"; Relief]
Packit bd2e5d
   option ScrollCommand ["-command"; function(scroll: ScrollValue)]
Packit bd2e5d
   option ElementBorderWidth ["-elementborderwidth"; Units/int]
Packit bd2e5d
   option Width
Packit bd2e5d
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function () activate [widget(scrollbar); "activate"; element: WidgetElement(scrollbar)]
Packit bd2e5d
##else
Packit bd2e5d
   function () activate [widget(scrollbar); "activate"; element: ScrollbarElement]
Packit bd2e5d
##endif
Packit bd2e5d
   function (WidgetElement/ScrollbarElement) activate_get [widget(scrollbar); "activate"]
Packit bd2e5d
   function () configure [widget(scrollbar); "configure"; option(scrollbar) list]
Packit bd2e5d
   function (string) configure_get [widget(scrollbar); "configure"]
Packit bd2e5d
   function (float) delta [widget(scrollbar); "delta"; x: int; y: int]
Packit bd2e5d
   function (float) fraction [widget(scrollbar); "fraction"; x: int; y: int]
Packit bd2e5d
   function (float, float) get [widget(scrollbar); "get"]
Packit bd2e5d
   function (int,int,int,int) old_get [widget(scrollbar); "get"]
Packit bd2e5d
   function (WidgetElement/ScrollbarElement) identify [widget(scale); "identify"; int; int]
Packit bd2e5d
   function () set [widget(scrollbar); "set"; first: float; last: float]
Packit bd2e5d
   function () old_set [widget(scrollbar); "set"; total:int; window:int; first:int; last:int]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% selection(n)
Packit bd2e5d
Packit bd2e5d
subtype icccm(selection_clear) {
Packit bd2e5d
  DisplayOf ["-displayof"; widget]
Packit bd2e5d
  Selection ["-selection"; string]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
subtype icccm(selection_get) {
Packit bd2e5d
  DisplayOf
Packit bd2e5d
  Selection
Packit bd2e5d
  ICCCMType
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
subtype icccm(selection_ownset) {
Packit bd2e5d
  LostCommand ["-command"; function()]
Packit bd2e5d
  Selection
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
subtype icccm(selection_handle) {
Packit bd2e5d
  Selection
Packit bd2e5d
  ICCCMType
Packit bd2e5d
  ICCCMFormat ["-format"; string]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
module Selection {
Packit bd2e5d
   function () clear ["selection"; "clear"; icccm(selection_clear) list]
Packit bd2e5d
   function (string) get ["selection"; "get"; icccm(selection_get) list]
Packit bd2e5d
Packit bd2e5d
   % function () handle_set ["selection"; "handle"; icccm(selection_handle) list; widget; function(int,int)]
Packit bd2e5d
   external handle_set "builtin/selection_handle_set"
Packit bd2e5d
   unsafe function (widget) own_get ["selection"; "own"; icccm(selection_clear) list]
Packit bd2e5d
   % builtin
Packit bd2e5d
   % function () own_set ["selection"; "own"; widget; icccm(selection_ownset) list]
Packit bd2e5d
   external own_set "builtin/selection_own_set"
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% send(n)
Packit bd2e5d
type SendOption {
Packit bd2e5d
  SendDisplayOf ["-displayof"; widget] % DisplayOf is used for icccm !
Packit bd2e5d
  SendAsync ["-async"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
unsafe function () send ["send"; SendOption list; "--"; app: string; command: string list]
Packit bd2e5d
Packit bd2e5d
%%%%% text(n)
Packit bd2e5d
Packit bd2e5d
type TextIndex external
Packit bd2e5d
type TextTag external
Packit bd2e5d
type TextMark external
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
type TabType {
Packit bd2e5d
  TabLeft    [Units/int; "left"]
Packit bd2e5d
  TabRight   [Units/int; "right"]
Packit bd2e5d
  TabCenter  [Units/int; "center"]
Packit bd2e5d
  TabNumeric [Units/int; "numeric"]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
type WrapMode {
Packit bd2e5d
  WrapNone ["none"]
Packit bd2e5d
  WrapChar ["char"]
Packit bd2e5d
  WrapWord ["word"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type Comparison {
Packit bd2e5d
  LT (Lt) ["<"]
Packit bd2e5d
  LE (Le) ["<="]
Packit bd2e5d
  EQ (Eq) ["=="]
Packit bd2e5d
  GE (Ge) [">="]
Packit bd2e5d
  GT (Gt) [">"]
Packit bd2e5d
  NEQ (Neq) ["!="]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type MarkDirection {
Packit bd2e5d
  Mark_Left ["left"]
Packit bd2e5d
  Mark_Right ["right"]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
type AlignType {
Packit bd2e5d
  Align_Top ["top"]
Packit bd2e5d
  Align_Bottom ["bottom"]
Packit bd2e5d
  Align_Center ["center"]
Packit bd2e5d
  Align_Baseline ["baseline"]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
subtype option(embeddedi) {
Packit bd2e5d
  Align ["-align"; AlignType]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
  ImageBitmap
Packit bd2e5d
  ImagePhoto
Packit bd2e5d
##else
Packit bd2e5d
  Image
Packit bd2e5d
##endif
Packit bd2e5d
  Name ["-name"; string]
Packit bd2e5d
  PadX
Packit bd2e5d
  PadY
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
subtype option(embeddedw) {
Packit bd2e5d
  Align ["-align"; AlignType]
Packit bd2e5d
  PadX
Packit bd2e5d
  PadY
Packit bd2e5d
  Stretch ["-stretch"; bool]
Packit bd2e5d
  Window
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
type TextSearch {
Packit bd2e5d
  Forwards ["-forwards"]
Packit bd2e5d
  Backwards ["-backwards"]
Packit bd2e5d
  Exact ["-exact"]
Packit bd2e5d
  Regexp ["-regexp"]
Packit bd2e5d
  Nocase ["-nocase"]
Packit bd2e5d
  Count ["-count"; TextVariable]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
type text_dump {
Packit bd2e5d
  DumpAll ["-all"]
Packit bd2e5d
  DumpCommand ["-command"; function (key: string, value: string, index: string)]
Packit bd2e5d
  DumpMark ["-mark"]
Packit bd2e5d
  DumpTag ["-tag"]
Packit bd2e5d
  DumpText ["-text"]
Packit bd2e5d
  DumpWindow ["-window"]
Packit bd2e5d
  }
Packit bd2e5d
Packit bd2e5d
widget text {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option Background
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option ExportSelection
Packit bd2e5d
   option Font
Packit bd2e5d
   option Foreground
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
   option InsertBackground
Packit bd2e5d
   option InsertBorderWidth
Packit bd2e5d
   option InsertOffTime
Packit bd2e5d
   option InsertOnTime
Packit bd2e5d
   option InsertWidth
Packit bd2e5d
   option PadX
Packit bd2e5d
   option PadY
Packit bd2e5d
   option Relief
Packit bd2e5d
   option SelectBackground
Packit bd2e5d
   option SelectBorderWidth
Packit bd2e5d
   option SelectForeground
Packit bd2e5d
   option SetGrid
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
   option XScrollCommand
Packit bd2e5d
   option YScrollCommand
Packit bd2e5d
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option TextHeight
Packit bd2e5d
   option Spacing1 ["-spacing1"; Units/int]
Packit bd2e5d
   option Spacing2 ["-spacing2"; Units/int]
Packit bd2e5d
   option Spacing3 ["-spacing3"; Units/int]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   option State
Packit bd2e5d
##else
Packit bd2e5d
   option EntryState
Packit bd2e5d
##endif
Packit bd2e5d
   option Tabs ["-tabs"; [TabType list]]
Packit bd2e5d
   option TextWidth
Packit bd2e5d
   option Wrap ["-wrap"; WrapMode]
Packit bd2e5d
Packit bd2e5d
   function (int,int,int,int) bbox [widget(text); "bbox"; index: TextIndex]
Packit bd2e5d
   function (bool) compare [widget(text); "compare"; index: TextIndex; op: Comparison; index: TextIndex]
Packit bd2e5d
   function () configure [widget(text); "configure"; option(text) list]
Packit bd2e5d
   function (string) configure_get [widget(text); "configure"]
Packit bd2e5d
   function () debug [widget(text); "debug"; bool]
Packit bd2e5d
   function () delete [widget(text); "delete"; start: TextIndex; stop: TextIndex]
Packit bd2e5d
   function () delete_char [widget(text); "delete"; index: TextIndex]
Packit bd2e5d
   function (int, int, int, int, int) dlineinfo [widget(text); "dlineinfo"; index: TextIndex]
Packit bd2e5d
Packit bd2e5d
   % require result parser
Packit bd2e5d
   function (string list) dump [widget(text); "dump"; text_dump list; start: TextIndex; stop: TextIndex]
Packit bd2e5d
   function (string list) dump_char [widget(text); "dump"; text_dump list; index: TextIndex]
Packit bd2e5d
Packit bd2e5d
   function (string) get [widget(text); "get"; start: TextIndex; stop: TextIndex]
Packit bd2e5d
   function (string) get_char [widget(text); "get"; index: TextIndex]
Packit bd2e5d
   function () image_configure
Packit bd2e5d
     [widget(text); "image"; "configure"; name: string; option(embeddedi) list]
Packit bd2e5d
   function (string) image_configure_get
Packit bd2e5d
     [widget(text); "image"; "cgets"; name: string]
Packit bd2e5d
   function (string) image_create
Packit bd2e5d
     [widget(text); "image"; "create"; index: TextIndex; option(embeddedi) list]
Packit bd2e5d
   function (string list) image_names [widget(text); "image"; "names"]
Packit bd2e5d
   function (Index(text) as "[>`Linechar of int * int]") index [widget(text); "index"; index: TextIndex]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function () insert [widget(text); "insert"; index: TextIndex; text: string; [TextTag list]]
Packit bd2e5d
##else
Packit bd2e5d
   function () insert [widget(text); "insert"; index: TextIndex; text: string; ?tags: [TextTag list]]
Packit bd2e5d
##endif
Packit bd2e5d
   % Mark
Packit bd2e5d
   function () mark_gravity_set [widget(text); "mark"; "gravity"; mark: TextMark; direction: MarkDirection]
Packit bd2e5d
   function (MarkDirection) mark_gravity_get [widget(text); "mark"; "gravity"; mark: TextMark]
Packit bd2e5d
   function (TextMark list) mark_names [widget(text); "mark"; "names"]
Packit bd2e5d
   function (TextMark) mark_next [widget(text); "mark"; "next"; index: TextIndex]
Packit bd2e5d
   function (TextMark) mark_previous [widget(text); "mark"; "previous"; index: TextIndex]
Packit bd2e5d
   function () mark_set [widget(text); "mark"; "set"; mark: TextMark; index: TextIndex]
Packit bd2e5d
   function () mark_unset [widget(text); "mark"; "unset"; marks: TextMark list]
Packit bd2e5d
   % Scan
Packit bd2e5d
   function () scan_mark [widget(text); "scan"; "mark"; x: int; y: int]
Packit bd2e5d
   function () scan_dragto [widget(text); "scan"; "dragto"; x: int; y: int]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function (Index) search [widget(text); "search"; TextSearch list; "--"; string; TextIndex; TextIndex]
Packit bd2e5d
##else
Packit bd2e5d
   function (Index(text) as "[>`Linechar of int * int]") search [widget(text); "search"; switches: TextSearch list; "--"; pattern: string; start: TextIndex; ?stop: [TextIndex]]
Packit bd2e5d
##endif
Packit bd2e5d
   function () see [widget(text); "see"; index: TextIndex]
Packit bd2e5d
   % Tags
Packit bd2e5d
   function () tag_add [widget(text); "tag"; "add"; tag: TextTag; start: TextIndex; stop: TextIndex]
Packit bd2e5d
   function () tag_add_char [widget(text); "tag"; "add"; tag: TextTag; index: TextIndex]
Packit bd2e5d
   external tag_bind "builtin/text_tag_bind"
Packit bd2e5d
   function () tag_configure [widget(text); "tag"; "configure"; tag: TextTag; option(texttag) list]
Packit bd2e5d
   function () tag_delete [widget(text); "tag"; "delete"; TextTag list]
Packit bd2e5d
Packit bd2e5d
   function () tag_lower [widget(text); "tag";  "lower"; tag: TextTag; ?below: [TextTag]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function () tag_lower_below [widget(text); "tag";  "lower"; TextTag; TextTag]
Packit bd2e5d
   function () tag_lower_bot [widget(text); "tag"; "lower"; TextTag]
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
   function (TextTag list) tag_names [widget(text); "tag"; "names"; ?index: [TextIndex]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function (TextTag list) tag_allnames [widget(text); "tag"; "names"]
Packit bd2e5d
   function (TextTag list) tag_indexnames [widget(text); "tag"; "names"; TextIndex]
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function (Index, Index) tag_nextrange [widget(text); "tag"; "nextrange"; TextTag; start: TextIndex; stop: TextIndex]
Packit bd2e5d
   function (Index, Index) tag_prevrange [widget(text); "tag"; "prevrange"; TextTag; start: TextIndex; stop: TextIndex]
Packit bd2e5d
##else
Packit bd2e5d
   function (Index(text) as "[>`Linechar of int * int]", Index(text) as "[>`Linechar of int * int]") tag_nextrange [widget(text); "tag"; "nextrange"; tag: TextTag; start: TextIndex; ?stop: [TextIndex]]
Packit bd2e5d
   function (Index(text) as "[>`Linechar of int * int]", Index(text) as "[>`Linechar of int * int]") tag_prevrange [widget(text); "tag"; "prevrange"; tag: TextTag; start: TextIndex; ?stop: [TextIndex]]
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
   function () tag_raise [widget(text); "tag"; "raise"; tag: TextTag; ?above: [TextTag]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function () tag_raise_above [widget(text); "tag"; "raise"; TextTag; TextTag]
Packit bd2e5d
   function () tag_raise_top [widget(text); "tag"; "raise"; TextTag]
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   function (Index list) tag_ranges [widget(text); "tag"; "ranges"; TextTag]
Packit bd2e5d
##else
Packit bd2e5d
   function (Index(text) as "[>`Linechar of int * int]" list) tag_ranges [widget(text); "tag"; "ranges"; tag: TextTag]
Packit bd2e5d
##endif
Packit bd2e5d
Packit bd2e5d
   function () tag_remove [widget(text); "tag"; "remove"; tag: TextTag; start: TextIndex; stop: TextIndex]
Packit bd2e5d
   function () tag_remove_char [widget(text); "tag"; "remove"; tag: TextTag; index: TextIndex]
Packit bd2e5d
Packit bd2e5d
   function () window_configure [widget(text); "window"; "configure"; tag: TextTag; option(embeddedw) list]
Packit bd2e5d
   function () window_create [widget(text); "window"; "create"; index: TextIndex; option(embeddedw) list]
Packit bd2e5d
   function (widget list) window_names [widget(text); "window"; "names"]
Packit bd2e5d
   % scrolling
Packit bd2e5d
   function (float,float) xview_get [widget(text); "xview"]
Packit bd2e5d
   function (float,float) yview_get [widget(text); "yview"]
Packit bd2e5d
   function () xview [widget(text); "xview"; scroll: ScrollValue]
Packit bd2e5d
   function () yview [widget(text); "yview"; scroll: ScrollValue]
Packit bd2e5d
   function () yview_index [widget(text); "yview"; index: TextIndex]
Packit bd2e5d
   function () yview_index_pickplace [widget(text); "yview"; "-pickplace"; index: TextIndex]
Packit bd2e5d
   function () yview_line [widget(text); "yview"; line: int]      % obsolete
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
subtype option(texttag) {
Packit bd2e5d
   Background
Packit bd2e5d
   BgStipple ["-bgstipple"; Bitmap]
Packit bd2e5d
   BorderWidth
Packit bd2e5d
   FgStipple ["-fgstipple"; Bitmap]
Packit bd2e5d
   Font
Packit bd2e5d
   Foreground
Packit bd2e5d
   Justify
Packit bd2e5d
   LMargin1 ["-lmargin1"; Units/int]
Packit bd2e5d
   LMargin2 ["-lmargin2"; Units/int]
Packit bd2e5d
   Offset ["-offset"; Units/int]
Packit bd2e5d
   OverStrike ["-overstrike"; bool]
Packit bd2e5d
   Relief
Packit bd2e5d
   RMargin ["-rmargin"; Units/int]
Packit bd2e5d
   Spacing1
Packit bd2e5d
   Spacing2
Packit bd2e5d
   Spacing3
Packit bd2e5d
   Tabs
Packit bd2e5d
   Underline ["-underline"; bool]
Packit bd2e5d
   Wrap ["-wrap"; WrapMode]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% tk(n)
Packit bd2e5d
unsafe function () appname_set ["tk"; "appname"; string]
Packit bd2e5d
unsafe function (string) appname_get ["tk"; "appname"]
Packit bd2e5d
function (float) scaling_get ["tk"; "scaling"; ?displayof:["-displayof"; widget]]
Packit bd2e5d
unsafe function () scaling_set ["tk"; "scaling"; ?displayof:["-displayof"; widget]; float]
Packit bd2e5d
Packit bd2e5d
%%%%% tk_chooseColor(n)
Packit bd2e5d
Packit bd2e5d
subtype option(chooseColor){
Packit bd2e5d
    InitialColor ["-initialcolor"; Color]
Packit bd2e5d
    Parent ["-parent"; widget]
Packit bd2e5d
    Title ["-title"; string]
Packit bd2e5d
    }
Packit bd2e5d
function (Color) chooseColor ["tk_chooseColor"; option(chooseColor) list]
Packit bd2e5d
Packit bd2e5d
%%%%% tkwait(n)
Packit bd2e5d
module Tkwait {
Packit bd2e5d
   function () variable ["tkwait"; "variable"; TextVariable]
Packit bd2e5d
   function () visibility ["tkwait"; "visibility"; widget]
Packit bd2e5d
   function () window ["tkwait"; "window"; widget]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% toplevel(n)
Packit bd2e5d
% This module will be renamed "toplevelw" to avoid collision with
Packit bd2e5d
% Caml Light standard toplevel module.
Packit bd2e5d
widget toplevel {
Packit bd2e5d
   % Standard options
Packit bd2e5d
   option BorderWidth
Packit bd2e5d
   option Cursor
Packit bd2e5d
   option HighlightBackground
Packit bd2e5d
   option HighlightColor
Packit bd2e5d
   option HighlightThickness
Packit bd2e5d
   option Relief
Packit bd2e5d
   option TakeFocus
Packit bd2e5d
Packit bd2e5d
   % Widget specific options
Packit bd2e5d
   option Background
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   option Class
Packit bd2e5d
##else
Packit bd2e5d
   option Clas
Packit bd2e5d
##endif
Packit bd2e5d
   option Colormap
Packit bd2e5d
   option Container ["-container"; bool]
Packit bd2e5d
   option Height
Packit bd2e5d
   option Menu
Packit bd2e5d
   option Screen ["-screen"; string]
Packit bd2e5d
   option Use ["-use"; string] % must be hexadecimal "0x????"
Packit bd2e5d
   option Visual
Packit bd2e5d
   option Width
Packit bd2e5d
Packit bd2e5d
   function () configure [widget(toplevel); "configure"; option(toplevel) list]
Packit bd2e5d
   function (string) configure_get [widget(toplevel); "configure"]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% update(n)
Packit bd2e5d
function () update ["update"]
Packit bd2e5d
function () update_idletasks ["update"; "idletasks"]
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% winfo(n)
Packit bd2e5d
Packit bd2e5d
type AtomId {
Packit bd2e5d
   AtomId [int]
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
module Winfo {
Packit bd2e5d
Packit bd2e5d
   unsafe function (AtomId) atom ["winfo"; "atom"; ?displayof:["-displayof"; widget]; string]
Packit bd2e5d
   unsafe function (string) atomname ["winfo"; "atomname"; ?displayof:["-displayof"; widget]; AtomId]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   unsafe function (AtomId) atom_displayof ["winfo"; "atom"; "-displayof"; widget; string]
Packit bd2e5d
   unsafe function (string) atomname_displayof ["winfo"; "atomname"; "-displayof"; widget; AtomId]
Packit bd2e5d
##endif
Packit bd2e5d
   function (int) cells ["winfo"; "cells"; widget]
Packit bd2e5d
   function (widget list) children ["winfo"; "children"; widget]
Packit bd2e5d
   function (string) class_name ["winfo"; "class"; widget]
Packit bd2e5d
   function (bool) colormapfull ["winfo"; "colormapfull"; widget]
Packit bd2e5d
   unsafe function (widget) containing ["winfo"; "containing"; ?displayof:["-displayof"; widget]; x: int; y: int]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   unsafe function (widget) containing_displayof ["winfo"; "containing"; "-displayof"; widget; int; int]
Packit bd2e5d
##endif
Packit bd2e5d
   % addition for applets
Packit bd2e5d
   external contained "builtin/winfo_contained"
Packit bd2e5d
   function (int) depth ["winfo"; "depth"; widget]
Packit bd2e5d
   function (bool) exists ["winfo"; "exists"; widget]
Packit bd2e5d
   function (float) fpixels ["winfo"; "fpixels"; widget; length: Units]
Packit bd2e5d
   function (string) geometry ["winfo"; "geometry"; widget]
Packit bd2e5d
   function (int) height ["winfo"; "height"; widget]
Packit bd2e5d
   unsafe function (string) id ["winfo"; "id"; widget]
Packit bd2e5d
   unsafe function (string list) interps ["winfo"; "interps"; ?displayof:["-displayof"; widget]]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   unsafe function (string list) interps_displayof ["winfo"; "interps"; "-displayof"; widget]
Packit bd2e5d
##endif
Packit bd2e5d
   function (bool) ismapped ["winfo"; "ismapped"; widget]
Packit bd2e5d
   function (string) manager ["winfo"; "manager"; widget]
Packit bd2e5d
   function (string) name ["winfo"; "name"; widget]
Packit bd2e5d
   unsafe function (widget) parent ["winfo"; "parent"; widget]        % bogus for top
Packit bd2e5d
   unsafe function (widget) pathname ["winfo"; "pathname"; ?displayof:["-displayof"; widget]; string]
Packit bd2e5d
##ifdef CAMLTK
Packit bd2e5d
   unsafe function (widget) pathname_displayof ["winfo"; "pathname"; "-displayof"; widget; string]
Packit bd2e5d
##endif
Packit bd2e5d
   function (int) pixels ["winfo"; "pixels"; widget; length: Units]
Packit bd2e5d
   function (int) pointerx ["winfo"; "pointerx"; widget]
Packit bd2e5d
   function (int) pointery ["winfo"; "pointery"; widget]
Packit bd2e5d
   function (int, int) pointerxy ["winfo"; "pointerxy"; widget]
Packit bd2e5d
   function (int) reqheight ["winfo"; "reqheight"; widget]
Packit bd2e5d
   function (int) reqwidth ["winfo"; "reqwidth"; widget]
Packit bd2e5d
   function (int,int,int) rgb ["winfo"; "rgb"; widget; color: Color]
Packit bd2e5d
   function (int) rootx ["winfo"; "rootx"; widget]
Packit bd2e5d
   function (int) rooty ["winfo"; "rooty"; widget]
Packit bd2e5d
   unsafe function (string) screen ["winfo"; "screen"; widget]
Packit bd2e5d
   function (int) screencells ["winfo"; "screencells"; widget]
Packit bd2e5d
   function (int) screendepth ["winfo"; "screendepth"; widget]
Packit bd2e5d
   function (int) screenheight ["winfo"; "screenheight"; widget]
Packit bd2e5d
   function (int) screenmmheight ["winfo"; "screenmmheight"; widget]
Packit bd2e5d
   function (int) screenmmwidth ["winfo"; "screenmmwidth"; widget]
Packit bd2e5d
   function (string) screenvisual ["winfo"; "screenvisual"; widget]
Packit bd2e5d
   function (int) screenwidth ["winfo"; "screenwidth"; widget]
Packit bd2e5d
   unsafe function (string) server ["winfo"; "server"; widget]
Packit bd2e5d
   unsafe function (widget(toplevel)) toplevel ["winfo"; "toplevel"; widget]
Packit bd2e5d
   function (bool) viewable ["winfo"; "viewable"; widget]
Packit bd2e5d
   function (string) visual ["winfo"; "visual"; widget]
Packit bd2e5d
   function (int) visualid ["winfo"; "visualid"; widget]
Packit bd2e5d
   % need special parser
Packit bd2e5d
   function (string) visualsavailable ["winfo"; "visualsavailable"; widget; ?includeids: [int list]]
Packit bd2e5d
   function (int) vrootheight ["winfo"; "vrootheight"; widget]
Packit bd2e5d
   function (int) vrootwidth ["winfo"; "vrootwidth"; widget]
Packit bd2e5d
   function (int) vrootx ["winfo"; "vrootx"; widget]
Packit bd2e5d
   function (int) vrooty ["winfo"; "vrooty"; widget]
Packit bd2e5d
   function (int) width ["winfo"; "width"; widget]
Packit bd2e5d
   function (int) x ["winfo"; "x"; widget]
Packit bd2e5d
   function (int) y ["winfo"; "y"; widget]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
Packit bd2e5d
%%%%% wm(n)
Packit bd2e5d
Packit bd2e5d
type FocusModel {
Packit bd2e5d
   FocusActive ["active"]
Packit bd2e5d
   FocusPassive ["passive"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
type WmFrom {
Packit bd2e5d
   User ["user"]
Packit bd2e5d
   Program ["program"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
module Wm {
Packit bd2e5d
%%% Aspect
Packit bd2e5d
   function () aspect_set ["wm"; "aspect"; widget(toplevel); minnum:int; mindenom:int; maxnum:int; maxdenom:int]
Packit bd2e5d
   % aspect: problem with empty return
Packit bd2e5d
   function (int,int,int,int) aspect_get ["wm"; "aspect"; widget(toplevel)]
Packit bd2e5d
%%% WM_CLIENT_MACHINE
Packit bd2e5d
   function () client_set ["wm"; "client"; widget(toplevel); name: string]
Packit bd2e5d
   function (string) client_get ["wm"; "client"; widget(toplevel)]
Packit bd2e5d
%%% WM_COLORMAP_WINDOWS
Packit bd2e5d
   function () colormapwindows_set
Packit bd2e5d
        ["wm"; "colormapwindows"; widget(toplevel); [windows: widget list]]
Packit bd2e5d
   unsafe function (widget list) colormapwindows_get
Packit bd2e5d
        ["wm"; "colormapwindows"; widget(toplevel)]
Packit bd2e5d
%%% WM_COMMAND
Packit bd2e5d
   function () command_clear ["wm"; "command"; widget(toplevel); ""]
Packit bd2e5d
   function () command_set ["wm"; "command"; widget(toplevel); [string list]]
Packit bd2e5d
   function (string list) command_get ["wm"; "command"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
   function () deiconify ["wm"; "deiconify"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
%%% Focus model
Packit bd2e5d
   function () focusmodel_set ["wm"; "focusmodel"; widget(toplevel); FocusModel]
Packit bd2e5d
   function (FocusModel) focusmodel_get ["wm"; "focusmodel"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
   function (string) frame ["wm"; "frame"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
%%% Geometry
Packit bd2e5d
   function () geometry_set ["wm"; "geometry"; widget(toplevel); string]
Packit bd2e5d
   function (string) geometry_get ["wm"; "geometry"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
%%% Grid
Packit bd2e5d
   function () grid_clear ["wm"; "grid"; widget(toplevel); ""; ""; ""; ""]
Packit bd2e5d
   function () grid_set ["wm"; "grid"; widget(toplevel); basewidth: int; baseheight: int; widthinc: int; heightinc: int]
Packit bd2e5d
   function (int,int,int,int) grid_get ["wm"; "grid"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
%%% Groups
Packit bd2e5d
   function () group_clear ["wm"; "group"; widget(toplevel); ""]
Packit bd2e5d
   function () group_set ["wm"; "group"; widget(toplevel); leader: widget]
Packit bd2e5d
   unsafe function (widget) group_get ["wm"; "group"; widget(toplevel)]
Packit bd2e5d
%%% Icon bitmap
Packit bd2e5d
   function () iconbitmap_clear ["wm"; "iconbitmap"; widget(toplevel); ""]
Packit bd2e5d
   function () iconbitmap_set ["wm"; "iconbitmap"; widget(toplevel); Bitmap]
Packit bd2e5d
   function (Bitmap) iconbitmap_get ["wm"; "iconbitmap"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
   function () iconify ["wm"; "iconify"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
%%% Icon mask
Packit bd2e5d
   function () iconmask_clear ["wm"; "iconmask"; widget(toplevel); ""]
Packit bd2e5d
   function () iconmask_set ["wm"; "iconmask"; widget(toplevel); Bitmap]
Packit bd2e5d
   function (Bitmap) iconmask_get ["wm"; "iconmask"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
%%% Icon name
Packit bd2e5d
   function () iconname_set ["wm"; "iconname"; widget(toplevel); string]
Packit bd2e5d
   function (string) iconname_get ["wm"; "iconname"; widget(toplevel)]
Packit bd2e5d
%%% Icon position
Packit bd2e5d
   function () iconposition_clear ["wm"; "iconposition"; widget(toplevel); ""; ""]
Packit bd2e5d
   function () iconposition_set ["wm"; "iconposition"; widget(toplevel); x: int; y: int]
Packit bd2e5d
   function (int,int) iconposition_get ["wm"; "iconposition"; widget(toplevel)]
Packit bd2e5d
%%% Icon window
Packit bd2e5d
   function () iconwindow_clear ["wm"; "iconwindow"; widget(toplevel); ""]
Packit bd2e5d
   function () iconwindow_set ["wm"; "iconwindow"; widget(toplevel); icon: widget(toplevel)]
Packit bd2e5d
   unsafe function (widget(toplevel)) iconwindow_get ["wm"; "iconwindow"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
%%% Sizes
Packit bd2e5d
   function () maxsize_set ["wm"; "maxsize"; widget(toplevel); width: int; height: int]
Packit bd2e5d
   function (int,int) maxsize_get ["wm"; "maxsize"; widget(toplevel)]
Packit bd2e5d
   function () minsize_set ["wm"; "minsize"; widget(toplevel); width: int; height: int]
Packit bd2e5d
   function (int,int) minsize_get ["wm"; "minsize"; widget(toplevel)]
Packit bd2e5d
%%% Override
Packit bd2e5d
   unsafe function () overrideredirect_set ["wm"; "overrideredirect"; widget(toplevel); bool]
Packit bd2e5d
   function (bool) overrideredirect_get ["wm"; "overrideredirect"; widget(toplevel)]
Packit bd2e5d
%%% Position
Packit bd2e5d
   function () positionfrom_clear ["wm"; "positionfrom"; widget(toplevel); ""]
Packit bd2e5d
   function () positionfrom_set ["wm"; "positionfrom"; widget(toplevel); WmFrom]
Packit bd2e5d
   function (WmFrom) positionfrom_get ["wm"; "positionfrom"; widget(toplevel)]
Packit bd2e5d
%%% Protocols
Packit bd2e5d
   function () protocol_set ["wm"; "protocol"; widget(toplevel); name: string; command: function()]
Packit bd2e5d
   function () protocol_clear ["wm"; "protocol"; widget(toplevel); name: string; ""]
Packit bd2e5d
   function (string list) protocols ["wm"; "protocol"; widget(toplevel)]
Packit bd2e5d
%%% Resize
Packit bd2e5d
   function () resizable_set ["wm"; "resizable"; widget(toplevel); width: bool; height: bool]
Packit bd2e5d
   function (bool, bool) resizable_get ["wm"; "resizable"; widget(toplevel)]
Packit bd2e5d
%%% Sizefrom
Packit bd2e5d
   function () sizefrom_clear ["wm"; "sizefrom"; widget(toplevel); ""]
Packit bd2e5d
   function () sizefrom_set ["wm"; "sizefrom"; widget(toplevel); WmFrom]
Packit bd2e5d
   function (WmFrom) sizefrom_get ["wm"; "sizefrom"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
   function (string) state ["wm"; "state"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
%%% Title
Packit bd2e5d
   function (string) title_get ["wm"; "title"; widget(toplevel)]
Packit bd2e5d
   function () title_set ["wm"; "title"; widget(toplevel); string]
Packit bd2e5d
%%% Transient
Packit bd2e5d
   function () transient_clear ["wm"; "transient"; widget(toplevel); ""]
Packit bd2e5d
   function () transient_set ["wm"; "transient"; widget(toplevel); master: widget]
Packit bd2e5d
   unsafe function (widget) transient_get ["wm"; "transient"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
   function () withdraw ["wm"; "withdraw"; widget(toplevel)]
Packit bd2e5d
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
%%%%% tk_getOpenFile(n) (since version 8.0)
Packit bd2e5d
type FilePattern external
Packit bd2e5d
Packit bd2e5d
subtype option(getFile) {
Packit bd2e5d
  DefaultExtension ["-defaultextension"; string]
Packit bd2e5d
  FileTypes ["-filetypes"; [FilePattern list]]
Packit bd2e5d
  InitialDir ["-initialdir"; string]
Packit bd2e5d
  InitialFile ["-initialfile"; string]
Packit bd2e5d
  Parent ["-parent"; widget]
Packit bd2e5d
  Title ["-title"; string]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
function (string) getOpenFile ["tk_getOpenFile"; option(getFile) list]
Packit bd2e5d
function (string) getSaveFile ["tk_getSaveFile"; option(getFile) list]
Packit bd2e5d
Packit bd2e5d
%%%%% tk_messageBox
Packit bd2e5d
type MessageIcon {
Packit bd2e5d
   Error ["error"]
Packit bd2e5d
   Info  ["info"]
Packit bd2e5d
   Question ["question"]
Packit bd2e5d
   Warning ["warning"]
Packit bd2e5d
}
Packit bd2e5d
type MessageType {
Packit bd2e5d
   AbortRetryIgnore ["abortretryignore"]
Packit bd2e5d
   Ok ["ok"]
Packit bd2e5d
   OkCancel ["okcancel"]
Packit bd2e5d
   RetryCancel ["retrycancel"]
Packit bd2e5d
   YesNo ["yesno"]
Packit bd2e5d
   YesNoCancel ["yesnocancel"]
Packit bd2e5d
}
Packit bd2e5d
subtype option(messageBox) {
Packit bd2e5d
  MessageDefault ["-default"; string]
Packit bd2e5d
  MessageIcon  ["-icon"; MessageIcon]
Packit bd2e5d
  Message ["-message"; string]
Packit bd2e5d
  Parent
Packit bd2e5d
  Title
Packit bd2e5d
  MessageType ["-type"; MessageType]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
function (string) messageBox ["tk_messageBox"; option(messageBox) list]
Packit bd2e5d
Packit bd2e5d
module Tkvars {
Packit bd2e5d
  function (string) library ["set"; "tk_library"]
Packit bd2e5d
  function (string) patchLevel ["set"; "tk_patchLevel"]
Packit bd2e5d
  function (bool) strictMotif ["set"; "tk_strictMotif"]
Packit bd2e5d
  function () set_strictMotif ["set"; "tk_strictMotif"; bool]
Packit bd2e5d
  function (string) version ["set"; "tk_version"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
% Direct API calls, non Tcl-based modules
Packit bd2e5d
Packit bd2e5d
module Pixmap {
Packit bd2e5d
   external create "builtin/rawimg"
Packit bd2e5d
   }
Packit bd2e5d
Packit bd2e5d
%%% encodings : require if you want write your application international
Packit bd2e5d
Packit bd2e5d
module Encoding {
Packit bd2e5d
  function (string) convertfrom ["encoding"; "convertfrom";
Packit bd2e5d
                                 ?encoding: [string]; string]
Packit bd2e5d
  function (string) convertto ["encoding"; "convertto";
Packit bd2e5d
                                ?encoding: [string]; string]
Packit bd2e5d
  function (string list) names ["encoding"; "names"]
Packit bd2e5d
  function () system_set ["encoding"; "system"; string]
Packit bd2e5d
  function (string) system_get ["encoding"; "system"]
Packit bd2e5d
}
Packit bd2e5d
Packit bd2e5d
% sample addition: ttk::labelframe
Packit bd2e5d
% widget "ttk::labelframe" {
Packit bd2e5d
%   function (string) after [int]
Packit bd2e5d
% }
Packit bd2e5d
% subtype option("ttk::labelframe") {
Packit bd2e5d
%   Text
Packit bd2e5d
% }