The IDE seems to be a mixture of AWT, Processing and Swing. There also seems to be people who are "doing their own thing". I suggest you look at Google Code Archive - Long-term storage for Google Code Project Hosting. if you have not already, as this is where you find the existing issues list and the developers mailing list; archives of this list can be seen without logging in and is updated very soon after postings.
Thanks for the feedback. I'm looking through existing issues to find ideas for improvements (which is where I found the request for a Windows menu).
Here is a first mockup of what it would look like. Hopefully the icons make sense. The right sidebar contains help so you can learn about the language, functions, and any installed libraries right from within the IDE.
I seldom use the IDE but would be the first to agree that it has it's place, especially with a few enhancements.
Hopefully the icons make sense.
So the guy running is the fire escape for when your program crashes and burns?
I like having line numbers, this is brought up ALL the time and frankly having a single number at the bottom of the window somewhere doesn't cut it, so that's good.
The help has potential as well, as long as it finally has a proper list of return and variable types for all core functions at least (unlike the official reference pages).
One thing that really irks me and I've never heard mentioned is remembering the window size over invocations. Programs have been doing this for maybe 30 years and to have to resize the bloody window every time is very annoying.
As to what chance you have of getting this officially adopted, good luck with that
does it really make any more since than arrows in different directs
right = compile up with a little dotted line means upload down with a little dotted line means save, that makes no since compile and save are local functions but have different icons, upload and save are external and internal but share icons
sorry I am a noob, wth? and where are the line numbers? heh
Is there an easy way to do that? I do miss it, but the way I read the descriptions of Swing (I am not at all a Java programmer, other than being able to write C code in Java), the rejection of the native UI behavior is considered a "feature."
The other thing that has frustrated me is the abstraction of the "Serial Monitor" window. I was trying to figure out how to get it to support "cursor positioning" ala VT100, but the way I read the current code, it would be very difficult to do this. It's too much a "text panel of arbitrary size" rather than the (more primitive) "screen with X/Y coordinates of each letter." Is there an alternative feature more like a "screen" ?
CrossRoads:
Me too, its not just you. Can't have a twitchy hand.
Ohhh I see the issue too! never noticed because I never select with the mouse. I will check if there is some delay I can add so selection is more precise.
I'm digging into the Arduino IDE codebase now. It's not too complicated but it really seems like a mess. Basic compilation is done in a fairly convoluted way. There are a whole lot of references to compiling Java code. Is there a reason for this? I'm guessing there is a lot of history in this codebase, so I'm weighing fixing it vs replacing it. So far I have built a straightforward class that can successfully compile a sketch to a hex file. Adding support for alternate cores, multiple libs, and the other stuff should be fairly easy.
On the GUI, I've done some more prototyping. I'm trying to decide between using Swing or JavaFX. JavaFX is the future of desktop Java and a lot prettier. Unfortunately it doesn't have a robust text editor, so doing things like Syntax Highlighting won't be possible for a while. If I go with Swing then I can put something together very fast that will look decent, but it won't have access to the new JavaFX features. In particular, it won't have access to the nice WebView. I was really hoping to use the WebView for inline help / docs. Thoughts? Does anyone care what it's written in?