Recompile to get slider arrows?

Years and years ago, I got into RealBasic, but created only one application: a scoring program for our duplicate bridge group. Amazingly, that program still works, even though it was originally compiled under a very early version of OSX.

Unfortunately, my recent jump to Yosemite (due to getting a new Mac for Christmas) has lost an important bit of the user interface. Specifically, the arrows at either end of the slider are gone. (See illustration below; Snow Leopard on the left, Yosemite on the right.) Although the application still functions correctly, it’s quite tricky to get that slider to one of 20 distinct positions, since there are no one-at-a-time arrows to click.

My bridge club members are asking for their arrows back. However, it looks as if I have to spend a hundred dollars or more to get a Xojo license just to recompile this with the appropriate Yosemite flags set so I can regain this functionality. (If “setting flags” is indeed what’s required.)

We’ve used this program every month for many years, so I can convince myself that I actually don’t mind (too much) spending that money, but I would be very sad if this problem is un-fixable by a simple recompile. Can someone tell me if that’s all it would take?

One of the OS X releases, 10.7 I think, got rid of knobs at the end of scrollbars. It’s not anything related to Xojo.

Apple got rid of scrollbar arrows, and the general consensus is that they’re never coming back.
You may want to reconsider your interface design.

You can still use your RealBasic license to build a new version once you’ve refined your interface. The license may be in your account, if not contact customer service to see if they can help. However, there are issues with Carbon apps and Yosemite.

Joe and Tim, thank you for the quick and informative response.

I didn’t suspect Xojo as being the cause of the problem, but rather hoped it was a Yosemite “feature” that could be overcome by a new compilation.

But if the arrows are no longer available, I will indeed have to re-think the interface. Rats.

I’m not sure how to play bridge, or what the 20 positions are for, but might this control be a suitable replacement?

A slider would seem to me the way to go

Tim, no need to know how to play, only how to post our results, viz.,

At any given time, one of 20 sets (“boards”) of scores must be entered. Your suggested number-with-arrows [what’s the name of that control?] would work, but would at times be tedious. Here’s why:

Scores are entered by clicking the appropriate radio buttons for one of the boards, so your first step is to get to that board number. You might, for example, be handed the scoresheets for boards 1 through 4. So after entering board #1’s data, you click the arrow to #2, enter that data, click to #3, enter that, etc. But then someone hands you the scores for boards 16 through 20. It would be nice NOT to have to click-click-click…click-click… up to #16, but rather [yes, Karen!] to SLIDE up to 16 or so…and if you miss by one or two, a click or two to correct the board number is no biggie.

What you don’t want to fool with is the keyboard or keypad* – that was the original reason for this application: to handle all scoring with a mouse/trackball/stylus (or – not quite so easily for me, anyway – with a trackpad).

So I think a slider plus the number-with-arrows control will do it. I would want the slider’s position to be adjusted to correspond to the board number – whether that number has been clicked to, slid to, or of course keyboard-entered.

  • Scores can be integers (0, 1, or 2) OR fractions (0.5, 1.5), and typing these is relatively slow, compared to clicking radio buttons. Not having to key-enter anything is quick and slick.

You might find this useful for that:

http://katkosoft.xojonews.com/Ultimate%20Slider/Ultimate%20Slider%202.html

Ah I see. You wouldn’t have to click click click, the control should always be accompanied by a text box that shows it’s value. One would be able to jump to 16 by changing that number by typing it :slight_smile:

It sounds like Karen’s slider is what you’re looking for.

I think I would prefer to type 16 for the board number, or .5 for the score, but you made your app for you!

Karen – Thanks for the link. I’ll check it out if (no, when,when!) I get back to programming this thing). OTOH, the slider I currently have does work, and I will still need to add the increase/decrease click-arrows for any slider.

Tim – It turns out that typing this data is not faster for most people. When someone reads, “x, 1x, 0, x,1x, 2”, you can be clicking the buttons as they speak, and be finished a half second after “two” leaves their mouth. It’s hard for most of us to type “.5 [enter], 1.5 [enter], 0 [enter], .5 [enter], 1.5 [enter], 2 [enter]” very fast. Our situation is that we could have any random bridge player say, “I’ll put in whatever scores we have so far!” whether or not he/she is quick on the keyboard…

Again, I appreciate the fast and knowledgeable answers!

Is there any reason why you can’t just add a button to each end of the slider to manipulate the slider?

You could add the “Up / Down Arrows” to the right of the slider that would allow single increments. Some apps have a text field next to the slider to allow the user to enter in the required value. Adobe doing something weird, where they have a text field that when clicked has a popout slider, so the user can enter in the value, but also use a slider.

Just to clear something up, to avoid confusion. In the current version, you’re using a scrollbar as a slider. A slider is a different control, it has a similar effect, but its purpose is different.

Not trying to be rude, it’s just easily for people to confused when describing a scrollbar as a slider.

Wayne – “add a button to each end”? Yeah, but that kludges it up so I’d be using three controls to do the job when one used to be sufficient. The interface was intuitive and easy before, and now I’m trying to think of the cleanest “new way” to do it. Nevertheless, I might just end up gluing arrows on the ends…

Sam – You’re absolutely correct. How could I have forgotten the “death of the scrollbar” discussions when Lion came out – when OSX started making scrollbars invisible unless you went mousing over to the edge to look for them. I guess that’s when the arrows on the ends vanished. So…when I’m googling for ideas about how to fix this interface, I’ll get more mileage out of “scrollbar”. Thanks!

With your own Control made from a ContainerControl, this is an easy task and you could make it look like on the “ancient” UI. :wink:

Sascha – “Control made from a ContainerControl”. Sounds good. Not that I know how to do that…yet.

Folks, I very much appreciate all this help. Originally I hoped that someone would say, “Hit your source code with the latest compiler and you’ll be all set.” My new hope is that I can get reacquainted with my Realbasic (2009, release 5.1) – which still seems to run OK (no need to spend more $$, so yay!) – and that I can use your suggestions to come up with a viable solution. I see that the Language Reference does have quite a bit on ContainerControl, so I think I’ll start there.

[Incidentally, maybe I’m the new definition of old-fashioned, but I think the Snow Leopard version
of my application looks much prettier than the plain, flat Lion/…/Yosemite version. Just sayin’.]


I see there’s some space above the ‘20 item chooser’ control. Maybe you can expand it and show all the choices (which are then selectable by a single direct click) using a custom control based on Canvas. Here’s a mockup of what I mean…

What about placing a Bevelbutton on each side of a scrollBar with either minus on the left and + on the right as caption, or a couple of images of left and right arrows ? I tried that with 14 pixel high buttons ; it seems easy enough. Just put some code to increase or decrease the value of the scrollBar in each button Action event.

Will – At first I thought, ugh, that’s a lot of real estate just to select a board number. But then…both the selection method and the display are absolutely clear and unambiguous. I could replace both the scrollbar and the dynamic boardnumber with this Canvas-based control. (About which I know nothing right now, but I’ve started reading about it.)

Michel – Another good idea. Haven’t tried Bevelbuttons before, either.

Lots to think about. Thanks.

They are just as easy to use as standard buttons but you can add images. Quite convenient.

Example