Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Fixed problem with Cancel button in accepting-values. Thanks to Kilian Sprotte for the patch.
FRAME-MANAGER-NOTIFY-USER Use :calling-frame, leave shareing the event queue to the calling frame to what ever magic does it correctly in that case.
Center the label with the text field, since s-o-w-b scrambles the notion of the baseline.
Add new keyword to accepting-values, select-first-query, to automatically select the first field in the dialog (we could do this using an existing keyword, but figuring out the right query ID and getting it where it needed to be looked like too much work). This highlights what I think is an existing bug - the exit buttons often don't work when a field in the dialog is accepting. Minor aesthetic tweaks to accepting-values dialog (change border styles, dress up exit buttons, rearrange some line breaks).
Always finalize the input-editing stream used in accepting-values.
Added more IGNORE declarations.
Committing some old work: implementation of notify-user, with some uncertainty as to how it works in classic CLIM.
Committed patch from Daniel Jensen changing name of ACCEPTING-VALUES command table to ACCEPT-VALUES.
Do some compile-time analysis to remove unreachable-code warnings at compile-time for uses of `accepting-values'.
Now `*use-goatee*' also affects calls to `accept' within `accepting-values'.
Committed changes necessary to support Drei (and non-Goatee input editors at all). Also some indirection permitting run-time selection of editor substrate and the code for :text-editor and :text-field gadgets.
(climi::frame-event-queue *application-frame*) as argument :INPUT-BUFFER to the call of OPEN-WINDOW-STREAM in WITH-STREAM-IN-OWN-WINDOW (was not specified previously). The ugly delay could be dropped, because no new process is created anymore. See http://common-lisp.net/pipermail/mcclim-devel/2005-August/004239.html for more information. (Thanks go to Christophe.) The parameter :LABEL to ACCEPTING-VALUES will now actually be used to label the newly created window if :OWN-WINDOW is true.
A patch against the first bug a patch by me introduced to mcclim. Sorry, that shouldn't have happened.. At least it was only a bug in a feature that the patch introduced (displaying an ACCEPTING-VALUES dialog in its :OWN-WINDOW), and it affected only code that thoughtlessly relied of this new and still broken feature. (Broken because OPEN-WINDOW-STREAM doesn't really work yet. I think there has to be a (redisplay-frame-panes frame) or something like that in its event-loop (that is the function STANDALONE-EVENT-LOOP).)
Patches to dialog.lisp from Max-Gerd Retzlaff.
Changed the handling of "empty input" for the purposes of returning a default value from ACCEPT. I eliminated the around method on STREAM-READ-CHAR that looked for activation/delimiter gestures and replaced it with an error handler on SIMPLE-PARSE-ERROR. The major effect of this is that (accept 'string) now return the empty string if the call to ACCEPT is not passed a default; other accept methods can return something useful for empty input too. This fixes some problems in the address book demo and with dialogs in general.
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.
Implemented a pop-up-menu-view for displaying the completion presentation type in a dialog. Added some documentation for the internals of accepting-values.
Implement :SINGLE-BOX properly.:SINGLE-BOX NIL is the default, but McCLIM has ignored it. This changes (for the better) the behavior of applications. Implement PRESENTATION-REFINED-POSITION-TEST. If the view argument to ACCEPT is a list, apply MAKE-INSTANCE to the list to obtain the view. Fix a bug in dialogs that prevented moving on to the next text field after hitting return. Define a new view type, TEXT-FIELD-VIEW, that is used in dialogs. This view has a WIDTH parameter.
Add new :inset border shape. Use this to surround text fields created by accepting-values. Reduce offset of :drop-shadow border by one pixel, to three pixels. In accepting values dialogs, reclaim the space occupied by the dialog after exiting.
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.
Implement the :INITIALLY-SELECT-QUERY-IDENTIFIER option of ACCEPTING-VALUES. Update the text entry field in ACCEPTING-VALUES when the :DEFAULT argument in the corresponding call to ACCEPT changes. Return the correct third value from ACCEPT when the user enters new input. Add some documentation about INCREMENTAL-DISPLAY and the difference set. Added FIND-PRESENTATION-TYPE-CLASS and CLASS-PRESENTATION-TYPE-NAME which are trivial but which were not implemented. Examples/accepting-values.lisp is a couple of examples from the Franz user guide. Tools/unimplemented.lisp prints out all the symbols in the CLIM package which have no definition.
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.
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.
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.
Work in progress on the OpenGL backend, but nothing's working yet. Refactored the KeySym and modifiers code in the CLX backend so that it can be used by the OpenGL backend too. Fixed a typo in presentation-replace-input; it was always creating accept result extents. Added support in accepting-values for placing the default in the text entry field and fixed several problems that turned up as a result. The completion functions take sequences, not just lists. Also, :allow-any-input was broken.
Fixed Goatee problem with the area not being drawn initially. Implement :move-cursor option to surrounding-output-with-border. Use surrounding-output-with-border in accepting-values to make better-looking entry fields. Establish an abort restart in default-frame-top-level. Paul Werkowski's fix for menu command names. Added Raymond Toy's note about CLX and CMUCL.
Don't define an accessor with a reserved name in Common Lisp, per Paul Werkowski
Some cleanup of deleted Goatee area and screen-line methods. Provide foreground-ink and background-ink slots for Goatee areas. When an updating-output record is deleted, also delete it from its parent cache. This prevents it from "coming back from the dead" later.
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.
Christophe Rhodes' SBCL cleanups.
Back out Andy's fix; accomplish the same thing by calling (setf cursor-position) instead of (setf stream-cursor-position). Replace stream-write-line with stream-write-output and remove some gratuitous calls to make-string when outputing single characters. For the moment I've probably just forced them down to the medium level. Oh well. Start of exploration of accepting-output.
make all of the package names passed to in-package be lowercase keywords for ACL's java mode
Added stub for ACCEPTING-VALUES.
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|