Module: vanilla-duim Synopsis: Vanilla back-end 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 /// Vanilla gadgets define open abstract class (, ) end class ; define method do-compose-space (pane :: , #key width, height) => (space-requirement :: ) //--- Compute the space requirements of all of the backend gadgets end method do-compose-space; define method note-gadget-enabled (client, gadget :: ) => () //--- Enable the gadget mirror end method note-gadget-enabled; define method note-gadget-disabled (client, gadget :: ) => () //--- Enable the gadget mirror end method note-gadget-enabled; define method port-handles-repaint? (_port :: , sheet :: ) => (true? :: ) //--- Return #t if the port generates damage events for each //--- mirrored sheet, in effect, handling repaint itself (this is //--- the X model). Return #f if only one damage event comes in for //--- the top level sheet, meaning that repainting of child sheets //--- must be done manually (the Mac model). #t end method port-handles-repaint?; define method default-foreground-setter (fg :: , pane :: ) => (foreground :: ) next-method(); //--- Change the foreground of the gadget fg end method default-foreground-setter; define method default-background-setter (bg :: , pane :: ) => (background :: ) next-method(); //--- Change the background of the gadget bg end method default--background-setter; define sealed class (, , ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; define sealed class (, , , , ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; define open abstract class () end class ; define method do-compose-space (pane :: , #key width, height) => (space-req :: ) ignore(width, height); make(, width: 40, height: 15) end method do-compose-space; define method allocate-space (pane :: , width :: , height :: ) end method allocate-space; define sealed class (, , ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; define method handle-event (pane :: , event :: ) => () execute-activate-callback(pane, gadget-client(pane), gadget-id(pane)) end method handle-event; define sealed class (, , ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; define method handle-event (pane :: , event :: ) => () gadget-value(pane, do-callback?: #t) := ~gadget-value(pane) end method handle-event; define sealed class (, , ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; define method handle-event (pane :: , event :: ) => () gadget-value(pane, do-callback?: #t) := ~gadget-value(pane) end method handle-event; define sealed class (, , ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; define sealed class (, , ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; define sealed class (, , ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; define sealed class (, ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; define sealed class (, ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; define sealed class (, ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; //--- It might be the case that this does not need to be mirrored, //--- in which case this class and the 'class-for-make-pane' go away. define sealed class (, ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; //--- Same as define sealed class (, ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; //--- Same as define sealed class (, ) end class ; define method class-for-make-pane (framem :: , class == , #key) => (class :: , options :: false-or()) values(, #f) end method class-for-make-pane; //--- Missing //--- //--- //---