/[mcclim]/mcclim/utils.lisp
ViewVC logotype

Log of /mcclim/utils.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.47 - (view) (annotate) - [select for diffs]
Sun Mar 4 22:37:36 2007 UTC (7 years, 1 month ago) by ahefner
Branch: MAIN
CVS Tags: HEAD, McCLIM-0-9-5, McCLIM-0-9-6
Changes since 1.46: +1 -1 lines
Diff to previous 1.46
Fix parse-space, the unit name is :inches, not :inch (that's what all the
backends use, anyway).

Revision 1.46 - (view) (annotate) - [select for diffs]
Sun Oct 29 11:58:58 2006 UTC (7 years, 5 months ago) by thenriksen
Branch: MAIN
CVS Tags: McCLIM-0-9-3, McCLIM-0-9-4, mcclim-0-9-4
Changes since 1.45: +6 -1 lines
Diff to previous 1.45
Added working `with-system-redefinition-allowed' for CLISP.

Revision 1.45 - (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.44: +2 -2 lines
Diff to previous 1.44
Patches from dtc for Scieneer Common Lisp, and a few other fixes too.

Revision 1.44 - (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.43: +15 -0 lines
Diff to previous 1.43
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.43 - (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.42: +1 -28 lines
Diff to previous 1.42
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.42 - (view) (annotate) - [select for diffs]
Thu Dec 1 11:10:55 2005 UTC (8 years, 4 months ago) by gbaumann
Branch: MAIN
Changes since 1.41: +17 -11 lines
Diff to previous 1.41
- added more DEFGENERICs
- fiddled with a few IGNORE declarations
- with CMUCL, macros no longer attempt to declare special variables
  IGNORABLE

Revision 1.41 - (view) (annotate) - [select for diffs]
Mon Mar 14 22:03:05 2005 UTC (9 years, 1 month ago) by tmoore
Branch: MAIN
Changes since 1.40: +10 -0 lines
Diff to previous 1.40
Start removing uses of the infamous dada macro.

Revision 1.40 - (view) (annotate) - [select for diffs]
Wed Feb 2 11:33:59 2005 UTC (9 years, 2 months ago) by tmoore
Branch: MAIN
CVS Tags: McCLIM-0-9-1
Changes since 1.39: +1 -1 lines
Diff to previous 1.39
Hammered on with-room-for-graphics. It should now leave the cursor in
the right place and do the right thing with respect to recording
options.

Changed with-drawing-options to not rebind its medium argument at all.

Added :label and :scroll-bars arguments to with-menu which are
currently ignored.

Revision 1.39 - (view) (annotate) - [select for diffs]
Mon Dec 20 15:50:22 2004 UTC (9 years, 3 months ago) by bhaible
Branch: MAIN
Changes since 1.38: +1 -1 lines
Diff to previous 1.38
(get-environment-variable): Add support for CLISP.

Revision 1.38 - (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.37: +3 -3 lines
Diff to previous 1.37
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.37 - (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.36: +15 -0 lines
Diff to previous 1.36
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.36 - (view) (annotate) - [select for diffs]
Fri Jul 23 12:36:45 2004 UTC (9 years, 8 months ago) by moore
Branch: MAIN
Changes since 1.35: +19 -1 lines
Diff to previous 1.35
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.35 - (view) (annotate) - [select for diffs]
Wed Mar 24 09:30:29 2004 UTC (10 years ago) by moore
Branch: MAIN
Changes since 1.34: +40 -0 lines
Diff to previous 1.34
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.34 - (view) (annotate) - [select for diffs]
Sat Feb 7 04:36:10 2004 UTC (10 years, 2 months ago) by mikemac
Branch: MAIN
Changes since 1.33: +1 -1 lines
Diff to previous 1.33
fix typo - David Lichteblau

Revision 1.33 - (view) (annotate) - [select for diffs]
Tue Jan 20 16:07:26 2004 UTC (10 years, 3 months ago) by moore
Branch: MAIN
Changes since 1.32: +13 -2 lines
Diff to previous 1.32
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.32 - (view) (annotate) - [select for diffs]
Mon Oct 20 11:48:29 2003 UTC (10 years, 6 months ago) by mikemac
Branch: MAIN
CVS Tags: McCLIM-0-9
Changes since 1.31: +22 -2 lines
Diff to previous 1.31
add support for CMUCL package lock per Eric Marsden

Revision 1.31 - (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.30: +28 -0 lines
Diff to previous 1.30

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.30 - (view) (annotate) - [select for diffs]
Mon Aug 18 13:37:06 2003 UTC (10 years, 8 months ago) by mikemac
Branch: MAIN
Changes since 1.29: +1 -1 lines
Diff to previous 1.29
added missing arg - Christophe Rhodes

Revision 1.29 - (view) (annotate) - [select for diffs]
Thu Jul 31 09:35:29 2003 UTC (10 years, 8 months ago) by hefner1
Branch: MAIN
Changes since 1.28: +3 -1 lines
Diff to previous 1.28
Attempting to merge Neonsquare's fixes for LispWorks.

Revision 1.28 - (view) (annotate) - [select for diffs]
Thu Jun 26 21:34:51 2003 UTC (10 years, 9 months ago) by hefner1
Branch: MAIN
Changes since 1.27: +1 -0 lines
Diff to previous 1.27
Christophe Rhodes' SBCL cleanups.

Revision 1.27 - (view) (annotate) - [select for diffs]
Sun Jun 8 00:45:36 2003 UTC (10 years, 10 months ago) by gilbert
Branch: MAIN
Changes since 1.26: +60 -0 lines
Diff to previous 1.26
- use GEN-INVOKE-TRAMPOLINE, STREAM-DESIGNATOR-SYMBOL and trivial
  trampoline macro expansions everywhere

- MAP-OVER-ROW-CELLS and MAP-OVER-COLUMN-CELLS now use
  MAP-OVER-BLOCK-CELLS and not the other way round.

- BLOCK-OUTPUT-RECORD
  included as mixin into STANDARD-TABLE-ROW and
  STANDARD-TABLE-COLUMN to keep TABLE-ROW and TABLE-COLUMN "pure"
  protocol classes.

- STANDARD-ITEM-LIST-OUTPUT-RECORD now also inherits from
  BLOCK-OUTPUT-RECORD-MIX.

- MAP-OVER-ITEM-LIST-CELLS is implemented by means of
  MAP-OVER-BLOCK-CELLS.

- doing away with the EMPTY-STANDARD-TABLE-OUTPUT-RECORD and
  CHANGE-CLASS hack, because I fear this might break in case
  somebody adds its own OR. It breaks anyway if there are
  intervening records.
  Also: The spec demands that there is a
  STANDARD-TABLE-OUTPUT-RECORD with appropriate behavior. In theory
  the user could have written formatting-table himself.

- we have just one ADJUST-TABLE-CELLS now.

- fixed bugs:
    - min-width was not working correctly
    - baseline alignment was missing
    - intervening OR were not allowed

- row-wise works now.

- PARSE-SPACE moved to utils.lisp

- OUTPUT-RECORD-BASELINE
  Generic function declaration in decls.lisp

Revision 1.26 - (view) (annotate) - [select for diffs]
Wed May 28 18:42:44 2003 UTC (10 years, 10 months ago) by gilbert
Branch: MAIN
Changes since 1.25: +11 -1 lines
Diff to previous 1.25
DO-SEQUENCE:
    Added a of-type fixnum declaration

GEN-INVOKE-TRAMPOLINE:
    New helper function for macros. I am not that happy with its name
    though.

Revision 1.25 - (view) (annotate) - [select for diffs]
Sun May 25 10:34:49 2003 UTC (10 years, 10 months ago) by gilbert
Branch: MAIN
Changes since 1.24: +10 -0 lines
Diff to previous 1.24
STREAM-DESIGNATOR-SYMBOL: new helper function for the WITH-xyz macros.

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

Revision 1.23 - (view) (annotate) - [select for diffs]
Tue Jan 28 08:17:41 2003 UTC (11 years, 2 months ago) by moore
Branch: MAIN
Changes since 1.22: +11 -1 lines
Diff to previous 1.22
Output record values are stored in stream coordinates, not user (post
medium transformation) coordinates.

All medium state values are stored in output records by individual
mixin classes that are assembled for each output record type.

Medium parameters are only set in replay-output-record, not set and
restored.  Medium values are set/restored in replay.

Checkpoint of incremental redisplay, currently disabled.

Implement match-output-record.

Revision 1.22 - (view) (annotate) - [select for diffs]
Wed Nov 20 16:27:43 2002 UTC (11 years, 5 months ago) by gilbert
Branch: MAIN
Changes since 1.21: +7 -0 lines
Diff to previous 1.21
Fix of _some_ instances of symbol name creation via FORMAT.
Further I deleted the "nifty" version of EVENT-TYPE.

Revision 1.21 - (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.20: +2 -1 lines
Diff to previous 1.20
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.20 - (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.19: +12 -9 lines
Diff to previous 1.19
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.19 - (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.18: +76 -0 lines
Diff to previous 1.18
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.18 - (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.17: +2 -1 lines
Diff to previous 1.17
John Wiseman's (aka lemonodor) contributions for McCLIM with OpenMCL on Mac OS
X.

Revision 1.17 - (view) (annotate) - [select for diffs]
Tue Aug 6 02:22:44 2002 UTC (11 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.16: +1 -0 lines
Diff to previous 1.16
* ORF: new macro.

Revision 1.16 - (view) (annotate) - [select for diffs]
Fri Aug 2 12:01:04 2002 UTC (11 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.15: +27 -1 lines
Diff to previous 1.15
* MAYBE-FUNCALL, some anaphoric macros added.

Revision 1.15 - (view) (annotate) - [select for diffs]
Sat Jul 13 07:56:48 2002 UTC (11 years, 9 months ago) by adejneka
Branch: MAIN
Changes since 1.14: +36 -1 lines
Diff to previous 1.14
* WITH-METHOD: new macro.

Revision 1.14 - (view) (annotate) - [select for diffs]
Sun Jun 16 03:28:12 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.13: +32 -23 lines
Diff to previous 1.13
LETF supports multiple value places.

Revision 1.13 - (view) (annotate) - [select for diffs]
Sat Jun 15 11:25:55 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.12: +3 -0 lines
Diff to previous 1.12
* NCONCF: New macro.

Revision 1.12 - (view) (annotate) - [select for diffs]
Thu Jun 13 07:17:28 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.11: +7 -0 lines
Diff to previous 1.11
* WITH-GENSYMS: new macro.

Revision 1.11 - (view) (annotate) - [select for diffs]
Fri May 31 02:33:16 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.10: +0 -1 lines
Diff to previous 1.10
* Removed bogus SHADOW

Revision 1.10 - (view) (annotate) - [select for diffs]
Thu May 23 06:55:05 2002 UTC (11 years, 10 months ago) by moore
Branch: MAIN
Changes since 1.9: +10 -1 lines
Diff to previous 1.9
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.

Revision 1.9 - (view) (annotate) - [select for diffs]
Wed Apr 3 02:36:59 2002 UTC (12 years ago) by moore
Branch: MAIN
Changes since 1.8: +5 -0 lines
Diff to previous 1.8
Fix to updating-output macro to make it work with CMUCL.
New maxf and minf modify macros.
Overhaul of recording.lisp:
fix typo of map-over-overlaping-region -> map-over-overlapping-region
Suppress recompute-extent-for-changed-child when setffing
output-record-position
Strictly separate class structure into protocol classes and implementation
classes

Revision 1.8 - (view) (annotate) - [select for diffs]
Tue Feb 26 16:11:25 2002 UTC (12 years, 1 month ago) by mikemac
Branch: MAIN
Changes since 1.7: +7 -0 lines
Diff to previous 1.7
reworked *default-server-path* handling

Revision 1.7 - (view) (annotate) - [select for diffs]
Fri Feb 22 19:06:25 2002 UTC (12 years, 1 month ago) by gilbert
Branch: MAIN
Changes since 1.6: +26 -1 lines
Diff to previous 1.6
CURRY
ALWAYS
    Added these meta-functions, hope nobody objects.

Revision 1.6 - (view) (annotate) - [select for diffs]
Thu Feb 21 03:00:35 2002 UTC (12 years, 1 month ago) by gilbert
Branch: MAIN
Changes since 1.5: +23 -0 lines
Diff to previous 1.5
Spend a minimal DEFINE-PROTOCOL-CLASS.

For now its only functionality:

 . it prevents instantiation.
 . it defines the protocol predicate

Later we might want some way to define the associated protocol.

Revision 1.5 - (view) (annotate) - [select for diffs]
Sun Feb 10 01:14:15 2002 UTC (12 years, 2 months ago) by gilbert
Branch: MAIN
Changes since 1.4: +7 -1 lines
Diff to previous 1.4
CLAMP
    New function.
    Was panes.lisp: DO-IN initally.

Revision 1.4 - (view) (annotate) - [select for diffs]
Thu Feb 7 23:49:09 2002 UTC (12 years, 2 months ago) by gilbert
Branch: MAIN
Changes since 1.3: +50 -0 lines
Diff to previous 1.3
MAP-REPEATED-SEQUENCE
    New tool.

Revision 1.3 - (view) (annotate) - [select for diffs]
Tue Dec 4 16:17:53 2001 UTC (12 years, 4 months ago) by mikemac
Branch: MAIN
Changes since 1.2: +1 -0 lines
Diff to previous 1.2
LETF didn't bind the STORE-VAL gensym

Revision 1.2 - (view) (annotate) - [select for diffs]
Wed Aug 1 12:52:01 2001 UTC (12 years, 8 months ago) by rouanet
Branch: MAIN
Changes since 1.1: +39 -0 lines
Diff to previous 1.1
Moved the LETF macro from recording.lisp to utils.lisp

Revision 1.1 - (view) (annotate) - [select for diffs]
Wed Aug 1 12:49:03 2001 UTC (12 years, 8 months ago) by rouanet
Branch: MAIN
Added a file to put commonly used macros or functions.

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