Shop OBEX P1 Docs P2 Docs Learn Events
Open Propeller Project #3: Propeller IDE V0.1 Package Available - Page 17 — Parallax Forums

Open Propeller Project #3: Propeller IDE V0.1 Package Available

1141517192029

Comments

  • jazzedjazzed Posts: 11,803
    edited 2014-03-09 23:37
    Roy Eltham wrote: »
    Do you handle the UTF-8 BOM character also? If it's there it should be retained, and if not should be left off.

    If it's there, it's read/saved. If not, it is not read/saved. The code does not insert UTF-8 BOM because it would no longer be an ASCII super-set in that case. UTF-8 BOM use is not recommended according to some references.
  • jazzedjazzed Posts: 11,803
    edited 2014-03-09 23:49
    Heater. wrote: »
    Jazzed,

    I'm not sure what "as is" yet.

    My plan is to have PUB/PRI methods displayed in a "per file context" drop-down browser combo-box similar to QtCreator or VisualStudio. Some other items like DAT labels might also be in the browser combo-box. Other controls could be added to the one-line frame such as combo-box filters or maybe the propeller-tool summary/code/document radio button bar. Another option might be to add the combo to the right-click pop-up menu. I find that less attractive though.
    Heater. wrote: »
    Having methods in sorted order would be nice.

    Indeed. Hopefully it can be optional.
  • jazzedjazzed Posts: 11,803
    edited 2014-03-14 19:37
    The easyside.googlecode.com PropellerIDE repository has been updated.

    Added a SpinSuggest feature.
    Added improvements to Spin AutoComplete.
    The biggest improvement is startup and load time.

    The application will now start with the sidebar closed (click blocks icon to open).

    I'll post a video tomorrow with a tutorial.

    Here's a brief description of AutoComplete and SpinSuggest.

    AutoComplete:

    Press dot (.) on any line not in a comment and not adjacent to other characters except an object name. Select a method or variable from the dropdown box. Select dot to choose dot.

    Press hash (octothorpe) (#) on any line not in a comment and not adjacent to other characters except an object name. Select a constant from the dropdown box. Select hash to choose hash.

    SpinSuggest:

    Type three letters not adjacent to other characters. Use tab/enter to choose text from the popup. Use up/down arrows to choose from multiple items. This also works in comments. Popups will show any matching text.
  • lmclarenlmclaren Posts: 104
    edited 2014-03-15 00:02
    Thankyou everyone for your hard work, The IDE is looking and working great.

    You probably already know, but the sidebar also shows methods that are commented out (using {}), this may of course be the desired behaviour :)

    thank you again

    Lee
  • Heater.Heater. Posts: 21,230
    edited 2014-03-15 03:04
    Yep, we have the same issue with commented out methods in the Spin web IDE.

    It's not such an easy problem to fix and makes things slow if you try to. What happens if the is a { inside a string "{" for example? First you have to parse well enough to know if you are in a string or not.

    Of course the Spin compiler itself does all that at compile time. As far as I understand the idea is to modify the compiler so that it's parser can be used by the editor and thus do these things accurately.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2014-03-15 05:26
    Here's a brief description of AutoComplete and SpinSuggest.

    AutoComplete:

    Press dot (.) on any line not in a comment and not adjacent to other characters except an object name. Select a method or variable from the dropdown box. Select dot to choose dot.

    Press hash (octothorpe) (#) on any line not in a comment and not adjacent to other characters except an object name. Select a constant from the dropdown box. Select hash to choose hash.

    Oh Yea! Brilliant!

    Thanks jazzed :)
  • RsadeikaRsadeika Posts: 3,837
    edited 2014-03-15 06:54
    I just tried out the latest on my Windows box, and it is looking good, I really like that browser icon. I tried out the find command, it was not working for me, but then again I might be using it incorrectly.

    Out of curiosity if I wanted too run Propeller IDE as a stand alone, is there a button that I push in Qt5 that would accomplish this, or does it have a special install process that has to be made?

    Ray
  • jazzedjazzed Posts: 11,803
    edited 2014-03-15 08:16
    Find is a work in progress. So is Zip.

    I'll look into the commented functions this morning.

    As for stand-alone running, there is no simple solution. It is open-source and uses LGPL, so the Qt DLLs need to be in your path. The alternative is to buy a commercial license so that libraries can be statically linked.
  • jazzedjazzed Posts: 11,803
    edited 2014-03-15 17:34
    lmclaren wrote: »
    You probably already know, but the sidebar also shows methods that are commented out (using {}), this may of course be the desired behaviour :)


    That was a bug. Thanks for pointing it out.

    There was also a bug in capturing methods written like this:
    pub TooManyLocalVars(something) | a,b,c,d{
    }e,f,g,h
    

    There is another bug in this area with background highlighting. The above example as the first line in a program will not be background colored. I'll leave that up to Roy - a clue to a fix is in the last committed changeset 74:e4a5b41f4b31 editor.cpp diff.

    There are other minor changes such as fixing a double newline problem :)

    Changes have been pushed to the repository.
  • jazzedjazzed Posts: 11,803
    edited 2014-03-15 18:11
    PropellerIDE now keeps up to last 10 files in the File menu.
  • fridafrida Posts: 155
    edited 2014-03-16 03:37
    Are you only making it for windoze now, because I can't compile on Linux anymore.
  • Heater.Heater. Posts: 21,230
    edited 2014-03-16 03:59
    Still builds and runs fine here on Debian with the Qt5.2.1 libraries.

    Your error message is complaining about calls to QToolTip::showText but according to the Qt5.2 documentation Jazzed is using it correctly. Hence it compiles here:)
    http://qt-project.org/doc/qt-5/QToolTip.html

    Look's like you have an older version of Qt 5 libraries installed. The documentation states that the function was introduced in Qt5.2
  • jazzedjazzed Posts: 11,803
    edited 2014-03-16 21:37
    Hi. I've updated the repository so that SpinSuggest only shows symbols. It also sorts and removes duplicates.

    It strikes me that common SPIN keywords (like waitcnt, clkfreq, etc...) should be added to SpinSuggest. I'll add that soon.

    Didn't have time to make a video this weekend.
  • fridafrida Posts: 155
    edited 2014-03-17 03:42
    @Heater
    I used sunday afternoon to get rid of Ubuntu's qt sdk, and instead of installed your link, but it seems to be the same.
  • pgbpsupgbpsu Posts: 460
    edited 2014-03-17 05:06
    I'd like to try this out on a Mac running 10.9 and help with the debugging effort. Would it be possible to get brief instructions for getting this downloaded and running added to the first post?

    Thanks,
    p
  • jazzedjazzed Posts: 11,803
    edited 2014-03-17 08:28
    frida wrote: »
    @Heater
    I used sunday afternoon to get rid of Ubuntu's qt sdk, and instead of installed your link, but it seems to be the same.

    What library version did you select for building? In the lower left side bar above the word Debug there is a little right arrow (triangle). Click that and it will show the library version.
  • jazzedjazzed Posts: 11,803
    edited 2014-03-17 09:51
    I was using the IDE to do some PASM coding. The # AutoComplete feature gets in the way. I'll change that back to dot (.) or something else unless there are justified objections.

    pgbpsu wrote: »
    I'd like to try this out on a Mac running 10.9 and help with the debugging effort. Would it be possible to get brief instructions for getting this downloaded and running added to the first post?
    First post and instructions have been updated. Instructions to get started are here: https://code.google.com/p/easyside
  • fridafrida Posts: 155
    edited 2014-03-17 13:08
    Maybe it wasnt enough, so I made a deep cleaning of ubuntu to get rid of qt. After that I made a new installation of qt5, but this time as root, and it's running.
    Thanks a lot.
  • Heater.Heater. Posts: 21,230
    edited 2014-03-17 13:24
    Rule one for a happy Linux life: Never, ever, use Ubuntu.

    They just take Debian and break it in so many interesting ways.
  • dgatelydgately Posts: 1,630
    edited 2014-03-17 19:01
    Update in latest sources...

    There's a new Find/Replace feature in the sources (currently there are a couple of missing button images for this feature, but I'm sure Jazzed will get them into the repository soon).

    Basically, the same feature set as within SimpleIDE with a few nuances:

    Menu commands:
    1. Cntl-F (Cmd-F on Mac OS X) will invoke the Find & Replace panel
    2. Cntl-F (Cmd-F on Mac OS X) will hide the Find & Replace panel if it is currently visible
    3. Cntl-G (Cmd-G on Mac OS X) will search forward to find the next occurrence of the searched text (Update! these keyboard shortcuts don't work on Linux)
    4. Cntl-Shift-G (Cmd-Shift-G on Mac OS X) will search backwards for a previous occurrence of the searched text (Update! these keyboard shortcuts don't work on Linux)
    Buttons:
    1. Left-arrow button is same as Cntl-Shift-G (Cmd-Shift-G on Mac OS X) <== Note: arrow icon file may be missing until repository is updated
    2. Right-arrow button is same as Cntl-G (Cmd-G on Mac OS X) <== Note: arrow icon file may be missing until repository is updated
    3. Text-balloon button sets the Whole-word-search filter (just like SimpleIDE) <== Note: whole-word-search icon file may be missing until repository is updated
    4. Magnifying-glass button sets the Case-sensative-search filter (just like SimpleIDE) <== Note: case-sensative-search icon file may be missing until repository is updated
    5. Done button hides the Find & Replace panel (just like Cntl-F/Cmd-F when panel is already visible) and exits
    6. Replace Previous, Replace Next & Replace All buttons were left as text buttons to relay their more complex actions (if you have a better idea for graphical icons, please let me know)
    Other sub-features/options:
    1. Find will search forward automatically as soon as text is typed into the Find text field (this option may be removed if problematic)
    2. The Find & Replace panel does not hide portions of the text editor window when displayed (unlike SimpleIDE's Find dialog), providing a similar experience to more advanced IDEs. I hope this is helpful!
    Additional work:
    1. Find & Replace panel currently opens to a larger rectangle than I wanted. Needs to be fixed. The user can change it's size and it will re-display at the new size when made visible again
    2. The user can change the size of the Find & Replace panel, making it large enough to cover the text editor panel itself. Need to either disable size change or limit ability to re-size
    Any ideas on the above work is fully appreciated! I would like to know how to get the keyboard shortcuts to work on Linux as well. Any hints on a fix for that would be most appreciated!

    Thanks,
    dgately
  • pgbpsupgbpsu Posts: 460
    edited 2014-03-18 05:23
    pgbpsu wrote: »
    I'd like to try this out on a Mac running 10.9 and help with the debugging effort. Would it be possible to get brief instructions for getting this downloaded and running added to the first post?

    Thanks,
    p

    Hi Jazzed,
    Thanks for the link to the instructions. I'm trying to get this going on a brand new Mac OS X 10.9 install. I got mercurial installed and pulled a copy of the code base. I installed Qt and that seems to be fine. When I first tried to build PropellerIde Qt complained that Xcode hadn't been setup correctly. I started Xcode (for the first time on this machine) and got that running. Now when I try to build PropellerIde, it complains "No Compiler Set in Project". What/how should this be set up?

    Thanks,
    p
  • jazzedjazzed Posts: 11,803
    edited 2014-03-18 10:11
    pgbpsu wrote: »
    Now when I try to build PropellerIde, it complains "No Compiler Set in Project". What/how should this be set up?

    Glad you got things running.

    In a normal package, the compiler would be installed already. You need an OpenSpin compiler. I forgot to mention this in the instructions. Roy moved his repository to use git, and I haven't installed git on the mac yet. I'll attach an old mac version that you can use here in a while. Maybe someone has a new one they can share?
  • jazzedjazzed Posts: 11,803
    edited 2014-03-18 10:33
    Ok, I had git already. Here's a zip.

    Get your own repository if you like with this command: git clone https://github.com/reltham/OpenSpin.git openspin
    The openspin at the end is an optional workspace folder name.

    You may also need to assign a library folder that contains common spin code for the IDE.
  • pgbpsupgbpsu Posts: 460
    edited 2014-03-18 10:46
    jazzed,

    My mac already had git installed so I was able to grab OpenSpin from git. I feel really dense about this because now that I have it and have built openspin, how should it be folded into Qt? I'll look back through this thread to see if the answer is already there, but maybe a screen shot in the top post would help. The thread has garnered a lot of attention and is now 26 pages long!

    Thanks,
    Peter
    jazzed wrote: »
    Ok, I had git already. Here's a zip.

    Get your own repository if you like with this command: git clone https://github.com/reltham/OpenSpin.git openspin
    The openspin at the end is an optional workspace folder name.

    You may also need to assign a library folder that contains common spin code for the IDE.
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-03-18 11:13
    Peter,

    Did you install the xcode command line tools? This needs to be done before you have a command line gcc toolset to use on the Mac. Go to xcode|preferences and the under the download area, there should be some thing for installing the command line tools. Once you do this, then hopefully QT will find GCC. You may nee to uninstall QT and install it again or find the place in QT where you specify the tools for a project (might be easier to uninstall/install).

    This is the only thing out of the ordinary I can think of. I had done this previously, so I pretty much just installed QT, grabbed PropellerIDE and was able to build it. As mentioned before, you do need OpenSpin built at some point...which should also require GCC too.
  • jazzedjazzed Posts: 11,803
    edited 2014-03-18 11:21
    pgbpsu wrote: »
    My mac already had git installed so I was able to grab OpenSpin from git. I feel really dense about this because now that I have it and have built openspin, how should it be folded into Qt?

    You add it using the Properties tool (wrench). Click the Browse button on the Compiler line.

    It used to be that the Properties window would pop-up on startup to help people get going on this step. It was like the Boy Scout motto "Be prepared." Now it's like the motto of Petrolia, Ontario, Canada: "You'll Be Surprised!" (You'll be surprised! reflects a widely shared opinion by visitors who often say they are surprised by how much Petrolia has to offer, said Ellsworth. This opinion was reiterated in surveys done in 2012 and 2013. http://www.petroliatopic.com/2014/03/18/petrolias-new-slogan-youll-be-surprised). I've been surprised in many ways by Parallax ;).
  • jazzedjazzed Posts: 11,803
    edited 2014-03-18 11:22
    PropellerIDE does not need GCC to work.
    mindrobots wrote: »
    Peter,

    Did you install the xcode command line tools? This needs to be done before you have a command line gcc toolset to use on the Mac. Go to xcode|preferences and the under the download area, there should be some thing for installing the command line tools. Once you do this, then hopefully QT will find GCC. You may nee to uninstall QT and install it again or find the place in QT where you specify the tools for a project (might be easier to uninstall/install).

    This is the only thing out of the ordinary I can think of. I had done this previously, so I pretty much just installed QT, grabbed PropellerIDE and was able to build it. As mentioned before, you do need OpenSpin built at some point...which should also require GCC too.
    In case you missed it above ... PropellerIDE does not need GCC to work.
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-03-18 12:09
    jazzed wrote: »
    PropellerIDE does not need GCC to work.
    In case you missed it above ... PropellerIDE does not need GCC to work.

    Sorry, clang ( I just looked in my QT and it is pointing to clang). I still believe you won't have clang available from the command line unless you install the command line tools from xcode. I got the impression that Peter was unable to build PropellerIDE because QT could not find a compiler for the project. I'll butt out.
  • jazzedjazzed Posts: 11,803
    edited 2014-03-18 12:35
    mindrobots wrote: »
    Sorry, clang ( I just looked in my QT and it is pointing to clang). I still believe you won't have clang available from the command line unless you install the command line tools from xcode. I got the impression that Peter was unable to build PropellerIDE because QT could not find a compiler for the project. I'll butt out.
    Geez. No, don't butttt out.

    I understood his post to mean he couldn't find the openspin compiler. On Linux and Windows native gcc (or mingw-gcc) is necessary, but it is not necessary on Mac.
  • Heater.Heater. Posts: 21,230
    edited 2014-03-18 13:56
    Except on Linux gcc is not necessary, Qt stuff compiles with Clang just fine.
Sign In or Register to comment.