/[mcclim]/mcclim/stream-input.lisp
ViewVC logotype

Log of /mcclim/stream-input.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.55 - (view) (annotate) - [select for diffs]
Mon Apr 20 09:45:23 2009 UTC (5 years ago) by crhodes
Branch: MAIN
CVS Tags: HEAD
Changes since 1.54: +1 -1 lines
Diff to previous 1.54
Don't try to get the sheet of NIL.  Patch from Juliusz Chroboczek.

(I don't know how to trigger this bug, but it's clearly a bug.)

Revision 1.54 - (view) (annotate) - [select for diffs]
Thu May 1 21:45:23 2008 UTC (5 years, 11 months ago) by thenriksen
Branch: MAIN
Changes since 1.53: +0 -4 lines
Diff to previous 1.53
Fix compile dependencies.

Revision 1.53 - (view) (annotate) - [select for diffs]
Thu May 1 07:48:45 2008 UTC (5 years, 11 months ago) by thenriksen
Branch: MAIN
Changes since 1.52: +17 -31 lines
Diff to previous 1.52
Removed some code duplication in dead key handling.

Revision 1.52 - (view) (annotate) - [select for diffs]
Wed Apr 30 21:27:48 2008 UTC (5 years, 11 months ago) by thenriksen
Branch: MAIN
Changes since 1.51: +69 -1 lines
Diff to previous 1.51
Really Fix dead keys.

Now integrated with the gesture reading machinery in
standard-extended-input-steeam, so it can be circumvented if you
really don't want it by handling events manually.

Revision 1.51 - (view) (annotate) - [select for diffs]
Wed Feb 7 12:44:17 2007 UTC (7 years, 2 months ago) by crhodes
Branch: MAIN
CVS Tags: McCLIM-0-9-5, McCLIM-0-9-6
Changes since 1.50: +6 -9 lines
Diff to previous 1.50
New click-to-focus policy for text-editor gadgets and panes, implemented
for the CLX, Null and gtkairo backends (but gtk_window_get_focus()
hand-inserted into gtkairo/ffi.lisp).

PORT-KEYBOARD-INPUT-FOCUS is now a trampoline to
PORT-FRAME-KEYBOARD-INPUT-FOCUS, a per-port function to set the keyboard
focus for a particular frame.  Not implemented for Beagle or OpenGL
backends.

Now Drei / Goatee gadgets don't have to do their own keyboard
focus handling on arm/disarm any more.  Various kludges sprinkled all
over the place to make this so.

