Shop OBEX P1 Docs P2 Docs Learn Events
SimpleIDE GUI Changes — Parallax Forums

SimpleIDE GUI Changes

jazzedjazzed Posts: 11,803
edited 2012-05-16 16:57 in Propeller 1
Hi All.

I need your opinion before I go changing lots of things in the online user guide. Please help me decide which Project Options layout to keep.

Which is better for you: 1) the old look or 2) the new look ?
I could go either way.

This change is mostly to allow a smaller window for netbooks, etc..., facilitate adding project option features, and for adding SPIN compiler support later.

It also tries to address a long standing request to move board types into the Project settings. I'm honestly not as happy with that as I thought I would be, but it makes some things easier.

Thanks,
--Steve
874 x 551 - 71K
624 x 517 - 120K
«1

Comments

  • Ken GraceyKen Gracey Posts: 7,400
    edited 2012-05-08 00:23
    Hey Steve,

    Weighing in on behalf of the three universities we just trained on the Propeller right now. Two of the universities are Taiwan National University and Tsing Hua National University (#1 and #2 in Taiwan, respectively). The professors in these departments are ready to go with the Propeller now, but they actually aren't aware of a single hurdle that'll be a show-stopper: the ability to put Simplified Chinese Characters into the code. Our Japanese customers have the same problem. It would have been embarrassing if they asked us about this in our presentation, but thankfully we only got nabbed with PASM programming questions [I'm only a Spin programmer]. Any of you could have helped us out here . . .

    Could somebody help us out and install the Chinese characters on their computer, and see if you could put them into Simple IDE as comments or within text strings [maybe for an LCD]?

    And long-term, we are also supporters of making Simple IDE have Spin/PASM support along with C/C++. Parallax can help here as necessary, with financial support, testing, and whatever else you need (we have a bit of a humanpower shortage right now).

    I realize these comments are not specifically applicable to the question asked above.

    Thanks,

    Ken Gracey
  • pedwardpedward Posts: 1,642
    edited 2012-05-08 00:36
    Steve,

    In general, I like the newer layout. However, not to beat a dead horse, but...many of these options need to be settable on a per file basis. I'm afraid that relying solely on Make to support multiple memory models isn't going to work long term, so you might as well consider this need while you are tearing it apart. I'm not suggesting that it needs to be implemented now, but rather keep this in mind when you are reworking things so you don't paint yourself into a corner.

    I would like to see items in that "pane" update dynamically when you click on the files in the navigator. Also, since you will be supporting file types other than C/C++ in the future, consider how that will play into the preferences pane. A thought that I had, maybe not a great one, is to integrate Make into SimpleIDE, either via invocation or a library. Then you can use SIDE to generate makefiles or edit existing makefiles -- saves a lot of the heavy lifting and pushes the efforts to a common interface.

    As for chinese/japanese, this is a straightforward i18n issue, if the editor widget supports Unicode and the file save/load is 8bit clean, Unicode should work.

    I confirmed that the editor is i18n/Unicode compatible, but the save/load isn't. I pasted おはようございます into the editor as a comment and it worked, but when I closed/opened the file I just got a bunch of question marks.
  • Ken GraceyKen Gracey Posts: 7,400
    edited 2012-05-08 00:54
    Thanks Perry - a little test I don't have time to do offers lots of positive hope for these customers.

    In the Taiwanese market there are many 32-bit processors we've never even heard of, designed by Taiwanese companies and shuttled into the universities for use. Not much in the way of multicore as far as I can see without asking around. They understand and appreciate what the Propeller can offer, and they're very interested in image processing. Taiwan is a big player in the touch-screen display market, in both manufacturing and design.

    Will be interesting to see what possibilities Simple IDE affords for Spin/PASM in the future. Steve better not get a real job because I think we'll be needing him. . .

    Ken Gracey
    Parallax Inc.
  • pedwardpedward Posts: 1,642
    edited 2012-05-08 01:10
    I did a little more digging. The string I posted above is from this codepage: http://www.unicode.org/charts/PDF/U3040.pdf

    UTF-8 is the conventional coding and encodes using a variable length protocol: http://en.wikipedia.org/wiki/UTF-8

    I had a look at the source, and the OpenFileName method is going to need an overhaul to be 8-bit clean.
  • pedwardpedward Posts: 1,642
    edited 2012-05-08 01:24
    Something I wanted to point out, it looks like Steve wrote SimpleIDE from scratch, he didn't start out with someone else's code and repurpose it. This makes SIDE all that more impressive of an accomplishment.
  • RsadeikaRsadeika Posts: 3,837
    edited 2012-05-08 04:48
    @jazzed, I like the new look!

    Ray
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-05-08 07:13
    I like the new look. It should make handling some of Ken's latest requests easier to organize and implement.

    The smaller window footprint will be good - I can see this being a great Netbook tool.

    Don't worry about the Forth IDE....we'll probably start working on that! :lol:
  • jazzedjazzed Posts: 11,803
    edited 2012-05-08 07:36
    pedward wrote: »
    In general, I like the newer layout. However, not to beat a dead horse, but...many of these options need to be settable on a per file basis. ...


    Can you please point to an IDE program example that provides per file properties to help me understand what you're after?
  • ctwardellctwardell Posts: 1,716
    edited 2012-05-08 07:55
    I haven't looked at the changes yet, but I'd like to share a concern, and that is that Simple needs to stay as Simple as possible, otherwise it becomes Eclipse, and that isn't Simple...

    C.W.
  • MacTuxLinMacTuxLin Posts: 821
    edited 2012-05-08 08:01
    I tried the below.
    /*
     * This demo uses waitcnt instead of sleep so it will fit in a COG.
     * It also repeats printing every 200ms and prints the iteration.
     * Some computers may not be fast enough for the terminal to catch
     * the serial input after loading the Propeller, so you may not see
     * "Hello World 1", but you will see something on the terminal.
     */
    #include <stdio.h>
    #include <propeller.h>
    int main(void)
    {
        int n = 1;
        printf("&#20320;&#22909;&#21527;\n");
        while(1) {
            waitcnt(CLKFREQ/10+CNT);
            printf("&#20320;&#22909;&#21527; %d\n", n);
            n++;
        }
        return 0;
    }
    

    I saved & run. Sorry, it showed "???" for the characters. I closed & open the file & it showed one "?" for each character. The above is Simplified Chinese & I think its the same for Traditional Chinese. I think SimpleIDE cannot handle double-byte (unicode) ?

    Same for Japanese:
    int main(void)
    {
        int n = 1;
        printf("&#20803;&#27671;&#12391;&#12377;&#12363;\n");
        while(1) {
            waitcnt(CLKFREQ/10+CNT);
            printf("&#20803;&#27671;&#12391;&#12377;&#12363;%d\n", n);
            n++;
        }
        return 0;
    }
    
  • JonnyMacJonnyMac Posts: 9,195
    edited 2012-05-08 23:57
    Steve,

    FWIW, I really like the new layout, too. I know you've heard this but let me state it again: you've done a fantastic job with SimpleIDE in a very short time. Thank you. Solving the non-English character thing will really help move the Propeller beyond the choir that is always preached to.
    ...and for adding SPIN compiler support later.

    Be still, my heart. I would love to have SimpleIDE as the only interface for Propeller programming.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2012-05-09 00:21
    I'd like to also add another vote to say how great SimpleIDE is.

    I've been using it on and off for a couple of weeks now. There are no real issues and no real changes that need to be made. But rather than say nothing, I'd like to put in a vote to say that it is great, it is working well and doing the job just fine. If I find any issues I'll post but there are none at the moment.

    Old look vs new look? I think new look. On the old one, the default is that the screen is a bit smaller and on those screenshots you will notice the platform dropdown menu near the top right does not show up. It is there if you enlarge the screen but it is not there on the default startup and a new user might miss it if they didn't enlarge the screen. On the new look it is there by default which would be better.

    Keep up the good work!
  • jazzedjazzed Posts: 11,803
    edited 2012-05-09 01:24
    Ok, the new look is better. I'll stick with it and change my user guide.
    Thanks for the input and wonderfully supportive comments.

    Attached are some teasers. The Chinese translates to "Hello, Kai-Lan".

    I watch "Ni Hao, Kai-Lan" with my grandson: http://en.wikipedia.org/wiki/Ni_Hao,_Kai-Lan I am his "Ye Ye" :)

    The UTF-8 terminal is not ready yet. I'm not exactly sure what to do with it. More to study from Ken Thompson!
    The terminal is the hardest part of this whole program - I'm looking into allowing other terminals like putty.

    I'm working with one of our forum friends on Chinese translations for the IDE messages.
    Hoping volunteers for other languages will step forward. Everyone will get credits for translations.

    Thanks,
    --Steve
    796 x 550 - 65K
    656 x 438 - 12K
  • jazzedjazzed Posts: 11,803
    edited 2012-05-09 22:09
    The SimpleIDE User Guide has been updated for the new layout.
    https://sites.google.com/site/propellergcc/documentation/simpleide/user-s-guide#TOC-Project-Manager

    Please review for unclear explanations. If you feel something is missing in the user guide, please speak up.

    Thanks
    --Steve
  • pedwardpedward Posts: 1,642
    edited 2012-05-10 01:03
    UTF-8 support for the Terminal has been committed. Man, HG is a giant pain in the Smile! I use SVN on a daily basis, but HG hast cost me nearly 2 hours!!!

    So, between Steve's fixes and mine, SIDE should be UTF-8 compliant. I don't know if terminal inputs work yet, but I suspect that is less difficult.
  • Ken GraceyKen Gracey Posts: 7,400
    edited 2012-05-10 07:13
    Thanks Perry and Steve -

    I imagine the support for Chinese translation is coming from MacTuxLin, our friend in Singapore. We appreciate this kind of support.

    And it appears that Perry has got some Chinese support in the terminal program. Thank you!

    Our Taiwanese, Hong Kong and Chinese customers will appreciate this a bunch. They're lurkers on this forum, often not posting but reading everything we do to get the right background. I encourage all of them to join in the forums and I think we'll see a few newcomers in the next month.

    Ken Gracey
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-05-10 07:24
    Since we're talking UTF, is the UTF-8 versus UTF-16 issue something that's easily fixable?

    In writing up a quick SPIN/PASM Object tutorial, I realized/remembered the problem with adding .spin files from the Propeller Tool directly to SimpleIDE projects. SimpleIDE doesn't like the UTF-16 encoding used by the Propeller Tool, so you need to cut/paste between the two. It's not a big issue now once you know about it but it drives your crazy until you realize/remember the problem but if SIDE is going to do SPIN/PASM, then UTF-16 file support will be needed.

    If it's a major item to change or adopt, at least for now, there needs to be a warning of some sort instead of just presenting an empty file where you thought there was going to be code.

    I've been bouncing around from various editors/IDEs all week and SIDE has stood up well to all of them as far as functionality and ease of use. As I did this, I became more and more appreciative of the scope of Steve's achievement.
  • Ken GraceyKen Gracey Posts: 7,400
    edited 2012-05-10 07:32
    mindrobots wrote: »
    I've been bouncing around from various editors/IDEs all week and SIDE has stood up well to all of them as far as functionality and ease of use. As I did this, I became more and more appreciative of the scope of Steve's achievement.

    And I think there's more support from people not even posting on the forums. I'm in China right now and our office staff is using SimpleIDE, even porting some of our code to C. They're using LMM and find the tool perfectly suitable for their needs.

    Ken Gracey
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-05-10 07:35
    Yes, the unheard masses yearning to code C!! Let the coding revolution begin!!!!

    :innocent:, oops, sorry.
  • pedwardpedward Posts: 1,642
    edited 2012-05-10 10:01
    Copy and paste between the Propeller Tool and SimpleIDE seems to work fine for me. I'm running VMWare, so I'm copying from Ptool in Vista and pasting in SIDE on Linux, which may be doing some translation.

    I was able to open standard Spin files just fine, which tells me they are UTF-8 (which is the standard).
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-05-10 10:08
    Copy/Paste has always worked.

    Let me try adding the Spin files again. I'm currently using 6.10

    I'm referring to this issue (posts #15 and #16). I thought I re-experienced it this morning.
  • pedwardpedward Posts: 1,642
    edited 2012-05-10 10:20
    I don't know that Steve has published a release with the UTF-8 fixes yet. For certain, the *next* release will contain UTF-8 fixes.
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-05-10 10:25
    *EDIT: Just saw your post about the fixes. I don't think he has, so we can consider teh steps below as a semi-automated test suite. :smile:

    OK, here's what I see following these steps

    1) New Project
    2) Right click on .c file and select "Add File Copy"
    3) navigate to library for Propeller Tool and select .spin file - file is added to PM window
    4) click on the file you just added and SIDE switches to the tab for that file and it is EMPTY (line #1 with nothing else)
    5) Right click on .c file and select "Add File Link"
    6) select another .spin file from the library - the link is added to the PM window
    7) click on the file you just added and SIDE switches to the tab for that file and it HAS contents!
    8) open a .spin file with the folder icon or from the menu, select the file and its contents are displayed in a new tab
    9) Right click on .c file and select "Add File Copy" and select the file you just opened
    10) click on the file you just added and SIDE switches to the tab for that file and it is EMPTY (line #1 with nothing else)

    Steps 4 and 10 shouldn't show me empty files.

    "Add file Link" and copy/paste are work arounds but something strange happens with "Add File Copy" and standard .spin files. If you don't know the work arounds, it's very frustrating trying to get an existing .spin file into a project.
  • pedwardpedward Posts: 1,642
    edited 2012-05-10 10:27
    Ahh, this sounds like a bug in the project handling, just from the quick description.
  • pedwardpedward Posts: 1,642
    edited 2012-05-10 10:31
    I was able to reproduce your problem, but I don't have an exact path to what causes it, I'll look at it more this evening.
  • jazzedjazzed Posts: 11,803
    edited 2012-05-10 10:50
    Perry checked in UTF-8 code for the serial terminal, but I'm not ready to make another release yet. Like I said serial terminal is the hardest part of the job ....

    I've been able to open UTF-16 parallax-font based files for a while on various machines - I use DejaVu Sans Mono for example. Even Courier 10 works on my debian64 linux box with SimpleIDE 0.6.6.

    You don't need actual parallax font to have a readable file, but it would be useful to have in a package.

    I can reproduce steps with add file copy. I'll look into that. Thanks for the detailed "repeat by" sequence.
  • jazzedjazzed Posts: 11,803
    edited 2012-05-10 11:08
    Perry I just pushed a change to mainwindow.cpp that fixes the "Add File Copy" UTF-16 issue.
  • pedwardpedward Posts: 1,642
    edited 2012-05-10 12:12
    Does the Proptool actually use UTF-16?

    EDIT: appears to be a Windowsism. I'll have to look at the files.

    Sure enough, the files are encoded as such:
    00000000  ff fe 7b 00 7b 00 0d 00  0a 00 2a 00 2a 00 2a 00  |..{.{.....*.*.*.|
    00000010  2a 00 2a 00 2a 00 2a 00  2a 00 2a 00 2a 00 2a 00  |*.*.*.*.*.*.*.*.|
    *
    00000050  2a 00 2a 00 2a 00 2a 00  2a 00 2a 00 0d 00 0a 00  |*.*.*.*.*.*.....|
    00000060  2a 00 20 00 67 00 65 00  6e 00 65 00 72 00 69 00  |*. .g.e.n.e.r.i.|
    00000070  63 00 20 00 41 00 44 00  43 00 20 00 64 00 72 00  |c. .A.D.C. .d.r.|
    00000080  69 00 76 00 65 00 72 00  20 00 76 00 31 00 2e 00  |i.v.e.r. .v.1...|
    00000090  30 00 20 00 20 00 20 00  20 00 20 00 20 00 20 00  |0. . . . . . . .|
    000000a0  20 00 20 00 20 00 20 00  20 00 20 00 20 00 20 00  | . . . . . . . .|
    000000b0  2a 00 0d 00 0a 00 2a 00  20 00 41 00 75 00 74 00  |*.....*. .A.u.t.|
    
    

    The first 2 bytes are sentinel value to detect UTF-16 encoding. Since Qt is fairly smart, I suspect it is detecting this and handling it, since I'm able to properly open UTF-16 files in the editor.
  • pedwardpedward Posts: 1,642
    edited 2012-05-10 12:21
    jazzed wrote: »
    Perry I just pushed a change to mainwindow.cpp that fixes the "Add File Copy" UTF-16 issue.

    While walking to the office I was thinking about the naming of these menu options.

    It would seem more intuitive to call them:

    Import with Copy
    Import existing

    Then add a "Create New" option (I don't recall seeing one).
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-05-10 12:46
    I'm going to vote for "Add"

    You are adding a file to the current project. You either add the file to the project in 3 possible ways:

    1) The file is somewhere else and you want it in the project AND the source in the project directory -> "Add File Copy"
    2) The file is somewhere else and you want to leave it there but include it in project -> "Add File Link" (by the way, I like how the PM windows shows a linked file and also tha tyou can click on it and get it in an editor tab)
    3) It's a new file you just created (using the NEW Icon or menu item) and you want it included in the project - "Add File Copy" fits here too, the copy just happens to be skipped since the file is already there.

    "Add New" could be added but it makes things complicated since you need to solicit for a file name when the user clicks "Create New" so you can put it into the Project file list or you put in a space holder of "untitled" and then go back to change it when the user does a "save as". You could end up with multiple "untitled" if you don't solicit a name early.

    Clicking "new", typing in text, "save as" then doing "Add File Copy" seems rather logical to me.

    My 2 cents.
Sign In or Register to comment.