ViewVC logotype

Log of /mcclim/builtin-commands.lisp

Parent Directory Parent Directory | Revision Log Revision Log

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

Revision 1.28 - (view) (annotate) - [select for diffs]
Mon Nov 19 22:35:04 2007 UTC (6 years, 4 months ago) by thenriksen
Branch: MAIN
CVS Tags: HEAD, McCLIM-0-9-6
Changes since 1.27: +65 -63 lines
Diff to previous 1.27
Fixed the OpenMCL-conditional-thing in expression reading to not cause
compiler warnings. I cannot test my fix on OpenMCL, but it works

Revision 1.27 - (view) (annotate) - [select for diffs]
Mon Sep 17 19:21:19 2007 UTC (6 years, 7 months ago) by crhodes
Branch: MAIN
Changes since 1.26: +0 -4 lines
Diff to previous 1.26
Remove strange sbcl-only reader-package-error handling.

Revision 1.26 - (view) (annotate) - [select for diffs]
Wed Jan 10 11:19:01 2007 UTC (7 years, 3 months ago) by crhodes
Branch: MAIN
CVS Tags: McCLIM-0-9-4, McCLIM-0-9-5, mcclim-0-9-4
Changes since 1.25: +13 -3 lines
Diff to previous 1.25
Mostly fix AND and OR presentation types in STUPID-SUBTYPEP (used for
translator applicability) and PRESENTATION-SUBTYPEP.  Add some tests for
predefined presentation types.

Revision 1.25 - (view) (annotate) - [select for diffs]
Wed Nov 8 01:18:22 2006 UTC (7 years, 5 months ago) by thenriksen
Branch: MAIN
Changes since 1.24: +1 -0 lines
Diff to previous 1.24
Committed changes necessary to support Drei (and non-Goatee input
editors at all). Also some indirection permitting run-time selection
of editor substrate and the code for :text-editor and :text-field

