BBC BASIC
« SDLIDE - feedback requested »

Welcome Guest. Please Login or Register.
Jan 22nd, 2018, 5:09pm


Cross-platform BBC BASIC (Win32, Linux x86, Android, Mac OS-X, Raspberry Pi)

« Previous Topic | Next Topic »
Pages: 1 2  Notify Send Topic Print
 hotthread  Author  Topic: SDLIDE - feedback requested  (Read 1015 times)
michaelgallup
Guest
xx Re: SDLIDE - feedback requested
« Reply #1 on: Aug 7th, 2016, 02:58am »

It looks intresting. I am currently working on many projects as I get time. I don't have a mac anymore, but will try the cross platform version on one of my computers. I was working on a revival of SET, for old style large graphics plotting, but I named it PSET. Oh well.. If you want to use the tool you can for your cross platform. Also you can use PROCcolor and SBOX tools I have in the same program. It is in GENERAL. I made the commands for everyone to use.
« Last Edit: Aug 7th, 2016, 03:02am by michaelgallup » User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 691
xx Re: SDLIDE - feedback requested
« Reply #2 on: Aug 7th, 2016, 2:53pm »

on Aug 7th, 2016, 02:58am, michael wrote:
will try the cross platform version on one of my computers.

There's no reason not to run it on the same PC that you use for BB4W - that's what I do - just don't put it in the same place.

