Why must *any* of these be done manually (or, missing widgets)? :-)

Richard Gaskin ambassador at fourthworld.com
Wed Jun 25 16:49:00 EDT 2003


valetia at mac.com wrote:

> A bunch of widgets seem to be missing from RR (even in 2.0). For instance:
> 
> When creating multi-column fields, why is it necessary for us to implement
> our own resizable field headers (the ones you find in email clients, iTunes,
> etc.)?
> 
> It's a very common field type - surely Apple and Microsoft must have
> provided some sort of OS-level "widget" thingy for it?
> 
> I know Chipp (thanks btw) has a stack that demonstrates how this can be
> "hacked up" in RR, but *why* does it need to be hacked up in the first
> place? :-)
> 
> It still looks and behaves differently from the one I see most apps use...do
> they somehow have access to something we don't? What's the logic behind
> that?
> 
> Also, how do you (manually again, I guess) insert those ellipses (...) when
> the width of a column is too small to fit the text? Anyone has any script
> for that?
> 
> Do C and REALbasic programmers have to do these things manually too? Seems
> like a total waste of time for something that is known to be used again and
> again across so many applications. :-)
> 
> Any comments/suggestions?

It's worse than you think:  there isn't even an OS-level object for a
scolling field.  

Then it gets even worse:  every platform does it differently.  X-11 support
for GUI widgets is very primitive compared to OS X and XP.

In C you have to write a fair amount of code to create and maintain a scroll
bar next to a field, keeping track of the amount of text, bufferings its
imaging, etc.  It was somewhere between doing that and programming simple
sprite animation in C that made me really appreciate higher-level languages.

If you're working in C++ there are a lot of modern frameworks you can use,
but to my knowledge the only cross-platform one is Metrowerks' PowerPlant,
and it does only Mac and Win (and they're in such dire straights I don't
know how long it'll be maintained).  But for all the conveniences of a
framework, it comes at a pretty high price:  what makes a framework valuable
is that it provides a lot of ready-made widgets, but to use them pretty much
requires that the rest of your application use that framework as well.  This
is fine as long as you're writing for just one OS, but Macromedia, Adobe,
and others have had to invest in their own frameworks to produce their
wares, and it's a big job.

So tools like Rev offer a much higher-level way to handle the creation of
nearly any widget in a platform-independent way, but not all of them.

I agree that it would be beneficial to see header options for multi-column
list fields, and a high-level tool like Rev can make it much easier to work
with than any other solution. It can be scripted, but the effort needed to
do it well is non-trivial, even if it is orders of magnitude easier than
doing it in C.  For this reason I think it warrants consideration for
inclusion in the engine.

Feature requests for object, property, and other language features provided
in the engine are commonly posted to the xTalk list for discussion and
refinement.

The xTalk list is hosted at:
<http://groups.yahoo.com/group/xTalks/>

There are a number of issues we'd want to work out amongst ourselves to
arrive at a workable proposal.  I'll kick off the discussion with a post
there, and feel free to chine in with refinements.


> Valetia
> 
> P.S. What about that spinning widget that you see in the lower-middle of the
> screen when shutting down or restarting Jaguar? I'm quite sure it's a widget
> that's readily available with most of the other programming languages (I
> think I caught a glimpse of it in REALbasic one time)...
> 
> For instance...this spinning thingy also appears in Microsoft Entourage to
> indicate the checking of email. When I upgraded from Mac OS X 10.1 to Jaguar
> (which uses a new design for the spinning widget), the design was
> *automatically* updated in Entourage (same copy)! A sure sign of it being a
> "widget"...right? :-)

I haven't played with Entourage, but I couldn't find mention of it in the
Aqua HIG.  Could be an oversight on Apple's part, or on mine.

I suppose it could be added to the feature request list, but using an OS X
widget would only help you with the 30% of Mac users running OS X; OS 9 and
earlier do not include a standard widget for that.

In the meantime you can have a platform-independent widget that'll cover the
other 99.2% of computer users as well by using an animated GIF.

-- 
 Richard Gaskin 
 Fourth World Media Corporation
 Developer of WebMerge 2.2: Publish any database on any site
 ___________________________________________________________
 Ambassador at FourthWorld.com       http://www.FourthWorld.com
 Tel: 323-225-3717                       AIM: FourthWorldInc




More information about the use-livecode mailing list