NJABE - update 17

Community Forums/Showcase/NJABE - update 17

Roccia(Posted 2004) [#1]
My Free Blitz IDE reached Beta 17.

Many bug fixes from previous versions (thanks to Perturbatio :-) ) and now should be a lot more stable

Here some screens to illustrate main functionalities...


Autocompletition dialog (supports commands, userlib, functions, globals, types also defined in includes)


Inline help for commands while you are typing


Show type list dialog when you type "."


Show current var's fields dialog when you type "\"


Trap Error during compilation...


Now it has Auto Update functionality


If you are interested in trying it:
http://www.beggi.it/roccia/download.asp?id=14

Byez!


Wiebo(Posted 2004) [#2]
Taking a look now!


Ethan3850(Posted 2004) [#3]
Looks good, will the project feature crosslink include files (e.g. list all the functions in the sidebar without having to switch tabs?)

A few bugs:
The auto completition dialog box doesn't appear.
None of the options under the Program menu or their shortcuts work (though the message on the status bar changes).
Pressing Launch Calc causes a fatal exeception.
Show current var's fields dialog when you type "\" doesn't work.


Perturbatio(Posted 2004) [#4]
Launch calc works for me, it's probably a path issue.


Roccia(Posted 2004) [#5]
Sainfohi, thanks for trying it.

The Auto Completition Dialog should appear if you type CTRL+Space. The inline help should appear when you type a space or a "(" after a keyword or when you type a ","

Very strange that none of the program functions works.
I'm using the environment variable "ComSpec" to find out the "command.com" (win9x) or "cmd.exe" (win2000/XP)
Please check if this variable exists (open a dos window and type "SET" + enter: a list of variables should print listed alphabetically and one of them should be ComSpec pointing either to c:\windows\commands\command.com or c:\windows\system32\cmd.exe

If this is not the case, please try to add it maually from control panel-->system-->advanced

You can also try to open the output.txt found in NJABE directory and see if it contains something...

If launching calc cause an error it is because the file calc.exe is not in your path (or is not installed at all!) this is strange because in XP it is installed by default (I think) in windows directory and that directory shoul be in your path...

in order to appear, you should have defined explicitly your var as global first

Global myvar.mytype


I will try to find out these strange problems..


Perturbatio(Posted 2004) [#6]
Comspec exists on my computer btw.


Paul "Taiphoz"(Posted 2004) [#7]
is this going to be free?

TBH I prefer the classic editor, but you do have some things in this that would be nice.


Roccia(Posted 2004) [#8]
Yes, it will be free.

After 1.0 I will add OOP to Njabe: this is because is called (N)JABE :-)

If you experience problem compiling with beta 17 you can try these workarounds:
1- if it is not already present, create a blank text file in NJABE directory called output.txt
2- Add a system variable called blitzpath that point to blitz3D directory
3- Or Install this update that should work: http://www.beggi.it/roccia/downloads/NJABE_BETA0_8_18_Update.exe


Ethan3850(Posted 2004) [#9]
My ComSpec is set, but I don't have an output.txt file in the NJABE directory.

The Auto Completition Dialog should appear if you type CTRL+Space

Yep, it does appear when I press CTRL-Enter, and all the other auto-completions work too. The "Show current var's fields dialog when you type "\"" wasn't working because I was typing the entire type including suffix, e.g. "balls.objs\" , but it works fine if I just do "balls\"

If launching calc cause an error it is because the file calc.exe is not in your path

Whoops, I don't have calc installed - well that kind of explains that one.

Very strange that none of the program functions works

These didn't work because ZoneAlarm was blocking NJABE from doing it. When I granted NJABE permission to use OpenProcess() it seemed to conflict with avast anti virus e-mail protection as using one of the program functions resulted in a packet being blocked - don't know if that's helpful. I'll try it again later to see if I can narrow down the cause.


morduun(Posted 2004) [#10]
It's nice, but it's =very= slow. Hilighting on my laptop takes bloody ages; I don't have similar problems with either the default IDE or BlitzView. I'd be interested in it if you could squeeze a lot more speed out of it.


Roccia(Posted 2004) [#11]
to morduun:
Can you give me your pc specs, please?
I've tested it on a Duron800/WinXP/128Mbram and on my old notebook Compaq Armada PII266Mhz, 256Mb ram and it works fine even with large files.

to Sainfohi:
Have you tried creating an empty output.txt in NJABE directory to see if it solve something?

Thanks for testing it


eBusiness(Posted 2004) [#12]
I read something about the text commands being painfully slow with new video cards, try using a bitmap font.


Ethan3850(Posted 2004) [#13]
Have you tried creating an empty output.txt

This has no effect, neither does switching off ZoneAlarm or Avast.

When I run a program function an empty file called c:\program is generated. After doing this if I quit NJABE using the File>>Exit menu it remains active and jumps to 99% CPU usage (if I use the window close gadget it completely shuts down).


Roccia(Posted 2004) [#14]
AAARRRRGGGHHHHHHHH

What a stupid programmer I am!!!
I think I've figured out what the problem is....
it's true that beta 17 and beta 18 works on all my pc but dont on all yours pc...so what's wrong?!? Its obvious....
In italian windows version the main programs folder is "C:\programmi" while in english version is "C:\program files" -->> I was just passing paths without "" so my function worked well on italian systems but in yours systems tried to execute program c:\program passing to it files\blitz3d... as an argument....and redirected its output to itself doing a very big "casino"!!!


Sorry for that :-(( please don't blame me too much....

I'm uploading new beta 19 to my website just now.

You can upgrade to the new version going to menu help-->Check for new version --> then in the window that opens click the link to download update 0.8.19


Or you can download full setup from here:
http://www.beggi.it/roccia/download.asp?id=16

Or Update only from here
http://www.beggi.it/roccia/download.asp?id=17

I hope this time is going well....

Many many thanks to Sainfohi and Perturbatio for helping me so much with this project :-)

to morduun:
which version of Njabe are you running? version prior to beta 0.8.14 were slow due to a debug procedure being executed also in release version but i fixed that bug in beta 14...


Red Ocktober(Posted 2004) [#15]
Roccia... this looks interesting, gonna take a look...

could ya tell me what you mean by ...

After 1.0 I will add OOP to Njabe: this is because is called (N)JABE :-)



also...

Open Project and New Project don't seem to do anything... still under development? if so, what are you planning for em?

[added]

testing ver 1.9... ran smoothly 1.7GHz GefForce4 512MB

bug report:

(1)tool tips for file functions not showing up ----------------------------------------------------- severity - minor

(2) on first run the project wouldn't exit and i had to quit it from the task mgr ---------------- severity - minor

(3) can't find calc app error ----------------------------------------------------------------------- severity - minor

(4) changing editor text and/or text size causes text to overlap following "=" sign -------------- severity - moderate

--Mike


Mikele(Posted 2004) [#16]
hmm... not work :( (calc.exe not found - beta19)
i can't change "keyword color" in edit window


morduun(Posted 2004) [#17]
Roccia -- I'd downloaded the most current version when I wrote that post. I'll redownload and report back. It's a P3/800 with 128mb ram running WinME.


Ethan3850(Posted 2004) [#18]
Program functions work now.

Bug:
EntityType commands appear in the Types list box in the Document Info window. I think you will need to check in front of the T when parsing to eliminate this.

Keep up the good work.


Perturbatio(Posted 2004) [#19]
It seems to be working fine now, compile no longer causes the problems I had.

I can however no longer launch the calculator (I was able to before).


Roccia(Posted 2004) [#20]
Ok, finnally I've got it compiling again...
Since today is sunday I hope to release a new beta today that fixes the bugs presents in beta 19.....

to Red Ocktober:

NJABE will incorporate a prepocessor that will allow you to do something like this (I've allready done this but is most incomplete..):

- When you create a new file you can save it wit extension .bod (=blitz object definition)

in files that have that suffix, you have some more functions available like:

define object MyObject [extends MainObject]
Private Privatevar1%, PrivateVar2%
Public PublicVar1%

[Private|Public|Friend] function F1(...)
end function

end MyObject

then you can create a new fiel and use ".bpp" as its suffix and in that file you can:

define a var as type MyObject
global ObjectVar.MyObject

And you can use it as a regular type var but the intellisense code will show you also the public functions you defined for that object so you can write somethig like:

local resultOfObjectFunction= ObjectVar\F1(...)

The trick is that my preprocessor will convert both ".bod" and ".bpp" to standard ".bb" files and then compiling those ones...

The ".bod" file is converted in something like this

Type MyObject
field publicvar1....

End Type

function MyObject_F1(passedObject.MyObject, others parameters...)


and in ".bpp" files a call like this

ObjectVar\F1(...) is just translated in
MyObject_F1(ObectVar,other args)

I think this should work and add a "fake" OOP to Blitz language than can sound usefull to someone (like me that usually develop software in java at work...)

The real problem is that if some error occurs, they appear in "parsed docs" and not directly in ".bod" or ".bpp" files so I have to find where the correponding line was and show the right errorline....

Do you think this kind of approach will work???
I will accept any suggestion :-))

See you soon guys!


gosse(Posted 2004) [#21]
WOW!

I knew this one had potential when I saw the first worklog entry. Now, I must say: it ROCKS! ;)

I simply love it.

And for the faked OOP, I'm 100% behind you because I wanted to make myself a precompiler to do that, but now that you are doing it, I'll just wait :)

Now, where do I donate? :P


Red Ocktober(Posted 2004) [#22]
cool...

yeah, this is really looking verry good.

needless to say i am very interested in your 'faked' OOP implementation...

i've been toying around with a little OOP-like implementation myself, but it uses a different methodology than what you propose.

here's a composite shot of the code being worked in your editor, and the resultant Blitz3D app running...(just in case you haven't seen it already)




i'm still very much interested in seeing what you come up with with this...

--Mike


gosse(Posted 2004) [#23]
Some things I've noticed with NJABE:
CTRL-Home doesn't work!
When the autocompletion list pops-up you should let the user continue typing.


Roccia(Posted 2004) [#24]
I've uploaded the new Beta 0.8.20

Changes:
- Fixed another bug that was still present in v 0.8.19 that prevent compiler to works properly in some Win9X environments...
- Fixed a bug that caused Keywords color not to be updated accordly to settings dialog
- Fixed a bug in ParseDoc function that listed items in globals/dims/etc.. if in a line there was an item such myGlobal , myType MyFunction (they where interpreted as Type , Function etc...)
-Improved AutoCompletition window functionality: now the focus will remain to EditControl and the Autocomplete window will update while you continue typing
- Autocomplete Dialog will not popup when in string or in comment.
- Fixed CTRL+Home, CTRL+END, CTRL+PageUp, CTRL+PageDown: now they should work just as standard BlitzIDE
- Fixed a bug in Paste method that caused the cursor to be positioned 2 time after the len of the inserted text
- Fixed a bug with cut/copy/paste undo/redo menus not working when creating a new document if you have not loaded a document first...


If this version is ok, the next one will be numbered beta 0.9.1 and will contain project handling..we are near to 1.0!

These will be the functionalities for project:
- Name a project and select its main diretory
- You can select to add directory for data/gfx/sound/music
- You can set a file to be the "main" for compiling/executing
- Possibility to change exe name and icon
- To do list with categories and percentage.
- support for innosetup (a free setup compiler, the one i've used so far to build the installation setup for njabe)

If you have any suggestion, they are welcome!

Please report any bugs for beta 0.8.20.

You can download the update directly from Njabe (>=v0.8.17) from menu help-->check for new version

...or you can download beta 20 update from here:
http://www.beggi.it/roccia/download.asp?id=19

...and full installer from here:
http://www.beggi.it/roccia/download.asp?id=18

See you soon!


gosse(Posted 2004) [#25]
Wow, this is getting good :)

However,

When you type a function and put the parenthesis, the parameters don't highlight in bold except the first one. It works good if you type function with a space instead of parenthesis.

If you put a comment next to a field, and use the autocompletion feature, the comment is also added to your code.

Keep it up mate!


Roccia(Posted 2004) [#26]
Thank you GoSsE Korupted for the feedback..

Just for you, i've build a new exe that fixes those bugs :-)

Download this zip and replace the njabe exe with the one contained into the zip...

http://www.beggi.it/roccia/downloads/NJABE_beta0820b.zip

Happy coding!


Rob Farley(Posted 2004) [#27]
This actually looks really good, I've stuck with the original IDE since I've had blitz however, I think I'll be trying this one out... Just a thought... I put this in the code archives and you might want to implement it into the ide?


mrtricks(Posted 2004) [#28]
This looks really nice. I've always stuck with Classic too, but I like the look of this. Looking forward to Project Management functions...


Red Ocktober(Posted 2004) [#29]
latest beta release runs well... just got it up and running, so assesment will be thin at this point...

a few things worth mentioning...

(1) edit caret position seems a lil off when deciding where to place the edit cursor... in fornt of or behind a character.

(2) placing the edit cursor at the front of an indented line and pressing ENTER, will force a line feed as expected, but it will also indent the already indented text further in.

(3) not a bug... but when you are farther down in the dev cycle, could you consider implementing a menu option to "Open Recent Source", "Open Recent Project", with lil list of the recent 4 or 5 source/project files...


the editor is verry well done... and is very comfortable to use.

i am with Rob and mrtricks... i have up to this point been using the default ide, but this may make me switch.


--Mike


Roccia(Posted 2004) [#30]
Thanks to all for helping me to make NJABE a valid replacement for standard blitz ide...:-))

To Rob Farley: You ask for it, and you get it!
Download this zip update and replace the njabe exe....you will find a new "use alternative color picker" voice under popup menu linked to colorpicker icon...it's not exactly like your colorpicker but I hope you find it useful (it's and HV + S slider color picker)
Here is a picture of the new colorpicker:


http://www.beggi.it/roccia/downloads/NJABE_beta0820c.zip

Happy coding!


Roccia(Posted 2004) [#31]
Packed up a new beta with all minor bug fixes from 0.8.20

Some of these fixes were present in 20b.zip and 20c.zip package

- fixed a bug with inline help and functions with parenthesis. (found by GoSsE Korupted)
- fixed a bug with fields names followed by comments (found by GoSsE Korupted)
- Optimized Caret Handling so the cursor positions itself better when clicking on Editor. (Found by Red Oktober)
- Fixed a bug with autoindentation. (Found by Red Oktober)
- Fixed a minor bug with caret replacement when replacing selection (this occured also during undo of autoindent operations)
- changed window display when build a project with debug enabled: now blitzcc dos window should be hidden even on Win9x systems.
- Added an extra ColorPicker as suggested by Rob Farley
- Fixed a bug with find/replace that erased last search list every time...
- Added "Rebuild command List" button in preferences dialog: you should launch this every time you change your decls or when a new version of blitzBasic is released (command.txt file contains only default (no userlib) commands for v1.86)

You can download the update directly from Njabe (>=v0.8.17) from menu help-->check for new version

...or you can download beta 21 update from here:
www.beggi.it/roccia/download.asp?id=21

...and full installer from here:
www.beggi.it/roccia/download.asp?id=20

Happy coding


Beaker(Posted 2004) [#32]
Good job, Roccia.

Little tweaks I would like to see:

1) change the background color (slightly darker/lighter or configurable) of the line the cursor is on. Helps people with lesser eyesight.

2) In another IDE when you select text and hit F3 it automatically searches for the next occurance of it in the source. Also, if you select text and hit Ctrl+F (find) it automatically puts the text in the box fully selected for changing. Nice features.

4) I prefer to use Ctrl+; and Ctrl+Shift+; for block commenting. Are you planning to allow user configurable hotkeys?

Really nice feel to the whole thing tho.

[ EDIT: forgot to mention: why does EndIf highlight as EndIF? ]


Beaker(Posted 2004) [#33]
In addition:
I would like to see the current source code path displayed somewhere - either in the titlebar and/or in a tooltip when you hover over the tab.


Roccia(Posted 2004) [#34]
Ok Masterbeaker, in next beta I will add:
1- Different background color for current line (configurable)
2- Ok for F3 shortcut.

3- Where is this?? Pheraps this is adding complete path to sourcecode as a tooltip...will add this

4- I will add, if possibile, user configurable shortkey

On my Pc EndIf is highlighted as EndIF and not EndIf, so what's wrong???

From your signature I see your OS is W98SE. Can you tell me if when compiling and executing in debug mode the blitzcc dos window is hidden (you shouldn't see it and if debug window popups as it should?


Beaker(Posted 2004) [#35]
I dunno where 3) went. :D

My OS is actually XP, sig has been updated.

Shouldn't it be EndIf, and not EndIF?

Great stuff.


gosse(Posted 2004) [#36]
Highlights as EndIf here too.


Red Ocktober(Posted 2004) [#37]
another bug report Roc...(sorry :) )

the latest version doesn't find errors that may exist in an "include"d files when you select compile and run from the menu.

the editor, instead of stopping and flagging the error, tries to run the code and gets hung up.

have to end najabe from the task window.

everything else looks good, so far... nice clean up job.



not trying to rush you or anything... but could ya give some idea where you are at with teh oop precomiler...

thx

--Mike


Roccia(Posted 2004) [#38]
Thanks Red Ocktober for the bug report, I will give it a look.

Now I'm completing Project Management and hopefully Iwill release the 0.9.1 beta next monday.

The Preprocessor part is 30% done: i've done some tests many months ago but i figured out that I needed my own editor to work with it and have full support to it.

I have to take that code and manage it again.
Probably i will convert the proprocessor in an Activex DLL so other people will be able to use it in others editor, i think


Red Ocktober(Posted 2004) [#39]
thx

--Mike


Roccia(Posted 2004) [#40]
Ok Ok, that compiling bug was introduced in beta 21 but I solved it now.
Now if errors occur in included file, that file is loaded (if not already) and error line is shown as it should

I've added also all the requests made by masterbeaker so now you have tooltip with full source code in tabstrip, highlighted line where cursor is (it is black the first time you launch njabe and you must specify your color in preferences dialog), added F3 "find Next" shortcut and now selected text is passed to find dialog

Dowload beta 22 from inside Njabe or from this link

http://www.beggi.it/roccia/download.asp?id=22 (Update only this time, if you have not installed njabe before download full install for beta 21 and then upgrade)

Happy coding!


Perturbatio(Posted 2004) [#41]
The tooltip length appears to be limited to 79 characters, which means long directory names are truncated.


Perturbatio(Posted 2004) [#42]
I also experienced a "runtime error '5' " whilst closing the program without saving changes to a document.
It doesn't happen oten which makes it a little tricky to debug.


gosse(Posted 2004) [#43]
Great stuff. A few other things:

It would be nice to be able to right-click on an Include line (either the command or the file name) and have an option to open this include file.

There is a slight problem with the tabbing. Let's say you typed something like (each [--] is a tab sequence):
[--]Field test[--][--]; Test field
[--]Field test02[--][--]; Test field 2
It should look like that (like in the Blitz IDE) (= is a space):
====Field test========; Test field
====Field test02======; Test field 2
So that the first tab after text goes to the next tabbing column, and not simply 4 characters long.
But looks like that in yours:
====Field test========; Test field
====Field test02========; Test field 2

When you work with a Type that is within an include file, it doesn't list its fields.

Functions that are in an include within an include are not highlighted and don't have its parameters listed when you use it.

For the autocompletion:
When you press Tab or Space on a field/function, it should select it, and not act like you wanted to type this character.
I don't know if its me, but automatically selecting an item while you are typing is annoying. It does seem like a nice feature, since there is no other choices than that, but I find it annoying.

It could be good to have a tooltip when you hover on a function and its parameters, and leave it on if the user types there.

Keep up the good work!


Roccia(Posted 2004) [#44]
Hi, sorry for the delay :-(

A new Beta is here (beta 0.8.23)

Still no project support but some nice improvements....

- fixed old "tab" behaviour: now tabs should work as usual.

- added "load selected file" in edit menu and right-click popup menu: you can use this to load an included file: just point the include "filename.bb" line and double click between "". the filename.bb should be selected. Now right click and select "open selected file" from popup menu
- added inline help for functions.
- higlight and type completiton for included files is now recursive, so any level of include is supported
- While completing a type, pressing space or tab complete it without inserting a tab or a space.

- Added support for icon replace in exe files.You find it in Preferences dialog.A default.ico MUST be present in njabe directory. If you hacked runtime.dll and changed its default icon, you have to extract it and replace default.ico with the new one (must be a single 32x32x256 colors ico)

Update it directly from NJABE or from these links

Full install:
http://www.beggi.it/roccia/download.asp?id=23

Update only:
http://www.beggi.it/roccia/download.asp?id=24


Happy coding!


Perturbatio(Posted 2004) [#45]
the open include option doesn't seem to work for me.


Roccia(Posted 2004) [#46]
if double clicking the file name (this should select it) and then click "load selected file" doesn't work, try selectind the file name manually (=mouse down on first letter and drag to select) then retry.

If this way is working, i know where is the problem....on some circumstances it seems that double clicking raise an unwanted mouse down event after itself and cause the editor to left the whole word appearing as selected but only the section of the word up to the actual cursor position to be internally selected...this doesn't happen on 2 of my pc but happened sometimes on a 3rd computer....it seems I need to find a workaround....


Perturbatio(Posted 2004) [#47]
it works if I manually select it, and on the odd occasion works when double clicking, so it would appear to be that issue.


Roccia(Posted 2004) [#48]
Ok, I will try to fix it..


Synchronist(Posted 2004) [#49]
Nice IDE! However, it will not shutdown under XP Pro. The interface window closes, but I have to go into the Task Manager and manually kill the process.

Keep up the great work!


gosse(Posted 2004) [#50]
Another few things I noticed:

It crashes when you try to open an empty .bb file.

When within a function and you declare a variable of a certain type (even as local), typing \ won't display its members. [EDIT]Ahh! I've just seen why! It's because there's a TAB in front of it![/EDIT]


xmlspy(Posted 2004) [#51]
I tried it out, it's pretty cool. I have one problem so far and that's when you compile when you have a syntax error in an include file, it messes you up a lot, by putting the source of the include on the main file.