|Version 1 (modified by zzkt, 6 years ago) (diff)|
The basic framework object is a view. Views (windows, menus, controls) are represented by CLOS objects, and are created using make-instance.
An abstract superclass of all views (windows, menus, controls). All views support the following initargs:
:view-nick-name -- initializes the view nick-name, see set-view-nick-name
:view-subviews -- initializes the view subviews, see add-container
:view-size -- initializes the view size, see set-view-size
:view-width -- initializes the view width (overrides :view-size)
:view-height -- initializes the view height (overrides :view-size)
:view-tooltip -- initializes the view tooltip, see set-view-tooltip
:view-font -- initializes the view font, see set-view-font.
:view-enabled-p -- (default true), initializes the enabled/disabled state, see enable-view/disable-view
:view-ref --specifies an existing native window system object to base the view on.
:view-command-id -- initializes the view command id, see set-view-command-id.
(view-p object) [function]
True if object is a view.
(set-view-nick-name view name) [method]
Give the view a nick-name name, which can be any object.
(view-nick-name view) [method]
Returns the view's nick-name.
(view-named name view) [method]
Finds a subview of view whose nick-name is eql to name.
(view-subviews view &key type) [method]
Returns all subviews of view, i.e. all views whose view-container is view, optionally restricted to those of type type.
(add-subviews view &rest subviews) [method]
Make view be the container for each of the subviews.
(remove-subviews view &rest subviews) [method]
Remove each of the subviews from view.
(set-view-width view new-width) [method]
Sets the width of view to new-width, which must be a non-negative real.
(view-width view) [method]
Returns the width of view.
(set-view-height view new-height) [method]
Sets the size of view to new-height, which must be a non-negative real.
(view-height view) [method]
Returns the height of view.
(set-view-size view new-size) [method]
Sets the size of view to new-size, which is the height and width encoded as a point.
(view-size view) [method]
Returns the size (height and width) of view as a point.
(set-view-tooltip view tooltip) [method]
Sets the tooltip of view to tooltip, which must be a string or nil to remove the view's tooltip. The tooltip is shown when the mouse hovers over the view.
(view-tooltip view) [method]
Returns the tooltip of view.
(set-view-font view font-spec) [method]
Sets the font of view to font-%%spec%%, overriding the view's default font. Once you have set a view's font with this function, you can cause the view to revert to its default font by passing nil as the font-%%spec%%.
(view-font view) [method]
Returns the font of view.
(enable-view view) [method]
Makes view enabled, so it will respond to user input when active.
(disable-view view) [method]
Makes view disabled, so it will be drawn grayed out and will not respond to user input.
(view-enabled-p view) [method]
returns true if view is enabled.
(view-active-p view) [method]
True if view is active (able to accept user input).
(invalidate-view view &optional rect) [method]
Indicates that the contents of the view has become invalid (typically as a result of changes in the data displayed in the view). The system will arrange for the view to be redrawn. Optionally a rectangle may be specified to indicate that only the portion of the view bound by the rectangle needs to be redrawn.
(view-ref view) [method]
Returns the native window system object represented by view, to allow you to use the native window system directly.
TODO: need non-carbon version of next two:
(set-view-command-id view command-id) [method]
Sets the command id for the view. command-id may be an ostype or it may be a keyword defined by define-carbon-command-event, q.v.
(view-command-id view) [method]
Returns the command id of the view, if any, as an ostype, or nil if the view doesn't have a command id associated with it.
TODO: something for switching cursor based on what view it's in.
TODO: resizing protocol (window-size-parts in MCL).