'#\n' Comment.Single '# $Id: button.icn,v 1.7 2006-07-09 23:43:07 rparlett Exp $\n' Comment.Single '#\n' Comment.Single '# This file is in the public domain.\n' Comment.Single '#\n' Comment.Single '# Author: Robert Parlett (parlett@dial.pipex.com)\n' Comment.Single '#\n' Comment.Single '\n' Text 'package' Keyword.Declaration ' ' Text 'gui' Name '\n' Text 'link' Keyword.Declaration ' ' Text 'graphics' Name '\n\n' Text '$include' Keyword.PreProc ' ' Text '"guih.icn"' Literal.String '\n\n\n' Text '#\n' Comment.Single '# This is the parent class of the button classes, including\n' Comment.Single '# checkboxes.\n' Comment.Single '#\n' Comment.Single '# A {Button} produces a BUTTON_PRESS_EVENT when the button is\n' Comment.Single '# depressed, and code BUTTON_RELEASE_EVENT when it is released,\n' Comment.Single '# as well as an ACTION_EVENT.\n' Comment.Single '# \n' Comment.Single '# By default, when a button holds the keyboard focus a dashed\n' Comment.Single '# line appears just within the button. Then, when return is\n' Comment.Single '# pressed an ACTION_EVENT is generated. The method\n' Comment.Single '# {Dialog.set_initial_focus()} can be used to have the button\n' Comment.Single '# have the focus when the dialog is first displayed.\n' Comment.Single '#\n' Comment.Single '# Buttons also repeatedly produce a BUTTON_HELD_EVENT whilst they\n' Comment.Single '# are held down, rather like a repeating keyboard press. The\n' Comment.Single '# delay between the initial repeat event and subsequent repeat\n' Comment.Single '# events is set in the parent dialog (see above).\n' Comment.Single '#\n' Comment.Single 'class' Keyword.Declaration ' ' Text 'Button' Name.Function ' ' Text ':' Punctuation ' ' Text 'Toggle' Name.Function ' ' Text ':' Punctuation ' ' Text 'Component' Name.Function '(' Punctuation '\n' Text ' ' Text 'is_down' Name.Variable ',' Punctuation ' ' Text '# \n' Comment.Single ' ' Text 'is_held' Name.Variable ',' Punctuation ' ' Text '# \n' Comment.Single ' ' Text 'is_checked_flag' Name.Variable ',' Punctuation ' ' Text '# \n' Comment.Single ' ' Text 'label' Name.Variable ',' Punctuation '\n' Text ' ' Text 'img_up' Name.Variable ',' Punctuation ' ' Text '# \n' Comment.Single ' ' Text 'img_down' Name.Variable ',' Punctuation ' ' Text '# \n' Comment.Single ' ' Text 'img_w' Name.Variable ',' Punctuation ' ' Text '# \n' Comment.Single ' ' Text 'img_h' Name.Variable ',' Punctuation ' ' Text '# \n' Comment.Single ' ' Text 'parent_check_box_group' Name.Variable ',' Punctuation ' ' Text '#\n' Comment.Single ' ' Text 'parent_button_group' Name.Variable ',' Punctuation ' ' Text '# \n' Comment.Single ' ' Text 'repeat_delay' Name.Variable ',' Punctuation '\n' Text ' ' Text 'no_keyboard_flag' Name.Variable ',' Punctuation ' ' Text '#\n' Comment.Single ' ' Text 'toggles_flag' Name.Variable '\n' Text ' ' Text ')' Punctuation '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'set_parent_button_group' Name.Function '(' Punctuation 'x' Name.Variable ')' Punctuation '\n' Text ' ' Text 'return' Keyword.Reserved ' ' Text 'self' Name '.' Literal.Number.Float 'parent_button_group' Name ' ' Text ':=' Operator ' ' Text 'x' Name '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text '#\n' Comment.Single ' ' Text '# Invoking this method disables the keyboard control over the\n' Comment.Single ' ' Text '# button described above. No dashed line will ever appear in\n' Comment.Single ' ' Text '# the button display and return will have no effect on the\n' Comment.Single ' ' Text '# button even if it has the focus.\n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text 'method' Keyword.Declaration ' ' Text 'set_no_keyboard' Name.Function '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'no_keyboard_flag' Name ' ' Text ':=' Operator ' ' Text '1' Literal.Number.Integer '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'accepts_focus_flag' Name ' ' Text ':=' Operator ' ' Text '&null' Keyword.Constant '\n' Text ' ' Text 'end' Keyword.Reserved '\n' Text ' ' Text '\n' Text ' ' Text '#\n' Comment.Single ' ' Text '# Clear the no keyboard behaviour (the default)\n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text 'method' Keyword.Declaration ' ' Text 'clear_no_keyboard' Name.Function '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'no_keyboard_flag' Name ' ' Text ':=' Operator ' ' Text '&null' Keyword.Constant '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'accepts_focus_flag' Name ' ' Text ':=' Operator ' ' Text '1' Literal.Number.Integer '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'tick' Name.Function '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text 'dispatcher' Name '.' Literal.Number.Float 'curr_time_of_day' Name '(' Punctuation ')' Punctuation ' ' Text '>' Operator ' ' Text 'self' Name '.' Literal.Number.Float 'repeat_delay' Name ' ' Text 'then' Keyword.Reserved '\n' Text ' ' Text 'fire' Name '(' Punctuation 'BUTTON_HELD_EVENT' Name ')' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'go_down' Name.Function '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'is_down' Name ' ' Text ':=' Operator ' ' Text '1' Literal.Number.Integer '\n' Text ' ' Text 'set_ticker' Name '(' Punctuation 'self' Name '.' Literal.Number.Float 'parent_dialog' Name '.' Literal.Number.Float 'repeat_rate' Name ')' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'go_up' Name.Function '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'is_down' Name ' ' Text ':=' Operator ' ' Text '&null' Keyword.Constant '\n' Text ' ' Text 'stop_ticker' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'handle_press' Name.Function '(' Punctuation 'e' Name.Variable ')' Punctuation '\n' Text ' ' Text 'local' Keyword.Reserved ' ' Text 'b' Name '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text 'self' Name '.' Literal.Number.Float 'in_region' Name '(' Punctuation ')' Punctuation ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'go_down' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'repeat_delay' Name ' ' Text ':=' Operator ' ' Text 'dispatcher' Name '.' Literal.Number.Float 'curr_time_of_day' Name '(' Punctuation ')' Punctuation ' ' Text '+' Operator ' ' Text 'self' Name '.' Literal.Number.Float 'parent_dialog' Name '.' Literal.Number.Float 'repeat_delay' Name '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'is_held' Name ' ' Text ':=' Operator ' ' Text '1' Literal.Number.Integer '\n' Text ' ' Text 'every' Keyword.Reserved ' ' Text 'b' Name ' ' Text ':=' Operator ' ' Text '!' Operator '(' Punctuation '\\' Operator 'self' Name '.' Literal.Number.Float 'parent_button_group' Name ')' Punctuation '.' Literal.Number.Float 'buttons' Name ' ' Text 'do' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text 'b' Name '.' Literal.Number.Float 'is_unhidden' Name '(' Punctuation ')' Punctuation ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'b' Name '.' Literal.Number.Float 'is_held' Name ' ' Text ':=' Operator ' ' Text '1' Literal.Number.Integer '\n' Text ' ' Text 'b' Name '.' Literal.Number.Float 'repeat_delay' Name ' ' Text ':=' Operator ' ' Text 'self' Name '.' Literal.Number.Float 'repeat_delay' Name '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'invalidate' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'fire' Name '(' Punctuation 'BUTTON_PRESS_EVENT' Name ',' Punctuation ' ' Text 'e' Name ')' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'handle_drag' Name.Function '(' Punctuation 'e' Name.Variable ')' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text '\\' Operator 'self' Name '.' Literal.Number.Float 'is_held' Name ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text '#\n' Comment.Single ' ' Text '# Button held down; toggle on/off as it goes over the button \n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text 'if' Keyword.Reserved ' ' Text 'self' Name '.' Literal.Number.Float 'in_region' Name '(' Punctuation ')' Punctuation ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text '/' Operator 'self' Name '.' Literal.Number.Float 'is_down' Name ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'go_down' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'invalidate' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text '}' Punctuation ' ' Text 'else' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text '\\' Operator 'self' Name '.' Literal.Number.Float 'is_down' Name ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'go_up' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'invalidate' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'handle_release' Name.Function '(' Punctuation 'e' Name.Variable ')' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text '\\' Operator 'self' Name '.' Literal.Number.Float 'is_held' Name ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'is_held' Name ' ' Text ':=' Operator ' ' Text '&null' Keyword.Constant '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text '\\' Operator 'self' Name '.' Literal.Number.Float 'is_down' Name ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'go_up' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'fire' Name '(' Punctuation 'BUTTON_RELEASE_EVENT' Name ',' Punctuation ' ' Text 'e' Name ')' Punctuation '\n' Text ' ' Text 'on_action' Name '(' Punctuation 'e' Name ')' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'on_action' Name.Function '(' Punctuation 'e' Name.Variable ')' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text '\\' Operator 'self' Name '.' Literal.Number.Float 'toggles_flag' Name ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text '\\' Operator 'self' Name '.' Literal.Number.Float 'parent_check_box_group' Name ' ' Text 'then' Keyword.Reserved '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'parent_check_box_group' Name '.' Literal.Number.Float 'set_which_one' Name '(' Punctuation 'self' Name ')' Punctuation '\n' Text ' ' Text 'else' Keyword.Reserved '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'toggle_is_checked' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'invalidate' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'fire' Name '(' Punctuation 'ACTION_EVENT' Name ',' Punctuation ' ' Text 'e' Name ')' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'handle_accel' Name.Function '(' Punctuation 'e' Name.Variable ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'Component' Name '.' Literal.Number.Float 'handle_accel' Name '(' Punctuation 'e' Name ')' Punctuation '\n' Text ' ' Text 'on_action' Name '(' Punctuation 'e' Name ')' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'handle_default' Name.Function '(' Punctuation 'e' Name.Variable ')' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text '\\' Operator 'self' Name '.' Literal.Number.Float 'has_focus' Name ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text '/' Operator 'self' Name '.' Literal.Number.Float 'no_keyboard_flag' Name ' ' Text '&' Operator ' ' Text 'e' Name ' ' Text '==' Operator ' ' Text '(' Punctuation '"\\r"' Literal.String ' ' Text '|' Operator ' ' Text '"\\l"' Literal.String ' ' Text '|' Operator ' ' Text '" "' Literal.String ')' Punctuation ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'on_action' Name '(' Punctuation 'e' Name ')' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'handle_event' Name.Function '(' Punctuation 'e' Name.Variable ')' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text 'e' Name ' ' Text '===' Operator ' ' Text '(' Punctuation '&lpress' Keyword.Reserved ' ' Text '|' Operator ' ' Text '&rpress' Keyword.Reserved ' ' Text '|' Operator ' ' Text '&mpress' Keyword.Reserved ')' Punctuation ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'handle_press' Name '(' Punctuation 'e' Name ')' Punctuation '\n' Text ' ' Text '}' Punctuation ' ' Text 'else' Keyword.Reserved ' ' Text 'if' Keyword.Reserved ' ' Text 'e' Name ' ' Text '===' Operator ' ' Text '(' Punctuation '&ldrag' Keyword.Reserved ' ' Text '|' Operator ' ' Text '&rdrag' Keyword.Reserved ' ' Text '|' Operator ' ' Text '&mdrag' Keyword.Reserved ')' Punctuation ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'handle_drag' Name '(' Punctuation 'e' Name ')' Punctuation '\n' Text ' ' Text '}' Punctuation ' ' Text 'else' Keyword.Reserved ' ' Text 'if' Keyword.Reserved ' ' Text 'e' Name ' ' Text '===' Operator ' ' Text '(' Punctuation '&lrelease' Keyword.Reserved ' ' Text '|' Operator ' ' Text '&rrelease' Keyword.Reserved ' ' Text '|' Operator ' ' Text '&mrelease' Keyword.Reserved ')' Punctuation ' ' Text 'then' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text 'handle_release' Name '(' Punctuation 'e' Name ')' Punctuation '\n' Text ' ' Text '}' Punctuation ' ' Text 'else' Keyword.Reserved ' ' Text '\n' Text ' ' Text 'handle_default' Name '(' Punctuation 'e' Name ')' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text '#\n' Comment.Single ' ' Text '# Set the up/down images (if any) to the strings provided,\n' Comment.Single ' ' Text '# which should be in Icon image format.\n' Comment.Single ' ' Text '# The two images must have the same dimensions.\n' Comment.Single ' ' Text '# @param x The up image\n' Comment.Single ' ' Text '# @param y The down image\n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text 'method' Keyword.Declaration ' ' Text 'set_imgs' Name.Function '(' Punctuation 'x' Name.Variable ',' Punctuation ' ' Text 'y' Name.Variable ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'img_up' Name ' ' Text ':=' Operator ' ' Text 'x' Name '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'img_w' Name ' ' Text ':=' Operator ' ' Text 'img_width' Name '(' Punctuation 'x' Name ')' Punctuation ' ' Text '=' Operator ' ' Text 'img_width' Name '(' Punctuation 'y' Name ')' Punctuation ' ' Text '|' Operator ' ' Text 'fatal' Name '(' Punctuation '"Image widths differ"' Literal.String ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'img_h' Name ' ' Text ':=' Operator ' ' Text 'img_height' Name '(' Punctuation 'x' Name ')' Punctuation ' ' Text '=' Operator ' ' Text 'img_height' Name '(' Punctuation 'y' Name ')' Punctuation ' ' Text '|' Operator ' ' Text 'fatal' Name '(' Punctuation '"Image heights differ"' Literal.String ')' Punctuation '\n\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'img_down' Name ' ' Text ':=' Operator ' ' Text 'y' Name '\n\n' Text ' ' Text 'return' Keyword.Reserved '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text '#\n' Comment.Single ' ' Text '# Set the image (if any) to the given string, which should be in Icon image\n' Comment.Single ' ' Text '# format.\n' Comment.Single ' ' Text '# @param x The image\n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text 'method' Keyword.Declaration ' ' Text 'set_img' Name.Function '(' Punctuation 'x' Name.Variable ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'img_up' Name ' ' Text ':=' Operator ' ' Text 'self' Name '.' Literal.Number.Float 'img_down' Name ' ' Text ':=' Operator ' ' Text 'x' Name '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'img_w' Name ' ' Text ':=' Operator ' ' Text 'img_width' Name '(' Punctuation 'x' Name ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'img_h' Name ' ' Text ':=' Operator ' ' Text 'img_height' Name '(' Punctuation 'x' Name ')' Punctuation '\n' Text ' ' Text 'return' Keyword.Reserved ' ' Text 'x' Name '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text '#\n' Comment.Single ' ' Text '# Toggle the checked status of the button. This method, and\n' Comment.Single ' ' Text '# the following two methods, may be\n' Comment.Single ' ' Text '# inappropriate for non-toggle styles of button.\n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text 'method' Keyword.Declaration ' ' Text 'toggle_is_checked' Name.Function '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'Toggle' Name '.' Literal.Number.Float 'toggle_is_checked' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'invalidate' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text '#\n' Comment.Single ' ' Text '# Set the status to checked.\n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text 'method' Keyword.Declaration ' ' Text 'set_is_checked' Name.Function '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'Toggle' Name '.' Literal.Number.Float 'set_is_checked' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'invalidate' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text '#\n' Comment.Single ' ' Text '# Set the status to unchecked.\n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text 'method' Keyword.Declaration ' ' Text 'clear_is_checked' Name.Function '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'Toggle' Name '.' Literal.Number.Float 'clear_is_checked' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'invalidate' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text '#\n' Comment.Single ' ' Text '# Set the button so that when it is pressed, it toggles\n' Comment.Single ' ' Text '# between two states, as indicated by the is_checked\n' Comment.Single ' ' Text '# flag.\n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text '# Instances of Checkbox have this flag on by default, but \n' Comment.Single ' ' Text '# TextButton and IconButton do not. When the flag is on,\n' Comment.Single ' ' Text '# the latter classes indicate their checked status by\n' Comment.Single ' ' Text '# showing the button as being "down".\n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text 'method' Keyword.Declaration ' ' Text 'set_toggles' Name.Function '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'toggles_flag' Name ' ' Text ':=' Operator ' ' Text '1' Literal.Number.Integer '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'invalidate' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text '#\n' Comment.Single ' ' Text '# Clear the toggles flag.\n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text 'method' Keyword.Declaration ' ' Text 'clear_toggles' Name.Function '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'toggles_flag' Name ' ' Text ':=' Operator ' ' Text '&null' Keyword.Constant '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'invalidate' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text '#\n' Comment.Single ' ' Text '# Set the label of the button, if any.\n' Comment.Single ' ' Text '# @param x The label\n' Comment.Single ' ' Text '#\n' Comment.Single ' ' Text 'method' Keyword.Declaration ' ' Text 'set_label' Name.Function '(' Punctuation 'x' Name.Variable ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'label' Name ' ' Text ':=' Operator ' ' Text 'x' Name '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'invalidate' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'return' Keyword.Reserved ' ' Text 'x' Name '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'method' Keyword.Declaration ' ' Text 'set_one' Name.Function '(' Punctuation 'attr' Name.Variable ',' Punctuation ' ' Text 'val' Name.Variable ')' Punctuation '\n' Text ' ' Text 'case' Keyword.Reserved ' ' Text 'attr' Name ' ' Text 'of' Keyword.Reserved ' ' Text '{' Punctuation '\n' Text ' ' Text '"label"' Literal.String ' ' Text ':' Punctuation ' ' Text 'set_label' Name '(' Punctuation 'string_val' Name '(' Punctuation 'attr' Name ',' Punctuation ' ' Text 'val' Name ')' Punctuation ')' Punctuation '\n' Text ' ' Text '"is_checked"' Literal.String ' ' Text ':' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text 'test_flag' Name '(' Punctuation 'attr' Name ',' Punctuation ' ' Text 'val' Name ')' Punctuation ' ' Text 'then' Keyword.Reserved '\n' Text ' ' Text 'set_is_checked' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'else' Keyword.Reserved '\n' Text ' ' Text 'clear_is_checked' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text '"toggles"' Literal.String ' ' Text ':' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text 'test_flag' Name '(' Punctuation 'attr' Name ',' Punctuation ' ' Text 'val' Name ')' Punctuation ' ' Text 'then' Keyword.Reserved '\n' Text ' ' Text 'set_toggles' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'else' Keyword.Reserved '\n' Text ' ' Text 'clear_toggles' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text '"no_keyboard"' Literal.String ' ' Text ':' Punctuation '\n' Text ' ' Text 'if' Keyword.Reserved ' ' Text 'test_flag' Name '(' Punctuation 'attr' Name ',' Punctuation ' ' Text 'val' Name ')' Punctuation ' ' Text 'then' Keyword.Reserved '\n' Text ' ' Text 'set_no_keyboard' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'else' Keyword.Reserved '\n' Text ' ' Text 'clear_no_keyboard' Name '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'default' Keyword.Reserved ':' Punctuation ' ' Text 'self' Name '.' Literal.Number.Float 'Component' Name '.' Literal.Number.Float 'set_one' Name '(' Punctuation 'attr' Name ',' Punctuation ' ' Text 'val' Name ')' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text ' ' Text 'end' Keyword.Reserved '\n\n' Text ' ' Text 'initially' Keyword.Reserved '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'Component' Name '.' Literal.Number.Float 'initially' Keyword.Reserved '(' Punctuation ')' Punctuation '\n' Text ' ' Text 'self' Name '.' Literal.Number.Float 'accepts_focus_flag' Name ' ' Text ':=' Operator ' ' Text '1' Literal.Number.Integer '\n' Text 'end' Keyword.Reserved '\n' Text