Humpty Promotes - HEW

What's Old ?

Significant events

The full change.log.txt is here

June 2015
*** News -- HeadsUp ! *** Major Changes !

=> pickform
gselect => picklist
gnumpad => numpad
"gformfill" is now renamed to "pickform" !
"gselect" is now renamed to "picklist" !
"gnumpad" is now renamed to "numpad" !

picklist  behaves the same except that commas will be used to seperate list items instead of '|'.
In addition, you will be able to place it at any x,y position for any transistion.

pickform 3rd gen
pickform replaces gformfill was re-written to cater only for short lists (2 screensful max) similar to picklist. It uses only 1 bitmap.

This means you will not be able to use it for very long lists (use formfill if you have long lists).
The upside is that it will be a lot smoother. And it will be able to call embedded forms and other widgets to do some of it's work.
e.g you will be able to create forms with subforms to simulate multi-level drop down lists.

The new version restarts as pickform v1.00.

init.bas v3.0
init was simplified internally to calculate tx_height, row_height and srows, depending wether you use scaling (or not). srows and row_height are no longer rounded down. This means more consistent font sizes when switching between portrait / landscape.

May 2015

*** Notice - - HEW requires Basic 1.87+ . *** this is now the minimum requirement.
Basic!1.87 has a host of new features and bug fixes.

*** Notice - - INIT.BAS - is now a function init_hew().

This means that init.bas can be included anywhere before the first piece of code in your main program,
It also means you need to bundle.get 'global' (1) hew values before you use them.

include themes.bas                      % widget colors
include event.bas                       % event loop
include init.bas                        % init screen and globals
bundle.get 1, "scr_w", scr_w
bundle.get 1, "scr_h", scr_h
bundle.get 1, "row_height", row_h
bundle.get 1, "tx_height", tx_height
bundle.get 1, "widgets", widgets

Apr 2015
textin.bas was replaced with textbox.bas

It is essentially the same except it can also be used for general output.

v4.0 console.bas - the "console" commands have been shortened to "con"

call console_make ("", bsize, x,y,ww,wh)  --> call con_make ("", bsize, x,y,ww,wh)

call console ("print", "hello",wg)  --> call con ("print","hello",wg)

call console_bulk (a_list, wg)  --> call con_bulk (a_list, wg)

Mar 2015
*** Major change !
*** Notice - HeadsUp! - NAME$ has been phased out !  -- widgets no longer have names.

Name$less model

I have phased out name$ from all widgets. So use the bundle ID to identify widgets instead. (button.bas and other widgets that need it has name$ changed to 'aux$' instead to hold other data.
There is also an added "type" to the bundle of detectable widgets for easier identification.

All demos have been updated. Old programs are not likely to work, so you'll have to redownload the
whole framework.
Apologies for this big change, It WILL affect all programs that use name$, it will affect all demos. But
demos in their own zip packages will still work because zip packages carry all the old files needed.

Dec 2014 - Demo for keyinp and console.
keyinp.bas - Push-Out keyboard input widget - with input at top so as not to obstruct the view.

Nov 2014
Upgrade - to BASIC 1.84+ and Themes
* Important ! HEW now requires BASIC 1.84 as minimum version.
It uses some new commands not found in earlier versions of BASIC, most notably gr.text.height for optimum accuracy.

* Important ! HEW now requires themes.bas

themes.bas carries the default colors for all widgets.
Color changing will be in one place and easier to modify.

All demos and widgets have been upgraded with themes.bas


type '5' bitmap button!      (button widget will support background bitmaps.)

Oct 2014
Now supports multi-line text. (dependent widgets also updated).
Added multiple flash   
e.g call button ("flash", "3", wg)
Changed Style 4 to type "Rounded-2" (previously bracketed).
Changed Style type no-border to type '0'  (previously type '5').
Centered muti-line text vertically. Blank lines at start can add vertical height.
BackKey detection
Init, Event, ISR and all widgets detecting for backkey have been modfied for the new detection model.
(see here)
HEW is stable enough for launch. All widgets are now officially starting from v1.0.
Msg_OK.bas and Ask_YN.bas
Two new dialog widgets.
These modal dialogs use button.bas for their buttons. (button.bas must be included with your project).
They manlpulate the global bundle variable 'widgets' and borrow event.bas's event loop.
(and they must be created last of all in order to appear on top). dialog_demo.
get_event (widgets) is now renamed and replaced with event_get().
event_get() uses the global bundle variable 'widgets'. This variable may be manipulated by other widgets that use event.bas. All demos re-packaged.
textdo has been renamed to text_do for consistency.
Sep 2014
txtscroll.bas v1.0
Smoothly scrolls textlines vertically.
now scales to smallest act/dev ratio (w|h), whichever is smallest. (everything will now fit inside the screen).
Aug 2014
gformfill v.2
joins HEW as a reusable widget. Code looks heavy and bloated but it works. It is still non-scrollable and for landscape, it is really only just usable for 10 rows otherwise the text is too small for most phones (should be ok for tablets though).
gformfill has a new type called 'counter' which is a number spinner.
Jul 2014
was converted into a function. Any code can now call get_event ( event_get() - oct-2014), the widget list must be passed, (widget list is now global -oct 2014) any touched widget is returned or 0 if bakkey.

The rfo-basic forum is hosted on

Paul Laughton - RFO Basic (named after "The Dr. Richard Feynman Observatory").
Nicolas Mougin - RFO-basic Launcher and App-Builder
stefano - XAB x-apk-builder
Nick Antonaccio - Learn RFO Basic tutorials

Support my projects!
Donate via BitCoin.

Leading Cloud Surveillance, Recording and Storage service; IP camera live viewing

Leading Enterprise Cloud IT Service; cloud file server, FTP Hosting, Online Storage, Backup and Sharing

Powered by, a division of DriveHQ, the leading Cloud IT and Cloud Surveillance Service provider since 2003.