
This editor is my effort to make a good windows editor for Euphoria that:
	(a) enables programming to occur efficiently 
	(b) is minimalist & uncluttered and so assists with (a)
	(c) does not prevent me from upgrading its capabilities


Anyone can use this code for anything (excluding existing licenses).
Use at own peril.

There may be anomalous behaviours and I would appreciate any bug reports.

vulcan@win.co.nz



Extreme latest Features 30/7/2001
=======================
When pressing ENTER the cursor will go the new line and auto-insert leading TAB's
Thanks to a suggestion from Jules Davy Cursor colour is adjustable. Also Cursor seems to behave better
User can Comment/Uncomment selected lines
Fixed: A dormant bug in the deleteText code was fixed
Fixed: When pasting text from clipboard the text values are now checked to ensure they are all valid
Fixed: Pressing TAB after a comment "--" in a line would cause a stealthy screen buffer corruption
Capture of Ex.err improved a bit more in that:
	a:The previous ex.err is deleted, so, over time any old error files will be all mopped up
	b:User can review last ex.err at startup (when no files are loaded) by F12
	c:If user DoubleClicks on a line whilst ex.err is current file then program will try to jump to error line


Ultra Latest Features 13/7/2001
=====================
Basic printing of current file to paper is now possible
Bind window added where bind & shroud options can be accessed including grabbing an icon file when binding an .exw
Improved capture of ex.err following an error during an Execute session


Super Latest Features 11/7/2001
=====================
User can jump to the error line in a file by pressing F12 whilst cursor is along the line that contains the path and line number of the error NB: If the ex.err is not open then it will open automatically and then user must select line & press F12 again
System will check if a regd copy of Eu is installed before proceeding with BIND
Thanks to Caballero Rojo an infinite loop involving the replace_all function in the findtext window has been found and is now fixed
Thanks to Ross Boyd a nasty resource leak involving the line field has been plugged
Whole line can be selected by:
	(i)SHIFT + Home/End
	(ii)RightClick mouse on left margin
Right clicking the mouse when over the edit area causes popup edit menu to appear
Right clicking any name-tab causes popup file menu to appear and user can:
	New, Open, ReOpen, Save, Save As, or Close files (based on Path context, er, you will have to open & close a few random files to see what I mean :-)
New datatype BOOL added to ini.e
Fixed: tabbar now correctly scrolls across upon resize to larger width in all situations
Improved: if the name tab of the current file is scrolled off the screen then clicking on the edit area will force tab to be shown
Fixed: Bug in ScrollScreen() did not print full height of a component text block in a rare situation


Very Latest Features 24/6/2001
====================
Printing to screen speeded up, pageup & pagedown are really fast now (formerly took 77s to 'pagedown' win32lib.ew, now takes 45s on my system)
Smooth scrolling has been set across the board
Find text window added - enables find/replace functions
Options window enabled so all edit-area colours are alterable from my handcrafted palette plus some other settings too
Text selection now occurs with SHIFT + cursor_key
Enhanced speed of extraction of routine names by 2.7 times, so, on my system win32lib.ew now takes .7s instead of 1.9s, WooHoo!
Fixed bug in reconstructmain() where the width of the edit area slowly receded over time
Fixed bug in Execute where the file ext'n wasn't converted to lowercase causing wrong interpreter to fire
Thanks to Caballero Rojo:
	A bound copy of the editor will allow only a single intance of the program to be open
		NB: the *.e* file types must be registered to the bound editor anyway before this will work - i think!
	Fixed some bugs that would cause prog to crash when no files were open
	Fixed: Closing window by the corner X now activates the shutdown routine including the save to the ini file
	Fixed: Window state (maximize or normal) is now saved in the ini and restored on next open


Latest Features 7/6/2001
===============
The routines in the current file can now be listed by clicking 'List..' button
	and the user can choose to view All of them or just the Globals
Consecutive keystrokes in a label are now merged to speed up Undo/Redo
Fixed bug where linefield didn't display after the window gets focus back
Fixed bug in ini.e where an entry specified as INT would not pick up the default value first time around


New Features 1/6/2001
============
Ini.e has been added to manage an ini file that looks & feels just like the real
	thing and is reasonably powerful. You might find it useful in your programs
Any files still opened at Exit are reopened the next time editor starts
Thanks to suggestions from Caballero Rojo & Mark Brown the window size & position are saved & restored
Mouse edit shape "I" has been dropped until I get a chance to stop it's intermittentness
Drag n Drop (on icon OR opened app) to open files
CTRL left & right will jump to next word
Horizontal scrolling is a little better
Thanks to Derek Parnell mouse leftdoubleclick will select an entire word or label (or number for that matter)
Mouse drag will auto-scroll when the pointer is outside edit area


Current Features 17/5/2001
================
Coded 100% in Euphoria (and therefore no memory limit for opened files)
Excellent memory usage: 1 text char to 1 byte of memory(ie 4 text chars per integer)
To run a file simply click "Execute" and the file will first be saved if needed
Tab-bar at top allowing efficient access
Text colouring occurs reliably
Unlimited undo/redo (currently limited to 60 text events - see line 5 in action.e)
A file cannot be opened twice in same session
Tab character treated genuinely (ie, is not converted to a bunch of spaces in the file)
Horizontal & vertical scrollbars function properly (though no representative thumb sizing)
Can run any file not just *.ex, *.exw (some editor writers consider this a bug, well not me!)


Future Improvements
===================
redesign interface to be 'standard'
native support for int, seq & obj ( also proc & func)
Hot-keys to speed up coding + smart ENTER key
Possibly have 'backup' file writing all insert/delete events and can be restored on power loss
Smart 'find' abilities - might need some help with the design of this
Pre-processor trigger-happy
Link to translator, transmutator, particle accelerator or whatever you want - you tell me :-)


Future Refinements
==================
The dde enabled single instance system must be refined so that the window is placed on top of all others when a new file is opened
The Listing of routines could be filtered by type and perhaps the number & type of the parameters can be shown too(maybe in a separate window)
The listing of routines could initially jump to the index position representative of the screen in relation to whole file
linelengths needs update on new tab size
Does path have to be in title bar? how about a file properties box?
ex.err goes to current_dir but really s/b in editor executable dir
printing should a/c for margins and what about header/footer info?
mp -  fix linelengths & newtabsize
on resize larger when LEFTCOL not at col=1 try to move to that column

-- notes to self
mp - q. d parnell, resource consumed from bug in past editor version - why? bug in win32lib?
mp - q. d parnell could not setIcon with PictureButton only with Icon
mp - msg that on my system include MUST have a space after last file character
mp - msg need assistance with online help