/[mcclim]/mcclim/menu.lisp
ViewVC logotype

Log of /mcclim/menu.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Tag:

Revision 1.40 - (view) (annotate) - [select for diffs]
Tue Apr 15 21:15:22 2008 UTC (6 years ago) by thenriksen
Branch: MAIN
CVS Tags: HEAD, McCLIM-0-9-6
Changes since 1.39: +3 -3 lines
Diff to previous 1.39 , to selected 1.26
Made command menu panes less broken.

Revision 1.39 - (view) (annotate) - [select for diffs]
Tue Jan 29 19:13:07 2008 UTC (6 years, 2 months ago) by thenriksen
Branch: MAIN
Changes since 1.38: +15 -5 lines
Diff to previous 1.38 , to selected 1.26
Implemented :inherit-menu keyword argument for MAKE-COMMAND-TABLE and DEFINE-COMMAND-TABLE.

Revision 1.38 - (view) (annotate) - [select for diffs]
Sat Dec 23 11:52:27 2006 UTC (7 years, 4 months ago) by ahefner
Branch: MAIN
CVS Tags: McCLIM-0-9-4, McCLIM-0-9-5, mcclim-0-9-4
Changes since 1.37: +13 -2 lines
Diff to previous 1.37 , to selected 1.26
Further hacking to polish the "pixie" look. Enabled pixie-style menus,
revamped various compose-space and handle-repaint methods. Minor changes
to menu.lisp allowing pixie to customize the decoration of submenu
windows, and to detect when menu buttons are in a vertical menu (versus
the menu bar). Changed drawing of the arrow widget on scroll bars and
submenu buttons to use a small bitmap rather than polygon drawing, as the
polygon drawing was awkward and (due to rounding?) did not look right.

