wxEditor 3.6 beta1
A multilanguage Editor based on
David Cuny's wxBasic IDE
License: LGPL
Dirk Noack
State: 04:06:2006
dirk_noack@freenet.de



Features:
System Requirements
Install
To do
Know'n Problems
Start from the command line
Run Programs
Building Functions over the Contol-Centre
Writing a new Referencfile
The Message Window
AutoHide
Bookmarks
History Files
Insert Textblock
Project Menu
Run Menu: 'Rebuild Command-List'
Run Menu: 'AutoCorrection'
Run Menu: 'Extact Interpreter'
Run Menu: 'Internal Bind'
Run Menu: 'Convert to HTML'
Options: Lexer -> Commands
Options Menu: 'Log File'
Options Menu: 'Programming'
User definied Buttons
Formdesigner
History
Disclaimer


Features:





This Editor is a result of the piecewise enhancement of David Cuny's IDE, which is
implemented in wxBasic.
I think, that the program is mostly self-instructional. Therefore I have not
been writing a detailed manual.


System Requirements




For maximal Performance on older PC's you can uncheck all Options
in the 'Programming'- Site of the Options-Dialog.

The Editor will not write Entrys to the Registry. The Ini-File is saved
in the Home-Directory.


Install



Copy all Files and Directories into a Directory you want.

wxEditor-Sourcefiles need the latest Bleeding Edge Version of wxBasic.
Please check the Version.


To do





Know'n Problems






Start from the command line



wxEditor.exe File -m -p -zZoom

File Filename

Example: wxEditor.exe myFile.wxb -p
If you use an non existing Filename, a new File will be created.


Run Programs



For starting a compiler or debugger you can setup up to six commands in the Lexer-Menu.
At the first Start no Referencefile is loaded. You can open for example a wxBasic
File (*.wxb) or click on 'wxBasic' in the Lexer Menu to load the wxBasic Referencefile
because the automatical Referencefile loading is set. If you want to work without
this, select a Lexer you want and uncheck this automatical loading in the Options
Menu. You can set a Lexer as the default Lexer. Then this Lexer would loaded at start.


Building Functions over the Contol-Centre



This is a central Feature of the wxEditor.
You can insert all Functions and Members, wich are loaded from the Referencefile.

Insert a Function:
Doubleclick on a Function or a Member opens a new Dialog. In this Dialog you can write all Datas
for the Function. Needed Datas are highlighted red.
wxBasic:
Some Functions have special options to insert Code-Blocks, for Example Frames, Buttons and Dialogs.
If a Function need a Text (Value/Label ...), you don't need insert the quotation mark.
If you want to insert a Size, the Position will set to the default (-1) automatically.
If you don't want to insert a Style, the Size and Position will set to the default (-1) automatically.
Select Styles from the Style-Window (if avaible). More then one Style are possible.
The '|'-Character between the Styles is set automatically.
With a Doubleclick on a Connection you can also insert Connections in the Code.
The program tells you, if you have forgot a needed data Field.
You can also insert a Style outside the Dialog directly in the code by Doubleclick on this.

I have not tested all Functions and Members. If you found an Error please send me a Mail.


Writing a new Referencfile



You can write a new Referencefile for a Programming Language to view and insert all
Commands from the Control-Centre.
Be sure, that the Keywords are added to the File 'lexer.cod', otherwise the program
can't find this Lexer and integrate the ReferenceFile.
The Name of the Referencefile must be the some as the Lexername with the extension ".ref".
The Data Structure of the Referencefile is separated by Spaces.
No Space is a Header, one Space the first Child, two Spaces a Sub-Child and so on.
You can add also a Function, wich is not currently implemented by adding a '*' at the End
of the Function.


The Message Window



This Window shows the mostly importand Messages and Actions.
It's useful for example to show the completely Error-Message.
You can clear this Window with the 'Clear Log Window' Menuitem in the
View-Menu.


AutoHide



If Autohide is set, the Control Center and/or the Log Window will hide automativally, if the Mousefocus
is in another Window. To view the Control Center click right in a Notbook Tab and for the Log Window, in
the Statusbar.


