Common Graphics   (a high-level API for writing windowized Graphical User Interfaces)
  Initializing Common Graphics
    initialize-cg
    *cg-is-initialized*
    in-cg-process
    exit-cg
    *gtk-compatibility-warning-action*   "(used on GTK only)"
  Coordinates
    Positions
      Making Positions
        :doc "position   (class; instantiate with make-position)" "cgide.htm#position-class-1"
        positionp
        make-position
        nmake-position
        copy-position
        ncopy-position
        with-positions   "(allocates temporary utility positions)"
        with-positions-and-boxes
      Accessing Positions
        Individual Coordinates of Positions
          position-x
          position-y
        position-length
      Testing Positions
        position=   "(returns whether two positions have equal coordinates)"
        inside-box-p
        on-line-segment-p
        on-line-segment-x-y-p
        inside-circle-p
        inside-polygon-p
        line-segment-intersection
        line-segment-intersection-x-y
        line-segment-intersects-box-p
        line-segment-intersects-box-x-y-p
        line-x-at-y
        line-x-at-y-x-y
        line-y-at-x
        line-y-at-x-x-y
        radial-line-box-intersection
        radial-line-box-intersection-x-y
        radial-line-circle-intersection
        radial-line-circle-intersection-x-y
      Manipulating Positions
        position+
        nposition+
        position-
        nposition-
        position*
        nposition*
        position-rotate
        nposition-rotate
        position-transform
        nposition-transform
    Boxes
      Creating Boxes
        box   "(class; instantiate with make-box)"
        boxp
        make-box
        nmake-box
        copy-box
        ncopy-box
        with-boxes   "(allocates temporary utility boxes)"
        with-positions-and-boxes
        Creating Boxes From Positions
          make-box-from-corners
          nmake-box-from-corners
          make-box-relative
          nmake-box-relative
          make-box-relative-from-corner
          nmake-box-relative-from-corner
        Creating Centered Boxes
          center-box-on-window
          center-box-on-screen
          center-box-on-page
      Accessing Boxes
        Individual Coordinates of Boxes
          box-left
          box-top
          box-right
          box-bottom
          box-width
          box-height
        Positions within Boxes
          Corners
            box-top-left
            box-top-right
            box-bottom-left
            box-bottom-right
          Centers of Sides
            box-left-center
            box-top-center
            box-right-center
            box-bottom-center
          The Center of the Box
            box-center
            box-center-x
            box-center-y
      Testing Boxes
        box=   "(returns whether two boxes have equal coordinates)"
        box-intersect-p   "(whether two boxes overlap)"
        sub-box-p   "(whether a box is inside another box)"
        inside-box-p   "(whether a position is inside a box)"
      Manipulating Boxes
        box-move
        nbox-move
        box-union
        box-intersect
        inflate-box
    Translating Between Alternate Coordinate Systems
      :doc "Coordinate System Overview" "cg/cg-coordinates.htm"
      Alternate Points of Reference
        Between a Physical Window or other "Device" and Its Stream for Drawing
          device-to-stream-units
          stream-to-device-units
          Deprecated
            window-to-stream-units   "(renamed device-to-stream-units)"
            stream-to-window-units   "(renamed stream-to-device-units)"
        Between a Physical Window and the Screen
          window-to-screen-units
          screen-to-window-units
        Between Any Two Windows or Their Streams
          window-to-window-units
          stream-to-stream-units
      Alternate Units of Distance or Size
        Between Scaled Units and Pixels
          device-to-scaling-units
          scaling-to-device-units
         :nav "Navigator Example for a Scaled Printer-Stream" :printer-resolution-example
        Between Dialog Units and Pixels
          dialog-to-device-units
          device-to-dialog-units
          dialog-units-p
          Deprecated
            dialog-to-screen-units   "(renamed dialog-to-device-units)"
            screen-to-dialog-units   "(renamed device-to-dialog-units)"
    Between Pixels and Points
      pixels-to-points
      points-to-pixels
  Interface Objects
    Windows
      :nav "Navigator Example for Windowing" :window-methods-example
      Window Classes
        Instantiable Window Classes   (use make-window to instantiate)
          basic-pane   "(superclass of all windows; also instantiable)"
            basic-pane
            windowp
          frame-window   (a general window for arbitrary graphics)
            frame-window   "(class)"
            frame-window-p
            frame-window-of-window
          non-refreshing-window   (a frame-with-single-child window for arbitrary graphics)
            non-refreshing-window   "(class)"
            non-refreshing-pane   "(class)"
          dialog   (a window in which the user can tab to various controls)
            dialog   "(class)"
            Functions Applicable to Any Dialog
              dialogp
              dialog-items
              update-dialog
              Accessing Values of Multiple Controls
                dialog-field
                dialog-fields
                set-dialog-field
                set-dialog-fields
              tab-to-next
              set-default-button
            Modal Dialogs   (dialogs that appear momentarily and demand attention)
              pop-up-modal-dialog
              flag-modal-completion
              exit-dialog
              is-modal
              pop-up
              topmost
              modal-window
              allow-during-modality "(menu-item property)"
              *modal-dialogs-disable-owner*
              Default Buttons and Cancel Buttons
                default-button "(control class)"
                cancel-button "(control class)"
                return-t-from-pop-up-dialog
                return-nil-from-pop-up-dialog
            Built-In Utility Dialogs   (useful for certain standard operations)
              Common Dialogs   (supplied by the operating system)
                ask-user-for-existing-pathname
                  ask-user-for-existing-pathname
                  file-selection-buffer-size
                  ide:source-file-types
                  ide:file-dialog-source-types   "(no longer used)"
                ask-user-for-new-pathname
                  ask-user-for-new-pathname
                  ide:source-file-types
                  ide:file-dialog-source-types   "(no longer used)"
                ask-user-for-new-or-existing-directory
                ask-user-for-directory
                ask-user-for-font
                ask-user-for-color
                pop-up-printer-job-dialog   "(normally called only internally when a printer stream is opened)"
                pop-up-printer-setup-dialog   "(the Page Setup dialog)"
              Lisp Utility Dialogs   (supplied by Common Graphics)
                Displaying a Message
                  pop-up-message-dialog
                  *pop-up-message-max-width-factor*
                  *pop-up-message-max-height-factor*
                  message-box
                Choice Selection
                  ask-user-for-choice
                  ask-user-for-choice-from-list
                  yes-no-or-cancel-list
                  y-or-n-dialog
                  ask-save-changes
                Prompting for a String
                  ask-user-for-string
                  pop-up-string-dialog
                  pop-up-strings-dialog
                String Search and Replace
                  pop-up-find-dialog
                  pop-up-replace-dialog
                Older Deprecated Utility Dialog Functions
                  choose-default-printer   "(use pop-up-printer-setup-dialog or use the print job dialog)"
                  pop-up-color-dialog   "(use ask-user-for-color)"
              Options for the Utility Dialogs
                center-all-modal-dialogs-on-screen   "(configuration option)"
                modal-dialog-margin   "(configuration option)"
                position-utility-dialog   "(overridable generic function)"
                center-modal-children   "(overridable generic function)"
              :doc "Menus and Dialogs in the IDE" "cgide.htm#menus-dialogs-1"
          bitmap-window   (a window that uses a memory bitmap to remember its contents)
            bitmap-window   "(class)"
            bitmap-pane   "(class)"
            Controlling the Size of the Backing-Store Memory Bitmap
              set-page-size
              page-width
              page-height
              default-page-width
              default-page-height
            Changing a Picture Instantaneously   (with no erasure "flash")
              :info "Use (with-delayed-redraw (my-bitmap-pane :invalidate t) <draw stuff>))"
              with-delayed-redraw
            :nav "Navigator Bouncing Boxes Example" :bouncing-box-example
            Bitmap-Streams   (like a bitmap-window's backing-store without the window)
              bitmap-stream   "(class; use open-stream to instantiate)"
              open-stream   "(instantiates a bitmap-stream or printer class)"
              :doc "Drawing on bitmap-streams" "cg/cg-drawing.htm#on-bitmap-streams-2"
              :nav "Navigator Bitmap-Stream Example" :bitmap-stream-example
              :nav "Navigator Custom Mouse Cursor Example" :mouse-cursor-example
          text-edit-window   (a window that uses a text-editing control)
            Classes
              text-edit-window
              text-edit-pane
            Functions
              Accessing the Text
                :info "Use standard CL stream output functions like FORMAT to add text to a text-edit-pane."
                text-range   "(returns an arbitrary substring of the text)"
                text-line   "(returns one complete line of the text)"
                selected-object   "(returns the selected text)"
                get-text   "(returns all of the text)"
                set-text   "(sets all of the text)"
                copy-selection   "(returns the selected text)"
                cut-selection   "(deletes and returns the selected text)"
                paste-selection   "(inserts text, replacing any selection)"
                undo-command
                redo-command
                copy-command
                cut-command
                paste-command
                delete-command
                file-length   "(returns the length of all the text)"
                clear-page   "(for a text-edit-pane, removes all text)"
              The Currently Selected Text or Text Cursor Position
                get-selection   "(returns the selection range or the text cursor position)"
                set-selection   "(sets the selection range or the text cursor position)"
                file-position   "(returns or sets the text cursor position)"
                selection-changed   "(overridable generic function)"
                scroll-text-cursor-into-view
              Character and Line Indices
                number-of-text-lines
                current-line-number
                current-text-column
                first-visible-line
                set-first-visible-line
                line-number-from-char
                char-from-line-number
              Pixel Positions of Characters
                character-index-at-position
                position-of-character-index
              Bookmarks
                make-mark
                mark-position
                IDE Menu Commands for Marks
                  :info "Edit | Set Mark"
                  :info "Edit | Swap with Mark"
                  :info "Edit | Select to Mark"
                  :info "Edit | Display Selection"
                  :doc "The Edit Menu" "ide-menus-and-dialogs/edit-menu.htm"
              Searching a Text Control
                string-search
                string-replace
              Other Text-Edit-Pane/Window Functions
                file   "(returns the file being edited)"
                stream-package
                modified   "(returns whether there are changes that need to be saved)"
                text-edit-margins
                restore-right-margin
                with-motionless-text-control
            Special Properties for Text-Edit-Panes
              font
              tabs
              read-only
              save-selection-when-unfocused
              show-selection-when-unfocused
              notify-when-selection-changed
              automatic-font-changing
              dual-fonts-for-languages
              external-format-for-save
              external-format-for-saved-files   "(configuration option)"
              load-utf8-if-no-bom   "(configuration option)"
              write-bom-to-utf8-files   "(configuration option)"
            Functions Used by the IDE Editor   (may be applicable to applications)
              load-file
              save-file
              ide:source-file-types
              ide:file-dialog-source-types   "(no longer used)"
          lisp-edit-window   (for editing lisp expressions)
            Classes
              lisp-edit-window
              lisp-edit-pane
            Parenthesis Matching and Lisp Indentation
              Parenthesis Matching
                parentheses-matched
                parenthesis-matching-color
                parenthesis-matching-style
                without-parenthesis-matching
                *show-parenthesis-matches-as-pop-up-window*
                *parenthesis-match-pop-up-milliseconds*
              Lisp Indentation
                reindent-region
                reindent-single-line
                conserve-indentation
              Lisp Code Colorization
                Colorizing On Demand
                  colorize-source-code
                Colorizing Automatically
                  colorize-on-load-file
                  colorize-on-typing
                The Colors to Use
                  color-for-comments
                  color-for-strings
                  color-for-characters
                  color-for-global-variables
                  color-for-external-cl-symbols
                  color-for-external-allegro-symbols
                  color-for-external-cg-symbols
                  color-for-user-functions
          rich-edit-pane   (a window that uses a rich text editing control)
            :doc "Rich Edit Overview" "cg/cg-rich-text.htm"
            :doc "Adding Comprehensive Help to an Application" "cg/cg-application-help.htm#comprehensive-help-2"
            Rich-Edit Classes
              rich-edit-pane
              rich-edit   "(a control that uses a rich-edit-pane as its window)"
              rich-edit-dialog
              Rich-Edit "Helper" Controls
                rich-edit-multipic
                multi-picture-button-pane
                rich-edit-ruler
                rich-edit-ruler-pane
                rich-edit-combo-box
                font-face-combo-box
                font-size-combo-box
              character-format   "(an object that specifies a set of formatting paramters)"
            Rich-Edit-Pane Functions
              Retrieving or Modifying Rich-Edit-Pane Text
                Functions that Handle Multiple Format Parameters
                  Character Formatting
                    get-character-format
                    set-character-format
                    Character Format Objects
                      character-format   "(instantiable class)"
                      Character Format Accessor Functions
                        face
                        color
                        point-size
                        bold
                        italic
                        underline
                        same-face
                        same-color
                        same-point-size
                        same-bold
                        same-italic
                        same-underline
                      Copying and Pasting Character Formats
                        copy-character-format
                        paste-character-format
                        *copied-character-format*
                      Prompting the User for Format Attributes
                        rich-edit-get-color
                        rich-edit-get-font
                  Paragraph Formatting
                    get-paragraph-format
                    set-paragraph-format
                Functions that Handle Individual Format Parameters
                  Character Formatting
                    face
                    color
                    point-size
                    bold
                    italic
                    underline
                    toggle-bold
                    toggle-bullets
                    toggle-italic
                  Paragraph Formatting
                    justification
                    numbering-style
                    body-left-indentation
                    top-left-indentation
                    right-indentation
                    tabs
                    left-justify
                    center-justify
                    right-justify
                    toggle-underline
              Manipulating Raw Rich Text
                concatenate-rich-text
                rich-to-plain-text
                plain-to-rich-text
                *empty-rtf-string*
              Accessing Rich Text Strings
                rich-edit-range
                rich-edit-selected-range
                rich-text
              Event-Handlers for the Rich-Edit Control
                on-format-change
              Reading and Writing Rich Text Files
                rich-edit-new
                rich-edit-open
                rich-edit-save
                rich-edit-save-as
                save-text
                read-text
              Printing Rich Text
                rich-edit-print
                print-rich-text
              Finding Associated Rich-Edit-Panes
                find-rich-edit-pane
                find-text-edit-pane
                rich-edit   "(the function returns the rich-edit of a ruler)"
                ruler   "(returns the ruler of a rich-edit)"
                funcall-menu-item-with-rich-edit
              Hypertext Links in a Rich-Edit-Pane
                Finding Strings of a Certain Color   (to make into links)
                  color-string-at-index
                  color-string-at-cursor
                  find-links
                  links
                Recognizing Existing Links
                  link-at-position
                  link-at-mouse-cursor
                  link-at-text-cursor
                  link-at-index
                Jumping to Links
                  jump-to-link
                  pathname-for-link
                Storing Links for Quick Retrieval Later
                  save-links-file
                  read-links-file
                Link Options
                  link-color
                  save-links
                  jump-to-links
              Adding a Standard Rich-Edit Menu-Bar
                rich-edit-menubar
          object-editor   (a high-level facility for editing class instances)
            Object-Editor Classes
              object-editor
              layout-spacing
            Object-Editor Properties
              edited-class
              edited-slots
              edited-instances
              command-buttons
              current-instance
              include-table-of-all-instances
              save-on-clear-focus
              save-on-new-widget-value
            Properties for Dialog-Items on Object-Editors
              edited-type
              edited-slot
            Object-Editor Functions
              Object-Editor Command Functions
                display-instance
                display-special-instance
                object-editor-delete
                object-editor-new
                object-editor-pane
                object-editor-revert
                object-editor-save
                object-editor-search
                object-editor-select
                cg-commit
                cg-rollback
              Other Object-Editor Functions
                primary-name-slot
                secondary-name-slot
                require-cg-acache
                uncache-instances-with-pretty-names
                update-all-class-interface-widgets
                class-info   "(exported only because it's in .bil files)"
                object-editor-widget-on-change   "(exported only because it's in .bil files)"
            Layout-Spacing Properties            
              layout-all-instances-table-height
              layout-button-group-spacing
              layout-button-height
              layout-button-spacing
              layout-button-width
              layout-column-spacing
              layout-label-spacing
              layout-multi-line-widget-height
              layout-outer-margin
              layout-single-line-widget-height
              layout-table-height
              layout-widget-spacing
              layout-widget-width
            Object-Editor Variables
              *object-editor-command-buttons*
        Non-Instantiable Window Classes of Interest
          graphical-stream   "(superclass of all streams that can be drawn on)"
          screen-stream   "(streams that display on the screen, namely windows and the screen itself)"
          dialog-mixin   "(adds tabbing-to-widgets functionality)"
          frame-with-single-child   (automatically instantiates a child pane)
            frame-with-single-child
            default-pane-class
            frame-child
            frame-child-p
          node-pane-mixin   (displays graphs of nodes and links as objects)
            Node and Link Classes
              node-pane-mixin   (allows a window to display a nodes-and-links graph)
                node-pane-mixin   "(mix-in class for displaying graphs)"
                node-pane-mixin Properties
                  Node Pane Properties for Node Pictures
                    Node Pane Properties for Node Labels
                      fit-nodes-to-labels
                      label-margin
                      node-font
                      use-multi-line-labels
                    node-border-color
                    rounded-corner-radius
                  Node Pane Properties for Link Lines
                    Node Pane Properties for Link Labels
                      draw-link-labels
                      draw-link-labels-horizontally
                      link-label-color
                      use-line-color-for-link-labels
                    link-font
                    link-line-mousing-margin
                  Node Pane Flashing Properties
                    flashing
                    flashing-interval
                    flashing-node-color-difference
                    times-to-flash
                  Node Pane Antialiasing Properties
                    antialias-lines
                    antialias-text
                    suppress-antialiasing-during-animation
                  Node Pane Color Gradient Properties
                    color-gradient-intensity
                    show-node-color-gradients
                    suppress-color-gradients-during-animation
                  Node Pane Background Properties
                    Node Pane Background Pixmap Properties
                      background-pixmap
                      background-pixmap-source
                      show-background-pixmap
                      stretch-background-pixmap
                    color-for-window-background
                  Other Node Pane Properties
                    network-of-nodes
                    drag-scroll-zoom-factor
                    node-or-link-under-mouse
                    show-subset
              node-pane   "(an instantiable window class using node-pane-mixin)"
              network-of-nodes   (the logical object that manages a set of nodes and links)
                network-of-nodes   "(instantiable class)"
                Network-of-Nodes Properties
                  Principal Network-of-Nodes Properties
                    name
                    node-pictures
                    link-lines
                    node-panes
                  Network-of-Nodes Selection Properties
                    selected-node-picture
                    selected-node-color
                    selected-node-style
                    selected-link-line
                    selected-link-color
                  Network-of-Nodes Arrowhead Defaults
                    default-arrowhead-length
                    default-arrowhead-width
              node-picture
                node-picture   "(instantiable class)"
                Node Picture Properties
                  Principal Node Picture Properties
                    link-lines
                    name
                    network-of-nodes
                    node-box
                    node-picture-label
                    represented-object
                  Stylistic Node Picture Properties
                    color
                    flashing
                    label-margin
                    node-border-color
                    node-font
                    node-highlight-color
                    node-is-highlighted
                    picture-type
                    pixmap
                  Other Node Picture Properties
                    node-is-pinned
                    node-shifter
                    real-center-x
                    real-center-y
              link-line
                link-line   "(instantiable class)"
                Link Line Properties
                  Principal Link Line Properties
                    link-line-label
                    name
                    network-of-nodes
                    node-picture-one
                    node-picture-two
                    represented-object
                  Stylistic Link Line Properties
                    Link Line Arrowhead Properties
                      draw-arrowhead-one
                      draw-arrowhead-two
                      arrowhead-one-length
                      arrowhead-one-width
                      arrowhead-two-length
                      arrowhead-two-width
                    color
                    flashing
                    link-font
                    link-line-dashing
                    link-line-width
                    link-highlight-color
                    link-is-highlighted
            Node and Link Functions
              Node and Link Event-Handling Generic Functions
                Node Picture Event-Handling Generic Functions
                  node-mouse-in
                  node-mouse-out
                  node-mouse-left-down
                  node-mouse-left-up
                  node-mouse-middle-down
                  node-mouse-middle-up
                  node-mouse-right-down
                  node-mouse-right-up
                  node-mouse-double-click
                  draw-node-picture
                  size-for-node-picture
                Link Line Event-Handling Generic Functions
                  link-mouse-in
                  link-mouse-out
                  link-mouse-left-down
                  link-mouse-left-up
                  link-mouse-middle-down
                  link-mouse-middle-up
                  link-mouse-right-down
                  link-mouse-right-up
                  link-mouse-double-click
                Node Pane Event-Handling Generic Functions
                  node-pane-mouse-left-down
                  node-pane-mouse-left-up
                  node-pane-mouse-middle-down
                  node-pane-mouse-middle-up
                  node-pane-mouse-right-down
                  node-pane-mouse-right-up
                  node-pane-mouse-double-click
                  draw-over-background
              Building a Network of Nodes and Links
                new-network-of-nodes
                add-node-picture
                add-link-line
                delete-link-line
                delete-node-picture
                connect-to-node-picture
                display-network-of-nodes
                dimensions-for-squarified-text
              Saving a Network of Nodes to File
                open-network-of-nodes
                save-network-of-nodes
                save-network-of-nodes-as
              Animation with Nodes and Links
                invalidate-object
                set-node-box
                move-node-picture
                shift-node
                center-to-box
                center-to-box-x-y
                real-center-to-box
                center-all-nodes
                scroll-node-into-view
                scroll-selected-node-into-view
                update-node-picture-node-box
                thing-at-position
                node-picture-center-x
                node-picture-center-y
                node-picture-height
                node-picture-width
                node-pane-redisplay-function
                other-node
                animate-nodes
                draw-nodes-and-links
              Editing Nodes and Links Interactively
                edit-node-label
                resize-node-picture
                drag-link-line
                drag-node-picture
                nodes-drag-scroll
                ensure-selected-node
                ensure-selected-link
              Traversing a Network of Nodes and Links
                rotate-to-next-link-line
                rotate-to-next-link-line-clockwise
                rotate-to-next-link-line-counterclockwise
                leap-across-selected-link-line
          scaling-stream   (allows using a unit of measurement other than pixels)
            scaling-stream   "(mix-in class for window classes)"
            stream-units-per-inch
            device-to-scaling-units
            scaling-to-device-units
            :nav "Navigator Example for a Scaled Printer-Stream" :printer-resolution-example
          form   (instantiated by the IDE for building windows interactively)
            form   "(class)"
            transparent-pane   "(class)"
            ide:form-pane   "(class)"
            form-p
            ide:form-package-name
          cg-stream   "(superclass of all windows and other CG streams)"
        Specialized Child Windows
          toolbar   (holds controls along the top of a window)
            toolbar "(instantiable class and window property)"
            toolbar-p
            toolbars
            has-toolbar
            add-toolbar
            remove-toolbar
            removed-toolbars
            Default Toolbar Spacing
              *toolbar-button-spacing*
              *toolbar-icon-height*
              *toolbar-margin*
            Adding to the IDE Component Toolbar
              ide:add-to-component-toolbar
              ide:remove-from-component-toolbar
          common-status-bar   (may be partitioned horizontally)
            common-status-bar   "(class)"
            common-status-bar-p
            status-bar   "(window property)"
            Creating Common Status-Bars
              add-common-status-bar
              remove-status-bar
            Showing Status-Bar Messages
              status-bar-message
              window-message
              window-warning
              get-part-text
              :doc "Adding Quick Help to an Application" "cg/cg-application-help.htm#quick-help-2"
              In the IDE Status-Bar
                ide:lisp-message
                ide:lisp-warning
                lisp-message-print-level
                lisp-message-print-length
            Modifying a Common Status-Bar
              parts
              simple-mode
              status-bar-font
              custom-status-bar-font   "(configuration property)"
          status-bar   (may be more than one line tall)
            status-bar "(class and window property)"
            status-bar-p
            Creating Status-Bars
              add-status-bar
              remove-status-bar
              removed-status-bars
            Showing Status-Bar Messages
              status-bar-message
              window-message
              window-warning
            Modifying a Common Status-Bar
              status-bar-font
              custom-status-bar-font   "(configuration property)"
              status-bar-number-of-lines
              *status-bar-horizontal-margin*
              *status-bar-number-of-lines*
              *status-bar-vertical-margin*
      Creating and Destroying Windows
        make-window   "(instantiates a basic-pane class)"
        close   "(extendable generic function)"
        user-close   "(overridable generic function)"
        windowp
        creation-process
        Extendable (but not application-callable) Generic Functions
          device-open   "(called to create the physical window for a CG window)"
          device-close   "(called to close a CG window)"
        Subclassing Window Classes that Instantiate a Child Pane
          frame-with-single-child   "(superclass)"
          default-pane-class   "(overridable generic function)"
          :nav "Navigator Example for Windowing" :window-methods-example
        Q: How can I exclude a top-level window from the system taskbar?
          :info "Make it be an owned window, as in (make-window :foo :owner frame :child-p nil)
          :info "OR make its border property be :palette."
          :info "On GTK, see frameless-topmost-p."
      Properties Common to Many Windows
        :info "The corresponding keyword initargs such as :name may be passed to make-window."
        name
        title
        help-string
        Appearance Properties of Windows
          state
          border
          background-color
          font
        Frame-Window Properties
          resizable
          title-bar
          close-button
          maximize-button
          minimize-button
          help-button
          system-menu
          icon   "(the image on the system-menu button at the left end of the title-bar)"
          pop-up   (intended to be used as a modal window)
          Q:  How can I override the 120-pixel OS minimum width of a window that has a frame?
            :info "Pass \":resizable nil\" to make-window, or \":border :palette\""
        Relationship Properties of Windows
          owner
          parent
          child-p
          siblings
          windows
          dialog-items
          overlapped   "(deprecated; use (not child-p))"
          pop-up
          topmost
          frameless-topmost-p
          toolbar
          status-bar
        Position and Size Properties of Windows
          left   "(the setf moves the window horizontally)"
          top   "(the setf moves the window vertically)"
          right
          bottom
          width   "(the setf resizes the window horizontally)"
          height   "(the setf resizes the window vertically)"
        Scrolling Properties of Windows
          scrollbars
          page-width
          page-height
          handle-scrolling-keys
          retain-scrollbars
        Attachment Properties of Windows  "(follows resizing of the parent)"
          left-attachment
          top-attachment
          right-attachment
          bottom-attachment
        Mouse Cursor Properties of Windows
          cursor
          cursor-name
      Finding Windows
        find-window   "(finds a window from its name and its parent window)"
        find-named-object   "(finds a window from its name and an ancestor window)"
        find-sibling   "(finds a window from its name and a sibling window)"
        which-window   "(the window under some arbitrary position)"
        window-under-mouse
        Caching Windows   (to find them later from their names only)
          add-application-window
          remove-application-window
          find-or-make-application-window
          find-or-make-pop-up-window
          find-application-window
          default-application-window-subkey
      Window States (iconized, maximized, normal, shrunk)
        state
        shrink-window
        expand-window
        zoom-window
        track-limits   "(constrains the maximized size)"
        select-window
        show-window   "(deprecated; call (setf state))"
        normal-exterior
      Relationships Between Windows
        Window Hierarchies   (child and owned windows)
          :doc "Child Windows vs. Owned Windows" "cgide.htm#child-parent-overlapped-etc-1"
          Ancestor Windows
            parent
            owner   "(return value has changed somewhat since 5.0.1)"
            parent-or-owner   "(deprecated; use owner)"
            window-ancestor-p
            frame-window-of-window
            top-level-window
          Descendent Windows
            Lists of Child or Owned Windows
              windows
              windows-scratch-list
            Finding a Particular Child or Owned Window
              find-window
              front-window
              nth-window
            do-windows   "(loops over the children without consing a list of them)"
            dialog-items   "(returns the controls on a window)"
            is-child-allowed
          Sibling Windows
            siblings
            find-sibling
            next-window
          Windows that Instantiate a Child Pane Automatically
            frame-with-single-child   "(superclass)"
            frame-child   "(returns the automatically-instantiated child pane)"
          Make-Window Initargs for Creating Child and Owned Windows
            owner   "(the owner is also the parent when child-p is true)"
            child-p   "(specifies that the owner is also a parent for clipping and moving)"
            pop-up   "(for modal dialogs; coerces certain other properties)"
            parent
            overlapped   "(deprecated; use (not child-p))"
          Child / Owned Status
            child-p
            owner   "(either an owner window or the screen)"
            is-child-allowed
            pop-up   "(the window is intended for modal usage)"
            ide:graph-child-windows
            top-level   "(deprecated; use (not child-p))"
            overlapped   "(deprecated; use (not child-p))"
        Occlusion Order   (which windows are in front of which)
          Checking the Current Order
            front-window
            next-window
            nth-window
            windows   "(returns child windows in front-to-back order)"
            foreground-window
          Changing the Order
            bury-window
            bring-window-to-front
            move-window-behind
            select-window
            set-foreground-window
        Attachment   (how a child window moves or resizes when its parent is resized)
          attachment
          set-attachment
          left-attachment
          top-attachment
          right-attachment
          bottom-attachment
      Window Geometry   (Position & Size, Moving, Scrolling ...)
        Window Position and Size
          Exterior   (including the non-client frame area)
            Default Values
              default-top-left   "(overridable generic function)"
              default-width   "(overridable generic function and configuration option)"
              default-height   "(overridable generic function and configuration option)"
              default-width-factor   "(configuration option)"
              default-height-factor   "(configuration option)"
            exterior
            nexterior
            exterior-width
            exterior-height
            exterior-top-left
            nexterior-top-left
            normal-exterior
          Interior   (client area)
            interior
            ninterior
            interior-width
            interior-height
            interior-top-left
            ninterior-top-left
            usable-left
            usable-top
            usable-width
            usable-height
          Specifying Initial Window Position and Size
            :info "When calling make-window, pass one or more keyword initargs"
            :info "whose names correspond to the following functions."
            left
            top
            width
            height
            exterior-top-left
            exterior
            interior
        Moving and Resizing Windows
          Moving
            move-window
            move-window-relative
            exterior   "(the setf moves and/or resizes a window)"
            move-window-into-parent
          Resizing
            resize-window
            exterior   "(the setf moves and/or resizes a window)"
            width   "(the setf resizes a window)"
            height  "(the setf resizes a window)"
            Constraining Interactive Resizing
              track-limits
              minimum-width
              minimum-height
          Centering
            centered   "(window property)"
            center-window
            center-box-on-window
            center-box-on-screen
            center-box-on-page
        Scrolling
          Page Size   (size of the "canvas" that may be scrolled into the window)
            page-width
            page-height
            set-page-size
            default-page-width
            default-page-height
            explicit-page-width
            explicit-page-height
            page-box
            npage-box
          Scroll Bars
            scrollbars   "(a property of windows and controls)"
            scroll-range   "(overridable and callable generic function)"
            set-scroll-range   "(use set-page-size instead, except in a custom scrolling scheme)"
            retain-scrollbars
          The Scroll Action
            scroll   "(callable function)"
            scroll-to   "(callable and overridable generic function)"
            scroll-increment   "(overridable generic function)"
            user-scroll   "(overridable generic function)"
            scroll-window-to-middle
            scroll-window-into-parent
            handle-scrolling-keys
            update-scroll-bars-for-new-window-size   "(overridable generic function)"
            scroll-box   "(not true scrolling)"
          The Area Currently Scrolled Into View
            visible-box
            nvisible-box
            visible-box-width
            visible-box-height
            visible-box-top-left
            nvisible-box-top-left
            scroll-position
            nscroll-position   "(overridable and callable generic function)"
            interior-width
            interior-height
          :nav "Navigator example for implementing a custom scrolling scheme" :custom-scrolling-example
        The Movable Stream Origin
          stream-origin
          nstream-origin
          move-stream-origin
        Margins
          left-margin
          top-margin
          right-margin
          bottom-margin
          text-edit-margins
        Standard Sizes of Certain Window Parts
          title-bar-height
          horizontal-scrollbar-thickness
          vertical-scrollbar-thickness
        IDE Window Configurations   (saved in the prefs.cl file)
          window-configurations
          ide:find-window-configuration
          ide:restore-window-configuration
          ide:ide-exterior
    Controls   (also known as widgets or dialog-items)
      :nav "Navigator Example for Controls" :color-demo-example
      Control Classes
        Instantiable Control Classes
          Buttons
            button
              button   "(instantiable dialog-item class)"
              button-pane   "(the associated auto-instantiated widget-window class)"
              toggle-button
            default-button   (on-change may be invoked by pressing ENTER)
              default-button   "(instantiable dialog-item class)"
              button-pane   "(the associated auto-instantiated widget-window class)"
              set-default-button   "(sets the logical default-button of a dialog)"
              return-t-from-pop-up-dialog   "(default on-change handler)"
            cancel-button   (on-change may be invoked by pressing ESCAPE)
              cancel-button   "(instantiable dialog-item class)"
              button-pane   "(the associated auto-instantiated widget-window class)"
              return-nil-from-pop-up-dialog   "(default on-change handler)"
            radio-button
              radio-button   "(instantiable dialog-item class)"
              radio-button-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Radio-Buttons
                value   "(non-nil while the button is checked)"
                cluster
                click-off
                wrapping
            check-box
              check-box   "(instantiable dialog-item class)"
              check-box-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Check-Boxes
                value   "(non-nil while the button is checked)"
                three-state
                wrapping
            picture-button
              picture-button   "(instantiable dialog-item class)"
              picture-button-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Picture-Buttons
                For the Displayed Pixmap
                  pixmap
                  pixmap-name
                  pixmap-source
                  pixmap-icon
                  pixmap-use-handle
                  stretching
                  pressed-color-mapper
                  unavailable-color-mapper
                value   "(non-nil while the button is pressed)"
                cluster
                click-off
                draw-focus
            multi-picture-button
              multi-picture-button   "(instantiable dialog-item class)"
              multi-picture-button-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Multi-Picture-Buttons
                Button Arrangement
                  unavailable-buttons
                  hidden-buttons
                  fill-order
                  spacing
                  padding
                  gap-size
                Button STyle
                  button-3d-border
                  button-black-border
                  recessed
                  retain-scroll-arrows-always
                  draw-focus
                For the Displayed Pixmaps
                  pressed-color-mapper
                  unavailable-color-mapper
                value   "(a list of the names of the pressed buttons)"
                range   "(the list of button-info objects)"
                cluster
                click-off
                multiple-selections
                unpress-automatically
                use-default-tooltips
              Functions
                multi-picture-button-scroll
                multi-picture-button-scroll-interval   "(configuration option)"
                update-multi-picture-button (deprecated; not needed)
              Individual Buttons in a Multi-Picture-Button's Range
                button-info   "(instantiable class)"
                button-info-p
                Special Properties for Button-Infos
                  Event-Handlers
                    multipic-button-mouse-in
                    multipic-button-mouse-out
                  For the Displayed Pixmap
                    pixmap
                    pixmap-name
                    pixmap-source
                    pixmap-icon
                    pixmap-use-handle
                    stretching
          Text Controls
            static-text
              static-text   "(instantiable dialog-item class)"
              static-text-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Static-Texts
                value   "(contains the displayed string)"
                justification
            scrolling-static-text
              scrolling-static-text
              scrolling-static-text-pane
              Special Properties for Scrolling-Static-Texts
                margin-around-text
                horizontal-justification
                vertical-justification
                border
                border-color
                draw-focus
                value
            editable-text
              editable-text   "(instantiable class)"
              editable-text-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Editable-Texts
                value   "(contains the displayed string)"
                delayed
                template-string
                password
              Functions
                Template Strings   (for restricting the form of typed input)
                  template-string
                  clear-template
                  *template-chars*
                  digit-char-or-space-p
                get-selection   "(returns the selection range or the text cursor position)"
                set-selection   "(sets the selection range or the text cursor position)"
                file-position   "(returns or sets the text cursor position)"
                text-edit-margins
            multi-line-editable-text
              multi-line-editable-text   "(instantiable dialog-item class)"
              text-edit-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Multi-Line-Editable-Texts
                value   "(contains the entire text as a single string)"
                delayed
                font
                tabs
                read-only
                justification
                notify-when-selection-changed
                save-selection-when-unfocused
                show-selection-when-unfocused
              Functions
                Accessing the Text
                  :info "Use CL stream output functions like FORMAT to add text to the window of the widget."
                  value   "(returns or sets all of the text)"
                  text-range   "(returns an arbitrary substring of the text)"
                  text-line   "(returns one complete line of the text)"
                  file-length   "(returns the length of all the text)"
                The Currently Selected Text or Text Cursor Position
                  get-selection   "(returns the selection range or the text cursor position)"
                  set-selection   "(sets the selection range or the text cursor position)"
                  file-position   "(returns or sets the text cursor position)"
                  selection-changed   "(overridable generic function)"
                Character and Line Indices
                  number-of-text-lines
                  current-line-number
                  current-text-column
                  first-visible-line
                  set-first-visible-line
                  line-number-from-char
                  char-from-line-number
                Searching a Text Control
                  string-search
                  string-replace
            lisp-text   (an editable-text whose value is any lisp object)
              lisp-text   "(instantiable dialog-item class)"
              lisp-text-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Lisp-Texts
                :info "Inherits the properties of editable-text, except for template-string and password."
                on-print
            multi-line-lisp-text   (a multi-line-editable-text whose value is any lisp object)
              multi-line-lisp-text   "(instantiable dialog-item class)"
              lisp-edit-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Multi-Line-Lisp-Texts
                :info "Inherits the properties of multi-line-editable-text."
                on-print
            rich-edit   (handles formatted text)
              :doc "Rich Text Overview" "cg/cg-rich-text.htm"
              rich-edit-pane   "(the associated auto-instantiated widget-window class)"
          List Controls
            Item Lists
              single-item-list
                single-item-list   "(instantiable dialog-item class)"
                single-item-list-pane   "(the associated auto-instantiated widget-window class)"
                Special Properties for Single-Item-Lists
                  value   "(the currently-selected choice)"
              multi-item-list
                multi-item-list   "(instantiable dialog-item class)"
                multi-item-list-pane   "(the associated auto-instantiated widget-window class)"
                Special Properties for Multi-Item-Lists
                  value   "(a list of the currently-selected choices)"
                  simple-click-toggle
              Special Properties for All Item-Lists
                range   "(the list of choices)"
                Multiple Columns
                  multi-column-p
                  column-width
                  tabs
                  select-on-multiple-characters
                  select-on-multiple-characters-time-limit
              Manipulating Items
                list-widget-add-item
                list-widget-remove-item
                list-widget-replace-item
                list-widget-move-item
              Accessing Items by Index
                list-widget-get-index
                list-widget-set-index
                first-visible-line
                set-first-visible-line
            combo-box
              combo-box   "(instantiable dialog-item class)"
              combo-box-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Combo-Boxes
                value   "(the currently-selected choice)"
                range   "(the list of choices)"
                typable
                delayed
              drop-combo-box
              undrop-combo-box
              dropping   "(non-dropping combo-boxes are not supported due to redisplay glitch)"
            outline
              :nav "Navigator Outline Example" :disk-usage-example
              outline   "(instantiable dialog-item class)"
              outline-top-pane   "(the top pane of a non-dropping outline)"
              outline-pane   "(the pane that draws the outline image)"
              outline-widget-pane   "(any pane of an outline widget)"
              dropping-outline   "(instantiable dialog-item class)"
              outline-display-pane   "(the top pane of a dropping-outline)"
              outline-dropping-pane   "(the pane of a dropping-outline that drops)"
              Special Properties for Outlines
                range   "(for an outline, a list of outline-item objects)"
                value   "(for an outline, the value of the selected outline-item)"
                multiple-selections
                simple-click-toggle
                indentation
                select-on-open
                editable-in-place
                close-subtrees-on-close
                select-on-right-click
                top-level-dropper   "(for dropping-outline only)"
                highlight-ancestors
                ancestor-background-color
                handle-above-parent
                Using Tabs for Outline Columns
                  tabs
                  tabs-clip
                  right-justification-width
                 :doc "The Runtime Analyzer Results Dialog   (uses tabs in an outline)" "ide-menus-and-dialogs/runtime-analyzer-results-dialog.htm"
                Selecting Items by Typing Multiple Characters
                  select-on-multiple-characters ;; rfe8372
                  select-on-multiple-characters-time-limit ;; rfe8372
                  select-on-multiple-characters-callback ;; rfe8372
                  select-on-multiple-characters-item-test ;; rfe8372
                Which Outline Ornaments to Draw
                  draw-icons
                  draw-plus-minus
                  draw-lines
                Default Pixmap Images for the Outline Items
                  opened-pixmap
                  opened-pixmap-name
                  opened-pixmap-source
                  closed-pixmap
                  closed-pixmap-name
                  closed-pixmap-source
                  leaf-pixmap
                  leaf-pixmap-name
                  leaf-pixmap-source
              Outline Items   (for each row of an outline)
                outline-item   "(instantiable class)"
                Special Properties for Outline-Items
                  state   "(either :closed or :open or :partially-open)"
                  range   "(a list of subitem outline-items)"
                  available   "(whether this item may be selected)"
                  outline   "(the outline that this item is on)"
                  kind   "(an arbitrary place for application information)"
                  has-range-on-open
                  above-parent
                  Pixmap Images for an Individual Outline Item
                    opened-pixmap
                    opened-pixmap-name
                    opened-pixmap-source
                    closed-pixmap
                    closed-pixmap-name
                    closed-pixmap-source
                    leaf-pixmap
                    leaf-pixmap-name
                    leaf-pixmap-source
                    pixmap-use-handle
                Adding and Removing Individual Outline-Items
                  add-outline-item
                  add-outline-item-value
                  add-child-outline-item
                  add-sibling-outline-item
                  remove-outline-item
                  remove-outline-item-value
                Accessing Outline Items   (from their name and outline)
                  find-outline-item
                  focused-outline-item
                  outline-item-parent
                  outline-item-children
                  outline-item-level
                  outline-item-from-index
                  index-from-outline-item
                  index-from-outline-item-value
                  move-down-one-outline-item
                  move-up-one-outline-item
                  Pixmaps
                    outline-item-closed-pixmap
                    outline-item-opened-pixmap
                    outline-item-leaf-pixmap
                Manipulating Outline Items
                  select-outline-item
                  selected-outline-item
                  add-outline-item
                  add-outline-item-value
                  remove-outline-item-value
                  outline-item-added
                  outline-item-removed
                  outline-items-reordered
                  replace-outline-item-value
                  open-outline-item-value
                  close-outline-item-value
                  show-outline-item-children
                  hide-outline-item-children
                  move-outline-item-value
                  shift-outline-item
                  state   "(call (setf state) on an outline-item to open or close it)"
                  change-outline-item-value-availability
                  invalidate   "(redraws an individual item)"
                Specifying Child Items Lazily   (when the parent item is opened)
                  range-on-open
                  range-on-close
                  has-range-on-open
                Outline Item Color
                  background-color
                  foreground-color
                  outline-item-selected-background-color
                  outline-item-selected-foreground-color
              Default Pixmap Images
                default-opened-pixmap
                default-closed-pixmap
                default-leaf-pixmap
              Customizing the Drawing of Outlines
                redisplay-outline-item-value   "(overridable generic function)"
              Other Outline Functions
                focus-index
                scroll-current-index-into-view
                select-on-typing
                draw-on-printer
            list-view
              list-view   "(instantiable dialog-item class)"
              list-view-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for List-Views
                value   "(holds the value of the selected row item)"
                range   "(holds the list of row items)"
                columns   "(hold the list of columns)"
                layout-style
                multiple-selections
                sort-column
                sort-reverse
                headers
              List-View Items (Rows)
                list-view-item   "(instantiable class)"
                Special Properties for List-View-Items
                  value-plist
                  Properties for Checked List-View-Items (Windows only)
                    show-check-boxes
                    checked
                    on-check
                  Other Windows-Only List-View-Item Properties
                    icon-index
                    state-icon-index
                    show-grid-lines
                    draggable-headers
                    full-row-select
                Functions
                  add-item
                  remove-item
                  find-item
                  value-from-item
                  selected
                  parent   "(returns the list-view of the list-view-item)"
                  index
                  list-view-item-position
              List-View Columns
                list-view-column   "(instantiable class)"
                Special Properties for List-View-Columns
                  name
                  title
                  justification
                  width
                  on-sort-predicate
                  on-sort-key
                  on-print
                Functions
                  add-column
                  remove-column
                  find-column
                  column-click
                  list-view   "(returns the list-view of this column)"
                  index
              Using Icons in List-Views
                image-list
                large-image-list
                small-image-list
                state-image-list
                icon-index
                state-icon-index
                alignment
                auto-arrange
                arrange-icons
                share-image-lists
                open-image-list
                close-image-list
                image-list-open-p
              Other List-View Functions
                list-view-cell-value
                list-view-cell-box
                list-view-sort
                auto-size
                scroll-current-index-into-view
          Scrollers and Gauges
            Scroll-Bars
              :nav "Navigator Scroll-Bar Example" :car-demo-example
              vertical-scroll-bar   "(instantiable dialog-item class)"
              vertical-scroll-bar-pane   "(the associated auto-instantiated widget-window class)"
              horizontal-scroll-bar   "(instantiable dialog-item class)"
              horizontal-scroll-bar-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for All Scroll-Bars
                range   "(a list of the minimum and maximum allowed values)"
                increment
                page-increment
                direction-of-increase
                delayed   "(whether the on-change is called during dragging)"
                thumb-length
                visible-portion   "(deprecated; use thumb-length)"
            trackbar
              trackbar   "(instantiable dialog-item class)"
              trackbar-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Trackbars
                range   "(a list of the minimum and maximum allowed values)"
                increment
                page-increment
                direction-of-increase
                orientation
                tick-side
                tick-frequency
                select-range
                visible-range
                no-pointer
                delayed   "(whether the on-change is called during dragging)"
              Functions
                tick-position
            up-down-control
              up-down-control   "(instantiable dialog-item class)"
              up-down-control-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Up-Down Controls
                range   "(a list of the minimum and maximum allowed values)"
                orientation
                wrapping
                direction-of-increase
                Pairing with an Editable-Text Control
                  buddy-widget
                  buddy-side
            progress-indicator
              progress-indicator   "(instantiable dialog-item class)"
              progress-indicator-pane   "(the associated auto-instantiated widget-window class)"
          Other Controls
            group-box
              group-box   "(instantiable dialog-item class)"
              group-box-pane   "(the associated auto-instantiated widget-window class)"
              Special Properties for Group-Boxes
                border   "(there are unique choices for group-boxes)"
                3d-style   "(same as border; for backward compatibility only)"
              Deprecated Group-Box Classes
                lisp-group-box   "(use group-box)"
            tab-control
              tab-control   "(instantiable dialog-item class)"
              tab-control-pane   "(the associated auto-instantiated widget-window class)"
              tab-info   "(instantiable class for each tab of a tab-control)"
              tab-info-p
              Special Properties for Tab-Controls
                value   "(the name of the currently selected tab)"
                range   "(the list of tab-info objects for the set of tabs)"
                tab-height
                tab-width
                fixed-width
                single-line
                ragged-right
                button-style
                focus-on-click
                tabs-are-draggable
                tab-side
              Functions
                Selecting Tabs Programmatically
                  value   "(use (setf value) to select a tab)"
                  select-adjacent-tab
                  select-recent-tab
                Adding and Removing Tabs
                  add-tab
                  remove-tab
                  restore-tab
                Adding Controls to Tabs
                  add-component-to-tab
                  remove-component
                  remove-component-from-tab
                Special Properties for Tab-Infos
                  name
                  title
                  Deprecated Properties for Tab-Infos
                    id   "(use name)"
                    label   "(use title)"
                Tab-Info Geometry
                  tab-at-position
                  tab-box
                  tab-size
                  set-tab-size
                  row-count
                  rows-height
                Configuration Options for Tab-Infos
                  default-tab-height
                  default-tab-width
                Other Tab-Info Functions
                  find-tab
                  highlight-tab
                  tab-control-widget
                  tab-label
                  index
                selected-tab-color
            static-picture
              static-picture   "(instantiable dialog-item class)"
              static-picture-pane   "(the associated auto-instantiated widget-window class)"
              For the Displayed Pixmap
                pixmap
                pixmap-name
                pixmap-source
                pixmap-icon
                pixmap-use-handle
                stretching
                unavailable-color-mapper
                Cycling Through Multiple Pixmaps
                  pixmap-alist
                  pixmap-value-test
                  user-modifiable
                  draw-focus
            split-bar   (for resizing panes or sets of widgets)
              split-bar   "(instantiable dialog-itemm class)"
              split-bar-pane
              Split-Bar Properties
                orientation
                bar-thickness
                dragging-thickness
                draw-at-dragging-thickness
                min-space-before
                min-space-after
                end1-position
                end2-position
                color-when-idle
                color-under-mouse
                color-when-dragging
                widgets-to-resize
                widgets-to-move
                delayed
                on-drag
                on-redisplay
                now-dragging
                now-under-mouse
            lamp   (an LED widget that can blink)
              Lamp Classes
                lamp   "(instantiable dialog-item class)"
                lamp-pane
              Lamp Properties
                blink-on-milliseconds
                blink-off-milliseconds
                inner-horizontal-margin
                inner-vertical-margin
                lamp-height
                lamp-shape
                lamp-width
                off-color
                off-color-factor
                on-color
                outer-horizontal-margin
                outer-vertical-margin
                title-off-color
                title-on-color
                title-side
                wrapping
              Using Arrays of LEDs in a Single Lamp Widget
                row-labels
                column-labels
                row-label-side
                column-label-side
                row-label-margin
                column-label-margin
                row-label-offset
                column-label-offset
                column-label-orientation
                center-all
                update-lamp
            chart-widget   (draws 2D line graphs and bar charts)
              Chart-Widget Classes
                chart-widget   "(instantiable dialog-item class)"
                chart-widget-pane
                chart-or-plot
                chart-or-plot-pane
                chart-axis   "(superclass of item-axis and value-axis)"
                item-axis   "(an instantiable chart subobject)"
                value-axis   "(an instantiable chart subobject)"
                chart-or-plot-view   "(superclass of chart-view and plot-view)"
                icon-drawing-view   "(superclass of line-graph-view and plot-view)"
                line-drawing-view   "(superclass of line-graph-view and plot-view)"
                chart-view   "(superclass of bar-chart-view and line-graph-view)"
                bar-chart-view   "(an instantiable chart subobject)"
                line-graph-view   "(an instantiable chart subobject)"
                chart-legend   "(an instantiable chart subobject)"
              Chart-Widget Properties
                Properties on Chart-Widget Itself
                  Some Main Chart-Widget Properties
                    chart-orientation
                    chart-value-returner
                    chart-view
                    draw-legend
                    value-types
                    warn-on-insufficient-data
                  Chart-Widget Pointers to Chart Sub-Objects
                    Pointers to Chart Axes
                      item-axis
                      value-axis
                      value-axis-2
                    Pointers to Other Chart Sub-Objects
                      bar-chart-view
                      chart-legend
                      line-graph-view
                  Chart-Widget Properties for Chart Items
                    chart-item-id-equality-test
                    chart-items
                    chart-items-length
                    chart-items-limit
                    chart-items-max-index
                    chart-items-min-index
                    chart-items-pushed-off
                    fit-chart-items
                  Chart-Widget Properties for Chart Objects
                    chart-object-id-equality-test
                    chart-objects
                  Chart-Widget Properties for Scrolling
                    scroll-line-items
                    scroll-on-drag
                    scroll-on-drag-factor
                    scroll-page-portion
                    scroll-position
                    scrolled-to-end
                    scrolled-to-end-maintained
                  Chart Titles and Footnotes
                    footnote
                    footnote-color
                    footnote-font
                    subtitle
                    subtitle-color
                    subtitle-font
                    title
                    title-color
                    title-font
                  Stylistic Properties of the Whole Chart
                    Spacing Between Chart Parts
                      margin-above-legend
                      margin-above-footnote
                      margin-below-subtitle
                      margin-below-title
                      margin-outer-bottom
                      margin-outer-left
                      margin-outer-right
                      margin-outer-top
                    The Chart Body
                      body-background-color
                      body-border-color
                      body-border-width
                      extend-data-to-middle-of-border
                      outer-border-color
                      outer-border-width
                    Color Gradients
                      body-gradient-filling
                      body-gradient-direction
                      body-gradient-intensity
                      body-gradient-blend
                      icon-gradient-filling
                      icon-gradient-direction
                      icon-gradient-intensity
                      icon-gradient-blend
                Chart-Axis Properties
                  Properties of All Chart Axes (both item-axis and value-axis)
                    Some Main Chart Axis Properties
                      axis-label
                      invert-axis
                      minor-tics-per-major-tic
                      marker-lines
                    Whether to Draw Particular Axis Parts
                      draw-major-grid-lines
                      draw-major-labels
                      draw-major-tics
                      draw-minor-grid-lines
                      draw-minor-labels
                      draw-minor-tics
                    How Frequently to Draw Tic Mark Labels
                      major-label-frequency
                      major-label-frequency-offset
                      minor-label-frequency
                      minor-label-frequency-offset
                    Formatting Values to Tic Label Strings
                      on-print-major-label
                      on-print-minor-label
                    Chart Axis Drawing Style Properties
                      Drawing Style of the Axis Itself
                        axis-color
                        axis-label-color
                        axis-label-font
                        axis-width
                        margin-inside-axis-label
                      Drawing Style of the Major Tic Marks, Labels and Grid Lines
                        major-grid-line-color
                        major-grid-line-dashing
                        major-grid-line-width
                        major-label-color
                        major-label-font
                        major-label-angle
                        major-tic-length
                        major-tic-width
                        margin-inside-major-labels
                      Drawing Style of the Minor Tic Marks, Labels and Grid Lines
                        margin-inside-minor-labels
                        minor-grid-line-color
                        minor-grid-line-dashing
                        minor-grid-line-width
                        minor-label-color
                        minor-label-font
                        minor-label-angle
                        minor-tic-length
                        minor-tic-width
                        overlap-major-and-minor-labels
                  Other Item-Axis Properties
                    end-margin
                    major-label-min-spacing
                    major-label-wrapping
                    minor-label-min-spacing
                    minor-label-wrapping
                    minor-tic-increment
                  Other Value-Axis Properties
                    major-tic-increment
                    range-bottom
                    range-top
                Chart View Properties
                  Properties for All Chart Views
                    values-are-stacked
                    draw-high-low-values
                    high-low-value-style
                    high-low-fill-colors
                    high-low-tee-colors
                  Bar-Chart-View Properties
                    bar-border-colors
                    bar-colors
                    bar-fill-textures
                    bar-width
                    bar-spacing
                    base-line-color
                    base-line-drawn
                    base-line-width
                    base-value
                    Color Gradients for Bars
                      bar-gradient-filling
                      bar-gradient-direction
                      bar-gradient-intensity
                      bar-gradient-blend
                  Line-Graph-View Properties
                    draw-lines
                    draw-icons
                    icon-line-widths
                    icon-sizes
                    icon-images
                    icon-fill-colors
                    icons-filled
                    line-colors
                    line-dashings
                    line-widths
                    span-missing-items
                    value-spacing
                Chart-Legend Properties
                  draw-legend-border
                  border-color
                  legend-font
                  icon-size
                  icon-spacing
                  interior-horizontal-margin
                  interior-vertical-margin
                  layout-orientation
                  horizontal-spacing
                  icon-line-length
                  on-print-chart-object
                  vertical-spacing
                  click-to-toggle-inclusion
              Chart-Widget Functions
                chart-value
                set-chart-value
                update-chart-widget
            plot-widget   (draws 2D scatter plots)
              Plot-Widget Classes
                plot-widget   "(instantiable dialog-item class)"
                plot-widget-pane
                plot-view
                plot-value-axis
              Plot-Widget Properties (others are listed under chart-widget)
                plot-value-returner
                plot-values
                plot-values-max-index
                plot-values-min-index
                plot-view
                x-axis
                y-axis
                x-axis-2
                y-axis-2
              Plot-View Properties
                draw-regression-lines
                regression-line-colors
                regression-line-dashings
                regression-line-widths
              Plot-Widget Functions
                plot-value
                set-plot-value
            grid-widget
              :nav "The Simple Navigator Grid-Widget Example" :color-grid-example
              :nav "A Spreadsheet Grid-Widget Example" :grid-edit-example
              :nav "The Sophisticated Navigator Grid-Widget Example" :grid-test-example
              :nav "Built-In Widgets in Arbitrary Grid Cells" :cell-widgets-example
              Grid Classes
                The Grid-Widget Itself
                  grid-widget   "(instantiable dialog-item class)"
                  grid-top-pane   "(the associated auto-instantiated widget-window class)"
                  Special Properties for Grid-Widgets
                    column-sections
                    row-sections
                    focus-column-section
                    focus-row-section
                    delay-write-cell-value
                    Showing the Keyboard Focus
                      show-focus
                      deselect-sections-when-lose-focus
                      deselect-sections-when-move-focus
                      keep-focus-in-view
                    Borders
                      border-width
                      border-color
                      default-cell-3d-border
                      default-cell-border-color
                      default-cell-border-width
                      default-section-border-color
                      default-section-border-width
                    minimum-size
                    scroll-parent-section-while-dragging
                    scroll-parent-section-distance
                    sort-column
                    sort-reverse
                Grid Sections   (individually scrollable areas)
                  Grid Main Sections
                    grid-section   "(superclass)"
                    Special Properties for All Main Grid Sections
                      subsections
                      focus-subsection
                      scrollbars
                      uniform-resizing
                      empty-color
                      default-cell-3d-border
                      default-cell-border-color
                      default-cell-border-width
                    Functions for All Main Grid Sections
                      scrollbar-area-box
                      stretch-section   "(extendable generic function)"
                    grid-column-section
                      grid-column-section   "(instantiable class)"
                    grid-row-section
                      grid-row-section   "(instantiable class)"
                      row-section-with-sort-gadget-mixin   "(mixin class)"
                  Grid Subsections   (rows and columns)
                    grid-subsection   "(superclass)"
                    Special Properties for All Grid Subsections
                      section-count
                      movable
                      deletable
                      selectable
                      selected
                      available
                    Functions for All Grid Subsections
                      move-subsection
                      slide-subsection   "(extendable generic function)"
                      stretch-subsection   "(extendable generic function)"
                      confirm-grid-subsection-deletion   "(overridable generic function)"
                      subsection-sequence-changed   "(extendable generic function)"
                    Grid Columns
                      grid-column   "(instantiable class)"
                      add-column
                      delete-column
                      Special Properties for Grid-Columns
                        horizontal-justification
                        vertical-justification
                        horizontal-padding
                        vertical-padding
                        single-line
                        on-print
                        data-slot
                        data-reader
                        data-writer
                        data-read-converter
                        data-write-converter
                        range-reader
                        font-reader
                        selected-reader
                        available-reader
                        sortable
                        on-sort-predicate
                      Mixin Classes
                        Column Classes with Built-In Controls
                          widget-column-mixin   "(general superclass)"
                          static-text-column-mixin   "(mixin class)"
                          static-text-and-button-column-mixin
                            static-text-and-button-column-mixin   "(mixin class)"
                            button-function
                            button-fills-cell
                          editable-text-column-mixin
                            editable-text-column-mixin   "(mixin class)"
                            edit-start-trigger
                            edit-end-trigger
                            template-string
                            template-allows-sign
                            scrollbars
                          check-box-column-mixin
                            check-box-column-mixin   "(mixin class)"
                            title-reader
                            click-must-be-on-gadget
                          combo-box-column-mixin
                            combo-box-column-mixin   "(mixin class)"
                            menu-items-for-combo-box-range
                            typable
                            on-print
                            click-must-be-on-gadget
                            use-real-combo-box
                            template-string
                            template-allows-sign
                          pixmap-column-mixin
                            pixmap-column-mixin   "(mixin class)"
                            pixmap-alist
                            pixmap-value-test
                            stretching
                            user-modifiable
                          lamp-column-mixin
                            lamp-column-mixin   "(mixin class)"
                            lamp-widget
                            title-reader
                        row-selecting-column-mixin   "(mixin class)"
                        row-sizing-column-mixin   "(mixin class)"
                    Grid Rows
                      grid-row   "(instantiable class)"
                      add-row
                      delete-row
                      Mixin Classes
                        widget-row-mixin
                        column-selecting-row-mixin
                        column-sizing-row-mixin
                      Special Properties for Grid-Rows
                        data-object
                    Header Subsections
                      row-header-column
                      column-header-row
                  Special Properties for All Grid Sections & Subsections
                    grid   "(the grid-widget that the section is in)"
                    section-size   "(breadth of the section)"
                    resizable
                    proportional
                    minimum-size
                    border-width
                    border-dashing
                    border-color
                    effective-border-width (read-only)
                    effective-border-color (read-only)
                    edge-position (read-only)
                  Functions for All Grid Sections & Subsections
                    section-box
                    cross-section-box
                    invalidate-whole-section
                Cell Methods   (specializing on a particular grid-row and grid-column)
                  Cell Value
                    read-cell-value
                    write-cell-value
                  Cell Mouse and Keyboard Events
                    cell-click
                    cell-mouse-in
                    cell-mouse-out
                    cell-key-down
                  Caching Cell Values for Efficiency
                    cache-cell-values
                    cache-all-cell-values
                    clear-cached-cell-values
                    clear-cached-cell-value
                  Delaying Modified Cell Values
                    delay-write-cell-value
                    write-delayed-cell-values
                    clear-delayed-cell-values
                    clear-delayed-cell-value
                  Using a Built-In Cell Widget
                    cell-widget
                  Cell Availability
                    cell-available
                    cell-and-sections-available
                    cell-unavailable-foreground-color
                  Cell Appearance
                    draw-cell
                    draw-cell-focus
                    Color
                      cell-background-color
                      cell-foreground-color
                      cell-selected-background-color
                      cell-selected-foreground-color
                      cell-horizontal-border-color
                      cell-vertical-border-color
                      cell-unavailable-foreground-color
                    cell-font
                    cell-3d-border
                    cell-horizontal-padding
                    cell-vertical-padding
                    cell-horizontal-justification
                    cell-vertical-justification
                    cell-wrapped-p
                  Other Cell Methods
                    cell-box
                    invalidate-cell
                    invalidate-section
                    cell-draggable-p
                    cell-selected
              Drawing a Grid-Widget
                Redisplaying
                  draw-grid
                  clear-grid-section
                  draw-grid-section
                  draw-cell
                  draw-cell-focus
                  draw-scrollbar-area
                  grid-draw-string
                  invalidate-cell
                  invalidate-section
                Color
                  border-color
                  default-cell-border-color
                  cell-background-color
                  cell-foreground-color
                  cell-unavailable-foreground-color
                  empty-color
              Scrolling a Grid-Widget
                scroll-section
                scroll-to-subsection
                scroll-subsection-into-view
                section-scrolled   "(overridable generic function)"
                scroll-parent-section-while-dragging
                scroll-parent-section-distance
              Sorting a Grid-Widget
                Programmatic Grid-Sorting
                  sort-grid
                  sort-column
                  sort-reverse
                  sortable
                  on-sort-predicate
                Interactive Grid-Sorting
                  row-section-with-sort-gadget-mixin   "(mixin class)"
                  sort-on-click
              Navigating a Grid-Widget
                Finding Grid Parts
                  From Related Parts
                    next-section
                    previous-section
                    next-subsection
                    previous-subsection
                    parent
                    siblings
                    section-grid
                  From their Names
                    column-section
                    row-section
                    subsection
                    find-sibling
                  By Position
                    grid-part-under-point
                scroll-position
                cell-draggable-p
              The Keyboard Focus Within a Grid-Widget
                Managing Which Cell Has the Focus
                  focus-cell
                  set-focus-cell
                  grid-shift-focus
                  tab-along-grid
                  draw-cell-focus
                Grid-Widget Focus Style
                  show-focus
                  keep-focus-in-view
                  deselect-sections-when-lose-focus
                  deselect-sections-when-move-focus
              Overridable Event-Handling Generic Functions for Grid-Widgets
                Mouse Clicks
                  grid-click
                  cell-click
                  scrollbar-area-click
                  grid-bottom-right-click
                  *grid-border-mouse-slack*
                Mouse Movement
                  cell-mouse-in
                  cell-mouse-out
              Other Grid-Widget Functions
                select-subsection
                deselect-subsection
                deselect-all-subsections
                delete-selected-subsections
                grid-drawing-pane
                grid-drawing-pane-class-for-grid
                grid-part-cursor
                draw-on-printer
            Class-Grid   (a high-level widget for editing class instances)
              Class-Grid Classes   (needed only for possible method specialization)
                class-grid
                class-grid-top-pane
                class-grid-drawing-pane
                class-grid-body-column
                class-grid-body-column-section
                class-grid-body-row
                class-grid-body-row-section
                class-grid-check-box-column
                class-grid-column
                class-grid-column-header-row
                class-grid-column-header-row-section
                class-grid-column-section
                class-grid-combo-box-column
                class-grid-editable-text-column
                class-grid-lisp-text-column
                class-grid-numeric-editable-text-column
                class-grid-pixmap-column
                class-grid-row
                class-grid-row-header-column-section
                class-grid-row-header-column
                class-grid-row-section
                class-grid-static-text-column
              Class-Grid Properties
                edited-class
                edited-slots
                body-row-height
                default-column-width
                column-header-font
                column-header-height
                horizontally-scrollable
                row-header-font
                row-header-width
                row-header-justification
                row-header-value-type
                rows-are-selectable 
                rows-are-movable
                rows-are-resizable
              Class-Grid Functions
                add-class-grid-row
                delete-class-grid-row
              Class-Grids on Object-Editor Dialogs
                slot-editing-class-grid   "(used automatically by an object-editor)"
                Slot-Editing-Class-Grid Functions
                  db-grid-create-button-on-change
                  db-grid-delete-button-on-change
                  db-grid-add-button-on-change
                  db-grid-remove-button-on-change
            drawable
              drawable   "(instantiable dialog-item class)"
              drawable-pane   "(the associated auto-instantiated widget-window class)"
              :nav "Navigator Drawable Example" :animated-drawable-example
              Special Properties for Drawables
                on-redisplay   "(event-handler)"
                update-on-resize
                use-bitmap-stream
                bitmap-stream
                page-width
                page-height
              Other Drawable Functions
                redisplay-event   "(overridable generic function)"
                drawable-stream
                update-drawable
            header-control
              header-control   "(instantiable dialog-item class)"
              header-control-pane   "(the associated auto-instantiated widget-window class)"
              header-info   "(instantiable class for each header)"
              header-info-p
              Special Properties for Header-Controls
                value   "(the name of the most recently clicked header, or t for a slide)"
                range   "(the list of header-info objects for the set of headers)"
                button-style
                default-header-width
                default-header-justification
              Special Properties for Header-Infos
                justification
                width
                fill-space
                name
                title
                Deprecated Properties for Header-Infos
                  id   "(use name)"
                  label   "(use title)"
              Creating Individual Headers
                add-header
                remove-header
                Special Properties for Header-Info
                  Deprecated Properties for Header-Info
                    label   "(use title)"
              Accessing a Header from its Name and Header-Control
                header   "(finds the header)"
                header-label
                header-justification
                header-width
                header-box
                header-fill-space
              Other Header Functions
                header-at-position
                index
              Default Header Values
                *default-header-width*
                *default-header-justification*
            HTML-Widget and HTML-Browser
              HTML-Widget Classes
                html-widget
                html-widget-pane
                html-browser
                html-widget-for-browser
                html-widget-pane-for-browser
              HTML-Widget Callable Functions
                display-html
                html-widget-go-back
                html-widget-go-forward
                html-widget-reload
                html-widget-stop-load
                html-widget-copy (Windows only)
                html-widget-save (Windows only)
                html-widget-print (Windows only)
                html-widget-can-go-back (not working)
                html-widget-can-go-forward (not working)
              HTML-Widget Callback Generic Functions
                html-widget-progress
                html-widget-over-link
                html-widget-new-document
                html-widget-new-window
                html-widget-command-change
              HTML-Widget Event-Handlers
                on-progress
                on-link-message
                on-new-document
                on-new-window
                on-command-change
              HTML-Browser Functions
                display-html
                html-history
                html-history-length
                initial-html-history
        Non-Instantiable Control Classes of Interest
          dialog-item   "(superclass of all controls)"
          os-widget   "(superclass of all controls supplied by the underlying window system)"
          lisp-widget   "(superclass of all controls written in Lisp)"
          ocx-widget   "(superclass of all OCX widgets on Windows only)"
          widget-window   "(superclass of all windows for controls)"
          os-widget-window   "(superclass of the widget-windows for OS controls)"
          lisp-widget-window   "(superclass of the widget-windows for Lisp controls)"
          ocx-widget-window   "(superclass of all OCX widget-windows on Windows only)"
          Classes that Categorize Widgets by Functionality
            toggling-widget   "(widgets that have a true-or-nil value)"
            toggling-widget-pane
            text-widget   "(widgets that display or edit standalone text)"
            text-widget-pane
            item-list
            item-list-pane
            picture-widget
            picture-widget-pane
            scroll-bar-mixin
            scroll-bar-pane-mixin
            scroll-bar
            scroll-bar-pane
      Creating Controls
        :info "Use make-instance on the desired dialog-item subclass."
        :doc "Getting Sample Code for Creating Controls" "cgide.htm#code-creating-controls-1"
        add-component
        dialog-item-p
      Finding Controls
        find-component   "(finds a control from its name and its parent window)"
        find-sibling   "(finds a control from its name and a sibling control)"
        widget-under-mouse   "(returns the control currently under the mouse cursor)"
      Properties Common to Many Controls (Widgets)
        Regular (Non-Event-Handler) Widget Properties
          name
          title
          value
          range
          available
          state
          Appearance Properties of Widgets
            border
            background-color
            foreground-color
            antialias-lines
            antialias-text
          Position and Size Properties of Widgets
            left   "(the setf moves the control horizontally)"
            top   "(the setf moves the control vertically)"
            right
            bottom
            width   "(the setf resizes the control horizontally)"
            height   "(the setf resizes the control vertically)"
            box   "(the setf resizes and/or moves the control)"
          Attachment Properties of Widgets   "(follows parent resizing)"
            left-attachment
            top-attachment
            right-attachment
            bottom-attachment
          Help String Properties of Widgets
            help-string
            tooltip
            show-help-string-under-mouse
            :nav "Navigator Example for Menus and Help Options" :menus-and-help-example
            :doc "Adding Quick Help to an Application" "cg/cg-application-help.htm#quick-help-2"
          Tabbing to the Control and Front-to-Back Order
            tabstop
            tab-position
          Relationship Properties of Widgets
            parent
            siblings
          Mouse Cursor Properties of Widgets
            cursor
            cursor-name
        Event-Handler Properties of Widgets
          on-change
            on-change
            Suppressing the Running of the On-Change Handler
              initialize-value
              without-on-change
          on-change-test
            on-change-test
            widget-value-equal
          on-click
          on-double-click
            on-double-click
            double-click-as-default-button
            double-click-time
          on-set-focus
          on-kill-focus
          on-mouse-in
          on-mouse-out
          on-print
      Relationships of Controls
        parent   "(returns the window that a control is on)"
        window   "(returns the window that implements the control)"
        siblings
        dialog-item   "(returns the control that a window implements if any, or NIL)"
        component   "(returns the control implemented by a window if any, or the window itself)"
        tab-control-widget   "(returns the tab-control that a control is on, if any)"
        Tabbing and Occlusion (Front-to-Back) Order   (these are always the same)
          bury-component
          expose-component
          tab-to-next
        Which Control has the Keyboard Focus
          focus-component
          set-focus-component
      Customizing Controls
        Subclassing Existing Controls   (use defclass as usual)
          widget-device
          defcomponent   "to add properties"
        Microsoft Visual Styles
          a-visual-style-is-active
          selected-tab-color
          ide:include-manifest-file-for-visual-styles
        Authoring New Controls in Lisp
          :nav "Simple Navigator Example" :circle-widget-example
          :nav "Complex Navigator Example" :vertical-gauge-example
          lisp-widget
          lisp-widget-window
          lisp-widget-top-window
          open-lisp-widget-window
          lisp-widget-clear-focus
          lisp-widget-draw-focus
        Using OCX (OLE) Controls
          def-cg-ocx-control
          ocx-widget
          ocx-widget-window
          use-native-size
          ocx-control
          handle-ocx-shortcut
          *ocx-classes-for-focus*
          *suppressed-ocx-properties*
        Microsoft-Style "Subclassing"   (to receive low-level window events)
          subclass-widget
          unsubclass-widget
          widget-subclassed-p
        Adding New Controls to the Component Toolbar
          ide:add-to-component-toolbar
          ide:remove-from-component-toolbar
      Deprecated Functions for Controls
        double-click-as-default-button   "(use a custom on-double-click handler)"
        button-return   "(use a custom on-change handler)"
        3d-border-width   "(effectively a constant in the Windows OS)"
        plain-border-width   "(effectively a constant in the Windows OS)"
    The Screen   (also known as the desktop)
      screen   "(the screen object and class; a *system* accessor)"
      screenp
      :doc "Drawing on the screen" "cg/cg-drawing.htm#on-the-screen-2"
      Resolution in which the Windows OS is Running (as specified in Control Panel)
        exterior-width   "(includes the taskbar)"
        exterior-height   "(includes the taskbar)"
        interior-width   "(excludes the taskbar)"
        interior-height   "(excludes the taskbar)"
        bits-per-pixel   "(called on the screen, returns the screen depth)"
        stream-units-per-inch
        stream-units-per-mm
      The Screen Size for Multiple Desktops
        virtual-exterior
        nvirtual-exterior
        virtual-screen-width
        virtual-screen-height
        virtual-screen-left
        virtual-screen-top
        usable-left
        usable-top
        screen-resolution-changed
      windows   "(called on the screen, returns all top-level windows)"
    Menus
      :doc "Menus Overview / Using the Interactive Menu Editor" "cg/ide-ug/ide_user_guide_7.htm"
      :nav "Navigator Example for Menus and Help Options" :menus-and-help-example
      Menu Classes
        Instantiable Menu Classes   (use open-menu to instantiate)
          pop-up-menu
          pull-down-menu
          menu-bar
        Non-Instantiable Menu Classes of Interest
          menu   (superclass of all menu classes)
      Menu Functions
        Creating Menus
          open-menu   "(instantiates a menu class)"
          add-to-menu
          remove-from-menu
          update-menu
          menu "(function to return or set the menu-bar of a window)"
          :doc "Menu Editor" "ide-menus-and-dialogs/menu-editor-dialog.htm"
        Invoking Menus
          Pop-Up Menus
            :info "The application invokes a pop-up-menu programmatically."
            pop-up-menu
            pop-up-lettered-menu
            pop-up-shortcut-menu
            pop-up-menus-for-many-sorted-choices
          Menu-Bar Pull-Down Menus
            :info "The user invokes a pull-down-menu interactively."
            :nav "Navigator Clipboard Example   (includes a simple menu-bar)" :clipboard-example
            Q:  Why isn't Alt-F invoking my File menu?
              :info "A:  Several Possibilities:"
              The window is an instance of dialog-mixin and there are no controls in the window.
                :info "Use a non-dialog window or add one or more controls to it."
              You are using Run Form and the IDE is grabbing the keystroke.
                :info "Try Run Project instead, so that the window is independent of the IDE."  
              The focus is in a text control which is a grandchild of the menu-bar window.
                :info "This is a special case that does not work."
              A global accelerator is grabbing the keystroke.
                :info "Use a different key binding for the global accelerator."
                add-global-keyboard-accelerator
        Menu Properties
          name
          title
          menu-items
          on-click
          show-help-strings-as-tooltips
          override-native-shortcuts
        Menu Events
          Overridable Event Handling Generic Functions
            about-to-show-menu
            menu-item-highlighted
            menu-item-help
            handle-menu-selection
            proxy-menu-bar-window
          The On-Click Event Handler
            on-click
            Built-In Menu On-Click Functions
              default-menu-on-click
              funcall-menu-item
              eval-menu-item
              funcall-menu-item-with-window
              funcall-menu-item-with-rich-edit
        Menu Predicates
          menup
          menu-bar-p
        Other Menu Functions
          delay-pop-up-menus-until-mouse-buttons-up
          menu-font
          shortcut-menu-class
          system-menu
          menu-tooltip-delay
          menu-bar-height
      Menu-Items
        menu-item "(instantiable class)"
        menu-item-p
        menu-separator
        find-named-object
        copy-menu-item
        Menu-Item Properties
          name
          title
          value
          event-synonym   "(the keyboard shortcut for the menu-item)"
          help-string
          available
          cluster
          selected   "(whether a check mark appears on the menu-item)"
          allow-during-modality
          menu   "(returns the menu that the menu-item is on)"
          checkable   "(needed on GTK only)"
        Menu-Item Keyboard Shortcuts
          event-synonym   "(menu-item property)"
          override-native-shortcuts
          ide:comtab-report
          :cod "Show the IDE Shortcut Keys Dialog   (Help | Shortcut Keys)" (ide:comtab-report :stream nil)
          menu-item-help
      Shortcut Menus
        shortcut-menu   "(instantiable class)"
        shortcut-commands
        pop-up-shortcut-menu
        shortcut-menu-class
      :doc "Menus and Dialogs in the IDE" "cgide.htm#menus-dialogs-1"
    Tooltips
      Tooltip-Oriented Properties of Controls
        tooltip
      Tooltip-Oriented Properties of Menus
        show-help-strings-as-tooltips
      Overridable Generic Functions
        tooltip-horizontal-center
        tooltip-top
      Extendable Generic Functions
        show-tooltip
        hide-tooltip
      Configuration Options for Tooltips
        show-tooltips
        custom-tooltip-font
        tooltip-delay
        menu-tooltip-delay
        tooltip-vertical-offset
      tooltip-font   "(returns the system-wide status font)"
      :doc "Adding Quick Help to an Application" "cg/cg-application-help.htm#quick-help-2"
    The Mouse Cursor
      :doc "Pixmaps and Mouse Cursors Overview" "cg/cg-pixmaps.htm#mouse-cursors-1"
      :nav "Navigator Custom Mouse Cursor Example" :mouse-cursor-example
      Mouse Cursor Position
        cursor-position
        ncursor-position
      Assigning a Mouse Cursor to a Window or Control
        cursor   "(the setf sets the cursor to use over a window)"
      Temporary Global Mouse Cursors
        with-cursor
        without-cursor
        *with-cursor*
        with-hourglass
      Creating Custom Mouse Cursors
        :nav "Navigator Custom Mouse Cursor Example" :mouse-cursor-example
        cursor   "(instantiable class)"
        cursor-size
        Mouse Cursor Properties
          texture
          mask
          click-position
          cursor-handle
      Built-In Mouse Cursors
        Supplied by the Operating System
          arrow-cursor
          cross-cursor   "(for specifying a position)"
          line-cursor   "(for text editing)"
          waiting-cursor   "(an hourglass for busy states)"
          vertical-arrow-cursor
          app-starting-cursor
          hand-cursor   "(an OS cursor handle on GTK only)"
          help-cursor
          no-drop-cursor   "(used by drag-and-drop)"
          sizing-cursor
          sizing-north-south-cursor
          sizing-west-east-cursor
          sizing-northeast-southwest-cursor
          sizing-northwest-southeast-cursor
          sizing-northeast-cursor
          sizing-northwest-cursor
          sizing-southeast-cursor
          sizing-southwest-cursor
        Supplied by Common Graphics   (retrieve with find-cursor)
          :cod "hand-cursor" (inspect (find-cursor :hand-cursor))
          :cod "default-drop-cursor" (inspect (find-cursor :default-drop-cursor))
          :cod "horizontal-splitbar-cursor" (inspect (find-cursor :horizontal-splitbar-cursor))
          :cod "vertical-splitbar-cursor" (inspect (find-cursor :vertical-splitbar-cursor))
      Caching and Looking Up Mouse Cursors
        cache-cursor
        find-cursor
        uncache-cursor
        :cod "Inspect All Cached Cursors" (inspect cg.base:*cached-cursors*)
      Things Currently Under the Mouse
        window-under-mouse
        widget-under-mouse
        hotspot-under-mouse
      Capturing Mouse Events in a Particular Window
        with-mouse-captured
        capture-mouse
        release-mouse
        mouse-captured-p
      Confining the Mouse Cursor to a Particular Window
        with-mouse-confined
    Icons in the System Tray
      tray-item   "(instantiable class)"
      tray-item-icon
      tray-item-tooltip
      add-tray-item
      remove-tray-item
      in-tray-p
      tray-item-message   "(overridable generic function)"
    The Currently Selected Thing
      The Selected Window
        select-window
        selected-window
        selected-window-or-screen
        get-focus
        set-focus
        context-sensitive-help
        :doc "Providing Help on the Selected Window" "cg/cg-application-help.htm#selected-window-help-2"
      The Selected Data Object   (within the selected window)
        selected-object
        ide:*selected-object* (in the IDE)
        selected-symbol
        selected-string
        selected-class
        selected-form
        :doc "Providing Help on the Selected Object" "cg/cg-application-help.htm#selected-object-help-2"
        Converting from an Arbitrary Selected Data Object
          object-symbol
          object-string
          object-class
          object-form
        Retrieving or Replacing the Selected Object
          cut-selection
          copy-selection
          paste-selection
          delete-selection
          insert-selection
          cuttable
          pastable
          Using the Clipboard with the Selected Object
            :doc "About the Clipboard" "cg/cg-clipboard.htm"
            copy-command
            cut-command
            delete-command
            paste-command
            insert-command
            clipboard-format-from-object
    Hotspots
      :nav "Navigator Hotspots Example" :hotspots-example
      Hotspot Classes
        hotspot   "(instantiable class)"
        hotspot-mixin   "(a mixin for any window that is to have hotspots)"
      Hotspot Attributes
        name
        hotspot-region
        parent   "(returns the window the hotspot is in)"
        highlight-style
        color
        available
        plist
      Other Hotspot Functions
        add-hotspot
        remove-hotspot
        hotspots
        current-hotspot
        hotspot-under-mouse
        highlight-hotspot   "(overridable generic function)"
        hotspot-region
        region-box
        invalidate   "(redraws just the region of a hotspot)"
    The Caret   (a flashing cursor in the selected window, such as a text cursor)
      :nav "Navigator Carets Example" :carets-example
      caret-mixin   "(a mixin for windows that need to have a caret)"
      caret   "(a caret-mixin property that specifies the caret of a window)"
      show-caret
      hide-caret
      caret-position
      ncaret-position
      caret-width
      caret-height
      caret-blink-time
  Event Handling
    Events on Regular Windows
      :doc "An Overview of Window Events" "cg/cg-events.htm"
      :nav "Navigator Basic Window Event Handling Example" :window-methods-example
      Keyboard Events
        Overridable Event-Handling Generic Functions for Keyboard Events
          virtual-key-down
          virtual-key-up
          character-message
        The Keyboard Focus   (the window or control to which all keyboard events are directed)
          The Focused Window
            get-focus
            set-focus
            clear-focus
          The Focused Control
            focus-component
            set-focus-component
            Event Handlers
              on-set-focus
              on-kill-focus
            Extendable Event-Handling Generic Functions for Control Focus
              set-focus-event
              kill-focus-event
          The Focus Within Particular Controls
            focus-cell   "(for grid-widgets)"
            show-focus   "(grid-widget property)"
            keep-focus-in-view   "(grid-widget property)"
            focus-index   "(for grid-widget and outline controls)"
            focus-on-click   "(tab-control property)"
            save-selection-when-unfocused   "(text-edit-pane)"
            show-selection-when-unfocused   "(text-edit-pane)"
        Keyboard Shortcuts   (mapping keyboard keys to various commands)
          :cod "Show the Shortcut Keys Dialog   (Help | Shortcut Keys)" (ide:comtab-report :stream nil)
          ide:comtab-report
          Menu Command Shortcuts
            event-synonym   "(menu-item property)"
            override-native-shortcuts
          Comtabs   (Command Tables)
            comtab   "(instantiable class and window accessor)"
            comtab-mixin   "(mixin for windows that are to have comtabs)"
            event-function
            set-event-function
            cg-host-comtab
            cg-emacs-comtab
            override-menu-bars
          Global Keyboard Shortcuts
            add-global-keyboard-accelerator
            remove-global-keyboard-accelerator
            handle-f10   "(needed on GTK only)"
          context-sensitive-help
          menu-item-help
          The IDE Editor's Comtab
            ide:*text-edit-comtab*
        Finding the Currently-Pressed Keys
          key-is-down-p
          key-was-down-p
          down-keys
          down-key-names
          wait-for-keys-up
        Key Name Constants
          Button-State Bit Flags
            Functions Using Button-State Bit Flags
              Event Handlers with a Button-State Parameter
                virtual-key-down
                virtual-key-up
                mouse-left-down   "(and the other mouse click handlers)"
              button-match
              mouse-button-state
              wait-for-mouse-buttons-up
              wait-for-keys-up
              key-is-down-p
              key-was-down-p
            Keyboard Shift Keys
              shift-key
              control-key
              alt-key
              meta-key   "(same as alt-key)"
              extended-key
              reserve-righthand-alt-key
            Mouse Buttons as Shift Keys
              left-mouse-button
              middle-mouse-button
              right-mouse-button
              first-x-button
              second-x-button
              *ignore-mouse-x-buttons*
          Main Key Identifiers
            Finding Key Names
              key-name
              key-names
              char-to-key-name
            Functions Using Main Key Identifiers
              virtual-key-down   (passed as the "data" argument)
              virtual-key-up   (passed as the "data" argument)
              key-is-down-p
              key-was-down-p
            The List of "vk-..." Key Names
              Keys on the Main Keyboard
                Graphical Keys   (for other graphical keys, use the lisp character object)
                  vk-backquote
                  vk-backslash
                  vk-close-square-bracket
                  vk-comma
                  vk-minus
                  vk-open-square-bracket
                  vk-period
                  vk-plus
                  vk-quote
                  vk-semicolon
                  vk-slash
                  vk-space
                Shift Keys
                  vk-shift
                  vk-control
                  vk-alt
                  vk-meta
                  vk-applications
                  Lefthand- and Righthand-Specific Shift Keys
                    vk-left-shift
                    vk-right-shift
                    vk-left-control
                    vk-right-control
                    vk-left-alt
                    vk-right-alt
                    vk-left-windows
                    vk-right-windows
                Function Keys
                  vk-f1
                  vk-f2
                  vk-f3
                  vk-f4
                  vk-f5
                  vk-f6
                  vk-f7
                  vk-f8
                  vk-f9
                  vk-f10
                  vk-f11
                  vk-f12
                  vk-f13
                  vk-f14
                  vk-f15
                  vk-f16
                Movement Keys
                  vk-down
                  vk-end
                  vk-home
                  vk-left
                  vk-pagedown
                  vk-pageup
                  vk-right
                  vk-up
                Toggling Keys
                  vk-capslock
                  vk-numlock
                  vk-scrllock
                Other Non-Graphical Keys
                  vk-backspace
                  vk-backtab
                  vk-cancel
                  vk-delete
                  vk-enter
                  vk-escape
                  vk-insert
                  vk-pause
                  vk-printscrn
                  vk-return
                  vk-sysrq
                  vk-tab
              Keys on the Numeric Keypad
                vk-add
                vk-subtract
                vk-multiply
                vk-divide
                vk-decimal
                vk-separator
                Numeric Keypad Number Keys
                  vk-numpad0
                  vk-numpad1
                  vk-numpad2
                  vk-numpad3
                  vk-numpad4
                  vk-numpad5
                  vk-numpad6
                  vk-numpad7
                  vk-numpad8
                  vk-numpad9
              Mouse Buttons as Keys
                vk-lbutton
                vk-mbutton
                vk-rbutton
                vk-xbutton1
                vk-xbutton2
                *ignore-mouse-x-buttons*
        reserve-righthand-alt-key
      Mouse Events
        Overridable Event-Handling Generic Functions for Mouse Events
          Client Area (Interior) Mouse Events
            Mouse Movement
              mouse-moved
              mouse-in
              mouse-out
              :doc "Triggering Application Help Automatically" "cg/cg-application-help.htm#automatic-triggering-2"
              ignore-redundant-mouse-moves
            Mouse Clicks
              Left Mouse Button
                mouse-left-down
                mouse-left-up
                mouse-double-click
                map-control-left-click-to-right-click
              Middle Mouse Button
                mouse-middle-down
                mouse-middle-up
                mouse-middle-double-click
              Right Mouse Button
                mouse-right-down
                mouse-right-up
                mouse-right-double-click
              Back and Forward Mouse Buttons
                mouse-back-down
                mouse-back-up
                mouse-forward-down
                mouse-forward-up
            Mouse Wheel Movement
              mouse-wheel
              mouse-wheel-present
              mouse-wheel-scroll-lines
          Non-Client Area (Frame) Mouse Events
            nc-mouse-moved
            nc-mouse-left-down
            nc-mouse-left-up
            nc-mouse-double-click
            nc-mouse-middle-down
            nc-mouse-middle-up
            nc-mouse-middle-double-click
            nc-mouse-right-down
            nc-mouse-right-up
            nc-mouse-right-double-click
            Window Frame Buttons
              Close Button
                close-button
                user-close
              Minimize/Maximize Buttons
                minimize-button
                maximize-button
                state
                shrink-window
                expand-window
                zoom-window
              Help Button
                help-button
                help-button-pressed
                context-sensitive-help
          mouse-event-p
        Current State of the Mouse Buttons
          mouse-button-state
          wait-for-mouse-buttons-up
          button-match
      Other Overridable Message-Handling Generic Functions
        redisplay-window
        user-scroll
        user-close
        os-exit-request
        Deprecated
          event   "(use generic functions such as mouse-left-down and virtual-key-down instead)"
          nc-event   "(use generic functions like nc-mouse-moved instead)"
          Redundant Event Constants   (which are not also event-handler functions)
            mouse-down
            nc-mouse-down
            mouse-up
            nc-mouse-up
            mouse-left-double-click
            nc-mouse-left-double-click
      Other Extendable Message-Handling Generic Functions
        move-window
        resize-window
        set-focus
      Disabling Events
        with-events-disabled
        with-events-enabled
        enable-events
        events-enabled
        discard-pending-events
    Events on Controls
      :doc "A Tutorial" "cg/ide-ug/ide_user_guide_8.htm"
      Event-Handler Properties of Controls
        on-change
        on-change-test
        on-click
        on-double-click
        on-print
        on-set-focus
        on-kill-focus
        on-mouse-in
        on-mouse-out
        on-sort-key
        on-sort-predicate
        on-range-change   "(marginally useful)"
        range-equality-test   "(marginally useful)"
      Extendable Event-Handling Generic Functions for Controls
        widget-set-value
        widget-set-range
        set-focus-event
        kill-focus-event
      Overridable Event-Handling Generic Functions for Controls
        click-event
        double-click-event
      Receiving Low-Level Window Events for OS Controls
        subclass-widget
        unsubclass-widget
        widget-subclassed-p
    Events on Menus
      on-click
      about-to-show-menu
      menu-item-highlighted
      handle-menu-selection
      proxy-menu-bar-window
      :doc "Triggering Application Help" "cg/cg-application-help.htm#triggering-help-1"
    Timers
      :doc "About Timers" "cg/cg-timers.htm"
      :nav "Navigator Bouncing Boxes Example" :bouncing-box-example
      :nav "Navigator Drawable Example" :animated-drawable-example
      timer "(instantiable class)"
      find-timer
      start-timer
      stop-timer
      on-timer "(event-handler)"
      *cg-timer-resolution* (used on Linux/Unix only)
      Timer Properties
        interval
        active
        timer-count
        timer-info
        timer-universal-time
        timer-process
        id (deprecated; not needed by applications)
      The Built-In CG-Timer   (always passed to the currently-selected window)
        cg-timer
        handle-cg-timer
        cg-timer-interval   "(configuration option)"
        use-cg-timer   "(configuration option)"
      Timer Interval Configuration Options
        tooltip-delay
        menu-tooltip-delay
        multi-picture-button-scroll-interval
    Event-Handling Loops and Cooperative Multitasking
      event-loop
      process-single-event
      process-pending-events
      process-pending-events-if-event-handler
      discard-pending-events
      post-funcall-in-cg-process   "(tells a CG thread to run some code when it gets to it)"
      *event-loop-processes*
      *use-single-cg-event-handling-process*
      *single-cg-event-handling-process*
      cg-process-wait
    Prompting the User for Input
      Prompting for Mouse Input
        Rubber-Banding
         :nav "Navigator Example for Rubber-Banding" :rubber-banding-example
         :nav "Navigator Example for Manipulatable Graphic Objects" :nodes-example
          Standard Drawing   "(stretchy lines and boxes)"
            get-position
            nget-position
            get-line
            nget-line
            get-box
            nget-box
            get-fixed-box
            nget-fixed-box
          Custom Drawing   "(using your own drawing function)"
            get-shape-line
            nget-shape-line
            get-shape-box
            nget-shape-box
            get-shape-fixed-box
            nget-shape-fixed-box
        Drag and Drop
          drag-and-drop
          drop-get
          drop-put
          good-drop
          bad-drop
          box-to-drag
          drag-and-drop-mouse-moved
          Allowing Drag and Drop
            draggable-p
            droppable-p
            droppable-onto-self
            cell-draggable-p   "(for grid-widgets)"
          Waiting for an Initial Drag
            wait-for-drag
            *start-drag-slack*
          Mouse Cursors Used by Drag and Drop
            drag-cursor
            drop-cursor
            no-drop-cursor
          drag-images   "(configuration option)"
          fetch-control-value
      Prompting for Keyboard Input
        Edit In Place
          edit-in-place
          editable-in-place   "(for outline controls)"
        Waiting for a Keypress in a Loop
          key-is-down-p
          key-was-down-p
      Modal Dialogs
        :info "see Interface Components-->Windows-->Window Classes-->"
        :info "    Instantiable Window Classes-->dialog"
      Telling the User to Wait
        with-hourglass
        with-message-window
        make-message-window
        message-window   "(class)"
        progress-indicator
    Emulating Mouse Clicks and Keypresses Programmatically
      do-click
      do-keypress
      do-keypresses
  Multithreading
    Multiple Windowing Threads in a CG Application
      :doc "Multiple Windowing Threads in a CG Application" "cgide.htm#cg-multithreading-1"
      *default-cg-bindings*
      with-cg-bindings
      event-loop
      inside-event-loop
      exit-event-loop
      in-cg-process   "(runs code in a new CG process)"
      foreground-window   "(returns the selected top-level window in ANY thread)"
      set-foreground-window   "(brings a thread's windows to the front)"
      ide:eval-in-listener-thread   "(calls eval in another thread if needed)"
      post-funcall-in-cg-process   "(tells a CG thread to run some code when it gets to it)"
      *event-loop-processes*
      *use-single-cg-event-handling-process*
      *single-cg-event-handling-process*
      Avoiding Box and Positions Constants (unsafe with multiple CG threads)
        with-positions
        with-boxes
        with-positions-and-boxes
      *default-cg-message-timeout*
    Debugging Multiple Threads in the IDE
      :doc "Debugging Multiple Threads in the IDE" "cgide.htm#ide-multithreaded-debugging-2"
      :doc "Processes Table" "ide-menus-and-dialogs/process-dialog.htm"
      ide:ide-evaluator-listener
  Graphics
    :doc "Drawing graphics" "cg/cg-drawing.htm"
    Redisplaying Windows
      redisplay-window   "(overridable generic function)"
      Double Buffering   (to reduce flashing)
        double-buffered
        with-double-buffering
        memory-bitmap-not-created
      Controlling When Redisplay is Invoked
        Queueing a Redisplay
          invalidate
          Deprecated Variants   (use invalidate instead)
            invalidate-window
            invalidate-window-nc
            invalidate-component
            invalidate-component-nc
          invalidate-window-on-resize
        Cancelling a Queued Redisplay
          validate-window
        Forcing a Queued Redisplay to Happen Now
          update-window
          process-pending-events
          process-pending-events-if-event-handler
      Suppressing Redisplay
        with-delayed-redraw
        delay-redraw
        resume-redraw
        redraw-delayed
        with-motionless-text-control
    Line Drawing and Area Filling
      The Current Drawing Style
        :doc "Drawing Style Overview" "cg/cg-drawing.htm#drawing-style-2"
        Antialiasing and Color Gradient Filling
          *antialiasing*
          *color-gradient-filling*
          *color-gradient-intensity*
          *color-gradient-direction*
          *color-gradient-blend*
          antialias-lines   "(widget property)"
          antialias-text   "(widget property)"
        Line Width
          line-width
          with-line-width
        Dashing
          line-dashing
          with-line-dashing
        Color
          foreground-color
          background-color
          with-foreground-color
          with-background-color
        Font
          font
          with-font
        Paint Operations
          :cgx "Paint-Operation Example" "paintops.cl"
          paint-operation
          with-paint-operation
          Common Paint Operations
            po-replace
            po-paint
            po-invert
            po-xor
            po-erase
            po-fill
            po-and
          Other Built-In Paint Operations
            po-dst
            po-ds~t
            po-d~st
            po-d~s~t
            po-~dst
            po-~ds~t
            po-~d~st
            po-~d~s~t
        Clipping Boxes
          with-clipping-box
          clipping-box
          nclipping-box
        Textures
          background-texture
          fill-texture
          line-texture
          with-background-texture
          with-fill-texture
          with-line-texture
        Line Endpoint Styles   (requires drawing-paths in win95/98)
          line-end
          line-join
          with-line-end
          with-line-join
        Graphics Contexts
          make-graphics-context
          graphics-context-p
          copy-graphics-context
          set-graphics-context
          restoring-graphics-context
      The Current Drawing Position
        current-position
        ncurrent-position
        current-position-x
        current-position-y
        move-to
        move-to-x-y
        move-by
        move-by-x-y
      Doing the Actual Drawing
        :doc "Drawing functions" "cg/cg-drawing.htm#drawing-functions-1"
        Straight Things
          Lines
            draw-line
            draw-line-x-y
            erase-line
            erase-line-x-y
            draw-to
            draw-to-x-y
            draw-by
            draw-by-x-y
            erase-to
            erase-to-x-y
            erase-by
            erase-by-x-y
            on-line-segment-p
          Rectangles
            draw-box
            draw-box-x-y
            erase-box
            erase-box-x-y
            fill-box
            fill-box-x-y
            erase-contents-box
            erase-contents-box-x-y
            invert-box
            invert-box-x-y
            inside-box-p
            sub-box-p
          Polylines
            draw-polyline
            erase-polyline
          Polygons
            draw-polygon
            erase-polygon
            fill-polygon
            erase-contents-polygon
            inside-polygon-p
          Arrowheads
            draw-arrowhead
        Round Things
          Circlular Things
            Whole Circles
              draw-circle
              erase-circle
              fill-circle
              erase-contents-circle
              inside-circle-p
            Circle Arcs
              draw-circle-arc
              erase-circle-arc
            Circle Sectors
              draw-circle-sector
              erase-circle-sector
              fill-circle-sector
              erase-contents-circle-sector
          Elliptical Things
            Whole Ellipses
              draw-ellipse
              erase-ellipse
              fill-ellipse
              erase-contents-ellipse
            Ellipse Arcs
              draw-ellipse-arc
              erase-ellipse-arc
              ellipse-start-and-end
            Ellipse Sectors
              draw-ellipse-sector
              erase-ellipse-sector
              fill-ellipse-sector
              erase-contents-ellipse-sector
          Bezier Curves
            draw-bezier-curve
          Rectangles with Rounded Corners
            draw-rounded-box
            erase-rounded-box
            fill-rounded-box
            erase-contents-rounded-box
        Single Pixels
          pixel
          pixel-x-y
        Flood Filling
          flood-fill
        Erasing a Whole Stream
          clear-page
        Using "Drawing Paths"
          with-drawing-path
          begin-drawing-path
          end-drawing-path
        :info "The \"Drawing Using Objects\" facility is now REMOVED from Common Graphics"
    Text and Fonts
      :doc "Text and fonts overview" "cg/cg-drawing.htm#text-and-fonts-2"
      Drawing Text
        Text Geometry
          line-height
          stream-string-width
          stream-char-width
          space-width
          stream-string-size "(deprecated; use stream-string-width)"
          nstream-string-size "(deprecated; use stream-string-width)"
          stream-string-corners "(deprecated; use stream-string-width and line-height)"
          nstream-string-corners "(deprecated; use stream-string-width and line-height)"
        Doing the Drawing
          Drawing Text at the Current Position in a Graphical Window
            :info "Functions like FORMAT or PRINC will draw at the current-position"
            move-to   "(sets the current-position)"
            current-position
            current-position-x
            current-position-y
          draw-string-in-box
          draw-wrapped-string
          draw-text-file
        The Current Font and Text Background Mode
          font
          with-font
          transparent-character-background
          object-locale
          with-object-locale
      Fonts
        :nav "Navigator Fonts Example" :fonts-example
        Font Classes
          font
          fontmetrics
        Finding Available Fonts
          font-faces
          font-sizes
        Creating Fonts
          make-font-ex
          make-font
          ask-user-for-font
        Using Fonts
          Assigning a Font to a Window (or other object)
            font "(property)"
            with-font
            font-handle
          Measuring String Size in a Font
            font-string-width
            font-line-height
          fontp
          vary-font
          exact-font
          font-equal
        The Fontmetrics Object   (holds attributes of the current font of a window)
          make-fontmetrics
          fontmetrics
          nfontmetrics
          smash-fontmetrics
        Font Attributes
          On the Font Itself
            font-family
            font-face
            font-size
            font-style
            font-style-word
            font-size-is-char-height
            font-angle
            font-pixel-height
          On the Associated Fontmetrics
            font-height
            font-ascent
            font-descent
            font-leading
            font-external-leading
            font-internal-leading
            font-fixed-width-p
            font-average-char-width
            font-max-char-width
            font-vector-p
            font-truetype-p
            font-device-p
            font-direction
        Special System Fonts
          system-font
          system-fixed-font
          ansi-var-font
          ansi-fixed-font
          message-font
          menu-font
          tooltip-font
          status-bar-font
        IDE Font Options
          fixed-font
          proportional-font
          editor-font
          debug-font
          class-graph-font
          inspector-name-font
          inspector-value-font
          printer-font
          cg-tree-font
        Grid-Widget Font Functions
          cell-font
          font-reader
    Pixmaps   (also known as Bitmaps, Pixel Maps, Raster Images, BitBlting)
      :doc "Pixmaps and Mouse Cursors Overview" "cg/cg-pixmaps.htm"
      :nav "Navigator Pixmap Example" :array-blit-example
      :nav "A Pixmap Viewer and Manager" :viewer-example
      Creating and Saving Pixmaps
        pixmap   "(instantiable class)"
        Using Standard .BMP Bitmap Files
          load-pixmap
          save-pixmap
        Saving Pixmaps as Lisp Source Code
          load-lisp-pixmap
          save-lisp-pixmap
          import-pixmaps
        Copying a Screen Image into a Pixmap
          :nav "Navigator Pixmap-Grabbing Example" :get-screen-pixmap-example
          get-pixmap
          get-texture-info
          get-screen-pixmap
          get-screen-box
          get-pixels   "(deprecated; use get-pixmap)"
        Passing Pixmaps on the Operating System Clipboard
          :doc "About the Clipboard" "cg/cg-clipboard.htm"
          :nav "Navigator Clipboard Example" :clipboard-example
          clipboard-object
          clipboard-pixmap   "(deprecated; use clipboard-object)"
          :info "Also, the PRINTSCREEN key copies the screen to the clipboard."
          :info "And Alt-PRINTSCREEN copies the selected top-level window there."
        Built-In Color Vectors
          default-pixmap-color-vector
          default-gray-pixmap-color-vector
          initial-pixmap-color-vector
          default-256-color-palette-vector
          Deprecated
            default-palette-vector
            default-gray-palette-vector
            initial-palette-vector
      Drawing Pixmaps
        :info "The \"stream\" may be a window, the screen, a bitmap-stream, or a printer stream."
        copy-to-stream   "(pixmap to stream)"
        replicate-pixmap
        copy-stream-area   "(stream to stream)"
        copy-pixels-to-stream-from-file   "(file to stream)"
        stretch-mode
        Using Masks for Non-Rectangular Images
          :navigator "Navigator Octafun Example" :octagons-example
          generate-mask
      Pixmap Properties
        bits-per-pixel
        colors
        contents
        width
        height
        invert-p
        mask
        mask-contents
        source
        pixmap-handle
        mask-handle
        Redundant Older Equivalents
          texture
          texture-info
      Accessing Individual Pixels
        contents
        contents-ref
        contents-set   "(deprecated; use (setf contents-ref))"
        mask-contents
        mask-contents-ref
        mask-contents-set   "(deprecated; use (setf mask-contents-ref))"
      Using Faster "Device-Dependent" Pixmaps   (Pixmap Handles)
        open-pixmap-handle
        close-pixmap-handle
        pixmap-use-handle   "(control property)"
        use-pixmap-handles   "(configuration option)"
      Caching Pixmaps   (for looking them up later from their names)
        cache-pixmap
        find-pixmap
        uncache-pixmap
        restore-pixmaps
        :cod "Inspect All Cached Pixmaps   (including many built-in button pixmaps)" (inspect cg.pixmap:*cached-pixmaps*)
      Other Pixmap Functions
        rotate-pixmap
      Lower-Level Pixmap Objects   (which are parts of a pixmap object)
        :info "It may never be necessary to use these older sub-pixmap objects."
        Textures
          Creating Textures
            texture "(instantiable class)"
            texture-p
            make-texture-contents
            load-texture
            save-texture
            get-texture
          Drawing Textures
            copy-pixels-to-stream
            copy-pixels-with-mask-to-stream
          Texture Properties
            texture-array
            texture-array-height
            texture-array-width
          Accessing Individual Pixels
            contents
            contents-ref
            contents-set   "(deprecated; use (setf contents-ref))"
          Rotating and Flipping Textures
            rotate-texture
            reflect-pixmap-in-x
            reflect-pixmap-in-y
          Window Attributes that Use Textures
            fill-texture
              fill-texture
              fill-texture-origin
              nfill-texture-origin
              fill-texture-size
            background-texture
          Built-In Textures
            black-texture
            white-texture
            gray-texture
            dark-gray-texture
            light-gray-texture
        Texture-Infos
          texture-info   "(structure class)"
          make-texture-info   "(instantiates a texture-info)"
          load-texture-info
          *default-texture-info*
          *default-inverted-texture-info*
          Texture-Info Accessors
            texture-info-bits-per-pixel
            texture-info-colors
            texture-info-width
            texture-info-height
            texture-info-invert-p
            texture-info-x-device-units-per-m "(not needed)"
            texture-info-y-device-units-per-m "(not needed)"
          Deprecated
            default-texture-info
            default-inverted-texture-info
        Pixmap Handles   (used by themselves)
          create-pixmap-handle
          destroy-pixmap-handle
      Using Pixmaps on Controls
        Classes of Controls that Use Pixmaps
          static-picture
          picture-button
          multi-picture-button
          outline
        Pixmap-Oriented Properties of Controls
          pixmap
          pixmap-name
          pixmap-source
          pixmap-icon
          pixmap-use-handle
          Outline Properties Related to Pixmaps
            draw-icons   "(whether to draw the pixmaps at all)"
            leaf-pixmap
            leaf-pixmap-name
            leaf-pixmap-source
            opened-pixmap
            opened-pixmap-name
            opened-pixmap-source
            closed-pixmap
            closed-pixmap-name
            closed-pixmap-source
        Updating Controls to their .BMP Pixmap Files
          sync-widget-to-image-file
          update-widgets-of-image-file
      Enhancing the Inspector with Pixmap Markers
        pixmap "(method)"
    Icons   (like a standard-size pixmap with a built-in mask)
      :doc "About Icons" "cg/cg-icons.htm"
      Creating and Drawing Icons
        extract-icon-from-file
        count-icons-in-file
        create-icon-handle
        destroy-icon-handle
        draw-icon
      Assigning Icons to Objects
        icon   "(window property)"
        pixmap-icon   "(control property)"
        ide:icon-file   "(project property)"
      Built-In Icon Handles   (supplied by the operating system)
        information-icon
        question-icon
        warning-icon
        error-icon
        application-icon
    Color
      Color Objects
        RGB Objects
          rgb   "(class; instantiate-with make-rgb)"
          make-rgb
          with-rgb
          rgb-red
          rgb-green
          rgb-blue
          rgb-p
          rgb-equal
        HLS Objects
          hls   "(class; instantiate with make-hls)"
          make-hls
          hls-hue
          hls-lightness
          hls-saturation
          hls-p
        Converting
          rgb-to-hls
          hls-to-rgb
      Current Drawing Color
        background-color
        foreground-color
        effective-background-color
        effective-foreground-color
        with-background-color
        with-foreground-color
        default-background-color
        default-foreground-color
        line-texture
      Special Drawing Colors   (reflecting the user's Control Panel preferences)
        system-foreground-color
        system-background-color
        system-dialog-background-color
        system-app-workspace-color
        system-highlight-foreground-color
        system-highlight-background-color
        system-edge-highlight-color
        system-edge-shadow-color
        system-disabled-color
      Named Colors   (RGB constants for the standard VGA colors)
        Black, White, and Grays
          black
          white
          gray
          light-gray
          dark-gray
        Medium Darkness
          red
          green
          blue
          yellow
          cyan
          magenta
        High Darkness
          dark-red
          dark-green
          dark-blue
          dark-yellow
          dark-cyan
          dark-magenta
        Low Darkness
          light-red
          light-green
          light-blue
          light-yellow
          light-cyan
          light-magenta
      Other Color Functions
        color   "(hotspot and button-info property)"
        colors   "(pixmap property)"
        ask-user-for-color   "(common dialog)"
        Color-Oriented Properties of Windows and Controls
          foreground-color
          background-color
          unavailable-color-mapper
          pressed-color-mapper
          Grid-Widget Color Properties
            border-color
            default-cell-border-color
            cell-background-color
            cell-foreground-color
            cell-unavailable-foreground-color
          :nav "Navigator Colorful Control Example" :color-demo-example
        screen-colors
        texture-info-colors   "(texture-info property)"]
        color-number
        colorize
      Palettes   (needed for custom colors when Windows is not in true-color mode)
        :doc "Color Palettes Overview" "cg/cg-color-palettes.htm"
        :nav "Navigator Palette Example" :palettes-example
        :nav "Navigator Pixmap Example" :array-blit-example
        palette   "(returns or sets the palette of a window)"
        open-palette
        close-palette
        realize-palette
        palette-size
        screen-colors
        animate-color-number
    Printing Hardcopy
      :nav "Navigator Basic Printing Example" :basic-printing-example
      :nav "Navigator Scaled Printing Example" :printer-resolution-example
      :doc "Drawing on a printer" "cg/cg-drawing.htm#on-printers-2"
      Creating Printer Streams
        printer   "(class; instantiate with (open-stream 'printer)"
        open-stream   "(instantiates a bitmap-stream or printer class)"
        printer-names   "(returns the available printers)"
      Using Printer Streams
        :info "Draw on a printer-stream just as you would on a window."
        with-output-to-printer
        with-printer   "(for querying or setting up a printer only)"
        new-page
        draw-on-printer
        print-text-file
        stream-units-per-inch   "(for scaling printed output)"
        print-abort-proc
      Printer Stream Properties
        Read / Write   (may be specifed as initargs to open-stream)
          orientation   "(:portrait or :landscape)"
          print-quality   "(:high, :medium, :low, or :draft)"
          paper-source
          double-sided
          scale   "(scaling factor for the printer driver; default is 1.0)"
          Number of Copies   (initarg is :copies)
            driver-copies   "(copies that the driver will print automatically)"
            user-copies   "(copies that the application must explicitly print)"
          Whether to Collate   (initarg is :collate-p)
            driver-collate-p   "(whether the driver will collate automatically)"
            user-collate-p   "(whether the application must collate explicitly)"
          Whether to Print to a File Instead of a Printer
            filename   "(initarg is :print-to-file-p)"
          Range of Pages to Print
            start-page   "(initarg is :start)"
            end-page   "(initarg is :end)"
          Margins   (these may be setf'ed in the middle of a print job)
            left-margin
            top-margin
            right-margin
            bottom-margin
          multicolor   "(whether a color printer is in multicolor mode)"
        Read-Only   (these are filled in when a printer stream is opened)
          Page Size   (the size of the printable area)
            Outside the Margins   (still inside the "hardware" margins)
              page-width
              page-height
            Inside the Margins
              page-length
              line-length
              interior-width
              interior-height
              page-box
              npage-box
          Paper Size   (the size of the physical paper)
            Symbolic
              paper-size   "(:letter, :legal, :a4, etc.)"
            In Inches or Millimeters
              paper-size-unit   "(:inch or :mm)"
              paper-width
              paper-length
            In Stream Units   (pixels by default)
              printer-physical-offset   "(size of the \"hardware\" margin)"
              printer-physical-size   "(size of the physically printable area)"
          page-number
          selected-pages-p
          printer-name
          printer-port-name
          driver-name      
          driver-version
          spec-version
      Printer Dialogs
        pop-up-printer-job-dialog   "(pass its arguments through open-stream)"
        pop-up-printer-setup-dialog   "(the Page Setup dialog)"
        choose-default-printer   "(deprecated; call pop-up-printer-setup-dialog or use the print job dialog)"
      Default Printer Margins   (Global Variables)
        *default-printer-left-margin*
        *default-printer-top-margin*
        *default-printer-right-margin*
        *default-printer-bottom-margin*
    Automatic Graph Layout for Cyclic Graphs
      graph-layout
      graph-boundaries
      center-all-nodes
      other-node
    The IDE's Tree Grapher (not exported for applications)
      :nav "Navigator Grapher Example" :grapher-example
      class-graph-font   "(configuration option)"
      class-graph-initial-depth   "(configuration option)"
      ide:graph-child-windows
      :info "Tools | Graph Subclasses   (menu command)"
      :info "Tools | Graph Superclasses   (menu command)"
  Common Graphics Configuration Options
    Modifying Configuration Options Interactively
      :doc "The Options Dialog" "ide-menus-and-dialogs/options-dialog.htm"
      :doc "The Configuration" "cg/ide-ug/ide_user_guide_1.htm#sec-1-5"
      :cod "Show the Options Dialog   (Tools | Options)" (ide.base::show-options-dialog)
      :cod "Inspect All CG Configuration Options   (Tools | Inspect System Data | Configuration Options)" (inspect (configuration *system*))
    Modifying Configuration Options Programmatically
      :info "Example:  disable tooltips with (setf (show-tooltips (configuration *system*)) nil)"
      configuration   "(class and *system* accessor)"
      cg-configuration
      *system*
      ide:options-path
    All CG Options
      Default Window Size and Position
        default-width-factor
        default-height-factor
        offset-from-selected-window
        center-all-modal-dialogs-on-screen
        modal-dialog-margin
      Default Fonts
        fixed-font
        proportional-font
      Tab-Control Defaults
        default-tab-height
        default-tab-width
      Timers
        tooltip-delay
        menu-tooltip-delay
        multi-picture-button-scroll-interval
        use-cg-timer
        cg-timer-interval
      Tooltips
        show-tooltips
        tooltip-vertical-offset
        tooltip-delay
        custom-tooltip-font
      Lisp Source Code Options
        Lisp Source Indentation and Parenthesis Matching
          conserve-indentation
          parenthesis-matching-color
          parenthesis-matching-style
        Lisp Source Code Colorization
          Colorizing Automatically
            colorize-on-load-file
            colorize-on-typing
          The Colors to Use
            color-for-comments
            color-for-strings
            color-for-characters
            color-for-global-variables
            color-for-external-cl-symbols
            color-for-external-allegro-symbols
            color-for-external-cg-symbols
            color-for-user-functions
      Other Common Graphics Options
        clipboard-history-limit
        custom-status-bar-font
        use-pixmap-handles
        drag-images   "(fancy drag-and-drop)"
        delay-pop-up-menus-until-mouse-buttons-up
        map-control-left-click-to-right-click
  Auxilliary CG Functionality
    Multimedia Control Interface   (MCI)
      :doc "MCI Support" "cg/cg-mci.htm"
      :nav "Navigator Wave File Demo" :play-wave-example
      MCI Devices   (instantiable classes)
        mci-wave-audio   "(plays and records .wav digital audio files)"
        mci-sequencer   "(plays and records .mid MIDI files)"
        mci-animation   "(plays .avi animation files)"
        mci-cd-audio   "(plays audio compact discs)"
        mci-device   "(non-instantiable superclass for all MCI devices)"
        Untested Devices
          mci-dat
          mci-overlay
          mci-scanner
          mci-video-disc
      Basic MCI Operations
        mci-open
        mci-close
        mci-play
        mci-stop
        mci-record
        mci-save
        mci-step
        mci-pause
        mci-resume
        mci-seek
        mci-delete
        mci-set-window
        mci-set-wave-options
        mci-send-string
      MCI Device Attributes
        mci-device-file
        mci-sysinfo
        mci-device-name
        mci-device-number
        mci-device-id
        mci-device-error-function
        Device Type
          mci-device-type
          mci-device-type-constant
          mci-device-type-string
      MCI Notification Callbacks
        mci-notify
      MCI Capability Inquiries
        mci-device-type
        mci-device-inputs
        mci-device-outputs
        mci-device-uses-files-p
        mci-device-max-windows
        mci-device-palettes-p
        mci-compound-device-p
        "Can" Functions
          mci-device-can-eject-p
          mci-device-can-play-p
          mci-device-can-record-p
          mci-device-can-save-p
          mci-device-can-freeze-p
          mci-device-can-reverse-p
          mci-device-can-stretch-p
        "Has" Functions
          mci-device-has-audio-p
          mci-device-has-video-p
        Rate
          mci-device-fast-rate
          mci-device-normal-rate
          mci-device-slow-rate
      MCI Status Inquiries
        mci-device-mode
        mci-device-side
        mci-device-level
        mci-device-speed
        mci-device-input
        mci-device-output
        mci-device-number-of-tracks
        mci-device-current-track
        mci-device-track-length
        mci-device-track-position
        mci-device-length
        mci-device-position
        mci-device-start-position
        mci-device-ready-p
        mci-device-time-format
        mci-device-forward-p
        mci-device-stretch-p
        mci-device-media-present-p
        mci-device-hpal
        mci-device-hwnd
        mci-device-disc-size
        mci-device-media-type
        mci-device-average-bytes-per-second
        mci-device-bits-per-sample
        mci-device-samples-per-second
        mci-device-block-alignment
        mci-device-channels
        mci-device-format-tag
      Setting MCI Device Status
        mci-device-set-audio-on
        mci-device-set-audio-off
        mci-device-set-video-on
        mci-device-set-video-off
        mci-device-set-door-open
        mci-device-set-door-closed
        mci-device-set-time-format
      Time Format Conversion
        tmsf-to-integer
        integer-to-tmsf
    Miscellaneous Non-Graphical Utility Functions
      Web-Browsing Utilities
        invoke-html-browser
        invoke-private-html-browser
        private-html-browser-handle
        use-private-html-browser
        ide:use-cg-html-browser
        invoke-web-browsers-with-keystrokes
        invoke-html-browser-using-dde
        find-mozilla-gtk-path   "(possibly needed on GTK)"
       :doc "Adding Comprehensive Help to an Application" "cg/cg-application-help.htm#comprehensive-help-2"
      String Manipulation
        read-safely
        read-from-string-safely
        list-to-delimited-string
        delimited-string-to-list
        symbol-string-and-package-from-string
        crlf   "(a string constant for a carriage return / line feed pair)"
      Pretty Print Names
        name-string
        Changing String Case
          lowercase-object
          uppercase-object
          capitalize-object
          capitalize-symbol
          capitalize-if-symbol
          change-case-like-reader
      Handling Streams
        get-stream-prop
        set-stream-prop
      value-constants
      with-slot-value
      recreation-code
      gensym-sequential-name
      beep
      ide:in-break
      common-graphics-implementation-version
      ide:ide-implementation-version
    The Clipboard
      :nav "Navigator Clipboard Example" :clipboard-example
      :doc "About the Clipboard" "cg/cg-clipboard.htm"
      :doc "The Clipboard Dialog" "ide-menus-and-dialogs/clipboard-dialog.htm"
      The Operating System Clipboard   (holds a single value available system-wide)
        clipboard-object
        available-clipboard-formats
        clipboard-format-from-object
        clipboard-string   "(deprecated; use clipboard-object)"
        clipboard-pixmap   "(deprecated; use clipboard-object)"
        can-paste  "(deprecated; deemed not useful)"
      The Lisp Clipboard   (holds a stack of values available within Lisp)
        :info "(The top value on the lisp clipboard is also placed onto the OS Clipboard,"
        :info "and a new OS clipboard value is also placed onto the Lisp Clipboard.)"
        push-lisp-clipboard
        pop-lisp-clipboard
        clipboard-changed   "(extendable generic function)"
        clipboard-history-limit   "(configuration option)"
        Recent Lisp Clipboard Values   (global variables)
          =
          ==
          ===
        *clipboard*   "(the stack of values on lisp clipboard)"
        top-clipboard-value-of-type
        convert-clipboard-from-lisp   "(deprecated; use (setf clipboard-object))"
        convert-clipboard-to-lisp   "(deprecated; use clipboard-object)"
        ensure-lisp-clipboard   "(deprecated; not needed)"
      Copy / Cut / Delete / Paste / Insert
        copy-command
        cut-command
        delete-command
        paste-command
        insert-command
        copy-selection
        cut-selection
        delete-selection
        paste-selection
        insert-selection
        cuttable
        pastable
        default-clipboard-format
    Semi-Internal Things
      Programming at the Microsoft Windows API Level
        :info "Use the FFI to call into Windows DLLs as with any other DLL."
        :cod "Microsoft's MSDN On-Line   (see Platform SDK in their outline)" (invoke-html-browser "http://msdn.microsoft.com/library/default.asp")
        :doc "The Foreign Function Interface" "foreign-functions.htm"
        :doc "Foreign Types" "ftype.htm"
        Using Raw WINAPI Functions on Common Graphics Windows
          handle   "(returns the handle of a CG window)"
          window-from-handle   "(returns the CG window for a handle)"
          device-context   "(returns the device-context of a window)"
          with-device-context   "(provides a device-context for drawing on an OS control)"
          hinst   "(returns the handle to the running executable)"
        Receiving Low-Level Window Events for OS Controls
          subclass-widget
          unsubclass-widget
          widget-subclassed-p
      The System Object   (where internal global information is stored)
        :doc "The *system* Object" "cg/cg-system.htm"
        system   "(class with a single built-in instance)"
        *system*   "(bound to the single instance)"
        :cod "Inspect the *system* Object   (Tools | Inspect System Data | Internal System Parameters)" (inspect *system*)
    Miscellaneous Deprecated Symbols
      open-dialog   "(use make-window)"
      groupstart   "(no longer used in modern interfaces)"
      flip-monochrome-bytes   "(should no longer be needed with pixmap objects)"
      Modifying Positions and Boxes
        set-position-x   "(use (setf position-x))"
        set-position-y   "(use (setf position-y))"
        set-box-left   "(use (setf box-left))"
        set-box-top   "(use (setf box-top))"
        set-box-right   "(use (setf box-right))"
        set-box-bottom   "(use (setf box-bottom))"
      Recently Unexported
        :info "dirty-p   (checked whether there is anything to erase)"
        :info "closed-stream   (a window was changed to this class when it is closed)"
        :info "reinitialize-system   (not useful for applications)"
        :info "read-only-p   (internal to the inspector; read-only is used elsewhere)"
        :info "user-close-primary-window   (use user-close)"
        :info "texture-array-ref   (use contents-ref)"
        :info "texture-array-set   (use (setf contents-ref))"
        :info "widget-tab-control   (use tab-control-widget)"
        :info "*lsp-extensions*   (was never documented)"
        :info "hiword   (took the upper 16 bits of a 32-bit value)"
        :info "code-file"
        :info "event-handling-processes"
        :info "main-event-handler"
        :info "primary-window"
        :info "project-window"
        :info "main-project-window"
        :info "ide-project-window"
Integrated Development Environment   (the IDE: a set of graphical tools for developing lisp applications)
  Starting Up and Exiting the IDE   (or a standalone application)
    Starting Up the IDE
      :doc "Starting Up the IDE" "cgide.htm#startup-1"
      :doc "Starting Up the Base Lisp" "startup.htm"
      The startup.cl file   (to customize the IDE at startup)
        :info "If you create a startup.cl file in the main Allegro directory,"
        :info "it will be loaded once the IDE has finished starting up."
        :info "The clinit.cl file is loaded after startup up the base lisp."
      ide:*ide-startup-hook*
      ide:start-ide   "(starts up the IDE from a running base lisp)"
      ide:*starting-ide*   "(deprecated)"
      ide:*ide-is-running*
      ide:start-in-allegro-directory   "(affects the initial file dialog default directory)"
      The Command Line   (the command string that started the lisp or app)
        :info "Use the \"-project\" command line option to specify the path of a project to open initially."
        sys:command-line-arguments
        sys:command-line-argument
        command-line
        :doc "Setting Built-In Command-Line Arguments" "delivery.htm#resources-2"
      The Directory of the Running Executable   (IDE or app)
        :info "(translate-logical-pathname \"sys:\") returns the directory pathname"
        path   "(path (app *system*)) returns the path namestring of the executable file"
    Exiting the IDE
      ide:exit-tests
      ide:query-exit
      os-exit-request
      ide:query-os-exit
  The IDE Windows
    :doc "Menus and Dialogs in the IDE" "cgide.htm#menus-dialogs-1"
    The IDE Menu Bar
      :doc "The File Menu" "ide-menus-and-dialogs/file-menu.htm"
      :doc "The Edit Menu" "ide-menus-and-dialogs/edit-menu.htm"
      :doc "The Search Menu" "ide-menus-and-dialogs/search-menu.htm"
      :doc "The View Menu" "ide-menus-and-dialogs/view-menu.htm"
      :doc "The Windows Menu" "ide-menus-and-dialogs/windows-menu.htm"
      :doc "The Tools Menu" "ide-menus-and-dialogs/tools-menu.htm"
      :doc "The Run Menu" "ide-menus-and-dialogs/run-menu.htm"
      :doc "The Form Menu" "ide-menus-and-dialogs/form-menu.htm"
      :doc "The Recent Menu" "ide-menus-and-dialogs/recent-menu.htm"
      :doc "The Help Menu" "ide-menus-and-dialogs/help-menu.htm"
    Main IDE Windows
      The Debug Window   (A Lisp Listener with Debug Panes)
        :doc "The Debug Window" "ide-menus-and-dialogs/debug-window.htm"
        Configuration Options for the Debug Window
          ide:close-inactive-listeners
          ide:debug-font
          ide:initial-package
          ide:debug-history-limit
          ide:ide-prompt
        IDE Listener Functions
          ide:selected-listener-pane
          ide:with-output-to-ide-listener
          ide:format-debug
        :doc "Top-Level Listener Commands" "top-level.htm"
        The Backtrace Pane   (appears when selecting Debug from the Restarts Dialog)
          :info "Each line is a frame on the stack.  Click its blue arrow to open its arguments and local values."
          Using the Inspector with a Backtrace
            :info "To see arguments in the Inspector, double-click a frame line or use Tools | Inspect."
            :info "To see a single argument in the Inspector, double-click an argument line."
          Submitting a Bug Report
           :info "Use File | Save in a backtrace pane to save a bug report to a file."
           :doc "Submitting a Bug Report from a Break in the IDE" "cgide.htm#bug-reports-1"
           :doc "Reporting Bugs and Asking Questions" "cg/ide-ug/ide_user_guide_1.htm#sec-1-6"
          Controlling the Print Size of Values in the Backtrace
            ide:backtrace-print-level
            ide:backtrace-print-length 
            ide:backtrace-print-circle
        :doc "Debugging with Top-Level Listener Commands" "debugging.htm"
      The Source Code Editor
        :doc "The IDE Editor" "ide-menus-and-dialogs/editor-workbook.htm"
        Editor Keystrokes
          :doc "The Shortcut Keys Dialog" "ide-menus-and-dialogs/shortcut-keys-dialog.htm"
          :cod "Show the Shortcut Keys Dialog   (Help | Shortcut Keys)" (ide:comtab-report :stream nil)
          ide:*text-edit-comtab*
        Controlling How Individual Operators Will Indent
          text-edit-indentation
        Configuraton Properties for the Editor
          ide:editor-mode
          ide:editor-font
          Controlling Indentation
            conserve-indentation   "(global configuration property)"
            ide:comment-indent   "(to where inline comments will indent)"
          Parenthesis Matching
            parenthesis-matching-color
            parenthesis-matching-style
          Default Directories
            ide:start-in-allegro-directory
            ide:context-sensitive-default-path
          ide:highlight-selected-editor-tab
          ide:incremental-search
          ide:find-again-after-replace
          ide:editor-string-search-lines-of-padding
          ide:handle-multiple-packages-in-buffer
          ide:pretty-printer
          ide:warn-on-no-action-taken   "(turn off to disable string-not-found dialogs)"
          external-format-for-saved-files   "(configuration option)"
          load-utf8-if-no-bom   "(configuration option)"
          write-bom-to-utf8-files   "(configuration option)"
          ide.base:ide-auto-font-changing   "(configuration option)"
          ide.base:ide-dual-fonts-for-languages   "(configuration option)"
        Using GNU Emacs Instead of the IDE Editor
          :doc "Editor Options" "cg/ide-ug/ide_user_guide_1.htm#sec-1-3"
          :doc "The Emacs-Lisp Interface" "eli.htm"
          ide:open-files-in-gnu-emacs
      The Inspector
        :doc "The IDE Inspector" "ide-menus-and-dialogs/inspect-dialog.htm"
        Configuration Options for the IDE Inspector
          ide:inspector-name-font
          ide:inspector-value-font
          ide:inspector-style
        :doc "Inspecting with Top-Level Listener Commands" "inspector.htm"
        ide:ide-inspect
        ide:ide-inspect-standalone
      The IDE's Main Owner or Parent Window
        ide:main-ide-window
        ide:ide-owner-window
        ide:ide-parent-window
        ide:ide-child-window
        ide:top-ide-window
        ide:use-ide-parent-window
        ide:maximize-ide
        ide:ide-page-size
        development-main-window   "(deprecated; use main-ide-window)"
      The Console Window   (a non-CG window outside the IDE)
        :info "View | Console   (menu command)"
        console-control   "(A base lisp function)"
        ide:display-console    "(IDE configuration option)"
        excl:*initial-terminal-io*   "(bound to the Console window in a development lisp)"
        show-console
        hide-console
        console-is-visible
        console-title
        console-tray-icon
        console-tray-tooltip
        console-handle
        *show-console-on-standalone-error*
    IDE Tool Dialogs
      Searching for Things
        Finding Source Code Definitions
          :doc "The Find Definitions Dialog   (finds source code)" "ide-menus-and-dialogs/definitions-dialog.htm"
          :info "Search | Find Definition   (menu command)"
          :info "Search | Quick Find Definition   (menu command)"
          ide:defdefiner
          :doc "Source File Recording" "source-file-recording.htm"
          ide:load-cg-source-file-info
        Finding Strings in Files
          :doc "The Find In Files Dialog   (finds strings in files)" "ide-menus-and-dialogs/find-in-files-dialog.htm" 
          ide:initial-search-directories   "(configuration option)"
          ide:initial-search-filters   "(configuration option)"
          ide:find-in-files-show-html-files-in-browser   "(configuration option)"
          ide:find-in-files-file-list-portion   "(configuration option)"
        Finding Strings in Text Windows and Controls
          :doc "The Find Dialog" "ide-menus-and-dialogs/find-dialog.htm"
          :doc "The Replace Dialog" "ide-menus-and-dialogs/replace-dialog.htm" 
        :doc "The Apropos Dialog   (finds symbols)" "ide-menus-and-dialogs/apropos-dialog.htm" 
      Trace Dialog
        :doc "The Trace Dialog" "ide-menus-and-dialogs/trace-dialog.htm"
        ide:trace-format
        ide:process-trace-color
        ide:with-trace-color
        inhibit-trace-for-object
        ide:scroll-while-tracing   "(configuration option)"
        ide:use-trace-dialog-in-this-process
        :nav "Navigator Trace Example" :trace-example
      Runtime Analyzer Dialogs
        :doc "The Runtime Analyzer Control Dialog" "ide-menus-and-dialogs/runtime-analyzer-control-dialog.htm"
        :doc "The Runtime Analyzer Results Dialog" "ide-menus-and-dialogs/runtime-analyzer-results-dialog.htm"
        :nav "Navigator Runtime Analyzer Example" :profile-example
        :doc "Runtime Analyzer Functions" "runtime-analyzer.htm"
        ide:profiler-included-node-types
      :doc "Class Browser" "ide-menus-and-dialogs/class-browser-dialog.htm"
      :doc "Project Manager dialog" "ide-menus-and-dialogs/project-manager-dialog.htm"
      :doc "Options Dialog" "ide-menus-and-dialogs/options-dialog.htm"
      :doc "Shortcut Keys" "ide-menus-and-dialogs/shortcut-keys-dialog.htm"
      :doc "Menu Editor" "ide-menus-and-dialogs/menu-editor-dialog.htm"
      :doc "Window List" "ide-menus-and-dialogs/window-list-dialog.htm"
      :doc "Package List" "ide-menus-and-dialogs/package-list-dialog.htm"
      :doc "Navigator" "ide-menus-and-dialogs/navigator-dialog.htm"
      :doc "Processes Table" "ide-menus-and-dialogs/process-dialog.htm"
      :doc "Clipboard Dialog" "ide-menus-and-dialogs/clipboard-dialog.htm"
    ide:find-ide-window
    ide:move-ide-windows-on-screen-resize
  Managing an Application
    Using Projects
      :doc "Introduction to Projects" "cg/ide-ug/ide_user_guide_4.htm"
      :doc "The Project Manager dialog" "ide-menus-and-dialogs/project-manager-dialog.htm"
      Project Properties
        Event Handlers of a Project
          ide:on-initialization
          Typically Not Used
            ide:on-restart
            do-default-restart
            do-default-debugable-restart
        Parts of a Project
          Classes
            project
            module
            module-p
            build-module
            form-module
            library-module
            project-module
          Finding the Parts of a Project
            ide:current-project
            ide:find-project
            ide:main-module
            ide:main-form
            modules
            projects
            libraries
            ide:distributed-files
            ide:editable-files
            ide:internally-loaded-files
            file
            files
            ide:all-projects
            ide:all-files
            ide:runtime-modules
            ide:all-runtime-modules
            ide:form-file
        Options for Generating a Standalone Deliverable Application
          Application Icons and Splash Pixmaps
            ide:icon-file
            ide:splash-file
            kill-splash-screen-when-ready
          Default Error Handling in a Standalonen Aplication
            default-error-handler-for-delivery
            report-unexpected-error-and-exit
            *show-console-on-standalone-error*
          ide:build-flags
          build-number
          ide:include-flags
          ide:project-file-version-info
          run-with-console
          ide:additional-build-lisp-image-arguments
          ide:default-command-line-arguments
          ide:runtime-build-option   "(currently only :standard is allowed, for a standard .EXE)"
          ide:full-recompile-for-runtime-conditionalizations
          ide:include-manifest-file-for-visual-styles
          ide:autoload-warning
          ide:find-required-modules
        Garbage Collection in the Standalone Application
          ide:old-space-size
          ide:new-space-size
        Miscellaneous Project Properties
          ide:project-file
          ide:project-package
          ide:project-package-name
          ide:form-package-name
          ide:compilation-unit
          ide:concatenate-project-fasls
          ide:before-functions
          ide:after-functions
          modified
          loaded
          verbose
      Project Functions
        ide:open-project
        ide:open-project-action
        ide:load-project
        ide:build-project
        define-project
        ide:compile-project
        ide:full-compile-project
        ide:close-current-project
      How a Standalone Application Starts Up
        The On-Initialization Function
          ide:on-initialization   "(project property)"
          default-init-function
        main-window-maker
        kill-splash-screen
        kill-splash-screen-when-ready
        command-line   "(the command string that started up the application)"
      The "App" Application Object   (for information on the exectuable that's running)
        app   "(class with a single built-in instance)"
        Properties of the App Object
          command-line   "(the command string that started the current lisp)"
          path   "(the path namestring of the executable file)"
          standalone-application   "(true if a generated app is running rather than the IDE)"
      Project-Related IDE Configuration Options
        ide:project-parent-directory
        ide:new-project-show-editor
        ide:new-project-show-form
        ide:new-project-show-project-manager
        ide:run-project-action
        ide:open-project-action
        ide:open-project-show-project-manager
        ide:open-project-show-files-in-editor
        ide:close-project-close-editor-buffers
        ide:distribution-directories
    Building Dialogs and other Windows Interactively as Forms
      :doc "A Simple Forms Example" "cg/ide-ug/ide_user_guide_3.htm"
      :doc "Adding Components to Forms" "cg/ide-ug/ide_user_guide_5.htm"
      :doc "Designing a User Interface" "cg/ide-ug/ide_user_guide_6.htm"
      :cod "Run the \"Doodler\" Interface Builder Tutorial" (ide.base:start-tutorial-command nil)
      :doc "The Run Project and Run Form commands" "ide-menus-and-dialogs/run-menu.htm"
      Special Properties for Forms
        device   "(specifies the class to instantiate when running the form)"
      Programmatically Running a Dialog that Has Been Built Interactively as a Form
        ide:finder-function
        ide:maker-function
        ide:running-window
        ide:running-form
        ide:main-form
      Configuration Options for Forms
        Background Placement Grid of a Form Window
          ide:display-form-grid
          ide:snap-to-grid
          ide:grid-x-spacing
          ide:grid-y-spacing
        Automatic Alignment of Controls on a Form
          ide:snap-to-grid
          ide:snap-to-components
        Overlapping and Spacing of Controls on a Form
          ide:allow-component-overlap
          ide:min-pixels-between-widgets
        Generating Recreation Source Code
          pprint-plist-definers
          pprint-plist-pairs-on-separate-lines
          ide:code-file-pretty-print-columns
        ide:show-widget-palette-when-click-form
        ide:sample-initargs
      Default Menu-Bar Commands
        :info "These are on the initial menu-bar supplied by the Menu Editor Dialog."
        Default File Menu
          new-text-editor
          open-text-file
          save-text-file
          save-as-text-file
        Default Edit Menu
          undo-command
          copy-command
          cut-command
          paste-command
          delete-command
      Not Useful
        *loaded-but-uncreated-windows*   "(deprecated but still exported for importing 3.0.2-generated dialog code)"
    Creating a Standalone Executable
      Interactively, Using the Current Project
        :info "File | Build Project EXE   (menu command)"
        :info "File | Build Project Distribution   (menu command)"
      Programmatically, Independent of Projects
        :doc "Delivering Applications" "delivery.htm"
        :doc "Runtime Licensing Options" "runtime.htm"
        generate-application
        :doc "Adding an Application Icon to a Standalone App" "delivery.htm#resources-2"
        :doc "Setting Built-In Command-Line Arguments" "delivery.htm#resources-2"
        ide:find-required-modules
  Customizing the IDE
    Configuration Options   (user preferences stored in prefs.cl)
      Modifying Configuration Options Interactively
        :doc "The Options Dialog" "ide-menus-and-dialogs/options-dialog.htm"
        :doc "The Configuration" "cg/ide-ug/ide_user_guide_1.htm#sec-1-5"
        :cod "Show the Options Dialog   (Tools | Options)" (ide.base::show-options-dialog)
        :cod "Inspect All IDE Configuration Options   (Tools | Inspect System Data | Configuration Options)" (inspect (configuration ide:*ide-system*))
      Modifying Configuration Options Programmatically
        :info "Example:  Turn on scroll-while-tracing with (setf (scroll-while-tracing (configuration ide:*ide-system*)) t)"
        configuration   "(class and *ide-system* accessor)"
        ide:ide-configuration
        ide:*ide-system*
        ide:options-path
      All IDE Options   (includes some options not found on the Options Dialog)
        IDE Windows
          Which IDE Windows to Show at Startup
            ide:ask-for-action-at-ide-startup
            ide:move-ide-windows-on-screen-resize
            ide:shift-windows-onto-screen-at-startup
            ide:display-status-bar
            ide:display-toolbars
            ide:display-extended-toolbar
            ide:new-project-show-editor
            ide:new-project-create-form
            ide:new-project-show-project-manager
            ide:patch-reminder-interval
            ide:patch-reminder-previous-time
            ide:display-console
            ide:use-ide-parent-window
            ide:use-ide-background-window
            ide:maximize-ide-background-window
            ide:ide-exterior
          The Debug Window
            ide:close-inactive-listeners
            ide:debug-font
            ide:debug-history-limit
            ide:ide-prompt
          The Source Code Editor
            ide:editor-font
            ide:editor-mode
            ide:editor-string-search-lines-of-padding
            ide:find-again-after-replace
            ide:editor-string-search-lines-of-padding
            ide:handle-multiple-packages-in-buffer
            ide:comment-indent
            ide:start-in-allegro-directory
            ide:context-sensitive-default-path
            ide:incremental-search
            ide:warn-on-no-action-taken   "(turn off to disable string-not-found dialogs)"
            ide:open-files-in-gnu-emacs
          The Inspector
            ide:inspector-name-font
            ide:inspector-style
            ide:inspector-value-font
          The "Recent" Menu
            ide:recent
            ide:recent-limit
          The Class Grapher
            ide:class-graph-font
            ide:class-graph-initial-depth
            ide:use-color-gradients-in-tree-graphs
            ide:use-antialiased-text-in-tree-graphs
          Tracing
            ide:scroll-while-tracing
          The Runtime Analyzer
            ide:profiler-included-node-types
        Fonts
          ide:editor-font
          ide:debug-font
          ide:class-graph-font
          ide:inspector-name-font
          ide:inspector-value-font
          ide:printer-font
        Prompting the User
          ide:warn-on-no-action-taken
          ide:show-dialog-on-compiler-warnings
          ide:ask-before-auto-saving
          ide:ask-before-assuming-package
          ide:query-exit
          ide:query-os-exit
          ide:directory-dialog-avoids-network
          ide:ask-for-action-at-ide-startup
          ide:patch-reminder-interval
          ide:patch-reminder-previous-time
          ide:directory-dialog-searches-network-globally
        Projects
          ide:project-parent-directory
          ide:new-project-show-editor
          ide:new-project-show-form
          ide:new-project-show-project-manager
          ide:run-project-action
          ide:open-project-action
          ide:open-project-show-project-manager
          ide:open-project-show-files-in-editor
          ide:close-project-close-editor-buffers
          ide:distribution-directories
        Building Forms
          Background Placement Grid of Form Windows
            ide:display-form-grid
            ide:snap-to-grid
            ide:grid-x-spacing
            ide:grid-y-spacing
          Automatic Alignment of Controls on a Form
            ide:snap-to-grid
            ide:snap-to-components
          Overlapping and Spacing of Controls on a Form
            ide:allow-component-overlap
            ide:min-pixels-between-widgets
          Generating Recreation Source Code
            pprint-plist-definers
            pprint-plist-pairs-on-separate-lines
            ide:code-file-pretty-print-columns
          ide:sample-initargs
        Symbol Completion
          ide:maximum-symbol-completion-choices
          ide:symbol-completion-searches-all-packages
        Other IDE Preferences
          ide.base:ide-priority
          ide:initial-search-directories   "(for the Find in Files dialog)"
          ide:initial-search-filters   "(for the Find in Files dialog)"
          ide:find-in-files-show-html-files-in-browser   "(for the Find in Files dialog)"
          ide:find-in-files-file-list-portion
          ide:standard-toolbar-icons
          ide:window-configurations   "(read-only)"
          ide:use-private-html-browser
          ide:use-cg-html-browser
          invoke-web-browsers-with-keystrokes
          ide:ide-html-history
          ide:default-http-proxy
        Lisp Printer Variables
          In a Backtrace Pane
            ide:backtrace-print-circle
            ide:backtrace-print-level
            ide:backtrace-print-length
          In the IDE Status Bar
            ide:lisp-message-print-length
            ide:lisp-message-print-level
      Saving All Configuration Options to the PREFS.CL File
        ide:options-path
        ide:save-options-on-exit   "(configuration option)"
        ide:save-options-to-user-specific-file   "(configuration option)"
        ide:keep-configuration   "(returns whether a particular window's location is saved)"
        :info "Tools | Save Options Now   (menu command)"
        :info "Tools | Save Options On Exit   (menu command)"
    Quick IDE Alternatives
      Switching Between IDE Windows Quickly
        Switching Between Top-Level Windows
          :info "Use the shortcuts for View | Manage | Show Second / Third / Fourth"
          :info "For example, control-alt-K cycles between three windows."
        Switching Between Child Panes and Tab-Control Tabs
          :info "The following keystrokes apply to some but not all paned or tabbed IDE windows."
          :info "They do apply to editor tabs and to listener & backtrace panes."
          :info "Control-shift-J cycles between two panes or tabs."
          :info "Control-shift-K cycles between three panes or tabs."
          :info "Control-shift-L toggles the focus between a listener pane and its backtrace pane."
          :info "Control-shift-< selects the tab to the left."
          :info "Control-shift-> selects the tab to the right."
      Finding Source Code Quickly
        :info "Tools | Quick Find Definition   (menu command)"
        Event-Handler Source Code for Controls
          Controls on Forms
            :info "Select an existing event-handler on the control's right-button shortcut menu."
          Controls Not on Forms
            :info "Control-Alt-Right Click any control to edit its on-change function."
      Suppressing Certain Modal Dialogs
        Warning that a Requested Action Cannot Be Done
          ide:warn-on-no-action-taken   "(turn off this configuration option)"
          :info "Also found on the Workspace tab of the Options dialog."
        Asking Whether to Save Files
          ide:ask-before-auto-saving   "(turn off this configuration option)"
          :info "Also found on the Project tab of the Options dialog."
      Keyboard Shortcuts
        :doc "The Shortcut Keys Dialog" "ide-menus-and-dialogs/shortcut-keys-dialog.htm"
        :cod "Show the Shortcut Keys Dialog   (Help | Shortcut Keys)" (ide:comtab-report :stream nil)
        set-event-function   "(add your own shortcuts to *text-edit-comtab*)"
        add-global-keyboard-accelerator   "(add your own global shortcuts)"
        ide:comtab-report
        ide:*text-edit-comtab*
      Adding a Lisp Source Code File to the Current Project
        :info "If you are editing the source code file in the IDE editor,"
        :info "then simply right-click the editor pane and select Add File to Project."
      Creating Fewer Windows when the IDE Starts Up
        :info "Uncheck \"Show Editor\" and \"Show Form & Inspector\" on the Project tab"
        :info "of the Tools | Options dialog, and no editor, form, or inspector will be"
        :info "created when the IDE starts up with a new project."
        ide:new-project-show-editor
        ide:new-project-show-form
        ide:new-project-show-project-manager
      Specifying a Different Search Directory in the Find In Files Dialog
        :info "Typing Alt-O moves the focus to the Search Directory combo-box."
        :info "There you can type a new path or use the up and down arrows to re-use a path."
        :info "And backspacing can be done, as usual, with control-H."
    Using Properties   (also available in a standalone application)
      property   "(class)"
      Defining Properties
        define-property
        defproperties
        defcomponent
      Accessing Properties
        properties
        event-handlers
        non-event-properties
        find-property
      Property Attributes
        Given an Object and a Property Name
          property-value   "(formerly called \"property\")"
          property-reader
          property-writer
          property-choices
          property-default-value
          property-default-value-p
          property-editor-type
          property-help-string
          property-read-only
          property-hidden
          property-remake
          ide:property-starter-code
          property-type
        Given a Property Object
          initarg
          remake
          editor-mode
          read-only
          help-string
    Displaying Messages in the IDE Status-Bar
      ide:lisp-message
      ide:lisp-warning
      ide:*lisp-message-window*
      ide:lisp-message-print-level
      ide:lisp-message-print-length
    Using Subclassed or Custom Controls on Forms
      Adding Control Classes to the IDE Toolbar
        ide:add-to-component-toolbar
        ide:remove-from-component-toolbar
      Relationships between Controls on Forms 
        followers
        ide:fanatical-followers
        partners
        ide:partner-types
        ide:subobjects-with-partners
      recreation-code
    Other IDE Customization
      ide:display-help
      selected-object   "(could be specialized for an application's window classes)"
Connectivity   (facilities for communicating with other applications)
  The Foreign Function Interface   (for calling into shared libraries (DLLs in MS-Windows))
    :doc "Foreign Functions" "foreign-functions.htm"
    :doc "Foreign Types" "ftype.htm"
    Automatically translating C header files to Lisp
      :doc "Introduction to CBind and CPLBind" "cbind-intro.htm"
      :doc "CBind" "cbind.htm"
      :doc "CPLBind   (for C++)" "cplbind.htm"
  Network Communication
    Sockets
      :doc "The Allegro CL Socket Library" "socket.htm"
      :doc "The Domain Naming System (DNS)" "dns.htm"
      :doc "Universal Resource Indicator (URI) suppport" "uri.htm"
      :exm "Telnet Server Example" "examples/tserver.cl"
    AllegroServe   (adds web server functionality to any lisp application)
      :doc "AllegroServe Overview" "aserve/aserve.html"
      :doc "AllegroServe Tutorial" "aserve/tutorial.html"
      AllegroServe Example Code
        :exm "tutorial.cl" "examples/aserve/tutorial.cl"
        :exm "examples.cl" "examples/aserve/examples.cl"
        :exm "puzzle.cl" "examples/aserve/puzzle.cl"
        :exm "chat.cl" "examples/aserve/chat.cl"
        :exm "urian.cl   (a web page non-ascii character analyzer)" "examples/aserve/urian.cl"
      Webactions
        :doc "Using Allegro Webactions" "using-webactions.html"
        :doc "Webactions Reference" "webactions.html"
    Other HTML/XML Tools
      :doc "SOAP support   (an XML-based protocol for remote procedure calls)" "soap.htm"
      :doc "HTML Generator" "aserve/htmlgen.html"
      :doc "HTML Parser   (turns HTML text into a lisp tree)" "phtml.htm"
      :doc "XML Parser   (turns XML into a lisp tree)" "pxml.htm"
      :doc "Sax XML Parser" "sax.htm"
      :doc "Document Object Model (DOM) Support" "dom.htm"
    :doc "File Transfer Protocol (FTP)" "ftp.htm"
    :doc "imap and pop  (for email servers)" "imap.htm"
  Java Tools
    :doc "JLinker   (dynamic access to Java objects and methods from Lisp)" "jlinker.htm"
    :doc "Jil   (lets you write code with Lisp syntax that runs on a Java Virtual Machine)" "jil.htm"
  Database Tools
    AllegroCache   (a distributed object-oriented database facility)
      :htm "AllegroCache Tutorial" "acache/doc/acachetutorial.pdf"
      :htm "AllegroCache Reference" "acache/doc/acache.pdf"
    :doc "AODBC  (connecting to databases via ODBC)" "aodbc.htm"
    :doc "MySQL Direct Connect Library" "mysql.htm"
    :doc "Allegro Oracle Direct Connect   (an Oracle Interface)" "oracle-interface.htm"
  Other Connectivity Tools
    :doc "Remote Procedure Call (RPC)   (one lisp communicating with another)" "rpc.htm"
    :doc "XML-RPC in Allegro CL" "xml-rpc.htm"
    :htm "Orblink   (the Corba orb for ACL)" "orblink/doc/index.htm"
    :doc "Creating Shared Libraries on Windows (DLL's) in Lisp" "dll.htm"
    :doc "Creating Shared Libraries on Unix" "unix-shared-library.htm"
  Microsoft-Specific Connectivity
    OLE / COM   (Windows-specific connectivity)
      :doc "OLE / COM Overview" "ole.htm"
      :doc "OLE Reference" "ole_reference.htm"
      Sample01:  A simple automation client
        :exm "readme.txt" "ole/samples/sample01/readme.txt"
        :exm "calendar.cl" "ole/samples/sample01/calendar.cl"
      Sample02:  A slightly more complex automation client
        :exm "readme.txt" "ole/samples/sample02/readme.txt"
        :exm "iexplorer.cl" "ole/samples/sample02/iexplorer.cl"
      Sample03:  An automation server and its client
        :exm "readme.txt" "ole/samples/sample03/readme.txt"
        :exm "client.cl" "ole/samples/sample03/client.cl"
        :exm "server.cl" "ole/samples/sample03/server.cl"
      Sample04:  A self-registering automation server and a Visual Basic client
        :exm "readme.txt" "ole/samples/sample04/readme.txt"
        :exm "server.cl" "ole/samples/sample04/server.cl"
        :exm "client.frm" "ole/samples/sample04/client.frm"
        :exm "deliver.cl" "ole/samples/sample04/deliver.cl"
      Sample05:  An inproc lisp automation server being used by a Visual C++ client
        :exm "readme.txt" "ole/samples/sample05/readme.txt"
        :exm "server.cl" "ole/samples/sample05/server.cl"
        :exm "unreg.cl" "ole/samples/sample05/unreg.cl"
        :exm "deliver.cl" "ole/samples/sample05/deliver.cl"
        :exm "main.h" "ole/samples/sample05/main.h"
        :exm "resource.h" "ole/samples/sample05/resource.h"
        :exm "winmain.cpp" "ole/samples/sample05/winmain.cpp"
        :exm "mainwind.cpp" "ole/samples/sample05/mainwind.cpp"
        :exm "vcaclclient.rc" "ole/samples/sample05/vcaclclient.rc"
      Sample06:  An inproc lisp automation server being used by a Visual Basic client
        :exm "readme.txt" "ole/samples/sample06/readme.txt"
        :exm "server.cl" "ole/samples/sample06/server.cl"
        :exm "deliver.cl" "ole/samples/sample06/deliver.cl"
        :exm "client.frm" "ole/samples/sample06/client.frm"
        :exm "dllreg.cpp" "ole/samples/sample06/dllreg.cpp"
        :exm "dllreg.mak" "ole/samples/sample06/dllreg.mak"
      Sample08:  A CLOS interface to Excel
        :exm "readme.txt" "ole/samples/sample08/readme.txt"
        :exm "client.cl" "ole/samples/sample08/client.cl"
        :exm "excel.cl" "ole/samples/sample08/excel.cl"
    Dynamic Data Exchange (DDE)   (a simple Windows-specific technique for passing data)
      :doc "About DDE Support" "dde.htm"
      :cgx "DDE Examples" "dde-examples.cl"
      Acting as a DDE Client
        Setting Up Ports and Shutting Down
          client-port   "(instantiable class)"
          Port Accessors
            port-name
            port-application
            port-topic
          open-port
          port-open-p
          close-port
          close-dde
        Interaction with Server Applications
          send-request
          send-command
          send-value
          receive-advice
          Converting Values Returned by a DDE Server
            convert-returned-dde-string
            convert-returned-dde-buffer
            string-from-dde-buffer
            dword-list-from-dde-buffer
      Acting as a DDE Server
        Setting Up the Server and Shutting Down
          open-server
          close-server
          close-dde
        Interaction with Client Applications
          answer-request
          execute-command
          receive-value
          post-advice
      DDE Warnings and Other Messages
        dde-message
        *generate-dde-messages*
      DDE Global Variables & the dde-info object
        *case-sensitive-dde*
        dde-info   "(contains information about one process' DDE state)
        case-sensitive-dde (dde-info accessor)
        Client-Specific
          active-client-ports (dde-info accessor)
        Server-Specific
          *service-name*
          service-name (dde-info accessor)
          *service-topics*
          service-topics (dde-info accessor)
          *sysitems*
          sysitems (dde-info accessor)
          server-active-p (dde-info accessor)
          active-server-ports (dde-info accessor)
      Freeing DDE Strings when Many Item Names are Used
        free-item
The Base Lisp   (the language and non-graphical environment, which are usable without the IDE and CG)
  The Common Lisp Language
    :htm "The ANSI Common Lisp Specification" "ansicl/ansicl.htm"
    :doc "Basic Lisp Techniques   (a tutorial by David J. Cooper, Jr., in PDF format)" "basic-lisp-techniques.pdf"
    :doc "The Meta-Object Protocol (MOP)" "mop/contents.html"
  Allegro's Particular Implementation of Common Lisp
    :doc "Implementation-Dependent Aspects of Common Lisp" "implementation.htm"
    :doc "Packages" "packages.htm"
    :doc "Pathnames" "pathnames.htm"
    Streams
      :doc "Simple Streams" "streams.htm"
      :doc "Gray Streams" "gray-streams.htm"
    :doc "Garbage Collection   (automatic memory management)" "gc.htm"
    :doc "Environments" "environments.htm"
  Language Extensions   (general language features that are not part of standard Common Lisp)
    Operating System Interface
      :doc "Operating System Interface Overview" "os-interface.htm"
      Starting Up Other Applications from Lisp
        excl:run-shell-command
        windows-command-for-document-type
      The File System
        Files
          sys:copy-file
          file-length   "(can now take a pathname or namestring OR (as usual) a stream)"
          File Attribute Flags   (currently implemented for the Windows OS only)
            excl:file-directory-p
            excl:file-attributes
            excl:file-read-only-p
            excl:file-hidden-p
            excl:file-system-p
            excl:file-normal-p
            excl:file-temporary-p
        Directories
          excl:make-directory
          excl:copy-directory
          excl:delete-directory
          excl:delete-directory-and-files
          excl:directory-size
          The Directory of the Running Executable
            :info "(translate-logical-pathname \"sys:\") returns the directory pathname"
            sys:command-line-argument
          Current or Default Directories and Pathnames
            excl:current-directory   "(returns the current OS directory)"
            excl:chdir   "(sets the current OS directory)"
            *default-pathname-defaults*   "(the default pathname for merge-pathname etc.)"
            context-sensitive-default-path   "(how the file selection dialog initializes its directory)"
        Temporary Directories and Files
          system:temporary-directory
          system:make-temp-file-name
      The Command Line   (the command string that started up lisp)
        sys:command-line-arguments
        sys:command-line-argument
        sys:command-line-argument-count
      Environment Variables
        sys:getenv
      :doc "Operating System Constants" "osi-constants.htm"
    :doc "International (Wide) Character Support" "iacl.htm"
    :doc "Multiprocessing" "multiprocessing.htm"
    :doc "String Case Sensitivity" "case.htm"
    :doc "Fwrappers and Advice   (techniques for wrapping non-generic function calls)" "fwrappers-and-advice.htm"
    :doc "Regular Expressions   (for pattern matching)" "regexp.htm"
    :doc "Shell Module   (Unix-like shell commands within Lisp)" "shell-module.htm"
    :doc "Encryption Support" "miscellaneous.htm#encrypt-1"
    :doc "ISO 8601 Date and Time Support" "date-time.htm"
    :doc "NDBM Support   (not available on Windows)" "ndbm.htm"
    :doc "Allegro Prolog" "prolog.html"
    :doc "Defsystem   (for managing the files of an application)" "defsystem.htm"
    :doc "Flavors   (a pre-CLOS object system)" "flavors.htm"
    :doc "Miscellaneous Extensions" "miscellaneous.htm"
  The Base Lisp Programming Environment
    :doc "Starting Up the Base Lisp" "startup.htm"
    :doc "Top-Level Listener Commands   (also available in the IDE's Debug Window)" "top-level.htm"
    Compiling and Loading
      :doc "Overview of Compiling" "compiling.htm"
      Suppressing Certain Compiler Warnings
        Compiling a Definition in a Locked Package
          :doc "*enable-package-locked-errors*" "variables/excl/s_enable-package-locked-errors_s.htm"
          :doc "without-package-locks" "operators/excl/without-package-locks.htm"
        Compiling a Definition in a Different Place
          :doc "*redefinition-warnings*" "variables/excl/s_redefinition-warnings_s.htm"
          without-redefinition-warnings
      :doc "Source File Recording" "source-file-recording.htm"
      :doc "Loading Files" "loading.htm"
      :doc "Compiler Explanations" "compiler-explanations.htm"
    Debugging Tools in the Base Lisp
      :doc "Debugging" "debugging.htm"
      :doc "The Debugger API" "debugger-api.htm"
      :doc "Inspecting   (browsing the internal components of data objects)" "inspector.htm"
      :doc "Runtime Analysis   (to find where most runtime is spent)" "runtime-analyzer.htm"
      :doc "Cross-Referencing" "cross-reference.htm"
      :doc "The Test Harness" "test-harness.htm"
    The Emacs-Lisp Interface (ELI)
      :doc "ELI Documentation" "eli.htm"
      :exm "Sample Emacs Lisp code for starting up Allegro" "eli/examples/emacs.el"
    :doc "Common Errors" "errors.htm"
  Building Custom Development Images
    Saving the Currently Running Environment   
      :doc "Dumplisp Overview" "dumplisp.htm"
      dumplisp
    Creating an Image with Customized Options
      :doc "Building Images" "building-images.htm"
      build-lisp-image
  Delivering a Standalone Application
    :doc "Delivering Applications" "delivery.htm"
    :doc "Runtime Licensing Options" "runtime.htm"
    generate-application
Other Graphical User Interface API's
  GTK Interface
    :exm "readme.txt" "gtk/readme.txt"
    :exm "gtk20.cl   (A LARGE single source code file)" "gtk/gtk20.cl"
    :exm "loadgtk20.cl" "gtk/loadgtk20.cl"
  CLIM   (an alternate, cross-platform, higher-level API for developing graphical user interfaces)
    :doc "CLIM User Guide   (Manual in PDF format)" "clim-ug.pdf"
Other Help Resources
  :doc "Release Notes" "release-notes.htm"
  :doc "Frequently Asked Questions (FAQ)" "faq/index.htm"
  :doc "Installing Allegro CL" "installation.htm"
  :doc "A Guide to Allegro Code Examples" "examples.htm"
  :doc "Glossary" "glossary.htm"
  :doc "Index to Exported Symbols   (excluding ANSI CL symbols)" "index.htm"
  :doc "Permuted Index   (look up a symbol by any \"word\" in the name)" "permuted-index.htm"
  :cod "Connect to the Franz Inc. Web Site" (invoke-html-browser "http://www.franz.com")
  Downloading Patches
    :doc "The Download Patches Dialog" "ide-menus-and-dialogs/download-dialog.htm"
    :doc "The Patch Reminder Dialog" "ide-menus-and-dialogs/check-for-new-patches-dialog.htm"
    ide:patch-reminder-interval
    ide:patch-reminder-previous-time
    sys:update-allegro
    ide:default-http-proxy
Using this Help Outline
  :doc "The Tree of Knowledge" "ide-menus-and-dialogs/common-graphics-tree-of-knowledge.htm"
  Jumping to the Help Pages for Each Topic
    :info "Open the outline to a leaf item of interest."
    :info "Either double-click the leaf item or select it and press the spacebar (or F1 or Enter)."
  Searching the Entire Outline
    :info "Move the keyboard focus into this CG Tree dialog (anywhere in the outline)."
    :info "Invoke the Search | Find menu-item (or its shortcut) and enter a string to find."
    :info "The outline will open only as far as needed to reveal all matches."
    :info "The matches will have a cyan background, and the first will be selected."
    :info "Use Search | Find Again (or its shortcut) to move to successive matches."
  Types of Help Entries
    :info "  Every leaf node in this outline is of one of these types:"
    :info "Hollow Arrow Icon & Black Text --- An in-place comment that does nothing."
    :info "Sheet of Paper Icon & Dark Blue Text --- Shows a help page for a symbol."
    :info "Sheet of Paper Icon & Dark Green Text --- Shows a help page for a general topic."
    :info "Round Dot Icon & Dark Red Text --- Presents a source code example."
    :info "Round Dot Icon & Dark Cyan Text --- Performs some special action."
  Meanings of Special Phrases
    Classes
      :info "(instantiable class) --- create instances using make-instance."
      :info "(class; instantiate with FOO) --- create instances using a special function."
      :info "(mix-in class) --- combine with an instantiable class."
      :info "(class) --- instantiate only if this ability is mentioned elsewhere."
    Generic Functions
      :info "overridable generic function --- an application may add methods"
      :info "    that may override the default method."
      :info "extendable generic function --- an application may add methods"
      :info "    that do not override the default method."
      :info "    (Other generic functions are likely extendable as well.)"
    Properties
      :info "If FOO is said to be a property of THING, then:"
      :info "  The value can be retrieved with (foo thing)."
      :info "  The value can be replaced with (setf (foo thing) value)."
      :info "  The value may be initialized when THING is created."
      :info "      by passing a :foo initarg to the instantiation function."
      :info "(The latter two do not apply to read-only properties.)" 
    Menu Commands
      :info "File | Foo --- refers to the Foo command on the File pull-down menu of the IDE."
    "Deprecated"
      :info "A deprecated symbol is one that is no longer recommended for use."
      :info "Typically it has been replaced by some more standard equivalent."
      :info "The symbol may still be exported for backward compatibility,"
      :info "    but may be unexported at some point in the future."
  Opening a Whole Sub-Tree
    :info "As with any outline control, hold down the Control key and then"
    :info "    either left-click an outline-item icon or press the right-arrow key."
  Changing The Font for This Outline
    cg-tree-font   "(configuration option)"
    :cod "Change the Font of this Outline" (ide.base::ask-user-for-cg-tree-font)