SDLIDE.bbc and dlgdemo.bbc will run under BB4W anyway (the appearance is a little different, and it's a bit slow1), but in that case you would need to copy dlglib.bbc into your BB4W LIB folder first.

Richard.

1. Some display-related operations are faster in BBCSDL than in BB4W, partly because SDL (designed primarily for games) is more tuned for graphics performance, and partly because the multi-threading is handled differently (a requirement of OpenGL).
« Last Edit: Aug 7th, 2016, 2:54pm by Richard Russell » User IP Logged

MarsFS
New Member
Image


member is offline

Avatar




PM

Gender: Male
Posts: 16
xx Re: SDLIDE - feedback requested
« Reply #3 on: Sep 1st, 2017, 05:52am »

Bit late to this conversation but here's a few things I've noticed:
  • Selecting text is sometimes not intuitive, would be nice to be able to double click a verb so that it highlights ready for searches or copy/paste etc.
  • In the same vein, double clicking or highlighting a verb shows all matches for that verb in the current listing... makes debugging so much easier, try out notepad++ to see how this works
  • Trying to delete a single blank line is tricky at best and sometimes annoyingly impossible with using just keyboard, pressing delete or backspace on a blank line should delete it

I'll think of some more but above would go a long way to making the IDE more enjoyable to use.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 691
xx Re: SDLIDE - feedback requested
« Reply #4 on: Sep 1st, 2017, 08:41am »

on Sep 1st, 2017, 05:52am, MarsFS wrote:
would be nice to be able to double click a verb so that it highlights...

I entirely agree that the lack of double-click actions is a shortcoming. The difficulty, as you probably appreciate, is that BBC BASIC doesn't have a cross-platform mechanism for distinguishing between a single and double mouse click: neither the MOUSE statement nor the ON MOUSE event convey that information. One would be faced with trying to deduce it by means of a timer mechanism, which could be quite unreliable, especially on a slow platform such as the Raspberry Pi. Some experimentation is perhaps called for.

Quote:
Trying to delete a single blank line is tricky at best and sometimes annoyingly impossible with using just keyboard, pressing delete or backspace on a blank line should delete it

Pressing backspace does delete a blank line, so long as the caret (text cursor) is at the very start of the line. This is entirely consistent with the way the BB4W editor works, so I'd be reluctant to make a change that would make them dissimilar. Are you also unhappy with the way the BB4W editor works in that respect (in which case I'm afraid there is no possibility of a change, since that's worked the same way for 16 years!) or is there something different about the behaviour of the SDLIDE editor that I've not spotted?

Do please feel free to make changes to SDLIDE.bbc yourself and submit them for possible incorporation in the distributed version. Implementing the IDE in BASIC has a number of benefits, and allowing user-contributed enhancements is definitely one of them!

Richard.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 691
xx Re: SDLIDE - feedback requested
« Reply #5 on: Sep 2nd, 2017, 3:42pm »

on Sep 1st, 2017, 08:41am, Richard Russell wrote:
Some experimentation is perhaps called for.

I've tried the BASIC timer technique for detecting a double-click, and it seems fairly reliable on a fast machine. I'll need to check it on something slow like a Raspberry Pi as a more robust test.

Richard.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 691
xx Re: SDLIDE - feedback requested
« Reply #6 on: Sep 2nd, 2017, 8:14pm »

on Sep 1st, 2017, 05:52am, MarsFS wrote:
double clicking or highlighting a verb shows all matches for that verb in the current listing...

I've now implemented that (double-clicking only).

Richard.
User IP Logged

MarsFS
New Member
Image


member is offline

Avatar




PM

Gender: Male
Posts: 16
xx Re: SDLIDE - feedback requested
« Reply #7 on: Sep 2nd, 2017, 8:48pm »

Quote:
I've now implemented that (double-clicking only).

Thanks for taking the suggestion on board and implementing s solution, it's really great to see active ongoing development for this amazing language.

Will have to spend some more time digging through the IDE code, it's really amazing that it's written in the same language that it's used to create code for.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 691
xx Re: SDLIDE - feedback requested
« Reply #8 on: Sep 2nd, 2017, 10:21pm »

on Sep 2nd, 2017, 8:48pm, MarsFS wrote:
it's really amazing that it's written in the same language that it's used to create code for.

It was the obvious approach to creating a cross-platform IDE for a cross-platform language (and indeed SDLIDE.bbc will run in BBC BASIC for Windows too). And to be fair the 'other' IDE (Andy Parkes' BBCEdit.bbc), which is also written in BASIC, came first so he should take some of the credit for demonstrating that it was practical.

It's quite telling, I think, that I was able to implement the 'highlight all occurrences of a word' facility quite quickly and easily in BBC BASIC, whereas I wouldn't have dared attempt to do the same for the BB4W IDE (which is coded in C). It would be much more difficult and much riskier.

Richard.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 691
xx Re: SDLIDE - feedback requested
« Reply #9 on: Sep 3rd, 2017, 4:08pm »

on Sep 2nd, 2017, 8:48pm, MarsFS wrote:
Thanks for taking the suggestion on board and implementing a solution.

If you want to try it out, you can download the revised version of SDLIDE.bbc from here. I hope it does something approximating to what you had in mind, but don't expect that any other suggestions will be actioned so quickly (if at all)!

Richard.

User IP Logged

MarsFS
New Member
Image


member is offline

Avatar




PM

Gender: Male
Posts: 16
xx Re: SDLIDE - feedback requested
« Reply #10 on: Sep 3rd, 2017, 7:56pm »

Works really well thank you for getting it implemented so fast and hope you and others find it a useful addition smiley

One other idea to add to the list when you have time, when searching and reaching the end of a file listing, is it possible to loop back to the start of the program with a notification perhaps to inform the user when the original search reference or starting line is reached?

This is something I've found extremely useful in other IDEs and it works well with replace also.

User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 691
xx Re: SDLIDE - feedback requested
« Reply #11 on: Sep 4th, 2017, 06:52am »

on Sep 3rd, 2017, 7:56pm, MarsFS wrote:
is it possible to loop back to the start of the program

Actually it's quite straightforward to make it work like BB4W, which is for the 'string not found' message to be reported as it is now (when it gets to the end of the program) but to automatically loop to the start of the program so you can continue the find/replace operation from there.

To make that change, you will find that there are two places in SDLIDE.bbc where it reports the message:

Existing Code:
      PROCmessagebox("SDLIDE", "String not found", MB_ICONINFORMATION) 

Simply insert this line after both:

New Code:
      CaretX% = 0 : CaretY% = 0 : AnchorX% = 0 : AnchorY% = 0 

Quote:
with a notification perhaps to inform the user when the original search reference or starting line is reached?

That would be a lot more difficult, since it doesn't know where the starting line was (and it might change as a result of a replace operation).

Richard.
User IP Logged

MarsFS
New Member
Image


member is offline

Avatar




PM

Gender: Male
Posts: 16
xx Re: SDLIDE - feedback requested
« Reply #12 on: Sep 4th, 2017, 11:02pm »

Thanks Richard!

I have implemented this and the loop around seems to work well, I have been playing with also showing a dialog but have noticed an anomaly and just wondering if you've seen or noticed this before?

Code:
              REM PROCmessagebox("SDLIDE", "End Of File Reached", MB_ICONINFORMATION)
              PROCmessagebox("SDLIDE", "String not found", MB_ICONINFORMATION)
              CaretX% = 0 : CaretY% = 0 : AnchorX% = 0 : AnchorY% = 0
 


The PROCmessagebox is truncating the message part and not showing an icon, I've tested just the SDL part and it appears to truncate the message but not sure what the trigger is... strange ???

Code:
MB_ICONINFORMATION = 64
SYS "SDL_ShowSimpleMessageBox", MB_ICONINFORMATION, "TEST 123 ABC Hello World", "The quick brown fox jumps over the lazy dog...", @hwnd% 


The BB4W equivalent works correctly and does not truncate the message and does show the icon.

I haven't dug much deeper than that as my knowledge of the SDL system calls needs a primer session :-[

If you have the time to confirm whether the issue is present on your end that would be much appreciated.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 691
xx Re: SDLIDE - feedback requested
« Reply #13 on: Sep 5th, 2017, 08:48am »

on Sep 4th, 2017, 11:02pm, MarsFS wrote:
The PROCmessagebox is truncating the message part and not showing an icon

As you can see, it works here with no truncation (I don't think the absence of an icon is relevant; it's platform dependent). What version of SDL are you running ('about.bbc' will report that)? The current/latest version is 2.0.5 so if that's what you have too it's a mystery.

Richard.

User Image
User IP Logged

MarsFS
New Member
Image


member is offline

Avatar




PM

Gender: Male
Posts: 16
xx Re: SDLIDE - feedback requested
« Reply #14 on: Sep 5th, 2017, 10:08am »

Hmm, tried it at home and its working ok, will double check work PC and go from there, thought i'd downloaded the latest version but I'll see tomorrow... otherwise not too fussed as seems ok at home. Thanks for checking smiley
User IP Logged

mschmalenbach
New Member
Image


member is offline

Avatar




PM


Posts: 3
exclamation Re: SDLIDE - feedback requested
« Reply #15 on: Dec 30th, 2017, 1:59pm »

Firstly, Happy New Year!
Secondly, thank you for creating all of this, and continuing to work on it.

I'm finally able to spend time doing 'geekery' as my wife calls it!

I've been working on a 'tiny pascal' compiler, written in BBC Basic. It's aimed at generating code for smaller Microchip PIC microcontrollers. I plan to port it to my BBC Master once it's up & running.

Everything has been fine until this morning.

I'm using the SDLIDE v0.19b environment, which took only a short while to become familiar with.

This morning I fired it up and got strange mouse behaviour. As SDLIDE starts up, the mouse point jumps to approx the same place on the IDE screen - towards the top right.

Within the edit space itself the mouse behaves after this jump. But moving to anywhere in the ribbon bar across the top of the window, where the various tools & command icons are, and the mouse pointer jumps towards the top edge of the window, above the ribbon bar. Any attempt to move the mouse pointer back down to whichever icon I want to click on, or menu bar element I want to click on, and the mouse pointer jumps back up towards the top again. This behaviour happens only in the vertical axis. In the horizontal axis it is fine.

If I move the mouse pointer outside the SDL window to the rest of my desktop, mouse pointer behaviour returns to normal.

This has made using SDLIDE impossible.

I tried to put SDLIDE in to full screen mode, which was easy - the mouse pointer behaves around the normal window controls (the 3 coloured circles top left on any MacOS window) - once in full screen mode normal service was resumed with the mouse pointer, including after taking it out of full screen mode.

I've been able to repeatedly observe these behaviours having shut down SDLIDE multiple times etc - and restarted my Mac - not something you normally have to do compared with a Windows PC.

The other IDE that comes with this version of BBC Basic for the Mac is lacking many of the features of SDLIDE I rely on, and won't run the source code I've created anyway...

I have a short piece of video - a screen recording - of the problem, should this prove of use to you.

Cheers

Martin
User IP Logged

Pages: 1 2  Notify Send Topic Print
« Previous Topic | Next Topic »

Donate $6.99 for 50,000 Ad-Free Pageviews!


This forum powered for FREE by Conforums ©
Sign up for your own Free Message Board today!
Terms of Service | Privacy Policy | Conforums Support | Parental Controls