Views
Basic Views
The basic framework object is a view. Views (windows, menus, controls) are represented by CLOS objects, and are created using make-instance.
view ()[class]
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).//
