Module: duim-frames-internals Synopsis: DUIM frames Author: Scott McKay, Andy Armstrong Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc. All rights reserved. License: Functional Objects Library Public License Version 1.0 Dual-license: GNU Lesser General Public License Warranty: Distributed WITHOUT WARRANTY OF ANY KIND /// Frames define constant = one-of(#"detached", #"unmapped", #"mapped", #"destroyed"); define constant = one-of(#"modeless", #"modal", #"system-modal"); define protocol <> () getter frame-layout (frame :: ) => (layout :: false-or()); setter frame-layout-setter (layout :: false-or(), frame :: ) => (layout :: false-or()); function layout-frame (frame :: , #key width, height) => (); getter frame-owner (frame :: ) => (owner :: false-or()); getter frame-owned-frames (frame :: ) => (owned-frames :: ); getter frame-owned-menus (frame :: ) => (owned-menus :: ); getter frame-menu-bar (frame :: ) => (menu-bar :: false-or()); setter frame-menu-bar-setter (menu-bar :: false-or(), frame :: ) => (menu-bar :: false-or()); getter frame-tool-bar (frame :: ) => (tool-bar :: false-or()); setter frame-tool-bar-setter (tool-bar :: false-or(), frame :: ) => (tool-bar :: false-or()); getter frame-status-bar (frame :: ) => (status-bar :: false-or()); setter frame-status-bar-setter (status-bar :: false-or(), frame :: ) => (status-bar :: false-or()); getter frame-status-message (frame :: ) => (message :: false-or()); setter frame-status-message-setter (message :: false-or(), frame :: ) => (message :: false-or()); // getter frame-input-focus // defined in DUIM-sheets // (frame :: ) => (sheet :: false-or()); // setter frame-input-focus-setter // defined in DUIM-sheets // (sheet :: false-or(), frame :: ) // => (sheet :: false-or()); getter frame-command-table (frame :: ) => (command-table :: false-or()); setter frame-command-table-setter (command-table :: false-or(), frame :: ) => (command-table :: false-or()); function note-command-table-changed (framem :: , frame :: ) => (); function handle-id-activation (frame :: , id) => (handled? :: ); function frame-top-level-sheet-class (frame :: , #key, #all-keys) => (class :: ); function frame-wrapper (framem :: , frame :: , sheet :: false-or()) => (wrapper :: false-or()); getter frame-resource-id (frame :: ) => (resource-id); function start-frame (frame :: ) => (status-code :: false-or()); function port-start-frame (port :: , frame :: ) => (status-code :: false-or()); function make-event-queue (framem :: , frame :: ) => (event-queue :: false-or()); function frame-needs-event-queue? (framem :: , frame :: , #key mode) => (needs-event-queue? :: ); function frame-can-exit? (frame :: ) => (can-exit? :: ); function frame-top-level (frame :: ) => (#rest values); // Enabling and disabling a whole frame (for modal dialog parents) getter frame-enabled? (frame :: ) => (enabled? :: ); setter frame-enabled?-setter (enabled? :: , frame :: ) => (enabled? :: ); function note-frame-enabled (framem :: , frame :: ) => (); function note-frame-disabled (framem :: , frame :: ) => (); // Iconifying, etc function frame-iconified? (frame :: ) => (iconified? :: ); function frame-iconified?-setter (iconified? :: , frame :: ) => (iconified? :: ); function frame-maximized? (frame :: ) => (maximized? :: ); function frame-maximized?-setter (maximized? :: , frame :: ) => (maximized? :: ); function raise-frame (frame :: , #key activate?) => (); function lower-frame (frame :: ) => (); // For exit buttons, etc getter frame-default-button (frame :: ) => (button :: false-or(