Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Remove the obsolete system.lisp file.
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.
Patches from dtc for Scieneer Common Lisp, and a few other fixes too.
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 :)
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.
Split up scigraph defsystem so system.lisp will load in sbcl
Add puzzle, demodemo, and dragndrop to the examples system.
Add method-browser to clim-examples system.
Patch from Robert P. Goldman allowing the use of Allegro defsystem without a clash with mk:defsystem.
Implemented a pop-up-menu-view for displaying the completion presentation type in a dialog. Added some documentation for the internals of accepting-values.
Migrate listener system definition into McCLIM/system.lisp. It should now be possible to load the listener by loading McCLIM/system.lisp then loading the clim-listener system and at least one backend system (such as clim-clx). This obsoletes clim-listener.asd.
Add support for CLISP.
Merging text selection functionality, implemented by Gilbert Baumann. Text selection functions are provided by cut-and-paste-mixin, tentatively added to clim-stream-pane. Possibly we want to move it further down the class hierarchy, so users can define stream panes without interference from the selection code. Interaction implemented: Shift-Mouse-L down: clear active selection and set the first point Shift-Mouse-L drag: drag the second point Shift-Mouse-L up: set the second point Shift-Mouse-R down: pick the nearest point, if any Shift-Mouse-R drag: drag said point Shift-Mouse-R up: leave said point where it was dragged to. Shift-Mouse-M: paste
New file Backends/Postscript/encoding.lisp.
apply the SciGraph patch from Raymond Toy
2004-03-24 Timothy Moore <email@example.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.
expand clim-defsystem to all known and loaded defsystem forms
make mk-defsystem the default and issue a continuable error if both ASDF and MK are loaded
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.
wrap gray-streams loading with a without-package-locks from and print a message indicating mp::startup-idle-and-top-level-loops needs to be run, both for CMUCL only
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.
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
gadget-test is dependant on CLX
remove clim-look dependancy on CLX
Attempting to merge Neonsquare's fixes for LispWorks.
simplify sb-thread conditional
Rumor is that SB-THREAD is a feature test for the presence of multithreading in SBCL.
make all #+/#- conditionals lowercase for ACLs java mode
An uninformed attempt of mine to keep system.lisp working for both non-multithreaded and multithreaded SBCL.
Patches for running McCLIM on experimental SBCL threaded version. By Daniel Barlow, also see article <firstname.lastname@example.org>.
Andreas Fuchs' kill ring implementation for Goatee. Fix unbound class-precedence-list in CMUCL problem reported by Gilbert. New year's resolution: test code with CMUCL. Use a Unix domain socket with OpenMCL.
Undone previous commit: SLIDERDEMO conflicts with CALCULATOR.
A frame, created without an explicitely specified frame manager, does not have it.
language support for text-styles, korean font support, support for 16 bit fonts, support for font composition, support for timer events, some cosmetic changes, support for unicode characters, etc. A bit much at once, and hopefully it won't break for anyone who isn't using unicode enabled cmucl.
Added lowering to complement raising. Fixed raising and lowering to draw their backgrounds. Fixed viewport to allocate-space for its child - maybe needs fixing somewhere else.
John Wiseman's (aka lemonodor) contributions for McCLIM with OpenMCL on Mac OS X.
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.
an impementation of DESCRIBE that uses presentations
* Added menu-choose.
* Added text-formatting.lisp
* Moved TRACKING-POINTER to a separate file. * Added tracking of presentations.
* Load encapsulate.lisp after recording.lisp.
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/.
CLIM has its own version of INTERACTIVE-STREAM-P.
Added stub for ACCEPTING-VALUES.
LOAD forms now merge the pathnames against *CLIM-DIRECTORY* to be able to load and compile McCLIM from within other directories.
Multiline display now works in Goatee. The redisplay algorithm leaves a lot to be desired, but is serviceable for small areas. Baby steps towards incremental redisplay.
* Load encapsulate.lisp after stream-output.lisp.
* Added support of multiple mediums per stream. * TEXT-STYLE-MAPPING for postscript streams is implemented and documented. * CLIM-POSTSCRIPT:LOAD-AFM-FILE is documented.
separate out backend defsystems
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.
* Added font metrics.
* WITH-OUTPUT-TO-POSTSCRIPT-STREAM binds STREAM argument to a recording stream.
Implemented macros for the bordered output.
moved :clim-postscript to PostScript
* New backend: postscript stream.
Presentation translators, including define-presentation-to-command-translator and command translators generated by the :gesture option in define-command arguments. With this checkin the address book demo mostly works as intended, except for creating new address book entries. Added builtin-commands.lisp to hold global commands and presentation translators. Added a nifty help command with context sensitive command names.
Meant to check this in last night... sorry guys. Add Goatee/editable-buffer.lisp to system file. presentations.lisp (compile-time-clos-p): Need to query actual CLOS classes too in addition to the compile time database of CLOS classes.
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 <email@example.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.
Many bug fixes in Goatee. Rewrote buffer functions in terms of a "buffer protocol" that will all subclasses to easily track changes to a buffer. Added Goatee conditions, which are handled by execute-gesture-command and produce a satisfying beep. Added Goatee implementation of input editing streams. Adapted standard-input-editing-stream to use Goatee for input editing. Made necessary changes to system file and package definitions. We have input editing! Check it out in the presentation-test demo (run-test 'summation). There is one known glitch: the edited text isn't aligned properly with other text written to the stream. I'll be looking into that shortly.
OpenGL backend now draws stuff (but not much else). Misc cleaning up, some regions debugging.
:clim-looks depends on :clim-clx (for the :CLIM-CLX package[??])
remove obsolete build-everything
moved looks and images to Looks and Images
rearrainged the system names once again
Leave address-book in the Examples!
Besides some support for enabled/disabled sheets in panes.lisp and removal of some unused code, the most notable change is: - removal of all method defintions like (defmethod handle-event ((foo foo-pane) (event window-repaint-event)) (repaint-sheet foo (event-region event)) - Switched last remaining REPAINT-SHEET methods into HANDLE-REPAINT, since HANDLE-REPAINT is where you define repainting. REPAINT-SHEET is for forcing a repaint not for implementing a repaint. [Although I am German my reading comprehension should be just good enough to understand the relevant chapter of the specification]. This breaks CLIM-FIG again, refer to my posting to the mailing list.
Hacked the image code back in. Fixed various breakages from the repackaging of the CLX backend.
Mainly: CLX backends lives in its own package. - added EXT: prefix to stream-read-char - removed some #+NIL'ed code - events.lisp before ports.lisp - added Backends/CLX/package.lisp - commented out Backends/CLX/image and Backends/CLX/clim-extensions, since I broke them
- There is now an IMAGE package which contains PBM read/write functions and images abstract types. I'm not really sur of my package implementation, please check it (the def-package is in image.lisp). - Bug fixes for draw-image and medium-draw-image* which are now in the clim-extensions.lisp file
Supply null handle-event for immediate-sheet-input-mixin. This should fix Brian's problems. Add a couple of text-style trampolines for sheets. Add an eval-when around with-presentation-types-decoded to satisfy ACL. Add a new macro, clim-defsystem, that does the right thing whether using mk:defsystem or not. Add a :clim-frontend target which is the same as the old :clim target; :clim now forces :clim-clx to load. Various fixes on the road to getting Goatee working.
Remove reference to sb-pcl in sheet-adopt-child. Add the medium- accessors for sheets. Get Goatee to compile.
Sundry fixes to run without multiprocessing support. Added images/ to hold bitmaps for tests. Added looks/ to hold neutral look-and-feel realizer packages. Added Examples/gadget-test to test many gadgets with a look and feel. Added a pixie look and feel, and a pixie/clx to work with the clx backend. Added drawing support in the CLX backend for ovals and circles. Fixed pixmaps to work with with-output-to-pixmap with draw-image, etc. Moved sheet-leaf-mixin to standard-gadget-pane so it doesn't break radio-box-pane, etc. Misc fixes.
place holder for updating-output
put the address-book example back in
Toggled compilation order of input.lisp and events.lisp. That's it for tonight.
Fixed presentations.lisp so it will compile without first loading it.
Spend CLIM-LISP system definition. Added "Backends/CLX/keysyms", "Backends/CLX/keysymdef" to CLIM-CLX. presentations.lisp out yet again. *** Can somebody please fix that, finally?! ***
Committed initial code for Goatee emacs-alike editor. This is all completely broken at the moment. Added conditions for errors encountered during accept (spuriously referred to as errors in present in the spec). Added some new accept presentation methods. Changed parse-display-variable to default to not transform an empty host to "localhost" so we get a Unix domain connection instead of a TCP socket.
* Added support of SBCL
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 :)
Rudimentary implementation of accept, with one accept method (for reals) and an example. Split views out into another file so that +textual-view+ can be referenced in the streams code.
Implement extended input streams, stub of input editing streams and enough of encapsulating streams to support input editing. A few random bug fixes too.
should be #+:excl, not #+excl
A first try at implementing presentation type definition, generic functions, and methods. Works under CMUCL; MOP support added for ACL but not tested.
Fixed a forgotten "Lisp-Dep" path.
change path to Lisp-DEP
restructure directory layout
Added component "repaint".
Careful re-commit of what I did on 2001-08-12. Namely - Spend CLIM-LISP package - Provided CLIM-LISP-PATCH for patching your CL - Fixed the package structure to match section 2.2 . CLIM symbols have the CLIM package as home package. . CLIMI then uses CLIM, CLIM-LISP etc. - Fix of WITH-SPECIAL-CHOICES . Early enough definition of macro . Macro calls gf INVOKE-WITH-SPECIAL-CHOICES available for specialization - Added file decls.lisp for random beforehand declarations. - Added CMU-specific fixes in fix-cmu.lisp; . DEFCONSTANT is now DEFPARAMETER (we had this kludge already) . DEFCLASS is now wraped into (EVAL-WHEN (COMPILE EVAL LOAD) #), which helps the compiler a bit and saves a warning here and there.
Added component "utils".
* Added TABLE-FORMATTING.LISP
* Added examples/transformations-test
A small demo showing PostScript medium output. Use (clim-demo::postscript-test) to test it.
CLIM-Fig is a drawing `XFig-like' application whose aim is to provide a so-called `smoke test' to test CLIM features. It's currently early alpha, so don't expect too much! Features include: - Easy color and drawing mode selection (push-buttons); - Line thickness selection with a slider; - Drag and drop smooth and `flicker-free' thanks to pixmaps; - Infinite Undo/Redo function provided at no cost thanks to output-recording. New features will be added regularly.
Patch for SBCL incorporated
Add image in system
Added CLIM-SYS package. --GB
ppm-manager and clx-ppm-manger not yet commited. I'm still working on it.
File name and variables aname of fire.lisp changed for more comprehensive ones. New name is traffic-lights.lisp
Firelights example added
pixmaps are now available. Add a new extensions : draw-glyph (see graphics.lisp). Did the make device-font-text-style.
split into three packages - :clim, :clim-clx, and :clim-examples
rearrange the systems and packages as per Paul Werkowski
Added package :clim-internals.
Added new file "menu" and new demo file "examples/menutest".
Simplified conditional code for mk:defsystem. Added support for CLISP in defsystem.
Replaced sliderdemo by colorslider.
Added support for CLISP.
Replaced address book demo by a slider demo.
Added copyright notice to reflect modifications.
Added calculator demo to list of files.
Added support for mk:defsystem (CMU CL). Removed brectangle file from list. Added coordinates file to list.
check in Arthur Lemmens' <firstname.lastname@example.org> gadget code
:default-package is not needed and breaks CMUCL
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.
|Powered by ViewVC 1.1.5|