/[mcclim]/mcclim/table-formatting.lisp
ViewVC logotype

Log of /mcclim/table-formatting.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.42 - (view) (annotate) - [select for diffs]
Sat Aug 1 16:10:32 2009 UTC (4 years, 8 months ago) by gbaumann
Branch: MAIN
CVS Tags: HEAD
Changes since 1.41: +2 -2 lines
Diff to previous 1.41
Use force-output instead of finish-output as the latter implies
waiting for an answer from the display server, which is something
we really do not want to do.

Revision 1.41 - (view) (annotate) - [select for diffs]
Sun Nov 9 19:58:26 2008 UTC (5 years, 5 months ago) by ahefner
Branch: MAIN
Changes since 1.40: +2 -1 lines
Diff to previous 1.40
Fit space requirements to output history bounding rectangle automatically
after redisplay and drawing of graphs/tables.

Revision 1.40 - (view) (annotate) - [select for diffs]
Sat Jul 21 14:17:15 2007 UTC (6 years, 8 months ago) by rstrandh
Branch: MAIN
CVS Tags: McCLIM-0-9-5, McCLIM-0-9-6
Changes since 1.39: +1 -0 lines
Diff to previous 1.39
Added IGNORABLE declaration.

Revision 1.39 - (view) (annotate) - [select for diffs]
Fri Mar 10 21:58:13 2006 UTC (8 years, 1 month ago) by tmoore
Branch: MAIN
CVS Tags: McCLIM-0-9-2, McCLIM-0-9-3, McCLIM-0-9-4, mcclim-0-9-4
Changes since 1.38: +0 -8 lines
Diff to previous 1.38
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.38 - (view) (annotate) - [select for diffs]
Sun Oct 24 15:47:02 2004 UTC (9 years, 5 months ago) by moore
Branch: MAIN
CVS Tags: McCLIM-0-9-1
Changes since 1.37: +7 -6 lines
Diff to previous 1.37
Implemented :ALIGN-PROMPTS in ACCEPTING-VALUES. This was harder than
it sounds, requiring several changes and cleanups:

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

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

Fixed a few Goatee bugs.