On CLX, Pixie can be invoked as follows:
(setf *default-frame-manager*
      (make-instance 'climi::pixie/clx-look :port (find-port)))

Revision 1.37 - (view) (annotate) - [select for diffs]
Thu Dec 14 19:43:51 2006 UTC (7 years, 4 months ago) by thenriksen
Branch: MAIN
Changes since 1.36: +40 -0 lines
Diff to previous 1.36 , to selected 1.26
Moved `display-command-table-menu' to menu.lisp and implemented
`display-command-menu'.

Revision 1.36 - (view) (annotate) - [select for diffs]
Sat May 13 00:19:36 2006 UTC (7 years, 11 months ago) by dlichteblau
Branch: MAIN
CVS Tags: McCLIM-0-9-3
Changes since 1.35: +3 -2 lines
Diff to previous 1.35 , to selected 1.26
Oops, don't allow the menu bar to get smaller on resizes.

* menu.lisp ((compose-space menu-bar)): Specify min-height.

Revision 1.35 - (view) (annotate) - [select for diffs]
Sat May 13 00:03:41 2006 UTC (7 years, 11 months ago) by dlichteblau
Branch: MAIN
Changes since 1.34: +52 -17 lines
Diff to previous 1.34 , to selected 1.26
Hack the MENU-BAR to draw its own 3d effect instead of wrapping a
RAISED-PANE around it.  This way the frame manager gets to decide on the
appearance of the menu bar.

        * menu.lisp (MAKE-MENU-BAR): Don't wrap the menu bar pane in a
        raising.  (HANDLE-REPAINT, COMPOSE-SPACE,
        BOX-LAYOUT-MIXIN/HORIZONTALLY-ALLOCATE-SPACE): New methods on
        menu-bar.

Revision 1.34 - (view) (annotate) - [select for diffs]
Sun Nov 7 19:33:31 2004 UTC (9 years, 5 months ago) by hefner1
Branch: MAIN
CVS Tags: McCLIM-0-9-1, McCLIM-0-9-2
Changes since 1.33: +0 -3 lines
Diff to previous 1.33 , to selected 1.26
In find-applicable-translators, call remove-duplicates on the resulting list
so that commands reached multiple times via inheritance only appear once
(fixing duplicate command menu items in the listener).

Remove comment in menu.lisp that only :command and :menu items are
supported, which has changed.

In the main CLX event handler for configure-notify events, use
xlib:translate-coordinates to compute the position of the top-level sheet
relative to the screen root window. This fixes a problem where resizing a
frame caused the sheet-delta-transformation to be incorrect, causing
menus from the menubar to appear in incorrect places.

Revision 1.33 - (view) (annotate) - [select for diffs]
Mon Oct 18 06:31:41 2004 UTC (9 years, 6 months ago) by hefner1
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 , to selected 1.26
Fix to :function menu items (forgot to save my emacs buffer..)

Revision 1.32 - (view) (annotate) - [select for diffs]
Mon Oct 18 06:24:57 2004 UTC (9 years, 6 months ago) by hefner1
Branch: MAIN
Changes since 1.31: +138 -23 lines
Diff to previous 1.31 , to selected 1.26
Menubar and gadget changes:

In deactivated gadgets, 'engrave' the text rather than simply dimming
the label.

Menu bars now use deactivate-gadget on the menu-buttons to signify
disabled commands.

Implemented divider menu items, with an optional label.

Implemented :function menu items.

For submenu buttons in vertical menus, draw a little arrow to the right
of the name to distinguish them from regular menu items.

Revision 1.31 - (view) (annotate) - [select for diffs]
Thu May 27 08:46:41 2004 UTC (9 years, 10 months ago) by moore
Branch: MAIN
Changes since 1.30: +1 -1 lines
Diff to previous 1.30 , to selected 1.26
Fix problem with command names in menu items

Revision 1.30 - (view) (annotate) - [select for diffs]
Tue May 18 10:47:46 2004 UTC (9 years, 11 months ago) by moore
Branch: MAIN
Changes since 1.29: +19 -7 lines
Diff to previous 1.29 , to selected 1.26
Implement command-enabled and (setf command-enabled). This includes a
test in command presentation translators that checks if the command
is currently enabled. Menu items are disabled if the command is
disabled, though buttons on menu bars aren't handled yet.

Created a command com-describe-presentation that can be
enabled/disabled seperately from com-describe.

Revision 1.29 - (view) (annotate) - [select for diffs]
Sat Feb 7 14:05:50 2004 UTC (10 years, 2 months ago) by moore
Branch: MAIN
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 , to selected 1.26
Cleaned up the frame layout code. It's now possible to change layouts
on the fly. Got rid of frame-pane and replaced it with a proper
definition of frame-panes that conforms to the Spec. All the frame
pane and layout functions in the spec should be implemented now.

In presentation-replace-input, checked in a fix that I thought was
already in.

Revision 1.28 - (view) (annotate) - [select for diffs]
Fri Jul 11 13:47:52 2003 UTC (10 years, 9 months ago) by moore
Branch: MAIN
CVS Tags: McCLIM-0-9
Changes since 1.27: +24 -19 lines
Diff to previous 1.27 , to selected 1.26
Change presentation-subtypep for command-name and command.  See comment above
command-table-inherits-from-p.

Change menu code to throw menu-item presentation types instead of
commands; accept that in read-frame-command.  The menutest example
works again, although the highlighting is a bit broken.  clim-fig's
menus don't work yet; I need to figure out why clim-fig still needs
its own top-level to work.

Revision 1.27 - (view) (annotate) - [select for diffs]
Mon Apr 21 23:51:29 2003 UTC (11 years ago) by gilbert
Branch: MAIN
Changes since 1.26: +1 -1 lines
Diff to previous 1.26
untested, but should work.

Revision 1.26 - (view) (annotate) - [selected]
Mon Apr 21 15:05:22 2003 UTC (11 years ago) by moore
Branch: MAIN
Changes since 1.25: +24 -15 lines
Diff to previous 1.25
More work on updating-output.  It's working well enough to be on by default.

Make the menu code throw a command presentation object/type instead of
directly invoking the command function.

Revision 1.25 - (view) (annotate) - [select for diffs]
Fri Mar 21 21:36:59 2003 UTC (11 years, 1 month ago) by mikemac
Branch: MAIN
Changes since 1.24: +1 -1 lines
Diff to previous 1.24 , to selected 1.26
make all of the package names passed to in-package be lowercase keywords for ACL's java mode

Revision 1.24 - (view) (annotate) - [select for diffs]
Mon Nov 11 01:02:21 2002 UTC (11 years, 5 months ago) by moore
Branch: MAIN
Changes since 1.23: +5 -1 lines
Diff to previous 1.23 , to selected 1.26
3 sets of additions/changes/fixes:
presentation-replace-input

Bugs I fixed while at ILC, including implementing accept-from-string.

Fixes made in the course of getting cl-reversi to work (it mostly does
modulo display timing issues).  This includes a revamping of command
tables, menus and keystrokes.

Revision 1.23 - (view) (annotate) - [select for diffs]
Sun Nov 10 14:44:04 2002 UTC (11 years, 5 months ago) by gilbert
Branch: MAIN
Changes since 1.22: +12 -10 lines
Diff to previous 1.22 , to selected 1.26
Menu bars now no longer spread their children out but pack them left
as every other menu bar does.

Revision 1.22 - (view) (annotate) - [select for diffs]
Tue Nov 5 10:46:35 2002 UTC (11 years, 5 months ago) by gilbert
Branch: MAIN
Changes since 1.21: +44 -94 lines
Diff to previous 1.21 , to selected 1.26
An attempt to fix menus.

Revision 1.21 - (view) (annotate) - [select for diffs]
Thu Oct 31 12:58:14 2002 UTC (11 years, 5 months ago) by brian
Branch: MAIN
Changes since 1.20: +4 -1 lines
Diff to previous 1.20 , to selected 1.26
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.

Revision 1.20 - (view) (annotate) - [select for diffs]
Fri Sep 20 17:55:41 2002 UTC (11 years, 7 months ago) by brian
Branch: MAIN
Changes since 1.19: +51 -31 lines
Diff to previous 1.19 , to selected 1.26
added look and feel support to menus, fixed floating menu leakage, etc

Revision 1.19 - (view) (annotate) - [select for diffs]
Tue Sep 10 07:15:54 2002 UTC (11 years, 7 months ago) by brian
Branch: MAIN
Changes since 1.18: +1 -1 lines
Diff to previous 1.18 , to selected 1.26
added ink parameters to draw-lines-edges*

Revision 1.18 - (view) (annotate) - [select for diffs]
Tue Jul 30 16:41:40 2002 UTC (11 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.17: +3 -1 lines
Diff to previous 1.17 , to selected 1.26
* MAKE-MENU-BUTTON-FROM-MENU-ITEM: Turn command name into command.

Revision 1.17 - (view) (annotate) - [select for diffs]
Mon Jul 15 13:24:56 2002 UTC (11 years, 9 months ago) by adejneka
Branch: MAIN
Changes since 1.16: +12 -3 lines
Diff to previous 1.16 , to selected 1.26
* Menu throws command as presentation instead of directly executing.

Revision 1.16 - (view) (annotate) - [select for diffs]
Fri Jun 28 12:55:54 2002 UTC (11 years, 9 months ago) by gilbert
Branch: MAIN
Changes since 1.15: +2 -4 lines
Diff to previous 1.15 , to selected 1.26
Menu buttons now reuse the DRAW-LABEL* from gadgets.lisp for correct
vertical align of the button's label.

We should advertise DRAW-LABEL* and design a label protocol ...

Revision 1.15 - (view) (annotate) - [select for diffs]
Thu Jun 27 16:39:30 2002 UTC (11 years, 9 months ago) by gilbert
Branch: MAIN
Changes since 1.14: +1 -1 lines
Diff to previous 1.14 , to selected 1.26
MAKE-MENU-BAR:
Default value for MAX-WIDTH now is +fill+, so that an invisible
menu-bar within a vrack page does no longer limit the frame's width.

Revision 1.14 - (view) (annotate) - [select for diffs]
Sat Apr 27 11:04:30 2002 UTC (11 years, 11 months ago) by gilbert
Branch: MAIN
Changes since 1.13: +25 -52 lines
Diff to previous 1.13 , to selected 1.26
Bug fix: Do not draw to a non-realized gadget, but marked with three
X's, since not strictly correct.

Attempts to fix <3cca70f63d04b1f3@mel-rta1.wanadoo.fr>:

| From: Pixel / Edena <pixel@pixeledena.com>
| To: free-clim@mikemac.com
| Subject: Something is broken
| Date: Sat, 27 Apr 2002 11:37:05 +0200
|
| Hi,
|
| I've just compiled the last CVS updates and here is what I get once
| I click on a menu item (inside a menubar, even with clim-fig or with my own
| code) :
|
| Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER:
|    NIL is not of type XLIB:DRAWABLE
|
| Restarts:
|   0: [ABORT] Return to Top-Level.
|
| Debug  (type H for help)
|
| (XLIB:DRAW-RECTANGLE 7 NIL #<XLIB:GCONTEXT :0 12583010> 0 ...)[:EXTERNAL]
| 0]
|
| I know this error occurs only when (run-frame-top-level) is launched.
|
| Any idea ?
|
| J.Pouderoux

Revision 1.13 - (view) (annotate) - [select for diffs]
Sun Apr 21 12:41:14 2002 UTC (12 years ago) by brian
Branch: MAIN
Changes since 1.12: +29 -27 lines
Diff to previous 1.12 , to selected 1.26
Sundry fixes to run without multiprocessing support.

Added images/ to hold bitmaps for tests.

Added looks/ to hold neutral look-and-feel realizer packages.

Added Examples/gadget-test to test many gadgets with a look and feel.

Added a pixie look and feel, and a pixie/clx to work with the clx backend.

Added drawing support in the CLX backend for ovals and circles.

Fixed pixmaps to work with with-output-to-pixmap with draw-image, etc.

Moved sheet-leaf-mixin to standard-gadget-pane so it doesn't break radio-box-pane, etc.

Misc fixes.

Revision 1.12 - (view) (annotate) - [select for diffs]
Fri Apr 19 22:27:09 2002 UTC (12 years ago) by moore
Branch: MAIN
Changes since 1.11: +0 -3 lines
Diff to previous 1.11 , to selected 1.26
Make a global choice, based on multiprocessing or not, whether events
should be handled immediately or queued up to be serviced by another
process.  The choice is implemented by the classes
clim-sheet-input-mixin and clim-repainting-mixin, from which all panes
inherit.  These classes' superclasses are conditionalized on whether or
not the implementation is capable of multiprocessing.

When multiprocessing there is a single event queue per frame.  This is
implemented by queue-event on pane classes.

The event loop is implemented in stream-input-wait.  In single
processing mode, stream-input-wait calls process-next-event and
handles events immediately.  When multiprocessing, stream-input-wait
reads events from the frame event queue and handles them.  The
function clim-extensions:simple-event-loop is supplied for
applications which do not loop reading from a stream; various examples
have been changed to use it.

In stream-read-gesture/stream-input-wait the input-wait-test function
is not expected to block anymore; nor is the input-wait-handler
expected to dispatch events.  input-wait-handler is responsible for
consuming events that should not be seen by anyone
else. input-context-wait-test and highlight-applicable-presentation
have been rewritten to reflect this.

The adjustable-array buffer for extended-input-streams has been added
back in.  A typo in %event-matches-gesture has been fixed.

Default methods for map-over-output-records-containing-position and
map-over-output-records-overlapping-region have been added.

The cursor implementation has been broken out into a cursor-mixin so I
can snarf it for Goatee :)

Revision 1.11 - (view) (annotate) - [select for diffs]
Sat Feb 16 02:29:42 2002 UTC (12 years, 2 months ago) by gilbert
Branch: MAIN
Changes since 1.10: +1 -1 lines
Diff to previous 1.10 , to selected 1.26
MAKE-MENU-BAR
    temporary medicine

Revision 1.10 - (view) (annotate) - [select for diffs]
Mon Feb 11 21:35:57 2002 UTC (12 years, 2 months ago) by gilbert
Branch: MAIN
Changes since 1.9: +2 -1 lines
Diff to previous 1.9 , to selected 1.26
mixed PERMANENT-MEDIUM-SHEET-OUTPUT-MIXIN into MENU-BAR

Revision 1.9 - (view) (annotate) - [select for diffs]
Wed Jul 25 12:06:27 2001 UTC (12 years, 9 months ago) by boninfan
Branch: MAIN
Changes since 1.8: +33 -4 lines
Diff to previous 1.8 , to selected 1.26
Added the macro with-special-choices. Its purpose is to add backend dependant drawing optimizations in repaint protocol.
For example, with CLX, it adds the double-buffering thanks to pixmaps by calling the macro with-double-buffering.
Julien.

Revision 1.8 - (view) (annotate) - [select for diffs]
Mon Jun 18 12:46:57 2001 UTC (12 years, 10 months ago) by boninfan
Branch: MAIN
Changes since 1.7: +4 -6 lines
Diff to previous 1.7 , to selected 1.26
Fixed an drawing dimension error for menu-draw-unhighlighted and menu-draw-highlighted

Revision 1.7 - (view) (annotate) - [select for diffs]
Thu May 3 09:45:52 2001 UTC (12 years, 11 months ago) by boninfan
Branch: MAIN
Changes since 1.6: +23 -21 lines
Diff to previous 1.6 , to selected 1.26
Method of double-buffering added thanks to pixmaps

Revision 1.6 - (view) (annotate) - [select for diffs]
Mon Mar 19 19:02:37 2001 UTC (13 years, 1 month ago) by hatchond
Branch: MAIN
Changes since 1.5: +28 -14 lines
Diff to previous 1.5 , to selected 1.26
Idem for menu, but I add some keyword arguments at make-menu-bar. You can now specify your owne width height etc.

Revision 1.5 - (view) (annotate) - [select for diffs]
Sat Dec 16 14:14:56 2000 UTC (13 years, 4 months ago) by cvs
Branch: MAIN
Changes since 1.4: +11 -22 lines
Diff to previous 1.4 , to selected 1.26
Removed methods for compose-space and pane-space-requirement on
menu-button-pane, as they are inhereted from labelled-gadget.

Added raised-pane around submenus (thanks to Iban).

Revision 1.4 - (view) (annotate) - [select for diffs]
Mon Dec 11 09:08:56 2000 UTC (13 years, 4 months ago) by cvs
Branch: MAIN
Changes since 1.3: +15 -21 lines
Diff to previous 1.3 , to selected 1.26
Removed code that tested for `destroyed' slot, since it is no longer needed.

Revision 1.3 - (view) (annotate) - [select for diffs]
Fri Dec 8 14:42:43 2000 UTC (13 years, 4 months ago) by cvs
Branch: MAIN
Changes since 1.2: +3 -0 lines
Diff to previous 1.2 , to selected 1.26
Added method on handle-event for menu-button-leaf-pane and
pointer-ungrab-event.

Revision 1.2 - (view) (annotate) - [select for diffs]
Mon Dec 4 20:32:15 2000 UTC (13 years, 4 months ago) by cvs
Branch: MAIN
Changes since 1.1: +1 -0 lines
Diff to previous 1.1 , to selected 1.26
fixed illegal arglist

Revision 1.1 - (view) (annotate) - [select for diffs]
Mon Dec 4 15:00:52 2000 UTC (13 years, 4 months ago) by cvs
Branch: MAIN
Diff to selected 1.26
Support for menu bars.

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.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5