Bookmarks



You can set Bookmarks for each File as far as you want. Bookmarks are set and delete with
the F9-Key. You can jump to the first 10 Bookmarks directly with Ctrl-1 ... 0.
All Bookmarks are shown in the Bookmarks-Info.


History Files



In the Options Menu you can set the Counter of the History Files between 0 to 30.
History Files are set in the File menu.


Insert Textblock



The Textblock Menuitem in the Edit Menu let you create, insert, rename or delete a Textblock.
In the left Window all saved Textblocks are shown. Clicking on it, you can see the Text in the right
Window.
Create a new one by clicking on the "New" Button. Now you can write a new Block or copy a Block insert
a Block from the Buffer.


Project Menu



A Project is a separat Subfolder in the Project-Folder. If the Folder not exist,
a new will be created.
You can see and open all your Projects in this Menuitem. It's faster and
easier to open your Files than the File-Open Dialog.
With "New Project" you can create a new SubFolder and a new File, wich
is saved in this Folder.
If you want to add more Files to this Project, you can create a new File, edit it and
save it with "Save as Project" Menuitem in a Project you want.
"Delete Project" delete the entire Project, include all Files and Subdirectorys.


Run Menu: 'Rebuild Command-List'



Rebuild the wxBasic Referencefile. The Program ask you for the Path to the wxBasic Source-Files.
If a new Release of wxBasic is avaible, it's better to create a new File.


Run Menu: 'AutoCorrection'



AutoCorrection scan all Lines and insert the Spaces to the Code.
This has the some effect as if you enable 'AutoInsert Space' and scroll
the Text down.
Currently it has no other Function.


Run Menu: 'Extact Interpreter'



This Feature will extract the Interpreter (wxbasic or wxbasic.exe) from the wxEditor.


Run Menu: 'Internal Bind'



Internal Bind extract the Interpreter from the wxEditor and bind the File with the current loaded File.
So the User can test wxbasic without having the wxBasic Source.


Run Menu: 'Convert to HTML'



It's an easy Way to convert a Text-File to the HTML-Format. If the Program found a Selection to the Begin of the File, this Selection is Set to bold (for Example, as a caption).
You can Create a Table of Contents, if the headline is underlined twice ('=' -Char).
All headlines are set to italic and underline.
If the line beginning with:
"-" an unordered List or
"1." an ordered List will be created
One empty Line ends a paragraph.
Http or E-Mail adess will set a connection.
Currently no other are avaible.
An example for a converted File is the wxEditor Description. Here you can view the Result.


Options: Lexer -> Commands



In this Dialog you can setup the working Directory, the comment-Char and
six commands for each Lexer. More then one command in one Line are possible,
separated by semicolon.
For example, comile and run a Freebasic-File, setup the command:

path\fbc.exe %p;%n.exe

or

with setup a working Directory
fbc.exe %p;%n.exe

You can set a Hotkey for for each Command. Be sure, that this Key is not already used.
The program does not check the Keys.


Options Menu: 'Log File'



You can read out the Messages from the Message-Wondow and save them in a Log-File.
4 Methods are possible:
  1. Never save a Log-File
  2. Save a Log-File at the End of the Session (all Messages)
  3. Save an Entry on each Error to the Log-File
  4. Save an Entry on each Message to the Log-File (permanently saving)

Normally a new Log-File is created on each Session and the Message-Window is readonly.
If the Option 'Not delete Log-File at new Session' the File will not deleted.
With 'Permit edit the File' you can write your own Messages in the Message Window. After
confirming a Line by pressing the Enter-Key the Line will be save to the Log-File.
Clear the Log-Window by using the corresponding Menuitem in the View-Menu.


Options Menu: 'Programming'



Auto Select Lexer:
The Editor read the Extension of the File and change the Lexer aumatically.
It can cause Problems, if more then one Languages have the some Extension. Then
you must select the Lexer in the Lexer-Menu.