Revision 1.37 - (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.36: +1 -0 lines
Diff to previous 1.36
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.36 - (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.35: +6 -5 lines
Diff to previous 1.35
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.35 - (view) (annotate) - [select for diffs]
Sun Sep 26 15:57:39 2004 UTC (9 years, 6 months ago) by moore
Branch: MAIN
Changes since 1.34: +3 -2 lines
Diff to previous 1.34
Support for UPDATING-OUTPUT where the display records are moved around
during the course of redisplay. In particular, UPDATING-OUTPUT now
works inside of tables.

Get stream-clear-output from host CL.

Revision 1.34 - (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.33: +36 -19 lines
Diff to previous 1.33
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.33 - (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.32: +175 -118 lines
Diff to previous 1.32
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.32 - (view) (annotate) - [select for diffs]
Thu Jan 15 04:29:11 2004 UTC (10 years, 3 months ago) by moore
Branch: MAIN
Changes since 1.31: +21 -5 lines
Diff to previous 1.31
Some efficiency fixes for table formatting and incremental redisplay. Don't update the parents of row cells until the adjust-table phase. Only consider records on the screen for updating-output (this breaks the got-sheet/lost-sheet stuff I did a few weeks ago; more on that soon). Fix tree-recompute-extent.

Revision 1.31 - (view) (annotate) - [select for diffs]
Thu Sep 11 16:31:07 2003 UTC (10 years, 7 months ago) by hefner1
Branch: MAIN
CVS Tags: McCLIM-0-9
Changes since 1.30: +4 -7 lines
Diff to previous 1.30
Implemented :move-cursor arg for FORMAT-ITEMS.

Revision 1.30 - (view) (annotate) - [select for diffs]
Fri Aug 15 08:32:28 2003 UTC (10 years, 8 months ago) by gilbert
Branch: MAIN
Changes since 1.29: +1 -1 lines
Diff to previous 1.29
ADJUST-ITEM-LIST-CELLS
    y-spacing was not taken into account when row-wise is T.

Revision 1.29 - (view) (annotate) - [select for diffs]
Fri Aug 15 04:50:02 2003 UTC (10 years, 8 months ago) by gilbert
Branch: MAIN
Changes since 1.28: +2 -0 lines
Diff to previous 1.28
FORMATTING-ITEM-LIST
    Fix: The formatted item list no longer appears at (0,0) but where
    the cursor is.

Revision 1.28 - (view) (annotate) - [select for diffs]
Sat Aug 9 20:29:52 2003 UTC (10 years, 8 months ago) by hefner1
Branch: MAIN
Changes since 1.27: +1 -2 lines
Diff to previous 1.27
Tiny fix, if align-y is unspecified, default to :baseline.

Revision 1.27 - (view) (annotate) - [select for diffs]
Tue Jul 29 18:18:18 2003 UTC (10 years, 8 months ago) by mikemac
Branch: MAIN
Changes since 1.26: +1 -1 lines
Diff to previous 1.26
when equalizing the width of columns, use the maximum width of the individual columns

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

Revision 1.24 - (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.23: +116 -30 lines
Diff to previous 1.23
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.23 - (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.22: +4 -26 lines
Diff to previous 1.22
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.22 - (view) (annotate) - [select for diffs]
Sun Aug 18 03:14:43 2002 UTC (11 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.21: +2 -4 lines
Diff to previous 1.21
* INVOKE-FORMATTING-TABLE: Treat MOVE-CURSOR as Gilbert do in graph formatting.

Revision 1.21 - (view) (annotate) - [select for diffs]
Wed Aug 14 10:45:58 2002 UTC (11 years, 8 months ago) by gilbert
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20
PARSE-SPACE
    Forgot the multiplication in the :character and :line case.

Revision 1.20 - (view) (annotate) - [select for diffs]
Wed Aug 14 09:56:25 2002 UTC (11 years, 8 months ago) by gilbert
Branch: MAIN
Changes since 1.19: +1 -1 lines
Diff to previous 1.19
Oops! Typo.

Revision 1.19 - (view) (annotate) - [select for diffs]
Wed Aug 14 09:55:21 2002 UTC (11 years, 8 months ago) by gilbert
Branch: MAIN
Changes since 1.18: +32 -1 lines
Diff to previous 1.18
PARSE-SPACE

    We grok physical units now.

    This implementation lives unter the assumption that an
    extended-output stream is also a sheet and has a graft. This is
    probably true for now, but might not be true in the future. But I
    cannot see any other way find the dimension of physical units and
    pixel units.

    As a note to myself: panes.lisp should borrow that.

Revision 1.18 - (view) (annotate) - [select for diffs]
Sat Aug 3 06:05:38 2002 UTC (11 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.17: +182 -36 lines
Diff to previous 1.17
* Changed treating of some default values.

* Partial implementation of item list formatting.

Revision 1.17 - (view) (annotate) - [select for diffs]
Wed Jun 26 08:06:36 2002 UTC (11 years, 9 months ago) by adejneka
Branch: MAIN
Changes since 1.16: +4 -1 lines
Diff to previous 1.16
* Updated TODO; no code changes.

Revision 1.16 - (view) (annotate) - [select for diffs]
Mon Jun 17 09:04:05 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.15: +51 -5 lines
Diff to previous 1.15
* Implemented multiple column table

Revision 1.15 - (view) (annotate) - [select for diffs]
Sun Jun 16 06:53:38 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.14: +63 -37 lines
Diff to previous 1.14
* FORMATTING-{TABLE,COLUMN,ROW,CELL}: RECORD-TYPE argument is
  evaluated.

* FORMATTING-TABLE: Use INVOKE-FORMATTING-TABLE.

Revision 1.14 - (view) (annotate) - [select for diffs]
Sat Jun 15 11:27:53 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.13: +9 -11 lines
Diff to previous 1.13
* Use WITH-GENSYMS.

* REPLAY-O-R -> REPLAY.

Revision 1.13 - (view) (annotate) - [select for diffs]
Fri Jun 14 06:15:15 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.12: +7 -7 lines
Diff to previous 1.12
* USe MAP-OVER-OUTPUT-RECORDS instead of M-O-O-R-OVERLAPPING-REGION.

Revision 1.12 - (view) (annotate) - [select for diffs]
Mon Jun 3 02:18:44 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.11: +61 -45 lines
Diff to previous 1.11
* String and function space specifications are implemented.

* Parsing of space specifications is performed before drawing.

Revision 1.11 - (view) (annotate) - [select for diffs]
Fri May 31 06:34:27 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.10: +3 -3 lines
Diff to previous 1.10
* FORMATTING-{CELL,ROW,COLUMN}: STREAM is T by default.

Revision 1.10 - (view) (annotate) - [select for diffs]
Thu May 30 05:09:09 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.9: +12 -11 lines
Diff to previous 1.9
* Bogus COORDINATE type declarations was temporarily replaced with
  REAL.

Revision 1.9 - (view) (annotate) - [select for diffs]
Thu May 23 04:10:40 2002 UTC (11 years, 10 months ago) by adejneka
Branch: MAIN
Changes since 1.8: +71 -59 lines
Diff to previous 1.8
* Reformatted.

Revision 1.8 - (view) (annotate) - [select for diffs]
Wed Apr 3 02:36:59 2002 UTC (12 years ago) by moore
Branch: MAIN
Changes since 1.7: +3 -3 lines
Diff to previous 1.7
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.7 - (view) (annotate) - [select for diffs]
Tue Dec 4 16:19:19 2001 UTC (12 years, 4 months ago) by mikemac
Branch: MAIN
Changes since 1.6: +14 -17 lines
Diff to previous 1.6
remove compiler warnings for ACL

Revision 1.6 - (view) (annotate) - [select for diffs]
Thu Oct 25 19:33:21 2001 UTC (12 years, 5 months ago) by mikemac
Branch: MAIN
Changes since 1.5: +1 -1 lines
Diff to previous 1.5
can't use SPACE, it's a Common Lisp symbol

Revision 1.5 - (view) (annotate) - [select for diffs]
Mon Aug 20 12:02:35 2001 UTC (12 years, 7 months ago) by strandh
Branch: MAIN
Changes since 1.4: +9 -9 lines
Diff to previous 1.4
Commented out a number of "ignore" declarations of method parameters
used for dispatch by preceding them by #-cmu.  CMUCL does not consider
such a variable as ignored.

Perhaps someone else can tell me whether other Common Lisp versions
accept the "ignore" declaration without complaining.  If not, we might
as well remove the declarations altogether.

Revision 1.4 - (view) (annotate) - [select for diffs]
Mon Jul 30 14:08:41 2001 UTC (12 years, 8 months ago) by rouanet
Branch: MAIN
Changes since 1.3: +4 -4 lines
Diff to previous 1.3
Modified the code to make use of the newly implemented setf* facility.

Revision 1.3 - (view) (annotate) - [select for diffs]
Mon Jul 30 05:45:31 2001 UTC (12 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.2: +9 -8 lines
Diff to previous 1.2
* Implemented table positioning.

Revision 1.2 - (view) (annotate) - [select for diffs]
Sat Jul 28 08:55:27 2001 UTC (12 years, 8 months ago) by adejneka
Branch: MAIN
Changes since 1.1: +146 -72 lines
Diff to previous 1.1
* PARSE-SPACE: New function.

* Argument RECORD-TYPE was made nonevaluating.

* FORMATTING-CELL: Added ignore declaration for not used argument.

* ADJUST-BLOCK: Now receives vector of sizes.

* ROW-OUTPUT-RECORD: Base class is changed to BLOCK-OUTPUT-RECORD.

* Added support of CELL-MIN-WIDTH, CELL-MIN-HEIGHT.

* Computation of sizes made dependent on stream.

* Added support of equal width columns.

* Added documentation.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Jul 24 05:21:34 2001 UTC (12 years, 8 months ago) by adejneka
Branch: MAIN
Table and item list formatting according to CLIM Spec 17.

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