/[mcclim]/mcclim/presentation-defs.lisp
ViewVC logotype

Log of /mcclim/presentation-defs.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.80 - (view) (annotate) - [select for diffs]
Wed Jan 21 06:48:08 2009 UTC (5 years, 2 months ago) by rstrandh
Branch: MAIN
CVS Tags: HEAD
Changes since 1.79: +2 -4 lines
Diff to previous 1.79
Another fix from Mike Watters.

Revision 1.79 - (view) (annotate) - [select for diffs]
Wed Jan 21 06:43:15 2009 UTC (5 years, 2 months ago) by rstrandh
Branch: MAIN
Changes since 1.78: +1 -1 lines
Diff to previous 1.78
Fix from Mike Watters.

Revision 1.78 - (view) (annotate) - [select for diffs]
Tue May 27 13:15:36 2008 UTC (5 years, 10 months ago) by thenriksen
Branch: MAIN
Changes since 1.77: +70 -66 lines
Diff to previous 1.77
Change over-eager call to DIRECTORY for pathname completion... should
now use the entered input to create the wild pathname.

Assumes Unix-style wild pathnames, but the whole pathname completion
thing is Unix-specific anyway, so...

Revision 1.77 - (view) (annotate) - [select for diffs]
Sat Apr 19 09:26:49 2008 UTC (5 years, 11 months ago) by thenriksen
Branch: MAIN
CVS Tags: McCLIM-0-9-6
Changes since 1.76: +7 -6 lines
Diff to previous 1.76
Fixed STRING-INPUT-EDITING-STREAM to not fail on many common use cases.

Revision 1.76 - (view) (annotate) - [select for diffs]
Sat Apr 19 07:51:22 2008 UTC (5 years, 11 months ago) by thenriksen
Branch: MAIN
Changes since 1.75: +102 -7 lines
Diff to previous 1.75
Fix the utterly broken ACCEPT-FROM-STRING to at least work for common cases.

Still WIP.

Revision 1.75 - (view) (annotate) - [select for diffs]
Fri Feb 1 17:02:55 2008 UTC (6 years, 2 months ago) by thenriksen
Branch: MAIN
Changes since 1.74: +0 -116 lines
Diff to previous 1.74
Moved with-input-context and related machinery to to presentations.lisp.

Revision 1.74 - (view) (annotate) - [select for diffs]
Thu Jan 31 12:14:05 2008 UTC (6 years, 2 months ago) by thenriksen
Branch: MAIN
Changes since 1.73: +0 -34 lines
Diff to previous 1.73
Moved with-output-as-presentation to presentations.lisp, so it can be available when input-editing.lisp is compiled.

Revision 1.73 - (view) (annotate) - [select for diffs]
Mon Nov 19 22:14:05 2007 UTC (6 years, 4 months ago) by thenriksen
Branch: MAIN
Changes since 1.72: +4 -4 lines
Diff to previous 1.72
Changed `highlight-current-presentation' to use its provided frame and
input-context, instead of `*application-frame*' and `*input-context*'.

Revision 1.72 - (view) (annotate) - [select for diffs]
Mon Nov 19 21:10:40 2007 UTC (6 years, 4 months ago) by thenriksen
Branch: MAIN
Changes since 1.71: +4 -5 lines
Diff to previous 1.71
`accept-from-string' is still WIP, but it should cause fewer compiler
warnings now. The remaining one is actually out of our control, in
fact, an SBCL hacker would be welcome to fix it, if that is possible.

Revision 1.71 - (view) (annotate) - [select for diffs]
Sat Feb 10 21:32:22 2007 UTC (7 years, 2 months ago) by thenriksen
Branch: MAIN
CVS Tags: McCLIM-0-9-5
Changes since 1.70: +4 -2 lines
Diff to previous 1.70
Made the `string' present method respect the :accept keyword argument,
updated an example program to exploit this.

Revision 1.70 - (view) (annotate) - [select for diffs]
Mon Feb 5 03:06:14 2007 UTC (7 years, 2 months ago) by ahefner
Branch: MAIN
Changes since 1.69: +17 -10 lines
Diff to previous 1.69
Introduce a new function, highlight-output-record-tree, so that records
can control how highlighting recurses into their children.