Revision 1.24 - (view) (annotate) - [select for diffs]
Wed Sep 13 10:44:15 2006 UTC (7 years, 7 months ago) by thenriksen
Branch: MAIN
CVS Tags: McCLIM-0-9-3
Changes since 1.23: +60 -0 lines
Diff to previous 1.23
Add more user-friendly `accept' presentation method for expressions on
interactive streams.

Revision 1.23 - (view) (annotate) - [select for diffs]
Sat Aug 5 19:54:31 2006 UTC (7 years, 8 months ago) by thenriksen
Branch: MAIN
Changes since 1.22: +3 -1 lines
Diff to previous 1.22
Improved the implementation of `menu-choose' - now supports almost all
features demanded by the spec (though some in a nonoptimal
way). Changed a few calls to `menu-choose' in McCLIM to utilize

Revision 1.22 - (view) (annotate) - [select for diffs]
Mon Mar 20 08:15:26 2006 UTC (8 years ago) by tmoore
Branch: MAIN
CVS Tags: McCLIM-0-9-2
Changes since 1.21: +6 -0 lines
Diff to previous 1.21
Made the command-table-inherit-from slot of command tables setf-able,
as per the Franz manual.

Changed the default documentation of presentation translators from the
presentation object to the name of the translator. If this is too
controversial I will back it out.

Force the tester of drag-and-drop translators to be definitive;
otherwise serious weirdness ensues.

Added the functional geometry explorer of Frank Buss and Rainer
Joswig, who graciously agreed to it being included, as an application.

Revision 1.21 - (view) (annotate) - [select for diffs]
Wed Mar 15 15:38:38 2006 UTC (8 years, 1 month ago) by tmoore
Branch: MAIN
Changes since 1.20: +3 -1 lines
Diff to previous 1.20
Fixed destination highlighting for drag-and-drop translators. Added documentation for dnd translators. Corrected the default value for modifier-state in find-innermost-applicable-presentation and friends. This isn't as big as it looks :)

Revision 1.20 - (view) (annotate) - [select for diffs]
Wed Jun 22 11:41:34 2005 UTC (8 years, 9 months ago) by tmoore
Branch: MAIN
Changes since 1.19: +8 -5 lines
Diff to previous 1.19
Fixed the Help command to not display duplicates i.e., commands
accessible via more than one inherited command table.

Fixed a bug in command-line-name-for-command; it wasn't looking in
inherited command tables.

Changed the presentation method for command-name to output the symbol
if the command isn't accessable instead of pretending that nothing's
wrong and creating a command line name.

Revision 1.19 - (view) (annotate) - [select for diffs]
Wed Jun 22 09:49:15 2005 UTC (8 years, 9 months ago) by tmoore
Branch: MAIN
Changes since 1.18: +4 -0 lines
Diff to previous 1.18
Added some improvements to accept-from-string so that random accept
methods and default processing are more likely to work with it.

Added a null command and null-command presentation type so that the
REPL doesn't print something obnoxious when the user enters an empty

Some fixes to default processing.

Revision 1.18 - (view) (annotate) - [select for diffs]
Sat Jan 22 08:42:40 2005 UTC (9 years, 2 months ago) by tmoore
Branch: MAIN
CVS Tags: McCLIM-0-9-1
Changes since 1.17: +2 -6 lines
Diff to previous 1.17
Remove Describe Presentation from the default right-click menu. This means that interfaces will look much quiter.

Revision 1.17 - (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.16: +13 -2 lines
Diff to previous 1.16
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.16 - (view) (annotate) - [select for diffs]
Wed Mar 31 13:31:20 2004 UTC (10 years ago) by moore
Branch: MAIN
Changes since 1.15: +1 -2 lines
Diff to previous 1.15
Changed the way defaults are handled by accept. I added a mixin class
to standard-input-editing-stream, empty-input-mixin; an around method
on stream-read-gesture; and some supporting macrology
(handle-empty-input) to detect "empty" input and throw control to the
appropriate place. Accept-1 now uses handle-empty-input to determine
if it should return the default value. This means that the accept
methods no longer need to do anything with their :default argument
unless they use it for merging. I removed the :default and
:default-type arguments from many accept methods all over McCLIM.

Fixed a bad bug in the basic input editing loop
(stream-read-gesture): rescanning-p should be set to nil when the
scan-pointer reaches the fill pointer (not the insertion-pointer).

Fixed a small bug in make-gf-specialized-ptype, a support function
for com-show-generic-function.

Revision 1.15 - (view) (annotate) - [select for diffs]
Wed Mar 24 09:30:29 2004 UTC (10 years ago) by moore
Branch: MAIN
Changes since 1.14: +33 -18 lines
Diff to previous 1.14
2004-03-24  Timothy Moore  <moore@bricoworks.com>

	* INSTALL.OPENMCL: updated instructions.

	* builtin-commands.lisp (default-translator): Return the
	presentation type of the presentation as the second value.
	(document-form-translator): New function
	(%frob-constant-form, %frob-form): Use document-form-translator. Add
	translators from standard-object to expression and form.
	(expression-as-form): Add a menu entry for this translator.
	(ccl::%read-list-expression, (accept expression t textual-view),
	read, read-preserving-whitespace): Move the Lisp form reader
	stuff from the ptype 'form to the ptype 'expression. Disallow any
	activation or delimiter gestures while reading an expression.

	* commands.lisp (command-name-from-symbol): Don't strip leading
	subsequences of "COM-" from the command name.
	(keyword-arg-name-from-symbol): New function.
	(command-parsers): Add argument-unparser slot
	(make-keyword): New function
	(make-key-accessors): Use it. Accept keynames that begin with a
	#\: and have dashes replaced by spaces.
	(make-unprocessor-fun) New function to create an unprocessor
	function for each command.
	(%define-command): New macro preserving  old behavior. Use new
	unprocessor stuff.
	(output-destination, invoke-with-standard-output): New class and
	generic function for outputing the results of commands to an
	output stream.
	(define-command): Implement :provide-output-destination-keyword
	(command-line-unparser): Call new stuff instead.

	* dialog.lisp: Add (redundant):provide-output-destination-keyword
	keyword argument to some commands.

	* incremental-redisplay.lisp: Work in progress. Turn things

	* input-editing.lisp (complete-input): Don't insert input when mode is
	:complete and we've failed.

	* presentation-defs.lisp (accept-1): Use multiple-value-list when
	looking at results of accept method.
	((present t completion t t)): Use the arguments to the type to drive
	the present method here.
	((accept sequence t textual-view)): Don't peek-char initially! It
	breaks accepting the first element via mouse click.
	(accept sequence-enumerated t textual-view): new method.

	* recording.lisp : Cosmetic fixups.

	* regions.lisp (ellipse-normal-radii*): Add Gilbert's English
	translation of the comment and clean up the function.

	* system.lisp: Add Goatee/presentation-history.

	* transforms.lisp (+identity-transformation+): Move earlier in the
	file to avoid a warning.

	* utils.lisp (delete-1, parse-lambda-list): new functions.

	* Apps/Listener/dev-commands.lisp : Add
	:provide-output-destination-keyword argument to many commands.
	((presentation-type generic-function)): Rewrite. Make it inherit from
	t, add accept method. The type of the object is generic-function, not
	the name or something.
	((presentation-type standard-generic-function), (presentation-type
	method), (presentation-type standard-method)): add.
	(Show Generic Function): All-singing all-dancing command for exploring
	generic functions and their methods.
	((presentation-type package)): New type with completing accept method.
	(Set Package): New command

	* Apps/Listener/listener.lisp (run-frame-top-level): Add bindings for
	all the Common Lisp reader and printer variables.

	* Apps/Scigraph/dwim/macros.lisp (define-command): Add
	:provide-output-destination-keyword support for McCLIM.

	* Goatee/goatee-command.lisp (lookup-gesture-command): Disable
	annoying debugging output.

	* Lisp-Dep/fix-openmcl.lisp (:clim-mop): In OpenMCL 0.14 use and
	export all symbols from :openmcl-mop.
	(compute-applicable-methods-using-classes): Hack for the listener.

Revision 1.14 - (view) (annotate) - [select for diffs]
Mon Feb 9 22:30:55 2004 UTC (10 years, 2 months ago) by moore
Branch: MAIN
Changes since 1.13: +47 -0 lines
Diff to previous 1.13
In response to a bug showing up in SBCL I simplified the presentation
type lattice and dispatch machinery. The supertype of all
presentation types is now the built-in class T, not a presentation
type class. Form and expression are no longer superclasses of all
Lisp objects (I've defined presentation translators instead for
that.) Around methods on compute-applicable-methods and friends
remove methods specialized on standard-object for non CLOS types.

Revision 1.13 - (view) (annotate) - [select for diffs]
Fri Nov 28 23:28:45 2003 UTC (10 years, 4 months ago) by hefner1
Branch: MAIN
Changes since 1.12: +7 -7 lines
Diff to previous 1.12
Implement :multiple-window option to tracking-pointer. Added a new backend
protocol to support this, through functions PORT-GRAB-POINTER and

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

Revision 1.12 - (view) (annotate) - [select for diffs]
Mon Nov 24 22:13:03 2003 UTC (10 years, 4 months ago) by moore
Branch: MAIN
Changes since 1.11: +99 -22 lines
Diff to previous 1.11
Implemented command-or-form presentation type. Fixed stupid-subtypep
so OR presentation types can be used in with-input-context. Changed
the subform reader stuff to use a presentation type option instead of
the presentation type subform. Got rid of subform altogether. Changed
the Lisp presentation types to be a subtype of expression, not form;
added a presentation translator from expression to form that does
necessary quoting.

Fixed passing of arguments to the frame-top-level function. Moved the
menu-item stuff in read-frame-command into an :around method so that
read-frame-command can be usefully overridden by users.

Cleaned up the listener demo: got rid of the top level loop parts that
are now redundant. Added a frame slot and an argument to
run-listener/run-listener-process to control whether or not to use CLIM
command-or-form processing (the default is the existing method.)

Revision 1.11 - (view) (annotate) - [select for diffs]
Wed Oct 1 21:35:27 2003 UTC (10 years, 6 months ago) by moore
Branch: MAIN
CVS Tags: McCLIM-0-9
Changes since 1.10: +58 -0 lines
Diff to previous 1.10

Support (in OpenMCL) for accepting the subforms of a form, as opposed
to blowing away the entire form in progress. Put the transform for
coord-seqs in the recording methods, not the def-grecording
macro. Fake MOP functions for OpenMCL in order to support the listener

Revision 1.10 - (view) (annotate) - [select for diffs]
Sun Jun 29 05:34:18 2003 UTC (10 years, 9 months ago) by moore
Branch: MAIN
Changes since 1.9: +1 -1 lines
Diff to previous 1.9
Accepting-values.  It's ugly and has some cursor glitches but
otherwise appears to work. Various changes to Goatee were made to
support accepting-values.  Also, Goatee screen lines are now
better-behaved output records.

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

Revision 1.8 - (view) (annotate) - [select for diffs]
Sun Aug 18 06:27:04 2002 UTC (11 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.7: +15 -0 lines
Diff to previous 1.7

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.

Revision 1.7 - (view) (annotate) - [select for diffs]
Wed Aug 7 16:03:49 2002 UTC (11 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.6: +19 -4 lines
Diff to previous 1.6
* DEFAULT-TRANSLATOR tries to generate documentation from
  :DESCRIPTION type option of the presentation.

Revision 1.6 - (view) (annotate) - [select for diffs]
Wed Aug 7 04:26:43 2002 UTC (11 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.5: +8 -1 lines
Diff to previous 1.5
* PRESENTATION-MENU: Added tester for non-emptiness.

Revision 1.5 - (view) (annotate) - [select for diffs]
Tue Aug 6 02:25:41 2002 UTC (11 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.4: +10 -0 lines
Diff to previous 1.4
* Added presentation menu.

Revision 1.4 - (view) (annotate) - [select for diffs]
Sat Aug 3 08:28:47 2002 UTC (11 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.3: +5 -1 lines
Diff to previous 1.3
Make the pointer documentation window more pretty.  Add a
describe-presentation command in order to have some command bound to
the super modifier.

Move coordinates into the device-event class.  Supply coordinates for
key events.

Add make-load-form methods for named-color and standard-text-style.
This, plus some strategic eval-when (:compile-toplevel ...), allows us
to remove the defparameter/defconstant hack for CMUCL (and SBCL too,
though I haven't tested that and didn't do the work).

Mention possible problem with CLOCC and pcl::*defclass-times* et
al. in instructions.

Revision 1.3 - (view) (annotate) - [select for diffs]
Fri Aug 2 23:08:42 2002 UTC (11 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.2: +11 -0 lines
Diff to previous 1.2
Further hacks to pointer documentation.  Indicate that different commands
are available with other modifier keys.


Revision 1.2 - (view) (annotate) - [select for diffs]
Thu May 30 06:44:17 2002 UTC (11 years, 10 months ago) by moore
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1
Fixes to the presentation type system, including some MOP hacking, to
bring the presentation type lattice in line with the Spec.  In
particular, form and expression are supertypes of all Lisp types,
including implicit CLOS types.  Presentation method dispatch,
presentation-subtypep, map-over-presentation-type-supertypes, etc. all
implement this lattice.  I think we're doing a better job than real
CLIM in this respect.

Broke out presentation type and method definitions into
presentation-defs.lisp so that less stuff needs to be wrapped in

Revision 1.1 - (view) (annotate) - [select for diffs]
Thu May 23 06:55:05 2002 UTC (11 years, 10 months ago) by moore
Branch: MAIN
Presentation translators, including define-presentation-to-command-translator
and command translators generated by the :gesture option in define-command
arguments.  With this checkin the address book demo mostly works as intended,
except for creating new address book entries.

Added builtin-commands.lisp to hold global commands and presentation

Added a nifty help command with context sensitive command names.

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