Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Hammered on with-room-for-graphics. It should now leave the cursor in the right place and do the right thing with respect to recording options. Changed with-drawing-options to not rebind its medium argument at all. Added :label and :scroll-bars arguments to with-menu which are currently ignored.
Remove usage of exit-window variable, which was totally wrong and made it difficult to exit via clicking outside the menu. I don't think this breaks what Tim Moore was trying to accomplish, for which switching from :presentation-button-press to :presentation-button-release should be sufficient. Note that I still think this menu implementation should go away and be replaced with the one in McCLIM/menu.lisp, if possible. :)
Remove some debugging code
Eat the pointer-release events from a menu choose action. Otherwise, they will still be around when if a command, invoked by the menu, starts looking at the event queue. Completely bypass the standard presentation translator mechanism when determining whether to call the presentation clauses in TRACKING-POINTER. Presentation translators and actions can't do anything here.
In tracking-pointer, don't discard the event when calling the handler. Fix bug induced by clicking presentations outside of menu-choose menus. Make mouse-wheel scrolling work when mixed into arbitrary panes. Defined new GF SCROLL-QUANTUM to control unit of scrolling (defaults to text-height on stream panes, 10 pixels elsewhere). Rework CLX frame-manager pane lookup - choose by presense of defined classes rather than mere existance of a symbol. Added a function DEFINE-ABSTRACT-PANE-MAPPING to specify alternate mappings to concrete panes (such as GENERIC-OPTION-PANE, GENERIC-LIST-PANE, which were not handled correctly before). Hopefully this is a step toward a future mechanism that addresses the needs of multiple frame-managers and themes. Implement (reimplement?) GENERIC-LIST-PANE based loosely on the existing code. Supports single or multiple-item selection modes, toggling items via control key (with an optional :prefer-single-item initarg which causes a :nonexclusive list to prefer selecting single items without disallowing multiple selections). Selection of item ranges via the shift modifier. Scroll wheel support. Supports :one-of and :some-of aliases for :exclusive and :non-exclusive (Lispworks compatibility).
Fix to menu-choose-with-drawer: Surround (funcall drawer ...) using with-room-for-graphics to fix the example from Allegro CLIM, reported by Paolo Amoroso.
Implement :multiple-window option to tracking-pointer. Added a new backend protocol to support this, through functions PORT-GRAB-POINTER and PORT-UNGRAB-POINTER. Using this, ensure that MENU-CHOOSE grabs the pointer and clicking anywhere outside the menu will dismiss it (which previously only worked somewhat, due to the lack of pointer grabbing). Note the slight limitation that the CLX backend does not always accurately report the window which the pointer is over during a grab. Imported some symbols into CLIM-CLX package. Changed the Help command to present available commands using the item formatter.
Default to a sans-serif font for menu items. Rewrote event loop in menu-choose-from-drawer to use tracking-pointer. Clicking outside the menu will close the menu, within the current limits of tracking-pointer (pointer is not grabbed, so CLIM only sees events inside CLIM windows).
added a remark.
language support for text-styles, korean font support, support for 16 bit fonts, support for font composition, support for timer events, some cosmetic changes, support for unicode characters, etc. A bit much at once, and hopefully it won't break for anyone who isn't using unicode enabled cmucl.
Uncommented menu-choose.lisp from the system definition. I'm using it so it's not experimental, damn it :) Possibilities gestures for command completion. C-/ and right mouse bring up possibilities menus. Make user-command-table inherit from global-command-table. Implement keyword arguments in commands. Implement the "read" part of the pointer protocol. Added accept method for sequence presentation type. Change handling of *null-presentation*. This isn't traversed in find-applicable-translators / map-applicable-translators anymore; it's handeld in find-innermost-presentation-match. Gave a raised appearance to menus drawn with menu-choose and friends. Someone who knows what they're doing should look over what I did. Steps towards implementing line wrap in Goatee. Fixed bug in insert-obj-before pointed out by someone on IRC.
presentations menus now pop up near the mouse. This is done by an :before method on adopt-frame on clx-frame-manager. It peeks at the top/left slots of menu frames and when they are nil plugs in the current mouse position plus some delta. This is kind of a kludge and needs redesign and/or documentation, but so is the rest of McCLIM.
* Added support for submenus.
* MENU-ITEM-OPTION: New function. * PRINT-MENU-ITEM: "Gray over" inactive items. * DRAW-STANDARD-MENU: Inactivate inactive items.
* Options are correctly propagated. * Fixed ASSOCIATED-WINDOW treating.
* Added TODO. * Support of text styles. * Used FORMAT-ITEMS for laying out. * Changed accepting loop. * Aborting is caught. * Fixed returned values.
First dirty implementation of MENU-CHOOSE.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|