Revise definition of null output records to include any record whose
upper-left and lower-right coordinates are equal. This is necessary when
an empty record is transformed (such as by with-room-for-graphics).

Revision 1.69 - (view) (annotate) - [select for diffs]
Sun Jan 14 19:59:07 2007 UTC (7 years, 3 months ago) by thenriksen
Branch: MAIN
CVS Tags: McCLIM-0-9-4, mcclim-0-9-4
Changes since 1.68: +13 -11 lines
Diff to previous 1.68
Fixed `presentation-history-previous' to work properly with an empty
history.

Revision 1.68 - (view) (annotate) - [select for diffs]
Wed Jan 10 11:19:01 2007 UTC (7 years, 3 months ago) by crhodes
Branch: MAIN
Changes since 1.67: +125 -34 lines
Diff to previous 1.67
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.67 - (view) (annotate) - [select for diffs]
Tue Jan 9 03:39:09 2007 UTC (7 years, 3 months ago) by rgoldman
Branch: MAIN
Changes since 1.66: +36 -1 lines
Diff to previous 1.66
A partial fix to add support for AND and SATISFIES in
presentation-subtypep, where they were previously not supported.
Christophe has a better one to replace this with soon.

Also added an accept method for AND types.

Revision 1.66 - (view) (annotate) - [select for diffs]
Sat Jan 6 12:50:38 2007 UTC (7 years, 3 months ago) by thenriksen
Branch: MAIN
Changes since 1.65: +118 -62 lines
Diff to previous 1.65
Improve presentation history - is now explicitly a stack, and works
pretty much as you would expect. Goatee's support is temporarily
broken until I can make `define-input-editor-command' also define
commands for Goatee.

Revision 1.65 - (view) (annotate) - [select for diffs]
Wed Dec 13 21:33:43 2006 UTC (7 years, 4 months ago) by thenriksen
Branch: MAIN
Changes since 1.64: +5 -5 lines
Diff to previous 1.64
Moved presentation method to after the definition of the relevant
type.

Revision 1.64 - (view) (annotate) - [select for diffs]
Wed Dec 13 19:36:00 2006 UTC (7 years, 4 months ago) by thenriksen
Branch: MAIN
Changes since 1.63: +7 -4 lines
Diff to previous 1.63
Hopefully fixed `presentation-type-specifier-p'. Of course, I also
thought this the last two times.

Revision 1.63 - (view) (annotate) - [select for diffs]
Tue Dec 12 22:17:42 2006 UTC (7 years, 4 months ago) by thenriksen
Branch: MAIN
Changes since 1.62: +9 -5 lines
Diff to previous 1.62
Fixed presentation-type-specifier-p to do as certain older CLIM
programs expect.

Revision 1.62 - (view) (annotate) - [select for diffs]
Tue Dec 12 18:54:57 2006 UTC (7 years, 4 months ago) by thenriksen
Branch: MAIN
Changes since 1.61: +15 -0 lines
Diff to previous 1.61
Added support for `presentation-type-specifier-p'.

Revision 1.61 - (view) (annotate) - [select for diffs]
Mon Nov 27 07:44:46 2006 UTC (7 years, 4 months ago) by thenriksen
Branch: MAIN
Changes since 1.60: +14 -14 lines
Diff to previous 1.60
The presentation history functions are now named more sensibly.