Autoload Referencefile:
To each programming Language wich is definied in the File 'lexer.cod' can be
written a Referencefile with all Commands of this Language.
If this Option is activated, the Editor look for this Referencefile and load
it into the Control-Centre, otherwise the last loaded Referencefile is used.
You must know, that this delay the File loading Time depending on Filesize!

View Braces:
Show dedicated Brace in Code

Easy Jump:
If you have select this Option you can Jump to a Sub or
Function by Doubleclick on this (directly in the Editor)

View Functions:
Show the complete Function during write as a CallTip.
Insert the Function by a Click on it.

View Members:
Show all Members for the function, which you write.
Scroll in the MembersList with the Cursor-Keys and insert a Member
by pressing the Tab-Key.

Note: If you store Functions in an Array/Table with variables this will not
work correctly.
The Editor scan the Code backwards and use the first founded Function to
display the Members.

Load Functionslist manually:
The Functions-List in the Project-Window will normally load at opening or
at activating a File by Click on the Editor Tab. Deactivating this Function
will prohibit the automatically Reloading after activating a other File.
You can manually reload this List by pressing the 'F2'-Key.
Activating this Option to speeding up the File loading Time.

Auto Insert End of Function:
Insert the End of a Function automatically, for Example, if you write
"Select case" the Editor will insert the 'End Select' automatically.

AutoCorrection:
You can write all Functions and Members in lower case. The Editor
will correct the Case automatically.
This Function works not only with Commands, otherwise with all Sub's and
Functions in the List.

Set Space automatically:
Set Spaces between operators and braces automatically.

Note: Some Features decelerate the Startup and the Working with the Editor.
(See 'System Requirements')


User definied Buttons



User defined Buttons use a second Toolbar. You can add Buttons by right Click on this Toolbar.
Right Click on a Button edit the Button and middle Click on a Button delete it.
You can also manage the Buttons in the Options-Menu. In the following Dialog you can Add,
Edit or Delete a Button.

To set the Parameters, placeholders are avaible.

Example: Add a Button to external bind the actual File with wxBasic
'bind.wxb' and 'wxbasic.exe' exists in the wxEditor-Directory

File: %e\wxbasic.exe
Parameters: %e\bind.wxb wxbasic.exe %p %n.exe

The Buttons are saved into the ini-File.


Formdesigner



With the Formdesigner you can create and place Objects on a Frame.
'Clear' clears the Form and leave the Form-Name
'Open' open a Form
'New' and 'Close' clears the Form and delete the Form-Name (new Form)
'Save' save a Form into a File; Forms are Saved as '*.frm' Files
'Add to Editor' add the Code to the Editor
The Formdesigner does not work correctly in Linux.



History



V 1.0 (02:19:03)

Add to the Program:

File Menu:

Edit Menu:

Run Menu:

Add: Options Menu

Add: Tools Menu


V 1.1 beta (03:03:03)

Add: Bookmark Menu

Options Menu


V 2.0 beta (04:02:03)

File Menu

Edit Menu

Add: View Menu

Options Menu


V 2.1 beta (05:30:03)


V 2.2 beta (06:29:03)


V 3.0 beta (09:05:03)


V 3.0 beta2


V 3.1 beta (12:10:2003)


V 3.2 beta (04:01:2004)


V 3.2a beta (04:21:2004)


V 3.2b beta (04:29:2004)


V 3.3 beta5 (12:13:2004)


V 3.3 beta6 (01:03:2005)


V 3.4 beta1 (02:03:2005)


V 3.4 beta2 (02:07:2005)


V 3.4 beta3 (02:11:2005)


V 3.4 beta4 (03:12:2005)


V 3.5 beta1 (10:23:2005)


V 3.5 beta2 (11:09:2005)


V 3.6 beta1 (04:06:2006)


Disclaimer



I have successful tested the program on my WinXP system but I can't excluding, that there are still any errors.
Therefore please make always a Backup of your Datas.


This software is provided "as is". You can use that at your own risk.
For suggestions for improvements or if you find a bug, please send me a mail.