Timothy Moore [Tue, 11 Nov 2003 23:45:15 +0000]
Fixed some small bugs that were affecting the demos. clim-fig doesn't
need its own frame-read-command method anymore; in fact, it's breaking
menus. Added a default method on pane-viewport-region for postscript
streams.
Added README file.
Added lacuna to the TODO file.
Andy Hefner [Tue, 11 Nov 2003 06:18:50 +0000]
Documentation for the listener
Andy Hefner [Tue, 11 Nov 2003 06:18:09 +0000]
Expand sequences passed as command arguments
Mike McDonald [Tue, 11 Nov 2003 03:24:56 +0000]
IMAGE-PANE updates from Milan Zamazal
Mike McDonald [Tue, 11 Nov 2003 02:03:59 +0000]
ignore the first definition of convert-from-relative-to-absolute-coordinates
Mike McDonald [Tue, 11 Nov 2003 02:00:39 +0000]
update SBCL instruction per Christophe Rhodes with mods by me
Andy Hefner [Mon, 10 Nov 2003 22:57:57 +0000]
Need a #+CLIM-MP condition in DISOWN-FRAME as well, to prevent trying to
take the event queue of a sheet in single-process mode. (missed this in my
earlier commit)
Andy Hefner [Mon, 10 Nov 2003 22:07:22 +0000]
Applied McCLIM half of Christophe Rhodes' patches for threaded SBCL.
Timothy Moore [Mon, 10 Nov 2003 21:56:07 +0000]
Fix typo
Timothy Moore [Mon, 10 Nov 2003 21:40:34 +0000]
Some cleanup and missing functions
Andy Hefner [Mon, 10 Nov 2003 08:32:52 +0000]
fix-tracking-pointer-args was not returning the arglist if args was already
preceded by &key, breaking menu-choose-from-drawer.
Timothy Moore [Mon, 10 Nov 2003 05:46:33 +0000]
Set up an input context for commands when there's no interactor pane.
Be more liberal in accepting clause arguments for tracking-pointer.
Translate from CLIM line-cap names to XLIB names.
Andy Hefner [Sun, 9 Nov 2003 21:12:05 +0000]
* Support for translation to file://... URLs, used by some mailcap entries
* Fix silly bug in #! reader macro
* Improved documentation and pointer documentation for automagic pathname
commands.
Andy Hefner [Sat, 8 Nov 2003 01:06:51 +0000]
Oops, single-threaded CLIM uses a different input mixin on sheets.
Conditionalized some event queue querying so that hopefully it doesn't
break in that situation.
Andy Hefner [Fri, 7 Nov 2003 20:22:02 +0000]
Fixed erroneous declaration (declared something as simple-vector inside a
(typep coord-seq 'vector) cond clause.
Andy Hefner [Wed, 5 Nov 2003 11:31:38 +0000]
Cleanups related to port-force-output - adopt/disown-frame are the correct
places to change a queue's port. Also, avoid a trip into the debugger in
case somehow these do not get set, since flushing the output buffer is
optional.
Timothy Moore [Tue, 4 Nov 2003 14:52:18 +0000]
More scigraph hacking
Timothy Moore [Tue, 4 Nov 2003 08:53:24 +0000]
Work in progress on scigraph
Andy Hefner [Mon, 3 Nov 2003 15:53:36 +0000]
Oops, default method for note-output-record-got/lost-sheet should be
defined on output-record.
Timothy Moore [Mon, 3 Nov 2003 14:02:28 +0000]
snapshot of scigraph for sbcl
Timothy Moore [Mon, 3 Nov 2003 09:56:24 +0000]
Conditionalization (not complete) of scigraph for McCLIM and OpenMCL
Robert Strandh [Mon, 3 Nov 2003 08:12:35 +0000]
Added a few "ignore" declarations to avoid compiler notes.
Mike McDonald [Sun, 2 Nov 2003 23:56:23 +0000]
change layout of monthly downloads section
Mike McDonald [Sun, 2 Nov 2003 14:26:01 +0000]
added a snapshot directory for download tarballs, etc.
Mike McDonald [Sun, 2 Nov 2003 14:20:22 +0000]
add monthly src snapshot
Andy Hefner [Fri, 31 Oct 2003 20:05:38 +0000]
Default to a sans-serif font for menu items.
Rewrote event loop in menu-choose-from-drawer to use tracking-pointer.
Clicking outside the menu will close the menu, within the current limits of
tracking-pointer (pointer is not grabbed, so CLIM only sees events inside
CLIM windows).
Andy Hefner [Fri, 31 Oct 2003 19:18:41 +0000]
Implement highlight keyword to tracking-pointer.
Andy Hefner [Fri, 31 Oct 2003 19:02:14 +0000]
In :before method on frame-input-context-track-pointer which handles
presentation highlighting, specialize the stream argument on
output-record-stream.
Factor most of frame-input-context-track-pointer into a seperate function,
frame-highlight-at-position, so tracking-pointer can highlight presentations
without kludgery of the event queue.
Timothy Moore [Fri, 31 Oct 2003 11:35:38 +0000]
bring scigraph into repository before hacking McCLIM changes
Timothy Moore [Thu, 30 Oct 2003 07:08:26 +0000]
A small cleanup: don't use the "secret" names of presentations in
return-from forms.
Some additional Listener support for openmcl-0.14.
Andy Hefner [Wed, 29 Oct 2003 23:22:55 +0000]
Removed stupidity.
Timothy Moore [Wed, 29 Oct 2003 13:19:31 +0000]
Fix bug where commands would disappear after entering them. Among
other problems, there was a problem in redisplay-output-record, which
performed a transformation on pane-viewport-region. It seems to me
that pane-viewport-region is already in the right coordinate system,
but maybe someone else can verify this assertion.
Reordered files in system.lisp so that dialog.lisp comes before
builtin-commands.lisp; accepting-values is needed before any commands
are defined.
Andy Hefner [Fri, 24 Oct 2003 05:39:59 +0000]
Extremely minor random changes.
Timothy Moore [Thu, 23 Oct 2003 21:00:00 +0000]
Fix to partial argument processor. It now seems to work.
Added silly two-argument command to the listener.
Take in-package form out of progn in fix-openmcl.lisp.
Timothy Moore [Thu, 23 Oct 2003 05:59:14 +0000]
Christophe Rhodes' improved defgeneric definitions.
Early work on the partial command processor.
Mike McDonald [Wed, 22 Oct 2003 23:39:46 +0000]
openmcl updates from Mikel Evins
Mike McDonald [Mon, 20 Oct 2003 11:48:29 +0000]
add support for CMUCL package lock per Eric Marsden
Mike McDonald [Mon, 20 Oct 2003 11:43:48 +0000]
fix map-over-command-table-menu-items per Milan Zamazal
Andy Hefner [Mon, 20 Oct 2003 01:29:05 +0000]
Various changes for WITH-OUTPUT-AS-GADGET.
Here's what works:
* Embedding gadgets in stream panes.
* Gadget panes will be moved if their containing output record is moved,
either directly or by moving a parent.
* Deleting the gadget-output-record or its parents will remove the gadget.
* Adding the gadget-output-record back into a sheet will restore the gadget.
What needs to be done:
* Figure out how to integrate gadgets with presentations
Summary of changes:
* Two new methods, NOTE-OUTPUT-RECORD-[GOT,LOST]-SHEET, needed to make adding
and deleting of gadget-output-records work. They could use better names =)
* Changes to ADD-OUTPUT-RECORD, DELETE-OUTPUT-RECORD, and CLEAR-OUTPUT-RECORD
to support above methods.
* Output histories now have a slot to keep track of their sheet.
* Removed some code that had snuck into panes.lisp related to input focus and
changable cursor shapes (which I've never comitted).
* Made clim-stream-pane inherit sheet-multiple-child-mixin.
* Removed redundant definition of the OUTPUT-HISTORY slot from stream panes,
and the two uses of the PANE-OUTPUT-HISTORY accessor it defines (which
isn't in the spec nor the vendor CLIMs AFAIK).
Also changes to the slider gadget, which I was using in my test case:
* Wrote a COMPOSE-SPACE method to request a more appropriate size depending
on gadget orientation.
* Merged code in the repaint method that was duplicated for horizontal and
verical orientations.
* Fill the background with PANE-BACKGROUND instead of GADGET-CURRENT-COLOR.
* Commented out slot definition in basic-gadget which caused it to get a white
background instead of the default frmo basic-pane. There was a comment there
about Lispworks compatibility... but hopefully no one misses this.
Andy Hefner [Mon, 13 Oct 2003 23:34:09 +0000]
Frame top-levels are supposed to bind *default-frame-manager*. Added this
to the RUN-FRAME-TOP-LEVEL :AROUND method.
Timothy Moore [Thu, 9 Oct 2003 20:32:37 +0000]
Remove compile-time dependency on CLOS class metaclasses.
Timothy Moore [Thu, 9 Oct 2003 19:15:34 +0000]
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.
Mike McDonald [Thu, 9 Oct 2003 19:06:24 +0000]
use atomic versions of incf and decf for OpenMCL
Mike McDonald [Thu, 9 Oct 2003 18:23:40 +0000]
since only gadget-test only works with CLX and it is the only thing that uses clim-looks, make clim-examples depend on clim-looks only if CLX is loaded
Mike McDonald [Wed, 8 Oct 2003 17:07:31 +0000]
gadget-test is dependant on CLX
Mike McDonald [Wed, 8 Oct 2003 17:00:56 +0000]
remove clim-look dependancy on CLX
Timothy Moore [Wed, 8 Oct 2003 13:48:50 +0000]
In input-editor-format and %replace-input test for rescanning with
stream-rescanning-p, not a bogus test of the scan pointer.
Comment out accept-using-read in Listener/hotfixes.lisp. I realize
we're losing some of the error-handling behavior there, but a bad side
effect of calling read-preserving-whitespace directly on the input
editing stream is that r-p-w calls (accept 'form), so all of sorts of
presentation translators become applicable unexpectedly. With the
patched accept-using-read commented out the graph nodes in the
listener are now acceptable as input to the "Show" commands.
Andy Hefner [Tue, 7 Oct 2003 17:12:14 +0000]
Fixed coord-seq breakage, in several places TRANSFORM-POSITIONS was being
called with with one arg instead of two (missing the transformation argument).
Andy Hefner [Tue, 7 Oct 2003 09:08:26 +0000]
Fixed stupid package-related error - PORT-FORCE-OUTPUT (CLX-PORT) was defined
in the CLIM-CLX package rather than CLIM-INTERNALS, and so never got called.
Hopefully this fixes the CLX output buffering issues.
Timothy Moore [Mon, 6 Oct 2003 16:55:47 +0000]
Add support for (accept 'form) to read and
read-preserving-whitespace. Don't let presentation-replace-input do
anything when rescanning.
Timothy Moore [Wed, 1 Oct 2003 21:35:27 +0000]
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.
Mike McDonald [Wed, 1 Oct 2003 17:14:10 +0000]
fix typos
Mike McDonald [Wed, 1 Oct 2003 12:23:43 +0000]
put Tim Moores paper in CVS and update the webpage link
Andy Hefner [Mon, 29 Sep 2003 20:33:03 +0000]
Load the pixmaps at load time.
Andy Hefner [Sun, 28 Sep 2003 15:27:05 +0000]
Got demodemo running again.
Andy Hefner [Sun, 28 Sep 2003 15:24:03 +0000]
In DEFAULT-FRAME-TOP-LEVEL, if there is no interactor pane to use, call
SIMPLE-EVENT-LOOP.
Andy Hefner [Sat, 27 Sep 2003 19:56:13 +0000]
* Fixed bug in reading mime types lacking slashes in the name
* Slight defsystem cleanup (don't depend on :clim, for mk-defsystem users)
Andy Hefner [Mon, 15 Sep 2003 21:16:34 +0000]
On SBCL, (require :sb-posix).
Andy Hefner [Mon, 15 Sep 2003 21:16:18 +0000]
Lots of changes:
* Use of table formatting for directory listings (like 'ls', but nicer)
* Keywords to control aspects of directory listing (show/hide dotfiles,
hide junk files [autosaves, etc], ...)
* ABBREVIATING-FORMAT-ITEMS
* New command: Show Class Generic Functions (will need patching for lisps
other than CMUCL/SBCL)
* Experimental support for using sb-posix:readdir on SBCL.
* #! macro character for running programs - (#!rm :recursive :force "/") ;)
* Fixed class-related presentation translators
* Cleanup of class graphing code
* Rearranging of Show Class Slots table to take up less space horizonally
* In reader hack, use READ-PRESERVING-WHITESPACE instead of READ - this gives
us more lispm-like behavior (forms activate when you type the closing
paren)
* Other stuff I can't remember.
Andy Hefner [Mon, 15 Sep 2003 15:57:57 +0000]
Fixed bug in COMPLETE-INPUT-RESCAN where if the gesture was not a partial
completer, NIL would be compared against a number.
Andy Hefner [Mon, 15 Sep 2003 15:54:44 +0000]
Added a call to EAT-DELIMITER-OR-ACTIVATOR after each keyword accept
so that it's possible to escape from keyword input in the command processor.
Andy Hefner [Sun, 14 Sep 2003 17:55:56 +0000]
Attempt to address the annoying CLX buffering issues, by calling
XLIB:DISPLAY-FORCE-OUTPUT when applications check their event queues.
* Created a subclass of STANDARD-EVENT-QUEUE called PORT-EVENT-QUEUE, which
knows what port will be putting events on the queue. (Arguably I could've
just added a port slot to STANDARD-EVENT-QUEUE either directly or through
a mixin, or even added a slot for a "force output" hook, but this is what
I've done for now.)
* When creating frames or sheet-with-input-mixins, use PORT-EVENT-QUEUE
instead and initialize the PORT slot.
* Introduced a new method, PORT-FORCE-OUTPUT.
* Wrote :before methods on EVENT-QUEUE-READ, EVENT-QUEUE-PEEK, etc, which
call PORT-FORCE-OUTPUT.
* Before exiting RUN-FRAME-TOPLEVEL, be sure to get the port from the frame
manager and call PORT-FORCE-OUTPUT on that too, to make sure the app
window really goes away when it should instead of being stuck in limbo.
* Also squashed a couple warnings in Backends/CLX/image.lisp from bad format
strings to ERROR.
Andy Hefner [Fri, 12 Sep 2003 22:52:27 +0000]
Factored the pane redisplay logic in the top level loop into its own function,
REDISPLAY-CHANGED-PANES.
Andy Hefner [Fri, 12 Sep 2003 20:25:14 +0000]
stream-output.lisp:
* When moving the cursor as part of normal stream output, modify the cursor
X/Y slots directly, rather than using the SETF method. This prevents the
open output record from being needlessly broken.
recording.lisp:
* TEXT-DISPLAYED-OUTPUT-RECORD-STRING seems to have rotted, fixed it up.
* Fixed bug in RECOMPUTE-EXTENT-FOR-CHANGED-CHILD, bounding rectangles are
now correctly recomputed when a child is deleted.
Andy Hefner [Thu, 11 Sep 2003 16:31:07 +0000]
Implemented :move-cursor arg for FORMAT-ITEMS.
Mike McDonald [Wed, 3 Sep 2003 15:42:29 +0000]
add Andys lisp listener images
Mike McDonald [Wed, 3 Sep 2003 12:29:33 +0000]
add Robert STRANDHs Gsharp images
Andy Hefner [Wed, 3 Sep 2003 12:05:59 +0000]
In DEF-GRECORDING, call TRANSFORM-POSITIONS on the coord-seq.
Mike McDonald [Wed, 3 Sep 2003 00:27:49 +0000]
add images of some of the demos
Mike McDonald [Mon, 1 Sep 2003 19:34:48 +0000]
add Andy to the list of contributors
Andy Hefner [Sun, 31 Aug 2003 14:55:00 +0000]
Fixed bug in CONVERT-VALUE-TO-POSITION for the slider gadget, reported by
Philip Knodle. Decided to do things slightly differently than his patch:
* When the range of the slider is zero, position the button in the center.
Andy Hefner [Sun, 24 Aug 2003 09:21:15 +0000]
Implemented REDISPLAY-FRAME-PANES.
Andy Hefner [Sun, 24 Aug 2003 09:03:36 +0000]
Fufie's installation instructions for SBCL.
Andy Hefner [Sun, 24 Aug 2003 04:35:56 +0000]
Fixed a bug in the text-field-pane - when specifiying an initial value for
the text field, it didn't appear until you cause the pane to be repainted.
The goatee area for the field was being initialized in an :after method
on handle-repaint.
* Removed the unused EXPOSED slot.
* Changed the HANDLE-REPAINT :AFTER method to a :BEFORE method
* Test against (area pane) instead of (exposed pane). Since the latter was
not being set, a new goatee area was being created on every repaint.
Mike McDonald [Mon, 18 Aug 2003 13:37:06 +0000]
added missing arg - Christophe Rhodes
Kevin Rosenberg [Mon, 18 Aug 2003 08:45:16 +0000]
Update for SBCL's renamed function: %simple-fun-arglist
Gilbert Baumann [Sat, 16 Aug 2003 10:40:21 +0000]
DRAW-DESIGN
Cheap implementation for STANDARD-RECTANGLE-SET.
Gilbert Baumann [Fri, 15 Aug 2003 08:32:28 +0000]
ADJUST-ITEM-LIST-CELLS
y-spacing was not taken into account when row-wise is T.
Gilbert Baumann [Fri, 15 Aug 2003 07:05:44 +0000]
New output record class for DRAW-PATTERN*.
Gilbert Baumann [Fri, 15 Aug 2003 06:57:46 +0000]
DRAW-PATTERN*
MEDIUM-DRAW-PATTERN*
Introduced a MEDIUM-DRAW-PATTERN* function to be able to use
DEF-GRECORDING to define an output record class for patterns. As
as how our designs are specified the pattern itself has also to be
moved when the output record is moved.
Gilbert Baumann [Fri, 15 Aug 2003 04:50:02 +0000]
FORMATTING-ITEM-LIST
Fix: The formatted item list no longer appears at (0,0) but where
the cursor is.
Andy Hefner [Fri, 15 Aug 2003 04:35:23 +0000]
Be sure to specify a max size on the major dimension within COMPOSE-SPACE
for the box-adjuster-gadget, so that the gadget doesn't accidentally grow
if one of the resized panes isn't cooperating.
Robert Strandh [Fri, 15 Aug 2003 02:14:29 +0000]
The default methods (the ones that do nothing) on the generic
functions map-over-output-records-mumble now dispatch on the class
displayed-output-record instead of on basic-output-record.
Andy Hefner [Thu, 14 Aug 2003 05:02:36 +0000]
* The spec states that the input-not-of-required-type condition must be a
subtype of PARSE-ERROR (was defined as just ERROR).
* Fixing this also makes ACCEPTing the OR presentation type work correctly.
Gilbert Baumann [Wed, 13 Aug 2003 04:16:57 +0000]
This addresses <
200308122339.h7CNdP806743@saturn.mikemac.com>. Maybe it
is fixed maybe not.
CARE-FOR-NEW-NATIVE-TRANSFORMATION wanted to clear the sheet before
dispatching a repaint and thus needed a medium, but some sheets don't
have a medium. We removed the offending call to MEDIUM-CLEAR-AREA and
depend on HANDLE-REPAINT clearing on itself now.
Mike McDonald [Tue, 12 Aug 2003 23:42:05 +0000]
initial attempt at implementing the :geometry option to define-application-frame
Gilbert Baumann [Tue, 12 Aug 2003 23:17:46 +0000]
Non-negative reals are now spacing values too.
Andy Hefner [Tue, 12 Aug 2003 00:59:31 +0000]
Unmodified the address book.
Andy Hefner [Tue, 12 Aug 2003 00:22:00 +0000]
Made the address book example take advantage of the box-adjuster-gadget.
Andy Hefner [Tue, 12 Aug 2003 00:19:16 +0000]
Added a new gadget, clim-extensions:box-adjuster-gadget. You can put this
within a vertical/horizontal box or rack, and it will adjust the size of the
neighboring clients in the box.
The implementation is not perfect, but it works pretty well, considering I've
made no changes to the box widgets to accomodate it.
Andy Hefner [Tue, 12 Aug 2003 00:01:18 +0000]
Fixed a typo in changing-space-requirements.
Andy Hefner [Mon, 11 Aug 2003 01:42:19 +0000]
Call REPLAY instead of REPLAY-OUTPUT-RECORD from the graph formatter, as our
implementation of the latter does not bother restoring the graphics state.
Do we want to change this?
Gilbert Baumann [Sun, 10 Aug 2003 07:29:55 +0000]
delete one of the two definitions of MAKE-TRANSLATION-TRANSFORMATION.
Andy Hefner [Sat, 9 Aug 2003 20:29:52 +0000]
Tiny fix, if align-y is unspecified, default to :baseline.
Andy Hefner [Sat, 9 Aug 2003 01:34:01 +0000]
Optimizations for text output...
frames.lisp:
Leave the stream text cursor invisible by default.
graphics.lisp:
Make DO-GRAPHICS-WITH-OPTIONS-INTERNAL smarter about not changing the
medium's ink, clipping region, text style, and line style, unless they've
really changed.
panes.lisp:
Removed some dead code (of my own).
recording.lisp:
Rewrote RECOMPUTE-EXTENT-FOR-CHANGED-CHILD. For the most common case of
the child growing while fully containing its original bounding rectangle,
it is possible to compute the parent's new bounding rect without
recomputing the extent of all the children. This is a significant
improvement.
Gilbert Baumann [Sat, 9 Aug 2003 00:55:40 +0000]
Introduced special classes for the identity and translations for both
less consing and less cycles spend.
Mike McDonald [Sat, 9 Aug 2003 00:46:44 +0000]
include SBCL support from Nathan Froyd
Gilbert Baumann [Sat, 9 Aug 2003 00:35:40 +0000]
PANE-VIEWPORT-REGION
We now return the region in the coordinate system of the 'pane'
argument.
Hope this is the right thing to do.
Gilbert Baumann [Wed, 6 Aug 2003 20:26:06 +0000]
Added a "CLIM Layout Protocol for Dummies" section.
Robert Strandh [Tue, 5 Aug 2003 08:20:50 +0000]
RS:
20030805:111640
Changing the sheet-transformation of a pane does not alter its
native transformation, despite the fact that calls are made to
invalidate-cached-transformations and
note-sheet-transformation-changed. Perhaps this code is
responsible:
(defmethod invalidate-cached-transformations ((sheet mirrored-sheet-mixin))
(with-slots (native-transformation device-transformation) sheet
(setf ;; native-transformation nil XXX hm...
device-transformation nil))
(loop for child in (sheet-children sheet)
do (invalidate-cached-transformations child)))