Also, a change to `accept': we add the object to the presentation
history of the type that was asked for, not the type that was
returned. Input history should work in the Listener now (but there are
still issues for non-trivial forms, unfortunately).

Revision 1.60 - (view) (annotate) - [select for diffs]
Wed Nov 22 14:53:12 2006 UTC (7 years, 4 months ago) by thenriksen
Branch: MAIN
Changes since 1.59: +135 -18 lines
Diff to previous 1.59
Added new presentation methods for pathnames, based on the ones in
ESA. We now have completion and an attempt at handling the multide of
evils that a programmer can inflict upon a poor CLIM implementations
attempt to textually represent a pathname object. I do not claim these
methods are fail-proof, so please show some restraints wrt. what kind
of nastyness you feed them.

Revision 1.59 - (view) (annotate) - [select for diffs]
Mon Nov 20 09:00:56 2006 UTC (7 years, 4 months ago) by thenriksen
Branch: MAIN
Changes since 1.58: +18 -3 lines
Diff to previous 1.58
Added support for navigating presentation histories in Drei. Use M-p
and M-n to browse previous input for a specific presentation type.

Revision 1.58 - (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.57: +12 -17 lines
Diff to previous 1.57
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
gadgets.

Revision 1.57 - (view) (annotate) - [select for diffs]
Wed May 10 11:18:42 2006 UTC (7 years, 11 months ago) by crhodes
Branch: MAIN
CVS Tags: McCLIM-0-9-3
Changes since 1.56: +1 -1 lines
Diff to previous 1.56
typo-in-comment fix

Revision 1.56 - (view) (annotate) - [select for diffs]
Fri May 5 10:24:02 2006 UTC (7 years, 11 months ago) by crhodes
Branch: MAIN
Changes since 1.55: +0 -21 lines
Diff to previous 1.55
Many more generic function defgenerics in decls.lisp
... moving some out from their individual files.
... one or two tiny code cleanups

I think the only substantive changes in this commit are:
* remove the workaround for sbcl-0.9.8 broken forward-referenced-class
  metacircularity;
* delete the unused uniform-design protocol-class;
* put the standard-sheet-input-mixin as a superclass of
  standard-extended-input-stream, not of the protocol class
  extended-input-stream.
If someone wants to tell me that these things are wrong, that's fine; at
least some things appear still to work.

Now we only emit 209 style warnings when loading mcclim under sbcl.
(When compiling and loading, it's closer to 500).

This commit cures all but a few redefinition style-warnings -- so now
almost all generic functions are defined before the first method
definition is seen.  It doesn't cure implicit definition of generic
function style warnings, so there are probably plenty of specified
generic functions which are not explicitly defined.  (Leaving aside the
issues with unspecified generic functions)

TODO:
* DEFGENERIC* forward declarations
* specified methods and macros
* specified special variables
* unification of protocol-classes and decls

Revision 1.55 - (view) (annotate) - [select for diffs]
Sat Apr 1 07:58:36 2006 UTC (8 years ago) by tmoore
Branch: MAIN
Changes since 1.54: +3 -2 lines
Diff to previous 1.54
Change the input editing text cursor from the disturbing outline to solid. Do something a bit more intelligent with presentation-type-of and structure objects.

Revision 1.54 - (view) (annotate) - [select for diffs]
Mon Mar 20 08:15:26 2006 UTC (8 years, 1 month ago) by tmoore
Branch: MAIN
CVS Tags: McCLIM-0-9-2
Changes since 1.53: +1 -0 lines
Diff to previous 1.53
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.53 - (view) (annotate) - [select for diffs]
Wed Mar 15 15:38:39 2006 UTC (8 years, 1 month ago) by tmoore
Branch: MAIN
Changes since 1.52: +16 -5 lines
Diff to previous 1.52
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.52 - (view) (annotate) - [select for diffs]
Sun Mar 12 23:09:27 2006 UTC (8 years, 1 month ago) by tmoore
Branch: MAIN
Changes since 1.51: +26 -15 lines
Diff to previous 1.51
drag-and-drop, not quite working yet

Revision 1.51 - (view) (annotate) - [select for diffs]
Fri Mar 10 21:58:13 2006 UTC (8 years, 1 month ago) by tmoore
Branch: MAIN
Changes since 1.50: +29 -38 lines
Diff to previous 1.50
Move most protocol class definitions into protocol-classes.lisp, which
is compiled and loaded early. Some class definitions, which had slot
definitions that I didn't have the stomach to tease apart, stayed
behind.

Replace the presentation documentation state mechanism with
updating-output so that other functions / programs can write to the
pointer documentation area and not screw things up. We still use the
state to actually print the documentation.

Revision 1.50 - (view) (annotate) - [select for diffs]
Wed Jan 18 14:07:36 2006 UTC (8 years, 3 months ago) by tmoore
Branch: MAIN
Changes since 1.49: +19 -8 lines
Diff to previous 1.49
Changed DEFGENERIC* and DEFMETHOD* to use a private name for the
generic function defined. This avoids warnings from some systems that
don't like having a defsetf macro and a setf function for the same
place. This is an invasive change; *RECOMPILE YOUR FILES*.

Cleaned up some duplicate definitions in decls.lisp, transforms.lisp.

Integrated Troels Henriksen's patch for :insert-default in ACCEPT.

Revision 1.49 - (view) (annotate) - [select for diffs]
Wed Jan 4 09:45:35 2006 UTC (8 years, 3 months ago) by tmoore
Branch: MAIN
Changes since 1.48: +21 -21 lines
Diff to previous 1.48
fix behavior of :allow-sensitive-inferiors in with-output-as-presentation. It was disabling  the current presentation as well as the inferiors.

Revision 1.48 - (view) (annotate) - [select for diffs]
Fri Sep 2 11:36:48 2005 UTC (8 years, 7 months ago) by mretzlaff
Branch: MAIN
Changes since 1.47: +3 -1 lines
Diff to previous 1.47
In response to: http://article.gmane.org/gmane.lisp.mcclim.devel/724

We reSIGNAL the condition now before the call to ABORT, to give outer
handlers a chance to say "I know how to handle this" (as Christophe
Rhodes has put it).

Revision 1.47 - (view) (annotate) - [select for diffs]
Thu Sep 1 02:59:11 2005 UTC (8 years, 7 months ago) by mretzlaff
Branch: MAIN
Changes since 1.46: +12 -9 lines
Diff to previous 1.46
Section 23.7.1 "Defining Presentation Translators" of the clim spec
says in the subsection on DEFINE-PRESENTATION-ACTION:

    Note that the tester for presentation actions is always assumed to be
    definitive.

This hasn't been the case until now for McCLIM.

In addition to this the lambda-list of DEFINE-DRAG-AND-DROP-TRANSLATOR
has been revised a bit. (Note that I couldn't find a sentence in the
spec that specifies the default value for the parameter MENU, but the
other three define-translator macros have all t as the default.
Nevertheless, most of the parameters are ignored right now.)

Revision 1.46 - (view) (annotate) - [select for diffs]
Thu Aug 25 20:24:10 2005 UTC (8 years, 7 months ago) by mretzlaff
Branch: MAIN
Changes since 1.45: +66 -65 lines
Diff to previous 1.45
This patch HANDLER-BINDs the ABORT-GESTURE condition to #'abort
for the function ACCEPT in presentation-defs.lisp.

ABORT-GESTURE is the condition that is signaled when any of the
gestures in *ABORT-GESTURES* is read (in STREAM-READ-GESTURE).
Right now *ABORT-GESTURES* contains only :abort on mcclim, which
is a the keyboard gesture (#\c :control) (on Genera it contains
#\Abort, the ABORT-key).

I do not find explicitly in the clim specification that an ACCEPT
should be aborted on an ABORT-GESTURE, but it seems to be the
right thing (and I have to admit that I haven't been looking very
hard).

I did short tests with ACCEPTING-VALUES and it seems to behave
correctly with this patch, i.e. the whole dialog will be aborted.
But perhaps it would be nicer if, as long as a gadget of the
dialog is selected, only the edit of that gadget were aborted.

Revision 1.45 - (view) (annotate) - [select for diffs]
Mon Aug 8 17:15:07 2005 UTC (8 years, 8 months ago) by crhodes
Branch: MAIN
Changes since 1.44: +1 -1 lines
Diff to previous 1.44
One-line patch to presentation-single-box handling, from Dave Murray
(27th July 2005, mcclim-devel)

Revision 1.44 - (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.43: +33 -6 lines
Diff to previous 1.43
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
command.

Some fixes to default processing.

Revision 1.43 - (view) (annotate) - [select for diffs]
Fri Feb 25 14:15:17 2005 UTC (9 years, 1 month ago) by tmoore
Branch: MAIN
CVS Tags: McCLIM-0-9-1
Changes since 1.42: +10 -1 lines
Diff to previous 1.42
Changed the handling of "empty input" for the purposes of returning a
default value from ACCEPT. I eliminated the around method on
STREAM-READ-CHAR that looked for activation/delimiter gestures and
replaced it with an error handler on SIMPLE-PARSE-ERROR. The major
effect of this is that (accept 'string) now return the empty string
if the call to ACCEPT is not passed a default; other accept methods
can return something useful for empty input too. This fixes some
problems in the address book demo and with dialogs in general.

Revision 1.42 - (view) (annotate) - [select for diffs]
Tue Feb 22 14:00:11 2005 UTC (9 years, 1 month ago) by tmoore
Branch: MAIN
Changes since 1.41: +18 -9 lines
Diff to previous 1.41
Fixed presentation highlighting to do the right thing in the
:SINGLE-BOX NIL case.

Fixed Goatee to not draw anything when drawing is not enabled for the
stream.

Changed input editing streams to never put activation gestures in the
input buffer. There is only one place to receive an activation
gesture: the end of the buffer. If the user types an activation
gesture, the insertion pointer is moved to the end of the buffer.

Fixed various problems with accepting-values. In particular, the
insertion pointer does not need to be left at the end of a field when
the user exits the dialog. Also, the behavior in the presence of
errors new: if an error occurs while the user is typing in an
accepting-values field, the bell is beeped and the insertion pointer
is positioned before the stream position where the error occured.

Revision 1.41 - (view) (annotate) - [select for diffs]
Sat Jan 22 22:31:08 2005 UTC (9 years, 2 months ago) by tmoore
Branch: MAIN
Changes since 1.40: +7 -3 lines
Diff to previous 1.40
In presentation method (present t t t textual-view), do the right
thing with the :acceptably keyword argument i.e., arrange for Common
Lisp to throw an error for unreadable stuff.

Revision 1.40 - (view) (annotate) - [select for diffs]
Wed Jan 19 22:44:46 2005 UTC (9 years, 2 months ago) by tmoore
Branch: MAIN
Changes since 1.39: +9 -6 lines
Diff to previous 1.39
For CLOS objects, make presentation-type-of return the name of the class if possible

Revision 1.39 - (view) (annotate) - [select for diffs]
Tue Jan 11 13:02:19 2005 UTC (9 years, 3 months ago) by tmoore
Branch: MAIN
Changes since 1.38: +41 -1 lines
Diff to previous 1.38
Implement :SINGLE-BOX properly.:SINGLE-BOX NIL is the default, but
McCLIM has ignored it. This changes (for the better) the behavior of
applications.

Implement PRESENTATION-REFINED-POSITION-TEST.

If the view argument to ACCEPT is a list, apply MAKE-INSTANCE to the
list to obtain the view.

Fix a bug in dialogs that prevented moving on to the next text field
after hitting return.

Define a new view type, TEXT-FIELD-VIEW, that is used in
dialogs. This view has a WIDTH parameter.

Revision 1.38 - (view) (annotate) - [select for diffs]
Sun Jan 2 05:28:38 2005 UTC (9 years, 3 months ago) by ahefner
Branch: MAIN
Changes since 1.37: +5 -4 lines
Diff to previous 1.37
Fix presentation system bug which produced incorrect results for
presentation-type-of.

Revision 1.37 - (view) (annotate) - [select for diffs]
Sun Dec 5 19:37:52 2004 UTC (9 years, 4 months ago) by hefner1
Branch: MAIN
Changes since 1.36: +1 -1 lines
Diff to previous 1.36
Applied delatin1ification patch from Christophe Rhodes.

Revision 1.36 - (view) (annotate) - [select for diffs]
Sat Oct 30 23:03:16 2004 UTC (9 years, 5 months ago) by hefner1
Branch: MAIN
Changes since 1.35: +1 -6 lines
Diff to previous 1.35
Fix to last commit, remove leftover code left floating around.

Revision 1.35 - (view) (annotate) - [select for diffs]
Sat Oct 30 21:14:22 2004 UTC (9 years, 5 months ago) by hefner1
Branch: MAIN
Changes since 1.34: +25 -5 lines
Diff to previous 1.34
Add a PRESENTATION-TYPE-OF method for STRUCTURE-OBJECTs.

Revision 1.34 - (view) (annotate) - [select for diffs]
Sun Oct 24 15:47:02 2004 UTC (9 years, 5 months ago) by moore
Branch: MAIN
Changes since 1.33: +4 -3 lines
Diff to previous 1.33
Implemented :ALIGN-PROMPTS in ACCEPTING-VALUES. This was harder than
it sounds, requiring several changes and cleanups:

Moved the call to PROMPT-FOR-ACCEPT from ACCEPT to STREAM-ACCEPT. The
spec vaguely hints that ACCEPT is responsible for drawing the prompt,
but that makes things like wrapping the calls to PROMPT-FOR-ACCEPT
and ACCEPT-PRESENT-DEFAULT inside a table formatting directive hard
to do. This shouldn't affect any user code.

Made Goatee input streams play nice with output recording. Added the
notion of a NEWLINE-CHARACTER to Goatee buffers; NIL is valid, so one
can construct Goatee areas that will only have one line. This
eliminates a lot of ugliness from ACCEPTING-VALUES dialogs.

Fixed a few Goatee bugs.

Revision 1.33 - (view) (annotate) - [select for diffs]
Wed Oct 6 12:03:56 2004 UTC (9 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.32: +1 -1 lines
Diff to previous 1.32
Changed STREAM-DESIGNATOR-SYMBOL to take a default value
argument. The value corresponding to T isn't always *STANDARD-OUTPUT*.

Fixed a problem in the incremental redisplay code checked in
recently: the output record that holds an updating output record's
children wasn't always created.

Some tweaks (in progress) to ACCEPTING-VALUES.

Revision 1.32 - (view) (annotate) - [select for diffs]
Sat Jul 24 15:07:50 2004 UTC (9 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.31: +28 -29 lines
Diff to previous 1.31
Change invoke-with-new-output-record and invoke-with-output-to-output-record
to take a constructor argument, as per the Franz CLIM user
manual. This permits one to call make-instance with a constant class
argument, which can be a big win in some
implementations. Change with-new-output-record and friends to use
this new form. This change requires a recompile of user code.

Change stream-write-output to take a width argument. If the width of
the string is already available (and it usually is), this saves an
extra call to the expensive function stream-string-width.

Revision 1.31 - (view) (annotate) - [select for diffs]
Fri Jul 23 12:36:44 2004 UTC (9 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.30: +103 -6 lines
Diff to previous 1.30
dragging-output and drag-output-record. I rewrote the tracking-pointer
implementation to follow a little protocol. Work is in progress on
presentation drag-and-drop translators.

The :incremental-redisplay option in a pane specification can be a
list of arguments that will be passed to the call to redisplay. This
change is described in the Franz user manual.

Added some checks of :check-overlapping in the incremental redisplay
code.

Changed funcall-presentation-generic-function to call the private
generic function directly, bypassing
%funcall-presentation-generic-function.

Added the :parent keyword to invoke-with-new-output-record.

Optimized the table layout code a bit. Avoid traversing the whole
table hierarchy: stop at the level of interest. Use arrays instead of
lists in adjust-table-cells.

Patch for SBCL package locks from Nikodemus Siivola
(tsiivola@cc.hut.fi).

Listener SBCL fixes from Christophe Rhodes (csr21@cam.ac.uk)

Revision 1.30 - (view) (annotate) - [select for diffs]
Tue Jun 1 17:29:59 2004 UTC (9 years, 10 months ago) by gilbert
Branch: MAIN
Changes since 1.29: +1 -1 lines
Diff to previous 1.29
WITH-INPUT-CONTEXT: Only declare variables ignorable which are
actually defined.

Revision 1.29 - (view) (annotate) - [select for diffs]
Fri Apr 23 19:29:49 2004 UTC (9 years, 11 months ago) by moore
Branch: MAIN
Changes since 1.28: +20 -11 lines
Diff to previous 1.28
Changes to turn off, and then turn on again, presentation highlighting
when redrawing a pane, with the aim of fixing various screwups that
happen with tricky presentation highlighting that uses
+flipping-ink+. As part of this I removed redisplay-changed-panes and
rewrote the CLIM standard functions redisplay-frame-panes,
redisplay-frame-pane, and pane-redisplay-needed. I did various
refactoring among methods on panes, frames, and
updating-output-mixin too.

Moved a bunch of :initform forms to :default-initargs.

Random (declare (ignore ...)) to shut up compiler warnings.

Revision 1.28 - (view) (annotate) - [select for diffs]
Wed Mar 31 13:31:20 2004 UTC (10 years ago) by moore
Branch: MAIN
Changes since 1.27: +71 -93 lines
Diff to previous 1.27
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.27 - (view) (annotate) - [select for diffs]
Wed Mar 24 09:30:29 2004 UTC (10 years ago) by moore
Branch: MAIN
Changes since 1.26: +90 -42 lines
Diff to previous 1.26
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
	inside-out.

	* 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.26 - (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.25: +10 -17 lines
Diff to previous 1.25
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.25 - (view) (annotate) - [select for diffs]
Tue Jan 20 16:07:26 2004 UTC (10 years, 2 months ago) by moore
Branch: MAIN
Changes since 1.24: +222 -75 lines
Diff to previous 1.24
Presentation histories. The new goatee command C-M y works reasonably
well in the listener demo. More testing and user documentation is needed.

Work in progress on the OpenGL backend.

Revision 1.24 - (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.23: +9 -65 lines
Diff to previous 1.23
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.23 - (view) (annotate) - [select for diffs]
Wed Nov 19 13:51:17 2003 UTC (10 years, 5 months ago) by moore
Branch: MAIN
Changes since 1.22: +8 -5 lines
Diff to previous 1.22
Plausable implementation of presentation-single-box

Some work-in-progress on window streams

"Fix" the Macintosh issue where the Delete key doesn't work

Make some changes suggested by Strandh to flexivector and refactor it
so flexivectors with general contents can be easily derived.

Add note about CMUCL and mp::*idle-process*

Add note about run-test

Revision 1.22 - (view) (annotate) - [select for diffs]
Thu Oct 30 07:08:26 2003 UTC (10 years, 5 months ago) by moore
Branch: MAIN
CVS Tags: McCLIM-0-9
Changes since 1.21: +9 -9 lines
Diff to previous 1.21
A small cleanup: don't use the "secret" names of presentations in
return-from forms.

Some additional Listener support for openmcl-0.14.

Revision 1.21 - (view) (annotate) - [select for diffs]
Thu Oct 9 20:32:37 2003 UTC (10 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.20: +2 -1 lines
Diff to previous 1.20
Remove compile-time dependency on CLOS class metaclasses.

Revision 1.20 - (view) (annotate) - [select for diffs]
Thu Oct 9 19:15:34 2003 UTC (10 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.19: +26 -5 lines
Diff to previous 1.19
Change handling of activation gestures and their effect on the input
editing stream. A stream now becomes activated when
stream-read-gesture sees the gesture (not stream-process-gesture),
and a stream is "deactivated" if the activation gesture is unread.

In (method accept form ...) suppress all activation gestures while
read-preserving-whitespace is processing input. This enables
multi-line input of forms.

Add (method accept pathname ...) so you don't have to type quotes
around pathnames in the listener demo.

Revision 1.19 - (view) (annotate) - [select for diffs]
Mon Oct 6 16:55:47 2003 UTC (10 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.18: +52 -5 lines
Diff to previous 1.18
Add support for (accept 'form) to read and
read-preserving-whitespace. Don't let presentation-replace-input do
anything when rescanning.

Revision 1.18 - (view) (annotate) - [select for diffs]
Wed Oct 1 21:35:27 2003 UTC (10 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.17: +14 -1 lines
Diff to previous 1.17

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
application.

Revision 1.17 - (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.16: +13 -3 lines
Diff to previous 1.16
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.16 - (view) (annotate) - [select for diffs]
Fri Mar 21 21:36:59 2003 UTC (11 years ago) by mikemac
Branch: MAIN
Changes since 1.15: +1 -1 lines
Diff to previous 1.15
make all of the package names passed to in-package be lowercase keywords for ACL's java mode

Revision 1.15 - (view) (annotate) - [select for diffs]
Mon Nov 11 08:31:23 2002 UTC (11 years, 5 months ago) by moore
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14
Hack around lack of string stream class in CMUCL/SBCL

Revision 1.14 - (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.13: +79 -26 lines
Diff to previous 1.13
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.13 - (view) (annotate) - [select for diffs]
Tue Nov 5 06:56:04 2002 UTC (11 years, 5 months ago) by adejneka
Branch: MAIN
Changes since 1.12: +1 -1 lines
Diff to previous 1.12
Do not declare used variables to be IGNOREd.

Revision 1.12 - (view) (annotate) - [select for diffs]
Tue Sep 24 01:56:30 2002 UTC (11 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.11: +14 -15 lines
Diff to previous 1.11
Fixed bug reported by Paul Werkowski; coordinate sequences can now be
lists or vectors.  Introduced a do-sequence macro that has similar
semantics to dotimes and dolist as well as features of map-sequence.

Implemented frame-state (except for :shrunk).  Changed timing of when
frames are generated, adopted and enabled to follow the spec.  Fixed
clim-fig to adapt to this new world order.  Disable the frame when the
top level function exits.

Remove erroring methods for copy-to-pixmap (stream ...) and friends.

Wrote a with-keywords-removed macro that attempts to be efficient
about about removing arguments from argument lists.

Revision 1.11 - (view) (annotate) - [select for diffs]
Fri Sep 6 02:47:16 2002 UTC (11 years, 7 months ago) by moore
Branch: MAIN
Changes since 1.10: +3 -2 lines
Diff to previous 1.10
John Wiseman's (aka lemonodor) contributions for McCLIM with OpenMCL on Mac OS
X.

Revision 1.10 - (view) (annotate) - [select for diffs]
Tue Aug 20 05:14:28 2002 UTC (11 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.9: +1 -1 lines
Diff to previous 1.9
Typos.

Revision 1.9 - (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.8: +41 -12 lines
Diff to previous 1.8

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.8 - (view) (annotate) - [select for diffs]
Sun Aug 11 16:23:52 2002 UTC (11 years, 8 months ago) by mikemac
Branch: MAIN
Changes since 1.7: +1 -1 lines
Diff to previous 1.7
don't set :acceptably to T

Revision 1.7 - (view) (annotate) - [select for diffs]
Thu Aug 8 07:44:18 2002 UTC (11 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.6: +7 -4 lines
Diff to previous 1.6
Handle key events for modifier keys in order to keep track of modifier
state.  Implement keyboard-event-character.  Store coordinates of
pointer in key events.  Don't set the sheet of key events to the sheet
with focus.

The wait test and input handler functions now respond to key events.
The frame pointer documentation functions react if the modifier state
has changed.

Make a little protocol out of the pointer documentation update
operation.

Fix typo: too many n's in find-innnermost-presentation-context.

Revision 1.6 - (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.5: +0 -1 lines
Diff to previous 1.5
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.5 - (view) (annotate) - [select for diffs]
Fri Aug 2 12:00:40 2002 UTC (11 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.4: +6 -6 lines
Diff to previous 1.4
* INPUT-CONTEXT-WAIT-TEST: Removed bogus IGNORE declaration.

* WITH-INPUT-CONTEXT: Added IGNORABLE declaration.

Revision 1.4 - (view) (annotate) - [select for diffs]
Wed Jul 31 07:44:30 2002 UTC (11 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.3: +24 -2 lines
Diff to previous 1.3
Editable text fields.  Support for the OR presentation type.  Added
:mcclim to *features*.

This was done in support of Jochen Schmidt's weird-irc IRC client,
which now works reasonably well under McCLIM, though it isn't as
pretty as some of the screenshots at http://www.dataheaven.de/weird-irc/.

Revision 1.3 - (view) (annotate) - [select for diffs]
Tue Jun 25 02:01:42 2002 UTC (11 years, 9 months ago) by moore
Branch: MAIN
Changes since 1.2: +2 -2 lines
Diff to previous 1.2
Changed implementation of low-level streams code once again.  This
does away with the fill-vector stream buffer and uses the event queue
directly.  Sorry mikemac, I should have listened to you :) If this
change isn't controversial I'll write something in the manual about
this deviation from the spec.  By default all panes in a frame now share the
same event queue.  I believe this mimics the behaviour of real CLIM.

Could people who aren't doing multiprocessing -- e.g. SBCL users --
give this a try?  It should fix the existing streams/presentation
breakage.

Revision 1.2 - (view) (annotate) - [select for diffs]
Fri May 31 06:20:28 2002 UTC (11 years, 10 months ago) by moore
Branch: MAIN
Changes since 1.1: +2 -2 lines
Diff to previous 1.1
class-name and compute-applicable-methods are in the common-lisp
package and aren't in clim-mop anymore.

Use safe-cpl, which forces class inheritance to be finalized, instead
of clim-mop:class-precedence-list.  This fixes problems seen in ACL.

Revision 1.1 - (view) (annotate) - [select for diffs]
Thu May 30 06:44:17 2002 UTC (11 years, 10 months ago) by moore
Branch: MAIN
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
eval-when.

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