Revision 1.50 - (view) (annotate) - [select for diffs]
Sun Dec 10 23:26:39 2006 UTC (7 years, 4 months ago) by thenriksen
Branch: MAIN
CVS Tags: McCLIM-0-9-4, mcclim-0-9-4
Changes since 1.49: +5 -0 lines
Diff to previous 1.49
Added implementation of `delete-gesture-name'.

Revision 1.49 - (view) (annotate) - [select for diffs]
Fri Oct 27 22:50:40 2006 UTC (7 years, 5 months ago) by thenriksen
Branch: MAIN
CVS Tags: McCLIM-0-9-3
Changes since 1.48: +2 -1 lines
Diff to previous 1.48
Change policy from "gadgets eat all events" to "active gadgets eat all
events".

Revision 1.48 - (view) (annotate) - [select for diffs]
Fri Oct 13 20:15:55 2006 UTC (7 years, 6 months ago) by thenriksen
Branch: MAIN
Changes since 1.47: +0 -2 lines
Diff to previous 1.47
Removed strange half-definition dirt that SBCL could somehow digest,
but which caused errors in CLISP.

Revision 1.47 - (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.46: +3 -26 lines
Diff to previous 1.46
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.46 - (view) (annotate) - [select for diffs]
Wed Mar 15 22:56:54 2006 UTC (8 years, 1 month ago) by tmoore
Branch: MAIN
CVS Tags: McCLIM-0-9-2
Changes since 1.45: +21 -0 lines
Diff to previous 1.45
Patches from dtc for Scieneer Common Lisp, and a few other fixes too.

Revision 1.45 - (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.44: +33 -1 lines
Diff to previous 1.44
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.44 - (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.43: +3 -1 lines
Diff to previous 1.43
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.43 - (view) (annotate) - [select for diffs]
Thu Jun 16 09:27:49 2005 UTC (8 years, 10 months ago) by crhodes
Branch: MAIN
Changes since 1.42: +7 -0 lines
Diff to previous 1.42
Rearrange pointer class hierarchy a little, according to mail message
"pointer protocol class / standard-pointer" mcclim-devel 2005-06-15.

Revision 1.42 - (view) (annotate) - [select for diffs]
Tue Feb 22 14:00:11 2005 UTC (9 years, 2 months ago) by tmoore
Branch: MAIN
CVS Tags: McCLIM-0-9-1
Changes since 1.41: +34 -32 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]
Tue Jan 11 15:33:32 2005 UTC (9 years, 3 months ago) by tmoore
Branch: MAIN
Changes since 1.40: +14 -4 lines
Diff to previous 1.40
Save the last character returned by stream-read-gesture for unreading

Revision 1.40 - (view) (annotate) - [select for diffs]
Thu Oct 14 06:30:11 2004 UTC (9 years, 6 months ago) by hefner1
Branch: MAIN
Changes since 1.39: +29 -16 lines
Diff to previous 1.39
Improved (fixed) support for keystroke accelerators
---------------------------------------------------

File commands.lisp:

add-command-to-command-table: When given a keystroke, call
add-keystroke-to-command-table.
%add-keystroke-item: Changed error handling logic, added support for
literal keystroke specifications
remove-keystroke-from-command-table: When searching keystroke
accelerators, use :test #'equal


New function partial-command-from-name, which given a command name
produces a command whose
requried args are *unsupplied-argument-marker*

lookup-keystroke-command-item: Add support for keystroke accelerators
which specify only a command name. A partial command is created via
partial-command-from-name.

Class command-parsers: Added slots required-args and keyword-args,
needed in order to construct a partial command.

%define-command: Init required/keyword arguments in command-parser
object

read-command-using-keystrokes: Invoke partial command parser if a
partial command is returned.


File events.lisp:

Add :wheel-up and :wheel-down to key-modifier-state-match-p button
mapping. (This has been sitting around my tree for months, but somehow
never got committed..)


File frames.lisp:

In read-frame-command, supply ':use-keystrokes t' by default.


File stream-input.lisp:

Factored the bulk of add-gesture-name out into a new function,
realize-gesture-spec, which converts modifier names to symbols and does
general massaging of the gesture specification. Added translations for
:wheel-up, :wheel-down device names, which have also been sitting around
my tree for months.

realize-gesture-spec: Don't signal an error if the device-name is not
found in +name-to-char+, doing so would preclude the use of
port-specific keyboard gestures.

%event-matches-gesture: In the method specialized on key-press-event and
gesture type :keyboard, compare against the key-name of the event when
there is no key-character available, so that we can match keys/gestures
outside the CL character set via device names.

event-matches-gesture-name-p: Added the ability to match against other
than defined gesture-names. Specifically, it can now match against a
'physical' gesture-spec of the form (type device-name modifier-state).
Matching against characters is also supported.

Fix random typo.


Misc changes
------------

recording.lisp: Comment on 'constructor' arg to
invoke-with-output-recording-options, use of untransform on rotation
angles.

table-formatting.lisp: Supply required 'constructor' arg, which was
missing.

Revision 1.39 - (view) (annotate) - [select for diffs]
Sun Aug 1 05:39:41 2004 UTC (9 years, 8 months ago) by strandh
Branch: MAIN
Changes since 1.38: +1 -1 lines
Diff to previous 1.38
Replaced every call to keyboard-event-key-name by a call to
keyboard-event-character, since the two mostly returned the same thing
anyway.

The plan is to start modifying the contents of the key-name slot of
keyboard events to conform to the spec.  The spec says it should
contain a port-specific symbol, so the plan is to use the names in
keysymdef.lisp (which were derived from the C header file located in
/usr/X11R6/include/X11/keysymdef.h on some machines).

Revision 1.38 - (view) (annotate) - [select for diffs]
Tue Jun 1 18:44:37 2004 UTC (9 years, 10 months ago) by gilbert
Branch: MAIN
Changes since 1.37: +1 -1 lines
Diff to previous 1.37
STREAM-PEEK-CHAR (STANDARD-EXTENDED-INPUT-STREAM):
    Small fix, argument to read-gesture was missing.

Revision 1.37 - (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.36: +2 -0 lines
Diff to previous 1.36
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.36 - (view) (annotate) - [select for diffs]
Fri Apr 23 19:29:49 2004 UTC (10 years ago) by moore
Branch: MAIN
Changes since 1.35: +4 -0 lines
Diff to previous 1.35
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.35 - (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.34: +4 -1 lines
Diff to previous 1.34
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.34 - (view) (annotate) - [select for diffs]
Mon Nov 3 14:02:28 2003 UTC (10 years, 5 months ago) by moore
Branch: MAIN
CVS Tags: McCLIM-0-9
Changes since 1.33: +3 -0 lines
Diff to previous 1.33
snapshot of scigraph for sbcl

Revision 1.33 - (view) (annotate) - [select for diffs]
Tue Jul 29 07:28:44 2003 UTC (10 years, 8 months ago) by hefner1
Branch: MAIN
Changes since 1.32: +4 -1 lines
Diff to previous 1.32
Converting #\Backspace to #\Delete is silly, so don't do that. CL has a
#\Backspace character anyway, whereas #\Delete is mapped to #\Rubout,
exactly the opposite of what we want.

Revision 1.32 - (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.31: +15 -0 lines
Diff to previous 1.31
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.31 - (view) (annotate) - [select for diffs]
Thu May 1 07:26:45 2003 UTC (10 years, 11 months ago) by hefner1
Branch: MAIN
Changes since 1.30: +2 -2 lines
Diff to previous 1.30
Fixed up a couple erroneous calls to ERROR. (~S missing argument)

Revision 1.30 - (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.29: +1 -1 lines
Diff to previous 1.29
make all of the package names passed to in-package be lowercase keywords for ACL's java mode

Revision 1.29 - (view) (annotate) - [select for diffs]
Tue Nov 12 20:07:31 2002 UTC (11 years, 5 months ago) by moore
Branch: MAIN
Changes since 1.28: +2 -1 lines
Diff to previous 1.28
fix use of string-stream that I didn't catch.

Revision 1.28 - (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.27: +8 -1 lines
Diff to previous 1.27
Hack around lack of string stream class in CMUCL/SBCL

Revision 1.27 - (view) (annotate) - [select for diffs]
Mon Nov 11 01:02:22 2002 UTC (11 years, 5 months ago) by moore
Branch: MAIN
Changes since 1.26: +15 -0 lines
Diff to previous 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.26 - (view) (annotate) - [select for diffs]
Sun Nov 10 15:48:57 2002 UTC (11 years, 5 months ago) by gilbert
Branch: MAIN
Changes since 1.25: +2 -8 lines
Diff to previous 1.25
Commit of patch submitted my Oliver Markovic.
Original message:

    Message-ID: <87bs4y1mhh.fsf@draco.home.lan>
    From: Oliver Markovic <qgo@gmx.net>
    To: free-clim@mikemac.com
    Subject: Protocol Classes
    Date: Sat, 09 Nov 2002 22:06:50 +0100

    Hi,

    Attached is a patch, which uses DEFINE-PROTOCOL-CLASS for all protocol
    classes as defined in the spec (not all were using that macro). I also
    added simple docstrings to the macro and changed the error message to
    something more civil :-)

    This should also add some required predicates, which were missing.

    I also noticed that protocol classes were given slots contradicting the
    definition in 2.5: "A protocol class is an "abstract" class with no
    slots and no methods (except perhaps for some default methods) [...]".
    But I guess that's no serious deviation from the spec though.

    greetz,
    --
     Oliver Markovic

Revision 1.25 - (view) (annotate) - [select for diffs]
Mon Oct 14 00:57:27 2002 UTC (11 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.24: +17 -0 lines
Diff to previous 1.24
Added and enabled pointer motion hints for stream panes.  This seems
to make performance snappier on "slow" systems like my iBook + openmcl
+ XDarwin setup.

Added a sheet-motion-hints interface to sheets so that motion hints
can be selectively disabled.  I added support to tracking-pointer to
turn motion hints off; I'm not sure if that's the right thing or not.

Revision 1.24 - (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.23: +41 -1 lines
Diff to previous 1.23

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.23 - (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.22: +11 -9 lines
Diff to previous 1.22
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.22 - (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.21: +6 -4 lines
Diff to previous 1.21
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.21 - (view) (annotate) - [select for diffs]
Wed Jun 26 16:44:46 2002 UTC (11 years, 9 months ago) by moore
Branch: MAIN
Changes since 1.20: +3 -2 lines
Diff to previous 1.20
Change handle-non-stream-event to handle all events for panes that are
not clim-stream-panes.

Revision 1.20 - (view) (annotate) - [select for diffs]
Tue Jun 25 02:01:42 2002 UTC (11 years, 10 months ago) by moore
Branch: MAIN
Changes since 1.19: +91 -101 lines
Diff to previous 1.19
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.19 - (view) (annotate) - [select for diffs]
Mon May 20 20:18:04 2002 UTC (11 years, 11 months ago) by mikemac
Branch: MAIN
Changes since 1.18: +2 -1 lines
Diff to previous 1.18
clean up a bunch of ACL compiler warnings

Revision 1.18 - (view) (annotate) - [select for diffs]
Thu May 9 06:56:22 2002 UTC (11 years, 11 months ago) by moore
Branch: MAIN
Changes since 1.17: +4 -0 lines
Diff to previous 1.17
Major new functionality: command processing with completion.  Check
out the address-book demo.  In it, all commands are available on the
command line.  Completion and editing work.  Prompts for input show up
on *debug-io* for now, but otherwise command input is accepted from
presentations.

2002-05-08  Tim Moore  <moore@bricoworks.com>

	* commands.lisp: Implemented the magic argument parser function
	for commands.  Defined presentation types for command-name and
	command, as well as present and accept methods for them.
	(command-line-parser, command-line-unparser): Implemented.
	(define-command): Changed the :name argument to define-command to
	default to t which goes against the spec; this gives us some
	interesting command line parsing in the address book demo.  I'll
	change it back when we have presentation translators.
	* frames.lisp (default-frame-top-level): changed default prompt to
	"Command: ".  Don't echo results of commands.
	(execute-frame-command): Apply command name to command arguments
	like the spec says.
	* input-editing.lisp (stream-read-gesture): set rescanning to nil
	after reading a new gesture from the underlaying stream.
	(with-delimiter-gestures): Implement.
	(input-editor-format): Direct output to *debug-io* for now.
	(read-token): Handle null gestures, which shouldn't happen, but
	might after a stream is activated.
	(simple-parse-error): Fix :format-control initarg.
	(*completion-gestures*, simple-completion-error, complete-input,
	complete-from-generator, complete-from-possibilities,
	completing-from-suggestions): Implement.
	* ports.lisp (distribute-event): Change sheet of keyboard events
	to the sheet with input focus.
	* presentations.lisp (fake-params-args): Generate dummy args for
	optional and keyword arguments so their defaults don't need to be
	evaluated at compile time.
	(define-presentation-method): Set up a block with the same name as
	the method around the method body.
	(method presentation-typep): default method.
	(method presentation-type-of (standard-object)): Don't fail if the
	presentation type has no parameters.
	(method description (standard-class)): Add.
	(highlight-applicable-presentation): Don't pass through button
	events to the stream; handle them here.
	(accept): Provide a default :default-type argument if :default is
	specified.
	(method stream-accept (standard-input-editing-stream)): add.
	(accept-1): Respect replace-input argument.
	(prompt-for-accept): Work on any stream.
	(prompt-for-accept-1): Tweak default prompt for recursive accept.
	(method present): Define default method.
	(accept-using-read): Take read-eval as an argument.
	(method accept): Define default method.
	(presentation-method presentation-type-of (string)): Return a more
	general result.
	* stream-input.lisp (gesture-name command-delimiter): Define.
	* system.lisp: Reenable the address book demo.

	* Backends/CLX/port.lisp (method realize-mirror (clx-port
	application-pane)): Add to register for pointer motion events.

	* Goatee/buffer.lisp: Added buffer pointers, which maintain their
	relative position across inserts and deletes.
	(bp-buffer-mixin, bp-buffer-line): Classes for buffer pointers.
	Added all the buffer protocol functions for buffer pointers.
	* Goatee/editing-stream.lisp
	(location*-offset*): Old offset-location* :)
	(offset-location*) New function to return a stream offset from a
	buffer location.
	(replace-input): Rewrite to preserve insertion pointer, using
	buffer pointers.
	* Goatee/goatee-command.lisp: Add #\tab as an insertable character.

Revision 1.17 - (view) (annotate) - [select for diffs]
Mon Apr 29 06:02:14 2002 UTC (11 years, 11 months ago) by moore
Branch: MAIN
Changes since 1.16: +7 -4 lines
Diff to previous 1.16
Removed (method handle-event (standard-extended-input-stream t)) which
was breaking repainting (and everything else, no doubt) for streams.
Split its responsibility into methods on key-press-event and
pointer-button-event.

Revision 1.16 - (view) (annotate) - [select for diffs]
Sat Apr 27 08:39:02 2002 UTC (11 years, 11 months ago) by moore
Branch: MAIN
Changes since 1.15: +101 -20 lines
Diff to previous 1.15
Several changes on the road to real input editing.  Make
stream-read-char and friends on extended-input-stream understand :eof
in the Gray stream protocol.  Change handling of activation gestures
in input editing: an input gesture causes an editing stream to be
activated, after which IP goes to FP and further reads beyond that
result in :eof.  Make a couple of cleanups suggested by Robert.

Push return of default values from accept down into the accept
presentation methods.  Eat the activation gesture, if any, at the end
of input when at top level.

Implement abort gestures and accelerator gestures.  Define a
catch-abort-gestures macro that nicely handles abort gestures.

Revision 1.15 - (view) (annotate) - [select for diffs]
Fri Apr 26 17:54:37 2002 UTC (11 years, 11 months ago) by moore
Branch: MAIN
Changes since 1.14: +1 -1 lines
Diff to previous 1.14
Fix various problems found by Robert.

Repair and/or eliminate a bunch of dynamic-extent declarations that I
screwed up.

Revision 1.14 - (view) (annotate) - [select for diffs]
Sun Apr 21 06:15:32 2002 UTC (12 years ago) by strandh
Branch: MAIN
Changes since 1.13: +1 -1 lines
Diff to previous 1.13
Fixed a typo in stream-read-line; the value of the :element-type was not
quoted.

Revision 1.13 - (view) (annotate) - [select for diffs]
Fri Apr 19 22:27:09 2002 UTC (12 years ago) by moore
Branch: MAIN
Changes since 1.12: +144 -94 lines
Diff to previous 1.12
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.12 - (view) (annotate) - [select for diffs]
Tue Mar 12 21:05:06 2002 UTC (12 years, 1 month ago) by moore
Branch: MAIN
Changes since 1.11: +61 -31 lines
Diff to previous 1.11
Checkin to get context sensitive input working with multi-threaded
process-next-event.

Set input focus in run-frame-top-level.  Assume that someday, in the
presence of multiple frames, we'll do the right thing with switching
the input focus from frame to frame.

Added a frame-intercept-event-queue to frames.  process-next-event
examines the frame associated with the pane that has input focus and
puts device events on that frame's queue if desired.

Rewrote stream-input-wait, stream-read-gesture and the
with-input-context input-test and input-handler functions per
mikemac's suggestions.  The with-input-context stuff uses the
intercept queue mechanism now.

Fixed a typo in gadgets.lisp.

Revision 1.11 - (view) (annotate) - [select for diffs]
Thu Feb 28 21:00:10 2002 UTC (12 years, 1 month ago) by mikemac
Branch: MAIN
Changes since 1.10: +1 -1 lines
Diff to previous 1.10
first cut at port-wait-on-event-processing

Revision 1.10 - (view) (annotate) - [select for diffs]
Wed Feb 27 23:13:34 2002 UTC (12 years, 1 month ago) by mikemac
Branch: MAIN
Changes since 1.9: +3 -0 lines
Diff to previous 1.9
make window-manager-delete-event work

Revision 1.9 - (view) (annotate) - [select for diffs]
Tue Feb 26 22:34:14 2002 UTC (12 years, 1 month ago) by mikemac
Branch: MAIN
Changes since 1.8: +2 -1 lines
Diff to previous 1.8
added support for :return as an activation gesture, renamed newline to :newline

Revision 1.8 - (view) (annotate) - [select for diffs]
Sat Feb 23 23:25:59 2002 UTC (12 years, 2 months ago) by mikemac
Branch: MAIN
Changes since 1.7: +25 -19 lines
Diff to previous 1.7
unify the sheet-event-queue and the input buffer

Revision 1.7 - (view) (annotate) - [select for diffs]
Sat Jan 5 05:38:48 2002 UTC (12 years, 3 months ago) by moore
Branch: MAIN
Changes since 1.6: +8 -4 lines
Diff to previous 1.6
Context-sensitive presentations (sans translators) and highlighting.
Fix pointer-event-[xy] to use the sheet native transformation correctly.
Check out the presentation-test demo; not much, but I think it's cool :)

Revision 1.6 - (view) (annotate) - [select for diffs]
Fri Dec 28 17:24:58 2001 UTC (12 years, 3 months ago) by moore
Branch: MAIN
Changes since 1.5: +327 -0 lines
Diff to previous 1.5
Implement extended input streams, stub of input editing streams and enough of
encapsulating streams to support input editing.  A few random bug fixes too.

Revision 1.5 - (view) (annotate) - [select for diffs]
Sun Jan 21 02:23:42 2001 UTC (13 years, 3 months ago) by cvs
Branch: MAIN
Changes since 1.4: +0 -3 lines
Diff to previous 1.4
Grey streams are included by package.lisp as per Paul Werkowski

Revision 1.4 - (view) (annotate) - [select for diffs]
Wed Nov 29 19:47:42 2000 UTC (13 years, 4 months ago) by cvs
Branch: MAIN
Changes since 1.3: +2 -1 lines
Diff to previous 1.3
more output history work -- still not right but closer

Revision 1.3 - (view) (annotate) - [select for diffs]
Fri Aug 25 16:14:06 2000 UTC (13 years, 8 months ago) by cvs
Branch: MAIN
Changes since 1.2: +2 -0 lines
Diff to previous 1.2
Added copyright notice to reflect modifications.

Revision 1.2 - (view) (annotate) - [select for diffs]
Mon Jun 12 12:36:01 2000 UTC (13 years, 10 months ago) by cvs
Branch: MAIN
Changes since 1.1: +3 -0 lines
Diff to previous 1.1
Added use-package of ext for CMU CL to get Gray streams.

Added (shadow 'collect) for CMU to avoid conflict when importing extensions
package.

Revision 1.1.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Thu Jun 8 22:01:12 2000 UTC (13 years, 10 months ago) by mikemac
Branch: initial
CVS Tags: start
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 , to next main 1.55
Initial check-in

Revision 1.1 - (view) (annotate) - [select for diffs]
Thu Jun 8 22:01:12 2000 UTC (13 years, 10 months ago) by mikemac
Branch: MAIN
Branch point for: initial
Initial revision

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