985 lines
38 KiB
Text
985 lines
38 KiB
Text
0.2
|
|
documentation corrections regarding default layout of frame and dialog
|
|
|
|
switchable look-and-feel with (gs:set-look-and-feel <str-spec>)
|
|
now on Windows the Windows look and feel is chosen correctly by default
|
|
|
|
speedup of interpreter
|
|
|
|
0.3
|
|
suppressed nullpointer error when using gs:set-look-and-feel
|
|
|
|
supppress Java error messages on Windows when shuttng down program
|
|
|
|
gs:label now can take optional width height has last parameters
|
|
before ann extra gs:set-size statement was necessary
|
|
|
|
width and height specified in gs:button did not work, does now
|
|
(note that for all other buttons/check-box an extra gs:set-size
|
|
must still be used to change the size, it will not be added as
|
|
optional parameters, as it is almost never used)
|
|
|
|
now image-button can take pressed icon path after the normal path
|
|
(gs:image-button 'TheButton "/local/run32.png" "/local/run32p.png")
|
|
|
|
now gs:set-color working on frames and dialogs too
|
|
|
|
font-demo.lsp showing the fonts built-in on all platforms
|
|
|
|
new gs:text-pane for HTML and RTF (future version) formatted text
|
|
see html-demo.lsp for a demo.
|
|
|
|
0.4
|
|
allow multiple re-starts from same newlisp process, this works together
|
|
with (gs:listen true)
|
|
|
|
parenthesis matching in text-pane and tab-size working on text-pane,
|
|
will only work on "text/plain" flavore of text-pane
|
|
|
|
console.lsp now remembers last directory in file dialogs save/load
|
|
|
|
console.lsp now has list boxes for browsing contexts and variables
|
|
|
|
changed split-pane syntax adding divider size, leaving out width/height
|
|
which can be set with extra set-size if required
|
|
|
|
combo-box and list-box life update now works and updates the screen
|
|
correctly
|
|
|
|
new gs:clear-list empties out a combo-box or list-box
|
|
eliminated redundant 'action' parameter on message-dialog
|
|
|
|
new confirm-dialog similar to message-dialog but 'yes', 'no' and optional
|
|
'cancel' button and fires an event.
|
|
|
|
0.5
|
|
gs:set-size now works on frames
|
|
|
|
new gs:remove-from removes one or more components from a container
|
|
|
|
new gs:select-text, gs:cut-text, gs:copy-text and gs:paste-text
|
|
with suport for system clipboard, new gs:insert-text
|
|
|
|
gs:set-background/set-color now can take a list for the r g b
|
|
color components
|
|
|
|
list-box now also fires event on key-entering a selection, previously only
|
|
on mouse-double-click
|
|
|
|
avoid Java "index out of bound messages" in parenthesis matching
|
|
|
|
restructured text-area and text-pane event:
|
|
(define (action-handler id code dot mark) ...)
|
|
|
|
id = name of text widget
|
|
code = code of character
|
|
dot = caret position
|
|
mark = selection position
|
|
|
|
if there is no selection then dot and mark are equal
|
|
if only the caret was moved then code is 65535 (16bit -1)
|
|
|
|
working logic for highlighting of cut/copy save/saveAs buttons and
|
|
related menu items in console.lsp
|
|
|
|
working logic of maintaining directories and filenames in commonly
|
|
established fashion between file operations
|
|
|
|
NOTE, console.lsp has been little tested, do not use in production,
|
|
no confirmation dialogs yet for overwiting files, save before new, etc.
|
|
|
|
NOTE that console.lsp is broken on Windwos because iof filepath issues
|
|
and CR-LF issues in parenhesis matching
|
|
|
|
many documentain fixes
|
|
|
|
0.6
|
|
gs:set-font working on combo-box and list-box
|
|
|
|
parenthesis matching in text-pane working now on Windows too
|
|
|
|
file operations working in console.lsp on Windows
|
|
|
|
confirm dialog for new button in console when edit buffer is touched
|
|
|
|
eliminated crashes with bigger results in output area of console
|
|
|
|
context stays selected in console
|
|
|
|
console new button action will not reset current directory for file operations
|
|
|
|
request-focus now works on text-area and text-pane
|
|
|
|
eliminate Java error messages on listboxes
|
|
|
|
new gs:select-list-item selects a list box or combo box item
|
|
|
|
documentation changes for border-layout and others
|
|
fixed many documantatin formatting problems
|
|
|
|
0.7
|
|
because of a change in gs:listen in v. 0.6 all error messages from
|
|
guiserver where suppresses, which made debugging difficult. Some applications
|
|
running in guiserver v.0.6 may fail now because error messages are enabled
|
|
again. E.g. misspelled or missing action handlers would cause no harm
|
|
in v.0.6, but will let exit an application with an error message in v.0.7.
|
|
|
|
gs:window creates a wimndow without any border and system bar. On MacOX X
|
|
when setting the background in such a window to
|
|
(gs:set-background 'thewindow 0 0 0 0)
|
|
totally transparent, the window will be invisible and widgets ppaced on it
|
|
seem to float on the desktop (e.g. text from labels)
|
|
|
|
the second to- parameter in gs:select-text is now optional and the function
|
|
will select all text from the from- position to the end of the text.
|
|
|
|
0.8
|
|
text-panes and text-areas did not scroll after ading to tab, fixed
|
|
added action event to gs:tabbed-pane
|
|
(gs:tabbed-pane <sym-id> <sym-action> <str-orientation>
|
|
[<sym-widget> <sym-tab-title> ...])
|
|
the event reports: tabbed-pane-id tab-id tab-title.
|
|
|
|
console.lsp project renamed to newlisp-console.lsp instead, which is a
|
|
multi tab lisp editor with run button and console window
|
|
|
|
in scrollable text-pane and text-area after gs:set-text will scroll
|
|
to the beginning, after gs:append-text will scroll to end
|
|
|
|
can use gs:set-text in the tabs of a gs:tabbed-pane
|
|
|
|
can use gs:set-icon in the tabs of a gs:tabbed-pane
|
|
|
|
more demos: frameless-demo.lsp and clipboard-demo.lsp
|
|
|
|
0.9
|
|
Several functions to retrieve system properties:
|
|
gs:get-version - gets the GUI server version number
|
|
gs:get-screen - gets width, height and resolution of the screen
|
|
gs:get-fonts - gets all fonts on the current system
|
|
|
|
The following system variables can be used after a property function has
|
|
been call once:
|
|
gs:version - the version number
|
|
gs:screen - list of screen parameters
|
|
gs:fonts - list of all fonts
|
|
Once a function has been callled onlyt the variables should be used
|
|
for efficiency
|
|
|
|
two new demos: properties-demo.lsp, allfonts-demo.lsp
|
|
|
|
increased possible text size for events from 100K to 1000M
|
|
(mainly for editor)
|
|
|
|
for do-nothing buttons or or other widgets specify 'gs:no-action as
|
|
action-handler
|
|
|
|
0.93 First 2D canvas and mouse stuff
|
|
gs:set-select now working for toggle-button, radio-butoon, check-box
|
|
|
|
gs:mouse-clicked, gs:mouse-dragged, gs:mouse-moved, gs:mouse-pressed
|
|
and gs:mouse-released
|
|
|
|
new demos mouse-demo.lsp shapes-demo.lsp animation-demo.lsp
|
|
|
|
gs:draw-line, gs:draw-rect, gs:draw-circle
|
|
gs:fill-rect, gs:fill-circle (raound-rect and ellipse in next version)
|
|
|
|
gs:paint (gs:stroke for line width in next version)
|
|
|
|
gs:delete-tag to delete a tagged group of shapes
|
|
gs:moce-tag to move a tagged group of shapes
|
|
|
|
0.94
|
|
fixed message box in newlisp-edit.lsp when no c:\temp on Windows
|
|
|
|
gs:paint renamed to gs:set-paint
|
|
|
|
last gs:set-paint now gets correctly taken when now color is specified in
|
|
shapes or text
|
|
|
|
now different fonts on same canvas don't overwrite previous
|
|
|
|
documentation for draw-text had syntax in reverse
|
|
all graphics functions now sorted into all other Functions
|
|
spellchecked documentation
|
|
|
|
lines are now movable too
|
|
|
|
gs:set-canvas - onlye used for switching between muliple canvases
|
|
gs:set-translation - move coordinate origin
|
|
gs:set-scale - scales up or down
|
|
gs:set-stroke - sets drawing line width and optional cap, join and miter limit
|
|
gs:draw-arc - draw an arc outline
|
|
gs:fill-arc - paints a filled arc
|
|
|
|
new stroke-demo.lsp - shows lines and outlimes with different strokes and round
|
|
line ends
|
|
|
|
GUI-server signon message now contains version number. Note that in the future
|
|
newLISP binary installers for Mac OS X and Win32 icons will be placed in the
|
|
Mac OX X application folder and Win32 desktop for the newlisp-edit.lsp application.
|
|
Then the signon and connection messages will be unvisible. They are more thought
|
|
as a debugging aid duwing development.
|
|
|
|
On Mac OS X and UNIX applications can be started this way to close the terminal/shell
|
|
window:
|
|
newlisp newlisp-edit.lsp & exit
|
|
this places the GUI-server process into the background and closes the termonal/shell
|
|
|
|
0.95
|
|
fixed newlisp-edit.lsp temporal directory detection (again, thanks Sleeper)
|
|
|
|
gs:move-tag did not distinguish between tags, fixed
|
|
|
|
gs:set-select can take multiple id, flag pairs, fixed
|
|
|
|
gs:split-pane divider width in split-pane did not work, fixed
|
|
|
|
new gs:draw-ellipse - draws an elllipse outline
|
|
new gs:fill-ellipse - fills an elllipse
|
|
|
|
new gs:set-translation of the canvas origin coordinates
|
|
new gs:set-rotation set the rotation of the canvas
|
|
|
|
all tag transforms below add to the affine transform matrix
|
|
already in the canvas
|
|
|
|
new gs:hide-tag - hides objects of a tag group
|
|
new gs:scale-tag - scales an object up or down
|
|
new gs:translate-tag - translates the coordinate origin of a tag group
|
|
new gs:show-tag - shows objects of a tag group
|
|
new gs:rotate-tag - function for rotating objects
|
|
new gs:shear-tag - function for shearing objects
|
|
|
|
like gs:move-tag all other functions work on any shape, text
|
|
or image.
|
|
|
|
shaped-demo.lsp modified to show funtioning of gs:hide-tag and gs:show-tag
|
|
via selecting or de-selecting shapes with check boxes
|
|
|
|
gs:mouse-wheel - register mouse wheel events
|
|
|
|
mouse-demo.lsp - modified to show mouse wheel events
|
|
|
|
animaton-demo.lsp - modified to show the mouse wheel move text up/down
|
|
|
|
new rotation-demo.lsp to show rotating objects
|
|
new image-demo - shows image zzomin, turning and squashing
|
|
new textrot-demo - shows text rotation
|
|
|
|
gs:draw-text has optional angle parameter (but can also be titled
|
|
using gs:rotate-tag, see sample program text-rotation.lsp)
|
|
|
|
all tag operations have optional flag to turn of screen update
|
|
this is recommended when using several tag commands in a batch
|
|
to do only one screen update at the end using gs:update
|
|
the default for this flag is 'true' for doing the update.
|
|
|
|
On all other systems except Mac OS X, double buffering is tried for
|
|
flicker free performance when animating graphics on systems other than
|
|
the Mac. The performance of this depends on the graphics cards used.
|
|
Performance was execellent on 2 Windows system I tried, one of them
|
|
4 years old.
|
|
|
|
0.96
|
|
gs:scale-tag, gs:translate-tag and gs:rotate-tag add to the affine transform matrix
|
|
already in the canvas (it was wrongly stated before that gs:translate-tag
|
|
if not accumulative, but it is like all others)
|
|
|
|
Corrections in the doc about the behaviour of gs:set-translation, gs:set-scale
|
|
and gs:set-rotation. Again: they are all absolute, while tag operations are
|
|
accumulative.
|
|
|
|
rotation-demo.lsp and image-demo.lsp have been changed using gs:translate-tag
|
|
instead the global canvas gs:set-translation. This makes it possible to
|
|
rotate or scale several tags at the same time, using gs:translate-tag
|
|
to supply each tag group its own center (set to 0,0). This leads also
|
|
to better readable code. All object cooridnates to rotate or zoom are
|
|
best defined in reference to a 0,0 center point and then moved to their
|
|
pace with gs:translate-tag. See also description of gs:scale-tag in documentation.
|
|
|
|
net gs:get-font-metrics - returns width and height of a string to display
|
|
new gs:draw-round-rect - draw a rectangle with round corners
|
|
new gs:full-round-rect - fill a rectangle with round corners
|
|
new gs:draw-polygon - draws a polygon with 3 to N points
|
|
new gs:fill-polygon - fill a polygon with 3 to N points
|
|
new gs:set-cursor - set one of 14 cursor shapes
|
|
|
|
new cursor-demo.lsp tot show different cursor shapes
|
|
|
|
0.97
|
|
gs:mouse-dragged fired invalid events when not defined but gs:mouse-clicked
|
|
was defined.
|
|
|
|
gs:mouse-pressed, gs:mouse-released and gs:mouse-clicked now take an optional
|
|
'true' parameter. This makes events carry a list of tags, which have been
|
|
affected by one of the above mouse actions. This can be used to implement
|
|
object dragging (see the new drag-demo.lsp) it also opens the possibility
|
|
of creating self-drawn custom controls on a canvas because clicks can be
|
|
detected on tags. The code mouse-demo.lsp has been simplified to detect
|
|
tags to delete by using the tag list in the mouse-clicked event.
|
|
|
|
events generated by gs:mouse-pressed, gs:mouse-released, gs:mouse-clicked
|
|
and gs:mouse-dragged besides the new tags spec also carry a number for
|
|
modifier keys, e.g. pressing ctrl or shift while clicking the mouse.
|
|
See the modified moused-demo.lsp.
|
|
|
|
gs:text-pane and gs:text-area now can register gs:mous-clicked events
|
|
in the newlisp-edit.lsp app a popup has been implemented as a right click
|
|
(or ctrl-click for one-button mouse) to popup an edit menu.
|
|
|
|
new drag-demo.lsp
|
|
|
|
Point detection is implemented for closed shapes, images and text. Precise
|
|
deletection is done for images, text, polygons and rectangles, but for
|
|
circles and ellipses the whole rectangle enclosing the shape is used
|
|
for calculations. A precise point detection limited only to the inside
|
|
of the circle or ellipse will be implemented at a later time.
|
|
|
|
Images must carry width and height parameters in the gs:draw-image statement.
|
|
Drawn text is detected by calculating the enclosing rectangle.
|
|
|
|
new gs:draw-path - similar to polygon but the path may stay unclosed.
|
|
new gs:export - exports to an image file in png in RGB + alpha channel
|
|
format.
|
|
|
|
Note that detection will fail if scaling or translation has been used to
|
|
for the canvas or drawn objects involved, because mouse coordinates do
|
|
not sync to object coordinates in a scaled or translated coordinate
|
|
system.
|
|
|
|
new gs:menu-pop and gs:show-popup implements popup menus for gs:text-area,
|
|
gs:text-pane and gs:canvas. For a demo see newlisp-edit.lsp and
|
|
drag-demo.lsp
|
|
|
|
bug fixes in newlisp-edit.lsp when closing other but the last tab.
|
|
|
|
0.98
|
|
popup menus on canvas now also working on Win32
|
|
|
|
gs:open-file had problems with file masks (changed parameter format)
|
|
|
|
new gs:frame-closed - registers an event for a closing frame or dialog
|
|
|
|
new gs:find-text - finds and selects text in a text rea or text panel widget
|
|
|
|
new gs:mouse-event - registers a general mouse-event for any component
|
|
see allfonts-demo.lsp, button-demo.lsp and the Fontbook button in
|
|
newlisp-edit.lsp for demo
|
|
|
|
changed some shortcut keys in newlisp-edit.lsp to be more standard conform
|
|
|
|
newlisp-edit.lsp has now text search and replace implemented
|
|
|
|
newlisp-edit.lsp now has fontselection implemented
|
|
|
|
splash screen working, see doc for new gs:dispose-splash
|
|
|
|
0.99
|
|
gs:find-text selection now positions and highlights correctly on Win32
|
|
|
|
now showing directories on Win32 even when file view is constrained to text files:
|
|
.lsp .c .h .txt .java .htm .html .css .php .pl .py .rb .lisp .el .cl .cpp
|
|
what are other essential text formats on Win32?
|
|
|
|
graceful error recovery on most errors in GUI-server: after the error
|
|
message box is closed, the app will try continue and not exit as before.
|
|
|
|
better parenthesis matching performance on larger files
|
|
(but minor flicker on Win32)
|
|
|
|
gs:get-font-metrics got stuck on last queried value
|
|
|
|
gs:set-tab-size when used on gs:text-pane, sets the tabsize in points
|
|
|
|
added ctrl-M to clear monitor area in newlisp-edit.lsp
|
|
|
|
find previous, undo and redo in newlisp-edit.lsp
|
|
|
|
new gs:undo-text and gs:redo-text, if no menus or code is used
|
|
ctrl-z and ctrl-shift-z and meta-z meta-shift-z (MacOS X) are
|
|
still hardwired into gs:text-pane
|
|
|
|
text widgets now also respond to the general gs:mouse-event
|
|
|
|
0.991
|
|
Text selection was still broken on Win32 when starting out with a file containing
|
|
carriage returns or when entering new text. It only worked on files loded without
|
|
CRs even when etering new text. Now it seems to work in all situations, setting
|
|
a Java system property to LF only and converting text when it goes in/out.
|
|
|
|
Changed run button to auxiliary stateful newLISP process as used
|
|
previously in console.lsp. Now evaluation via the newLISP run button
|
|
is stateful unless the restart button is hit to restart the
|
|
other newLISP process. If the process exits, e.g. when closing a GUI-server
|
|
applications the small LED turns red. When hitting the run-newLISP button
|
|
and the newLISP process is down, it will get restarted automatically.
|
|
|
|
Only one GUI applocation should be started at the time from newlisp-edit.lsp
|
|
starting more than one is unreliable and blocked on MacOX X.
|
|
|
|
There are som unreliabilities running GUI-Server apps from newlisp-edit.lsp
|
|
on Win32, which have not been worked out. Text in the edit area should be saved
|
|
before running a GUI-server app, to be safe.
|
|
|
|
|
|
0.992
|
|
File dialog file mask selection was broken again
|
|
|
|
0.993
|
|
|
|
Eliminated flicker when matching parenthesis in bigger files.
|
|
|
|
A canvas now can be treated like any other container adding other
|
|
widgets to it (see demo textrot-demo.lsp).
|
|
|
|
Custom control for font coolors and size in newlisp-edit.lsp
|
|
|
|
Now newlisp-editor.lsp stays functional while a lengthy evaluation
|
|
process is running and outputing to the monitor area. In another tab
|
|
files can be edite/saved etc.
|
|
|
|
Auxiary newLISP process in newlisp-edit.lsp now starts with home directory as
|
|
current directory
|
|
|
|
Trying to start a second evaluation or trying to restart the newLISP process
|
|
will make the led blink in yellow for a second and output "busy" in the monitor
|
|
area.
|
|
|
|
Trying to quit newlisp-edit.lsp while an evaluating process is running will
|
|
leave the newlisp-edit.lsp application unfunctional on the screen until the
|
|
evaluating process finishes. On MacOS X the Quit option of the top screen menu
|
|
can be used to exit newlisp-edit.lsp in this case but on Win32 the task manager
|
|
must be used to shut down newlisp-edit.lsp or the other evaluating process.
|
|
|
|
0.994
|
|
Many fixes for running programs from the editor. There should be no possibility
|
|
now to hang the editor, even if a pending newLISP evaluation cannot be finished,
|
|
the editor should be still functional to edit and save files.
|
|
|
|
The yellow led will now stay on when a newLISP evaluation is pending to exit and
|
|
an attempt has been make to start a second process. When the process has finished
|
|
the led goes red. Attempting to start another app will do a restart automatically.
|
|
|
|
Running GUI-Server apps from newlisp-edit.lsp seems to be reliable now on MacOX X
|
|
and Windows XP.
|
|
|
|
new menu 'File/Save Settings' saves all font, color and current directory when
|
|
loading file. The settimgs file contains many more settings, which can be changed
|
|
to give the editor a complete diferent appearance:
|
|
|
|
- The toolbar can be hidden completely or made floatable.
|
|
- The tabs can be relocated to the bottom, left or right side of the editor.
|
|
- The window size can be set to a desired X,Y width and height.
|
|
|
|
When newlisp-edit.lsp starts the first time and does not encounter a config file
|
|
it gets created in the current home directory.
|
|
|
|
File and settings saving is announced in the monitor area.
|
|
|
|
Note, the directory remembered when open the file dialog is the directory of
|
|
the currently open tab.
|
|
|
|
An optional icon can be added to gs:message-dialog when defining the type as "plain".
|
|
In this case a user supplied icon will be shown.
|
|
|
|
0.995
|
|
newlisp-edit.lsp:
|
|
|
|
- Font size did not get saved by 'File/Save Settings'.
|
|
|
|
- settings file ion Win32 gets now written to APPDATA/newLISP/newlisp-edit.conf
|
|
where APPDATA is the Win32 environment variable for the applications data
|
|
directory. If APPDATA is not defined USERPOFILE or DOCUMENT_ROOT is assumed
|
|
On all other OS .newlisp-edit.conf is written to the users home directory
|
|
in UNIX like fashion. This may change in the future for the Mac OX X to:
|
|
~/Libarary/Application Support/newLISP/newlisp-edit.conf
|
|
|
|
- The toolbar can now be detached/reattached from the View menu
|
|
|
|
- The Tool menu as a 'Save Settings' option.
|
|
|
|
- The Help menu has options to access newLISP and GUI-Server docs.
|
|
|
|
- When editing the settings file and leaving an error, the next startup
|
|
of newlisp-edit will give an error message box with the error.
|
|
|
|
- Ctrl-F (Win32) or meta-F (OS X) reenter the find dialog if not already
|
|
open (this was already in 0.994, but not mentioned).
|
|
|
|
- Pressing ESC while in find dialog text field will close the find dialog
|
|
this is consisten with behaviour of other Java-Swing built-in dialogs.
|
|
When in the edit area ctrl-D / meta-D, will still work to dispose of the
|
|
find-dialog
|
|
|
|
- on Mac OS X ctrl-up will select the tab, then keys left or right will
|
|
let select other tabs. This is Java-Swing built-in behaviour and assumed
|
|
to work like this on all platforms.
|
|
|
|
New gs:menu-item-check for checked menu items (behaves like a check box)
|
|
|
|
A new chapter about writing and debugging event handlers was added in the
|
|
guiserver.lsp.html documentation.
|
|
|
|
0.996
|
|
newlisp-edit.lsp:
|
|
|
|
- settings will now remember loaction and size of newlisp-edit.lsp on the screen
|
|
|
|
- Edit/Find marked edit buffer as dirty, which was not correct (icon and red dot)
|
|
|
|
- new menu option Edit/Goto Line
|
|
|
|
- mew menu option Files/Recent Files remembers a list of recently saved files
|
|
the list is automatically updated each time a file is saved and maintained in
|
|
the file $APPDATA/newlisp-edit-recent on Win32 or in $HOME/.newlisp-edit-recent
|
|
on Mac OS X and Unix
|
|
|
|
popup menus now displayed in correct position on scrollable content
|
|
|
|
gs:get-bounds was broken, now displayes on-scrren coordinates for top level windows
|
|
|
|
new gs:goto-text - positions cursor in text at row columns position
|
|
|
|
new gs:load-text, gs:save-text to directlty load/save docs in to/from gs:text-pane
|
|
these should not be used from Win32 because they don't work correctly with
|
|
CR/LF line terminated files when using Edit/Find
|
|
|
|
documentation links in the Help menu have been taken out, because browser
|
|
blocks guiserver.jar from exiting on Win32
|
|
|
|
0.997
|
|
When using gs:load-text it now correctly filters carriage returns when
|
|
loading files on Win32 or any other platforms. gs:save-text will always
|
|
write LF line terminations. If this is not desirable, gs:get-text should
|
|
be used instead.
|
|
|
|
ESC in find dialog also works when cursor in replace text field. ESC will close
|
|
the dialog without initiaiting search action, as it did wrongly before.
|
|
|
|
demo directory accessible from the Help menu
|
|
|
|
Many additions and corrections to the documentaion.
|
|
|
|
0.998
|
|
new gs:set-syntax-selected for enabling newLISP syntax highlighting in gs:text-pane
|
|
|
|
new gs:set-caret-color for setting a caret color in in all text widgets
|
|
|
|
new gs:set-selection-color for setting a text selection color
|
|
|
|
new gs:set-syntax-colors for setting syntax colors for keywords, comments etc.
|
|
|
|
new gs:key-event to register key events for any component (except text widgets,
|
|
which already register keyevents by default)
|
|
|
|
syntax highlighting in newlisp-edit.lsp:
|
|
- 3 preconfigured themes to choose from for medium, low and high contrast
|
|
- alt-Y (Win32) or meta-Y (Mac OS X) toggle syntax highlighting on/off
|
|
- by default all files ending in .lsp are highlighted
|
|
|
|
0.999
|
|
newlisp-edit.lsp:
|
|
|
|
- any number of syntax profiles can now be configured in the settings file and
|
|
loaded automatically into the View menu on startup.
|
|
|
|
- for the Tool menu scripts can be registered using the settings file. The
|
|
scripts are run over the content of the current edit tab. The contents of the
|
|
current edit tab is saved to a tmporary file, and the name of this file is passed
|
|
as an argument to the script. The output of the script is shown in the monitor
|
|
area.
|
|
|
|
- added tabulator size (in points) to settings file
|
|
|
|
- syntax on/off is remembered when switching tabs
|
|
|
|
- Edit/Get Position tells line and column positin of text cursor
|
|
|
|
- undo/redo was broken when in syntax highlighting mode. Undo/redo is now reset
|
|
whenever switching syntax highligthing on/off. Loading a file is not part of an
|
|
undoable operation anymore.
|
|
|
|
- eliminated foreground/background color options which are set as part of
|
|
the color theme. When syntax highlighting is tirned off, foreground and background
|
|
are still defined by the colors of the current theme.
|
|
|
|
- non-existing files in the recent files list are eliminated automatically
|
|
|
|
- now remembers correctly screen positions in settings file on all platforms
|
|
|
|
- eliminated black flash before splash screen display
|
|
|
|
- startup on Win32 w/o run.exe now shows hour glass cursor
|
|
|
|
- Clear Monitor disable/enable was faulty
|
|
|
|
- now highlights search text when returning to find/replace dialog
|
|
|
|
- message box when saving failed, e.g. becuase of wromg permissions
|
|
|
|
gs:set-cursor now works correctly in text widgets.
|
|
|
|
gs:get-bonds now works correctly for on-screen widgets
|
|
|
|
1.0 feature complete for release August 15th
|
|
|
|
fixed unreliable gs:layout
|
|
|
|
fixed occasional text blur in monitor area of newlisp-edit.lsp
|
|
|
|
new gs:get-selected-text, works like gs:get-text but retrieves selected text only
|
|
|
|
added C, C++, Java and PHP syntax highlighting, automatically selected for .c, .cpp, .h,
|
|
.java and .php files. When a file does not have a known extension when loading, then no
|
|
syntax highlighing is selected. But when switching highlighting on via View/Syntax
|
|
or meta-Y (OS X) or alt-Y (Win32), a menu pops up for selecting a highlighting mode.
|
|
|
|
some small fixes for newLISP syntax highlighting
|
|
|
|
now 2 types of scripts in Tool menu and registered in currentScripts in settings file:
|
|
|
|
- Type "content" takes the contens of the edutor and passes it as a file to the script.
|
|
Anything printed in the script goes to the monitor area in the editor. See the
|
|
program word-count.lsp for an example
|
|
|
|
- Type "selection" takes the selection of the editor and passes it as a file to the
|
|
script. Anyting printed from thr script replaces the selectin. If nothing
|
|
was selected the output og the script gets inserted at the text caret.
|
|
|
|
The selection replace/insert type of script operation can be undone using Edit/Undo.
|
|
In the settings file: the menu string, the script path name, the type and an
|
|
optional shortcut key are specified. See the settings file for an example.
|
|
|
|
The settings file gets automatically created when not present on startup
|
|
and registers the two scripts word-count.lsp and uppercase.lsp. The settings file
|
|
can be edited using the option in the Tools menu.
|
|
|
|
before installing this version remove old settingfile on Win32:
|
|
$HOME/Application Data/newLISP/newlisp-edit.conf or on Mac OS X and Unix:
|
|
~/.newlisp-edit.conf
|
|
|
|
1.01 August 15th release
|
|
|
|
In newlis-edit.lsp: changed key assignments for fonts smaller/bigger:
|
|
meta-minus and shift-meta-equals on Mac OS X and ctrl-minus ctrl-equals on Win32.
|
|
For Mac OS X this is standard, for Win32 it mimics FireFox behaviour.
|
|
|
|
The items in gs:list-box and gs:combo-box can be either given individually
|
|
or in a list: (gs:list-box 'TheListBox 'list-action '("a" "b" "c))
|
|
|
|
New gs:play-sound plays/streams .wav and .aif sound files.
|
|
|
|
|
|
1.03
|
|
The monitor area now works also as a newLISP shell, where expressions can
|
|
be typed in directly and evaluated. The red/green led is not necessary
|
|
anymore. The shell can be restarted at any time, even if a process is running.
|
|
The run button will only work if the shell is present. If the shell is exited
|
|
by a program, hit the restart button to restart. When restarting the shell
|
|
while a program in it is running, the program will quit and the shell restart.
|
|
|
|
When the monitor/shell area has focus:
|
|
Ctrl-l clears monitor and gives shell prompt (like Meta-m/Alt-m)
|
|
Ctrl-p copies previous command
|
|
Other common readline/editing commands usual in UNIX shells may be implemented
|
|
in the future.
|
|
|
|
On Win32 Ctrl-l used to be "goto line" now: Alt-l
|
|
On Win32 Ctrl-Shift-l used to "show current line/column" now: shift-Alt-l
|
|
|
|
newLISP-edit can be exited at any time, if a process is still running in the
|
|
shell window it keeps on running after newLISP-edit closed.
|
|
|
|
New gs:run-shell installs a shell process in the monitor area
|
|
New gs:eval-shell send a string for evaluation in the shell
|
|
New gs:destroy-shell destroys the shell
|
|
|
|
Note that newlis-edit.lsp uses newISP as a shell process, but other shells
|
|
can be started using gs:run-shell.
|
|
|
|
New gs:reorder-tags reorders the stacking order of tagged images.
|
|
See the file drag-demo.lsp for usage (comment in gs:reorder-tags statement
|
|
in line 47)
|
|
|
|
1.04
|
|
Monitor background and foreground colors are now configuable in settings file
|
|
do a File/Save Settings first to have the new config variables registered, then
|
|
Tools/Edit Settings for editing: currentMonitorBackground and currentMonitorForeground.
|
|
|
|
Fix when evaluating in shell area after Ctrl-L, Meta-M (Alt-M).
|
|
|
|
Eliminated some quirks when copying/pasting between editor and monitor/shell area, and
|
|
when hitting enter in the middle of an edited command.
|
|
|
|
Now full commandline history in shell-commandline when using arrow-up/down.
|
|
|
|
meta-1, meta-2 (alt-1, alt-2 on Win32) for switching between editor and shell/monitor.
|
|
|
|
More bash-shell like key bindings on UNIX: Ctrl-A beginnining of line after the
|
|
shell prompt , Ctrl-E end of line (in gs:text-area with shell attached).
|
|
|
|
new gs:color-tag colors all shapes with the same tag
|
|
|
|
1.05
|
|
gs:get-text now can be called without an action handler to return the text
|
|
immedeately. This new synchronous mnode of gs:get-text is not recommended when
|
|
receiving larger text areas, as the call is blocking until all text is returned,
|
|
but makes coding simple data forms a lot shorter.
|
|
|
|
gs:mouse-move now can take an additional boolean parameter to indicate that
|
|
a list of tags are to be returned in the mouse-move event handler. The flag
|
|
should not be used when large amount of tags are present as it can slow down
|
|
performance significantly calculating and transmitting tag lists on every
|
|
mouse movement.
|
|
|
|
gs:key-event now also can be registered as a second key listener on text widgets.
|
|
This is espacially interesting on gs:text-field, where individual key action
|
|
could not be captured before, as the normal handler registered with gs:text-area
|
|
only handles the ENTER and ESC key.
|
|
|
|
fix in gs:run-shell for shells without prompts
|
|
|
|
now uses patform independent:
|
|
(load (append (env "NEWLISPDIR") "/guiserver.lsp"))
|
|
in all demo files to load guiserver.lsp
|
|
|
|
1.06
|
|
edit buffer did not get marked as dirty when cutting/pasting into clean buffer
|
|
|
|
when file-recent-loading->saving->file-recent-reloading the same file editor crashed
|
|
|
|
make sure shell proccesses in monitor window are destroyed when closing newlisp-edit
|
|
|
|
because of new 'process' in newlisp core full java path is needed in process statement
|
|
in gs:init function. Assumes /usr/bin/java
|
|
|
|
1.07
|
|
Tcp/Ip connection between Guiserver and newLISP now goes via 127.0.0.1, not localhost
|
|
to avoid loss of connection when computer sleeps, while an GS application was
|
|
running.
|
|
|
|
when runniung editor contents and shell is dow, the shell will be restarted
|
|
automatically
|
|
|
|
the editor now loads, saves and displays UTF-8 correctly
|
|
|
|
1.08
|
|
Guiserver now adjusts automatically to set UTF-8 on/off depending on newLISP version
|
|
|
|
The Win32 is again shipped as not UTF-8 by default.
|
|
|
|
new gs:window-moved and gs:window-resized. See new demo file move-resize-demo.lsp
|
|
|
|
1.09
|
|
reverse "meta N" and "shift meta N" on OS X to be standard with "meta N" new window/tab
|
|
on OS X
|
|
|
|
gs:mouse-event now can also be used on list boxes made with gs:list-box, this makes
|
|
it possible to process single clicks.
|
|
|
|
1.10
|
|
the gs:list-box event now responds on any click-count, previously only on 2 for
|
|
double click. Addtionally the click-count is transmitted in the event as the last
|
|
parameter
|
|
|
|
1.11
|
|
replace all can now be redone, double undo not required any more for replace
|
|
|
|
new gs:undo-enable undo is currently disabled in newlisp-edit for find/replace
|
|
because of instabilities
|
|
|
|
1.12
|
|
newlisp-edit "Undo Previous" button in find dialog, this is used to undo replacements.
|
|
Replacements cannot be undone with normal undo when the find dialog is closed again,
|
|
but can only be undone from inside the find dialog
|
|
|
|
1.12-13-14
|
|
in guiserver.lsp now checking JAVA_HOME when not Win32 or OS X
|
|
|
|
1.15
|
|
fixed highlighing for 'pop-assoc'
|
|
|
|
1.16
|
|
highlighting for regex-comp, spawn, sync and abort
|
|
|
|
a bug fix for newlisp-edit.lsp 1.12 for an editor crash caused by index overrun
|
|
in switch-to-tab function
|
|
|
|
newlisp-edit.lsp will quit right away when buffers are clean without showing
|
|
"You really ..." dialog
|
|
|
|
fixed gs:text-area area hangup when deleting backwards beyond beginning o line
|
|
and hitting enter
|
|
|
|
1.17
|
|
UTF-8 gs:set-text for gs:text-pane, gs:text-area and gs:text-field.
|
|
|
|
1.18
|
|
UTF-8 text now working on all widgets and setter/getter functions. UTF-8 is
|
|
enabled by default on the Mac OS X installer but not on Win32 which uses
|
|
ISO 8859 code pages to display some eastern European and Middle Eastern fonts.
|
|
Running an UTF-8 enabled version with newLISP-GS on Win32 will automatically
|
|
switch newLISP-GS to UTF-8.
|
|
|
|
new gs:midi-init, gs:midi-close, gs:midi-patch, gs:play-note, gs:play-sequence
|
|
gs:add-track and gs:mute-track for controlling an internal MIDI device.
|
|
On Win32 a soundbank must be installed, see the description for gs:play-note
|
|
for more details, where to get and how to install a soundbank file.
|
|
|
|
1.19
|
|
Non-default directory install on Win32 now works. Windows must be rebooted
|
|
when not accepting the default directory, so the different path set in
|
|
the environment variable NEWLISPDIR can come into effect.
|
|
|
|
New gs:save-sequence saves sequences created using gs:add-track to a MIDI
|
|
file.
|
|
|
|
gs:midi-init now can take a file path to an external soundbank file.
|
|
|
|
gs:channel-bend can be used to tune a channel up or down by a halftone
|
|
|
|
1.20
|
|
fixed check option in gs:menu-item-check
|
|
|
|
1.21
|
|
gs:channel-bend did not remember channel specific setting when using on more
|
|
than one channel
|
|
|
|
reworked handling of bpm and resolution (gs:midi-bpm). Now recording with
|
|
gs:save-sequence will work for any BPM settings correctly
|
|
|
|
notes in gs:play-note and gs:add-track now can have an optional last parameter
|
|
for a note specific pitch-pend
|
|
|
|
1.22
|
|
when history line in cursor-up keystroke in minitor area contains more than
|
|
one line only the last line will enter history
|
|
|
|
gs:set-canvas did not change current canvas for guiserver.lsp
|
|
|
|
1.23
|
|
fixed a long standing bug when copying pasting inside the monitor area
|
|
|
|
1.24
|
|
some code cleanup in TextAreaWidget.java
|
|
|
|
Ctrl-A and HOME in monitor area now go to beginning of line _after_ the prompt
|
|
Ctrl-P goes up in history, Ctrl-N goes down in history (like cursor UP, DOWN)
|
|
Most Emacs (or Bash shell) commandline editing key strokes now work in the
|
|
monitor area
|
|
|
|
1.25 changes for 9.9.2
|
|
|
|
1.26 guiserver
|
|
don't repeat last color change on keystroke but display normal color
|
|
|
|
1.27
|
|
added $it, bits, estack and read-utf8 to syntax highlighting
|
|
|
|
1.28
|
|
[cmd][/cmd] tags can now be used in the monitor area
|
|
1.29
|
|
added transfer-event to syntax highlighter
|
|
|
|
1.30 a fix in the syntax highlighter for newLISP mode
|
|
in newlisp-edit.sp font can now shanged in both, the editor and the monitor
|
|
|
|
1.31 syntax highlighting for new functions
|
|
|
|
1.32 the function gs:color-tag was documented but not implemented
|
|
in newlisp-edit.lsp dirty-buffer indication did not work with Ctrl-x/v/z/Z
|
|
and Cmd-x/v/z/Z
|
|
|
|
1.33/34 added new functions to the syntax highlighter
|
|
|
|
1.35 added new 'extend' and changed all copyright notes to 2010
|
|
|
|
1.36 added 'term', '++', '--' and eliminated 'name' from
|
|
SyntaxHighligher.java
|
|
|
|
1.37 new OSXAdapter.java from Apple and related changes in guiserver.java
|
|
add 'serialVersionUID' to various files to avoid warnings in new Java versions
|
|
|
|
1.38 an additional parameter in gs:text-field specifies a cover character to use
|
|
the text-field for password entry
|
|
|
|
new textfield-demo.lsp
|
|
|
|
a UTF-8 fix for gs:get-fonts when font names
|
|
|
|
a UTF-8 fix for gs:append-text for labels
|
|
|
|
a UTF-8 dix gs:select-list-items for combo boxes, added to widget-demo-(ru, jp).lsp
|
|
|
|
a UTF-8 fix for gs:get-text for Dialog widgets
|
|
|
|
a UTF-8 fix for gs:menu-item-check
|
|
|
|
a UTF-8 fix for the tabbed pane when tabes are selected
|
|
|
|
a UTF-8 fix for gs:set-tool-tab
|
|
|
|
a UTF-8 fix for gs:set-font when font names are in UTF-8
|
|
|
|
1.39
|
|
New Base64Coder.java with UTF8 aware encodeStringUTF8() and decodeStringUTF8()
|
|
|
|
1.40
|
|
Syntax highlighting for date-parse (new writing of parse-date), date-list,
|
|
net-packet and net-ipv
|
|
|
|
1.41
|
|
Instability when nesting gs:check-event calls inside handler functions called
|
|
from gs:listen, was entirely caused by an interaction of the global variable
|
|
'event' used in both functions. This variable is now localized in both functions.
|
|
Seperation of synchronous versus asynchronous communications, as suggested by
|
|
a user is therefore not necessary.
|
|
|
|
1.42
|
|
New table widget and support functions with code contributed by Unya from:
|
|
http://newlispfanclub.alh.net/forum/
|
|
|
|
1.43
|
|
Bug fix in table API
|
|
|
|
1.44
|
|
fixed error message in gs:save-sequence
|
|
|
|
1.45
|
|
Some error messages in the Midi part now exit the program to avoid error dialog
|
|
loops.
|
|
|
|
Added struct to SyntaxHighlighter.java
|
|
|
|
1.46 added various new primitives to SyntaxHighlighter.java
|
|
|
|
1.47 gs:get-text now handles empty gs:text-field correctly
|
|
|
|
1.48 added various new primitives to SyntaxHighlighter.java
|
|
syntxa highlighting for binary numbers like 0b10101
|
|
|
|
1.50 fixed gs:run-shell in newlisp-edit.lsp and TextAreaWidget.java for different
|
|
handling of Runtime.getRuntime().exec(cmdArray) in Java 7 update 21.
|
|
|
|
1.51
|
|
When adding columns with empty string headers, this will not any more put the
|
|
column number as header. This allows to add columns to headerless tables, as
|
|
possible when supplying empty string headers in the initial gs:table statement.
|
|
|
|
1.60
|
|
New table functions igs:table-remove-row, gs:table-set-column-name and
|
|
gs:table-set-row-count. Thanks to Ferry de Bruin.
|
|
The nameing of gs:table-set-row-number is deprecated and should be called
|
|
as gs:table-show-row-number. The old naming will continue to work.
|
|
|
|
1.60
|
|
Addtions to the table interface.
|
|
|
|
1.62
|
|
Make +123 and +1.23 work in syntax highlighter.
|
|
Make sicentific notation e.g. 1.23e-4 work in syntax highlighter.
|
|
|
|
1.66 fixed screeen update when scrolling, fixed guierver quit menu.
|
|
|