Module: environment-framework Synopsis: Environment Framework Author: Chris Page 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 /// Make a keyboard gesture define function make-keyboard-gesture (keysym :: , #rest modifiers) => (gesture :: ) make(, keysym: keysym, modifiers: modifiers) end function make-keyboard-gesture; //---*** cpage: 1998.08.12 These are (hopefully) temporary hacks to // allow me to experiment with using Windows APIs better // without having to modify/build DUIM. Sideways methods // are defined on these in win32-environment define constant = one-of(#"bottom", #"top"); define constant = type-union(, ); define open generic reorder-frame (frame :: , where :: ) => (frame :: ); define open generic order-frames (frames :: ) => (); define open generic restore-frame (frame :: ) => (frame :: ); /// Command handling define open generic command-available? (frame :: , class :: subclass()) => (available? :: ); define method command-available? (frame :: , class :: subclass()) => (available? :: ) #t end method command-available?; define method update-command-availability (frame :: , class :: subclass()) => () //--- Surely we can do this more efficiently? do-frame-commands (method (gadget :: , command :: ) ignore(gadget); if (subtype?(command, class)) command-enabled?(command, frame) := command-available?(frame, command) end end, frame, test: rcurry(instance?, ), menu-bar?: #t, tool-bar?: #t, owned-menus?: #f) end method update-command-availability;