It is currently Tue Apr 25, 2017 7:32 am



Welcome
Welcome to rfobasic

You are currently viewing our boards as a guest, which gives you limited access to view most discussions and access our other features. By joining our free community, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content, and access many other special features. In addition, registered members also see less advertisements. Registration is fast, simple, and absolutely free, so please, join our community today. **You are not required to provide truthful information to any registration questions. Be whomever you wish to be.!


Post new topic Reply to topic  [ 436 posts ]  Go to page 1, 2, 3, 4, 5 ... 44  Next
Author Message
 Post subject: Announcing GW: a GUI-lib to easily create apps!
Unread postPosted: Sun Dec 28, 2014 9:16 am 
Offline
User avatar

Joined: Tue Jan 03, 2012 9:31 am
Posts: 5485
Location: Paris, France
Here is my new project: GW (GUIs with Web technologies), a library to effortlessly create nice GUIs with BASIC!
Image

The lib is at http://mougino.free.fr/tmp/GW/download.html

GW is an open source library (GW.bas) that also comes with a demonstrator (GW_demo.bas).
With this lib, it is super simple to create professional-looking apps in minutes!
The demo has side-panels in every page to show the corresponding BASIC! code.

How easy exactly is it? Here is a complete app:
Code:
INCLUDE "GW.bas"
page = GW_NEW_PAGE()
GW_ADD_TITLEBAR(page, "This is a test page")
GW_ADD_TEXT(page, "Here are some controls:")
GW_ADD_BUTTON(page, "Test button", "")
GW_ADD_INPUTLINE(page, "", "This is an input line")
GW_ADD_CHECKBOX(page, ">Checkbox")
GW_ADD_FLIPSWITCH(page, "Flip switch:", "Off", "On")
GW_RENDER(page)
DO
r$ = GW_WAIT_ACTION$()
UNTIL r$ = "BACK"


Here are some screenshots of the lib in action:

Image

Technically the library relies on HTML5, CSS3, JavaScript, and jQuery Mobile.

The GW themes that allow to modify the look and feel of your GW apps are now handled natively (the lib downloads them).
However if you need them (for example to build an APK) they can be downloaded at http://mougino.free.fr/tmp/GW

Here is the up-to-date documentation, as taken from the "GW.bas" header:
Quote:
Important notes for the programer:

1. You need a theme to render GW apps. Currently available are 9 possible GW themes:
"default" (the default one), "flat-ui", "classic", "ios", "bootstrap", "android-holo", "square-ui",
"metro", and finally the "native-droid-*" family. See the GW_demo > Themes section for more info.

Existence or not of theme files on the device can be checked with GW_THEME_EXISTS(). If absent,
a theme can be downloaded from laughton or mougino HTTP servers with GW_DOWNLOAD_THEME().
You can handle theme check+download in your GW app (like the demo does), or you can let the lib deal
with it. In the latter case, theme will be silently downloaded and require no action from the user.
If the download fails however the GW lib will throw a runtime error. This can be avoided if you
handle theme check + download yourself.

2. GW_LOAD_THEME() must be called before the page creation with GW_NEW_PAGE(), or else the page
will not inherit the theme. It is also good practice to call GW_UNLOAD_THEME() right after
the GW_RENDER() of the page, in order for the next created page to not inherit inadvertently
the theme of the previous page...

3. All the GW_ADD_* functions can be invoked as is (inline), or be called prefixed with a
variable and the equal sign, in this case the variable will contain a pointer to the newly
created control... So, either use
GW_ADD_BUTTON (mypage, "Button 1", "ACTION")
or mybtn = GW_ADD_BUTTON (mypage, "Button 1", "ACTION")
It all depends if you want to change the content of the control after creation thanks to
GW_MODIFY(), or track the behavior of the control with GW_GET_VALUE(), etc.

4. Controls (or page elements: titlebar, panel) need to be CUSTOmized *before* being ADDed
on the page. Call GW_NEW_THEME_CUSTO() + GW_USE_THEME_CUSTO(), or GW_USE_THEME_CUSTO_ONCE()
*before* GW_ADD_CONTROL().
THERE IS ONE EXCEPTION: buttons from a DIALOG (MESSAGE/INPUT/CHECKBOX) cannot be customized
before being added, since they are provided as an array of labels. In this case, add your
DIALOG first, *then* call GW_CUSTO_DLGBTN() for each of the buttons you want CUSTOmized.

5. The following functions: GW_GET_VALUE() GW_GET_VALUE$() GW_FLIPSWITCH_CHANGED()
GW_CHECKBOX_CHECKED() GW_RADIO_SELECTED() can either be used after a GW_WAIT_ACTION$(),
to parse and analyze the user interaction with the GW page when the user validates it,
or at any other moment if you want the live state of a control (CHECKBOX, RADIO, SLIDER,
SELECTBOX, all the INPUT* controls...)
If you want to track the change of a control in real-time, use GW_ADD_LISTENER()

6. To create *related* RADIO buttons, where only one among the buttons can be checked, first
create the 'parent' by passing a zero value into the 2nd parameter 'radio_parent':
parent = GW_ADD_RADIO (mypage, 0, "My radio button 1")
and then ADD the following RADIO buttons with the 'parent' variable as 2nd parameter:
child1 = GW_ADD_RADIO (mypage, parent, "My radio button 2")
child2 = GW_ADD_RADIO (mypage, parent, "My radio button 3") etc.

7. Use the greater than character ">" in your FLIPSWITCH, CHECKBOX and RADIO option labels
in order to select this option by default e.g. GW_ADD_FLIPSWITCH(mypage, "Switch:", "Off", ">On")
By default, FLIPSWITCH have the first option selected, and CHECKBOX and RADIO are unselected.

8. The functions GW_MODIFY() and GW_AMODIFY() ('A' for Array) need to be called *after* the
GW_RENDER() of the page that contains the control to be modified. Because the control does
not exist before rendering the page.


Quote:
Complete list of APIs:
up-to-date version available at http://mougino.free.fr/tmp/GW/cheatsheet.html

Image


Quote:
Changelog:

[v3.9] 16-OCT-2016
* /!\ Changed behavior of COLORPICKER to always send a notification when user changes a color (Vs before
tedious code was needed: prepare a LISTENER$, RENDER the page, activate the LISTENER$ after RENDER..)
Notifications are of the type "COLOR:#rrggbb", see updated GW demo > Advanced controls > Colorpicker/Class
* Fixed HTML.CLOSE bug when juggling between GW programs with GW_SILENT_LOAD set to 1
* Fixed CUSTO 'inline' of DIALOGs (MESSAGE/INPUT/CHECKBOX), broken in v3.8
* Fixed GW_LOAD_THEME() when specifying a theme in a case other than lower case
* Fixed TITLEBAR/FOOTBAR title alignment for themes native-droid-*
* Fixed TITLEBAR/FOOTBAR and DIALOGS for themes iOS, android-holo, and metro + vastly improved iOS demo
* Improved check of GW update: now limited to 1 per day. Accelerates consecutive startups in Editor mode
* Improved GW programs debugging a lot by showing last GW command when throwing an error (bad page/control)
* Added new commands GW_PREVENT_SELECT() and GW_ALLOW_SELECT() to handle text-select when long-pressing in a page
* Added new commands GW_OPEN_COLLAPSIBLE() and GW_CLOSE_COLLAPSIBLE() to expand/collapse a group of controls
* Added new commands GW_SHELF_OPEN() GW_SHELF_NEWCELL() GW_SHELF_NEWROW() and GW_SHELF_CLOSE() to organize
several controls on a same line. See the new section of the GW demo > Basic controls > Collapsible/Shelf
* Added new command GW_CUSTO_DLGBTN() to customize a button from a DIALOG once it is added to the page

[v3.8] 05-OCT-2016
* Fixed regression in GW_ADD_TEXT() and GW_ADD_TEXTBOX() that would cause weird page truncations
* Re-added legacy functions GW_SHOW_DIALOG_MESSAGE$(), GW_SHOW_DIALOG_INPUT$(), GW_SHOW_DIALOG_MESSAGE(),
GW_SHOW_DIALOG_INPUT(), GW_CLOSE_DIALOG_MESSAGE() and GW_CLOSE_DIALOG_INPUT(), respective aliases
to GW_SHOW_DIALOG$(), GW_SHOW_DIALOG() and GW_CLOSE_DIALOG() (for backward compatibility)

[v3.7] 28-SEP-2016
* /!\ Merged GW_SHOW_DIALOG_MESSAGE$() and GW_SHOW_DIALOG_INPUT$(), merged GW_SHOW_DIALOG_MESSAGE() and
GW_SHOW_DIALOG_INPUT(), and merged GW_CLOSE_DIALOG_MESSAGE() and GW_CLOSE_DIALOG_INPUT(), now all DIALOG types
(DIALOG_MESSAGE, DIALOG_INPUT, DIALOG_CHECKBOX) share the same commands: GW_SHOW_DIALOG$(), GW_SHOW_DIALOG()
and GW_CLOSE_DIALOG()
* Added new control GW_ADD_DIALOG_CHECKBOX() + updated demo (advanced controls > Dialog Message)
* Fixed GW_MODIFY of key 'style' for TEXT and TEXTBOX
* Added new command GW_ADD_FONT$() to be used in a CUSTO with the "font" key

[v3.6] 23-SEP-2016
* Fixed GW loading bar in a user APK + accelerated further the loading of the library!
* Replaced third party lib GW_PICK_FOLDER with much improved GW_PICK_FILE (+FOLDER), see updated demo

[v3.5] 20-SEP-2016
* Removed GW splash screen. Added loading bar of GW lib. Use GW_SILENT_LOAD=1 to hide it (old behavior)
* Added auto-upgrade mechanism of GW lib and GW demo (in Editor mode only, blocked in user APK)
* Fixed GW_AMODIFY() of "content" (array of options) for SELECTBOX and of "list" for INPUTLIST (thanks to Michel)
* Fixed GW_AMODIFY() of "content" (array of images) for a GALLERY (broken in v3.3)
* Fixed (again) GW_CENTER_PAGE_VER() fixed in v2.0 but broken again in v2.8
* Added GW_CLOSE_INPUTLIST() as per discussion at clear-gw-inputlist-t4375.html
* Added GW_MODIFY() of key "text" for a SPINNER + updated demo

[v3.4] 31-AUG-2016
* /!\ Removed mention of GW_ADD_INPUTFILE() in the documentation (control does nothing since Android 4.4)
* Fixed GW_MODIFY() of key "text" for a COLORPICKER
* Fixed GW_ENABLE() and GW_DISABLE() of a class
* [APK mode] Enhanced GW_MODIFY() to handle a new IMAGE that is in assets but not on sd-card
* [APK mode] Enhanced the following functions to support their js/css files in assets but not on sd:
GW_ADD_COLORPICKER(), GW_ADD_LOCK_PATTERN(), GW_ADD_SPINNER()
* Added new function GW_ADD_LOADING_IMG() to display an image (animated gif) when the page loads
* Added new function GW_FOCUS() to set the focus to a control

[v3.3] 21-JUL-2016
* /!\ (internal) Changed the javascript HTML -> BASIC! link-function from doDataLink() to RFO()
* /!\ Re-integrated 2 resources into GW.bas: basic.js, styles.css. No more need to attach them in APK
* Fixed GW_SET_PROGRESSBAR() of a non-integer value
* Added new function JS(script$) to execute a javascript snippet on the page currently displayed
* Added new function IS_APK() to tell if the app runs in APK mode
* Added new function GW_GET_IMAGE_DIM$() to get the dimensions of an image in the form "WxH"
* Added new functions GW_HIDE() and GW_SHOW() to change visibility of a control
* [APK mode] Enhanced the following functions to handle files that are in assets but not on sd-card:
GW_LOAD_THEME(), GW_ADD_IMAGE(), GW_ADD_ICON(), GW_ADD_VIDEO(), GW_USE_FONT(),
now, when compiling your APK, you don't have to select the files for copy to sd-card at startup,
all you have to do is make sure you attach the resources in your APK

[v3.2] 05-JUL-2016
* Added new control GW_ADD_DIALOG_INPUT() very similar to DIALOG_MESSAGE but with an input line:
the input line can be text (by default) or number, password, email, or url (see demo)

[v3.1] 23-JUN-2016
* Fixed key "selected" for GW_MODIFY() of RADIO buttons
* Fixed key "selected" for GW_MODIFY() of CHECKBOXES
* Fixed GW_GET_VALUE$() and GW_RADIO_SELECTED() of RADIO buttons
* Added key "text" for GW_MODIFY() of CHECKBOX, FLIPSWITCH, SLIDER, SELECTBOX, and RADIO buttons
* Added key "selected" for GW_MODIFY() of SELECTBOX
* Added CUSTO property "mini" for BUTTONS

[v3.0] 29-APR-2016
* Added LISTENER event "close" for a PANEL
* Added function GW_CLOSE_PANEL() to manually close an opened PANEL
* Added function GW_CLOSE_DIALOG_MESSAGE() to manually close an opened DIALOG_MESSAGE (see demo)
* Improved GW_AMODIFY() of a GALLERY to make it synchronous
* Rewrote (clarified) the list of APIs, cheatsheet, and demo for LISTENERs and for handling of Back key

[v2.9] 22-APR-2016
* Fixed PAGE transition "none"
* Added function GW_DEFAULT_TRANSITIONS() e.g. "page=slide, panel=overlay, dialog_message=flip"

[v2.8] 21-APR-2016
* Fixed support for PAGE transitions with GW_SET_TRANSITION()
* Added new function GW_CLOSE_PAGE() to manually show a closing transition (e.g. before leaving the app)

[v2.7] 20-APR-2016
* Improved support for chaining a DIALOG_MESSAGE from another DIALOG_MESSAGE
* Fixed PANEL transitions in case of several panels in a page
* Improved individual transition management for each PANEL and DIALOG_MESSAGE

[v2.6] 14-APR-2016
* Fixed GW_AMODIFY() of "buttons" for DIALOG_MESSAGE controls
* Fixed GW_MODIFY() of "title" for DIALOG_MESSAGE controls
* Fixed GW_SET_TRANSITION() of PANEL and DIALOG_MESSAGE controls after a page RENDER
* Changed DIALOG_MESSAGE to have vertical buttons by default, for horizontal (inline) buttons, use
GW_USE_THEME_CUSTO_ONCE("inline") before your GW_ADD_DIALOG_MESSAGE()
* Added support for chaining DIALOG_MESSAGEs with a button/action set to "My Button>"+GW_SHOW_DIALOG_MESSAGE$()

[v2.5] 09-APR-2016
* /!\ Exported GW GALLERY to a third party lib, if you use it you now need to do: INCLUDE "GW_GALLERY.bas"
* /!\ Exported GW Aliases and Shortcuts to a third party lib. To use them: INCLUDE "GW_ALIASES_SHORTCUTS.bas"
To download the lib beforehand: GW_DOWNLOAD_THIRD_PARTY("GW_ALIASES_SHORTCUTS.bas")
* Added support for colored page during GW lib loading e.g. use GW_COLOR$="black" before your INCLUDE "GW.bas"
* Added new LISTENER events "swipeleft|swiperight|taphold|idleN": use them on a control, or on the page (ctl_id=0)
* Added new control GW_ADD_COLORPICKER(), you get color with GW_ADD_LISTENER$("change") or GW_GET_VALUE$()
* Added new special key to GW_MODIFY(): "style:subkey" to change the style (CSS) of a control
* Added GW_NEW_CLASS(): several controls can share a same class with a CUSTO "class='myclass'"
* Added GW_MODIFY() support for a whole class to change multiple controls with only 1 command
* Updated demo > Advanced > "Colorpicker + Class" to demonstrate the last 4 new features above

[v2.4] 06-APR-2016
* Removed support for PAGE Transitions, broken (and unrecoverable) with the GW v1.8 "gray circle" fix
Calling GW_SET_TRANSITION() on a page will not throw an error but will do nothing (same as before)
* Fixed GW_WAIT_ACTION$() broken in v2.1 (and all functions using it e.g. GW_GET_VALUE$())
* Fixed URL-encoding of user links in GW elements (buttons, listviews) especially when link contains % or +
* Fixed CUSTO of BAR_LBUTTON$() and BAR_RBUTTON$() when said custo contained a style='...'
* Added CUSTO "position=right|left", applied to panels in the first screens of the demo
* Added support for third party libs via GW_DOWNLOAD_THIRD_PARTY(). First one is "GW_PICK_FOLDER.bas" (see demo)
Users can upload their GW third party lib in laughton.com FTP > html > GW (GUI-Web lib) > third-party-libs
* Added GW_GALLERY_IS_OPEN() to programmatically know if a gallery is open
* Added GW_CLOSE_GALLERY() to programmatically close an opened gallery, demo is updated

[v2.3] 26-MAR-2016
* Fixed customization of IMAGE, SLIDER and PROGRESSBAR controls
* Added 4 new customizations: 'hover=N' |S|E|W|NE|NW|SE|SW ; 'alpha=0%' to 100% ; 'big' ; and 'fit-screen'
* Improved performance of GALLERY control, particularly in case of Base64 images
* Re-organized GW demo into 3 categories: basic/input/advanced to simplify navigation

[v2.2] 22-MAR-2016
* Added a new control GW_ADD_GALLERY() taking an array of images as parameter (+demo updated)
* Added a new control GW_ADD_LOCK_PATTERN() and its companion functions GW_SHOW_WRONG_PATTERN(), and
GW_CLEAR_LOCK_PATTERN() (+demo updated). User pattern is returned as "pattern:NNNN" in GW_WAIT_ACTION$()
* Extended GW_MODIFY() to support any kind of key (=HTML attribute) to be modified, even ones unknown to GW

[v2.1] 13-MAR-2016
* Added new function GW_ACTION$() equivalent to GW_WAIT_ACTION$() but asynchronous (non-blocking)
* Improved GW-progs debugging by throwing a more convenient error in case of bad control id or bad page id

[v2.0] 11-MAR-2016
* Fixed GW_CENTER_PAGE_VER()
* Fixed GW_MODIFY() of slider value (key "val")
* Improved GW_RENDER() to be synchronous!
* Added a new page element: GW_ADD_SPINNER() and its functions GW_SHOW_SPINNER() and GW_HIDE_SPINNER()
* Added a new control GW_ADD_PROGRESSBAR() and its function GW_SET_PROGRESSBAR()
* Added 2 new functions: GW_DISABLE() and GW_ENABLE() mainly for use with buttons

[v1.9] 18-DEC-2015
* /!\ Removed the GW_FORCE_MODE() function, now obsolete since the "grey circle" issue has been fixed once and for all in v1.8
* /!\ Added support for Back key: now it doesn't stop the lib anymore but returns "BACK" in GW_WAIT_ACTION$()
* Added GW_THEME_EXISTS() and GW_DOWNLOAD_THEME() to allow theme files to be downloaded programmatically
* Enhanced low-level handling of missing themes: there is now a popup proposing to automatically download the full set of files
* Cleaned-up the "Important notes" in the header of the lib

[v1.8] 14-DEC-2015
* Added a script that fix grey circle issue for Android System WebView > 44.0.2403.117

[v1.7] 29-NOV-2015
* Added GW_MODIFY() of the "title" and "text" of a DIALOG_MESSAGE
* Added GW_MODIFY() of a "selected" FLIPSWITCH option (s_opt1$ or s_opt2$)

[v1.6] 13-JUN-2015
* /!\ Renamed GW_ADD_TITLE$() to GW_ADD_BAR_TITLE$() ; renamed GW_ADD_LEFT_BUTTON$() to GW_ADD_BAR_LBUTTON$() ;
and finally renamed GW_ADD_RIGHT_BUTTON$() to GW_ADD_BAR_RBUTTON$()
* Fixed a bug when GW_MODIFYing a new content with double quotes and/or single quotes in it (esp. in a TABLE)
* Added a new control: GW_ADD_IMAGE() to display an image (with an hyperlink option)
* Added a whole new set of functions for all the GW_ADD_*(page, ...) functions: GW_ADD_*$(...) (1 less parameter)
returns the string result of the function without adding it to the page. E.g. GW_ADD_TEXT(p,t$) -> GW_ADD_TEXT$(t$)
* Added function GW_LAST_ID() (no argument) to get the Id of the last control created with GW_ADD_*$(...)
* Added function GW_ID(ctl_name$) to get the Id of a control known only from its name
* Added function GW_USE_FONT() to make use of a local font (TTF or other)
* Added GW_ENABLE_LISTENER() to enable listener of dynamically created content, typically after a GW_MODIFY/GW_AMODIFY
* Added support of GW_MODIFY for TITLEBARs and FOOTBARs, see the corresponding changeable keys in the cheatsheet
* Improved GW_ADD_TITLEBAR/FOOTBAR/DIALOG_MESSAGE/PANEL: they can be added anytime even after creating some controls

[v1.5] 07-MAY-2015
* Fixed creation of *linked* listviews with GW_ADD_LISTVIEW(), the links now work from the start
* Added aliases / shortcuts for all GW functions, shorter and easier to write from mobile device

[v1.4] 21-APR-2015
* Added a new control: GW_ADD_LISTVIEW() based on the work from forum user Gyula
* Fixed an Android 5.0 bug when setting GW_SET_TRANSITION() of a page without controls

[v1.3] 12-FEB-2015
* Added GW_ADD_FOOTBAR() counterpart of a TITLEBAR but at the bottom of the page
* Added 3 new functions to build a TITLEBAR or FOOTBAR: GW_ADD_LEFT_BUTTON$() GW_ADD_TITLE$() GW_ADD_RIGHT_BUTTON$()
* Added a new control: GW_ADD_ICON() that allows with GW_ICON$() to add custom icons in TITLEBAR or FOOTBAR
* Added function GW_ADD_LISTENER() that triggers an action when a certain event occurs on a control
* Improved GW_GET_VALUE() and GW_GET_VALUE$() to retrieve the live content of a control! (without submit)

[v1.2] 15-JAN-2015
* Added new standard control GW_ADD_TABLE() to make tables with (">") or without a title line
* Added GW_AMODIFY() (ARRAY-MODIFY) for controls taking an array as a parameter: TABLE, INPUTLIST, SELECTBOX and DIALOG_MESSAGE

[v1.1] 14-JAN-2015
* Added GW_SHOW_DIALOG_MESSAGE() to display a dialog message manually
* Added GW_SHOW_PANEL() to open a panel manually
* Added GW_MODIFY() of the state of a CHECKBOX and of a RADIO button
* Added GW_SET_TRANSITION() to change the transition animation of DIALOG_MESSAGE, PAGE, or PANEL
* Added GW_ADD_INPUTDATETIME() as a workaround for the INPUTTIME bug on Android Lollipop
( see https://code.google.come/p/chromium/iss ... ?id=434695 )

[v1.0] 12-JAN-2015
* Added support of videos! both local or online with GW_ADD_VIDEO()
* Added 2 new user input controls: GW_ADD_INPUTLIST() and GW_ADD_SELECTBOX()
* Added GW_MODIFY() to modify properties of already ADDed controls
* Removed GW_SET_CONTENT(), the functionality of which is now merged (and extended) in GW_MODIFY()

[v0.9] 11-JAN-2015
* Added a new page element: GW_ADD_DIALOG_MESSAGE() and its 'trigger' link GW_SHOW_DIALOG_MESSAGE$()
* Added function GW_CENTER_PAGE_VER() to center vertically the page content
* Added GW_PREVENT_LANDSCAPE() and GW_PREVENT_PORTRAIT(), undocumented because HTML.ORIENTATION is prefered

[v0.8] 08-JAN-2015
* Fixed the usage of GW_USE_THEME_CUSTO_ONCE() for a first control in the page
* Fixed the possibility to enter a decimal number with GW_ADD_INPUTNUMBER()
* Added 2 functions to be used after GW_WAIT_ACTION$(): GW_CHECKBOX_CHECKED() and GW_RADIO_SELECTED()
* Added GW_LINK$() to embed a link into a string used in a control (TEXTBOX, TEXT, TITLE, etc.)
* Created a GW APis cheat sheet available at http://mougino.free.fr/tmp/GW/cheatsheet.html

[v0.7] 06-JAN-2015
* Fixed GW_GET_VALUE() of an empty control, it now returns 0 (zero)
* Added GW_INJECT_HTML() to add custom HTML/CSS/JavaScript code to the page
* Added GW_START_CENTER() and GW_STOP_CENTER() to center elements on the page

[v0.6] 04-JAN-2015
* Changed the number of parameters of GW_ADD_INPUTBOX(): n-rows and n-cols are no longer needed
* Fixed the rendering of the "native-droid-*" theme family
* Fixed inline comments highlighting with GW_CODE_HIGHLIGHT$()
* Added GW_OPEN_GROUP() and GW_CLOSE_GROUP() to visually group CHECKBOX or RADIO controls
* Added 11 new user input controls: GW_ADD_INPUTDATE(), GW_ADD_INPUTTIME(), GW_ADD_INPUTMONTH(),
GW_ADD_INPUTWEEK(), GW_ADD_INPUTURL(), GW_ADD_INPUTEMAIL(), GW_ADD_INPUTCOLOR(), GW_ADD_INPUTNUMBER(),
GW_ADD_INPUTTEL(), GW_ADD_INPUTPASSWORD(), GW_ADD_INPUTFILE()
* Added a 'reset' button (X) to the input controls that support it = INPUTLINE and the 11 new controls
* Added the compatibility mode FORCE_MODE(1) for Android devices that otherwise show empty GW pages

[v0.5] 31-DEC-2014
* Added full support for the "native-droid-*" theme family, composed of
10 themes: 5 colors blue/green/purple/red/yellow in 2 flavours light/dark (recommended)
* Added full support for the "square-ui" theme (recommended)
* Added limited support for the "android-holo" theme (deprecated, not recommended)
* Added limited support for the "metro" theme (deprecated, not recommended)

[v0.4] 30-DEC-2014
* Added 2 new input controls: GW_ADD_CHECKBOX() and GW_ADD_RADIO()
* Fixed and improved the rendering of the themes
* Added full support for the "bootstrap" theme (recommended)
* Added limited support for the "iOS" theme (deprecated, not recommended)

[v0.3] 29-DEC-2014
* Added themes and theme-customization! persistent or 1-shot (GW_USE_THEME_CUSTO /.._ONCE)
* Added full support for the "flat-ui" theme (recommended)
* Added full support for the "classic" jQuery Mobile theme (ugly, deprecated, not recommended)
* Added initial selection of FLIPSWITCH second state (s_opt2$) if it begins with ">"

[v0.2] 28-DEC-2014
* Renamed the lib to 'GW' (GUI-Web)
* Created GW_demo.bas
* Added 3 new standard controls: GW_ADD_BUTTON() GW_ADD_LINK() and GW_ADD_TEXT()
* Added 3 new input controls: GW_ADD_FLIPSWITCH(), GW_ADD_INPUTLINE() and GW_ADD_INPUTBOX()
* Added a new page element: GW_ADD_PANEL() and its 'trigger' link GW_SHOW_PANEL$()
* Added GW_GET_VALUE() -> returns a number (Vs GW_GET_VALUE$() returns a string)
* Added GW_CODE_HIGHLIGHT$() for syntax highlighting
* Renamed all GW_NEW* control creation functions to GW_ADD_*
* Renamed GW_SET_SECTION_TEXT() to GW_SET_CONTENT()
* GW_GET_VALUE() GW_GET_VALUE$() and GW_SET_CONTENT() now take only 1 param (ctl_id)
* SLIDER control now takes an extra parameter: n_step

[v0.1] 24-DEC-2014
* Initial release


Nicolas

_________________
- Creator of the Android BASIC! Compiler


Top
 Profile  
 
 Post subject: Re: GW: GUI-lib to easily create apps!
Unread postPosted: Sun Dec 28, 2014 3:20 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 5:19 am
Posts: 578
Location: Netherlands
GREAT Nicolas,

I have successfully run the demo on BlueStacks emulator !
This is a very useful enrichment of RFO-Basic's possibilities !

Would you mind users (like me) digging into your resources (basic.js / styles.css) to change e.g. colours and appearance ?

If you don't like/want this, I 'll respect that. And I realize you can not give support if users start messing with your code.

Kind regards, Aat

_________________
To view all my Apps in the BASIC! repository: http://laughton.com/basic/programs/Author_Index/Aat.pdf

When Sod's Law equals Murphy's Law you are bound to be on the right track....!


Top
 Profile  
 
 Post subject: Re: GW: GUI-lib to easily create apps!
Unread postPosted: Sun Dec 28, 2014 11:36 pm 
Offline
User avatar

Joined: Tue Jan 03, 2012 9:31 am
Posts: 5485
Location: Paris, France
Hi Aat, GW is open source ;) so you can mess with it all you want.
But I planned to add support for theming soon... The question is how to do it. I'll investigate.

Nicolas

_________________
- Creator of the Android BASIC! Compiler


Top
 Profile  
 
 Post subject: Re: GW: GUI-lib to easily create apps!
Unread postPosted: Mon Dec 29, 2014 2:50 pm 
Offline
User avatar

Joined: Tue Jan 03, 2012 9:31 am
Posts: 5485
Location: Paris, France
Hi

I updated the GW lib to offer themes and control customization.
The first post of this thread has been updated accordingly (changelog, new APIs, new notes to programers, demo screenshot updated too).

The up-to-date lib is still at http://laughton.com/basic/programs/html/GW (GUI-Web lib)/
The GW themes that allow to modify the look and feel of GW apps are at http://mougino.free.fr/tmp/GW

Aside from helping Roy and Mog solve their issue, I plan to implement most of the themes at http://www.gajotres.net/top-10-best-loo ... le-themes/

And also add new input controls (check-boxes, radio buttons).

Nicolas

_________________
- Creator of the Android BASIC! Compiler


Top
 Profile  
 
 Post subject: Re: GW: GUI-lib to easily create apps!
Unread postPosted: Tue Dec 30, 2014 2:18 pm 
Offline
User avatar

Joined: Tue Jan 03, 2012 9:31 am
Posts: 5485
Location: Paris, France
Meanwhile, I released v0.4 of the GW lib.

It offers 2 new themes: iOS and bootstrap (a well known UI).

As well as 2 new input controls: checkboxes and radio buttons.

See the updated lib+demo at http://laughton.com/basic/programs/html/GW (GUI-Web lib)/

Download the new themes at http://mougino.free.fr/tmp/GW

Here is a screenshot of these new features:

Image

The first post in this thread has been edited with up-to-date changelog, APIs and notes for programers.

Nicolas

_________________
- Creator of the Android BASIC! Compiler


Top
 Profile  
 
 Post subject: Re: GW: GUI-lib to easily create apps!
Unread postPosted: Wed Dec 31, 2014 7:29 am 
Offline
User avatar

Joined: Tue Jan 03, 2012 9:31 am
Posts: 5485
Location: Paris, France
And here is a last round of GW themes for 2014, that makes it a v0.5 of the lib, and that's how it's gonna stay this year :lol:

Themes added: the "native-droid-*" family, great themes that can take 1 out of 5 colors (blue, green, purple, red, yellow) in 1 out of 2 flavours (light or dark), that's a total of 10 different themes! ; the "square-ui" theme, a nice one too ; and finally the "android-holo" theme and "metro" theme.

The front post has been updated (changelog part).

All the themes I wanted to implement in GW are now there... If you have a link to a jQuery Mobile theme you want implemented, just ask in this thread.

...and that's all folks! I'm now going away and not touching a computer for 4 days, that's a lot for me :mrgreen:

Have a great New Year's Eve, happy 2015 to all !

Nicolas

_________________
- Creator of the Android BASIC! Compiler


Top
 Profile  
 
 Post subject: Re: GW: GUI-lib to easily create apps!
Unread postPosted: Wed Dec 31, 2014 7:46 am 
Offline
User avatar

Joined: Mon Aug 18, 2014 1:16 pm
Posts: 1317
OK Nicolas, and have a good holiday, and Happy New Year to all :)


Top
 Profile  
 
 Post subject: Re: GW: GUI-lib to easily create apps!
Unread postPosted: Wed Dec 31, 2014 7:02 pm 
Offline

Joined: Sun Dec 28, 2014 7:16 pm
Posts: 14
Hello.

And thanks for developing this library. Great tools!

I have one question...How do you get the contents from a textbox? I tried e$ = GW_GET_VALUE$(inpb) but it comes back as a null string. I preceded this function with r$ = GW_WAIT_ACTION$().


Top
 Profile  
 
 Post subject: Re: GW: GUI-lib to easily create apps!
Unread postPosted: Thu Jan 01, 2015 2:29 am 
Offline
User avatar

Joined: Tue Jan 03, 2012 9:31 am
Posts: 5485
Location: Paris, France
Hi treddie, a TEXTBOX is a static control, the user cannot modify it. Since it is you, the programer, who have created it, you know its content. If you change it with GW_SET_CONTENT() you can track the new content.

The GW_GET_VALUE$() or GW_GET_VALUE() functions work only on user input controls = SLIDER, INPUTLINE, INPUTBOX, CHECKBOX, RADIO.

Read the point 5. of the section "Important notes for the programer" in the first post of this thread.

Nicolas

_________________
- Creator of the Android BASIC! Compiler


Top
 Profile  
 
 Post subject: Re: GW: GUI-lib to easily create apps!
Unread postPosted: Thu Jan 01, 2015 12:40 pm 
Offline

Joined: Sun Dec 28, 2014 7:16 pm
Posts: 14
Quote:
Hi treddie, a TEXTBOX is a static control, the user cannot modify it. Since it is you, the programer, who have created it, you know its content. If you change it with GW_SET_CONTENT() you can track the new content.

The GW_GET_VALUE$() or GW_GET_VALUE() functions work only on user input controls = SLIDER, INPUTLINE, INPUTBOX, CHECKBOX, RADIO.


Sorry, I meant INPUT BOX. But I see by your reference to note 5, that is the Submit command that was missing in my code.

Thank you for your reply, mougino!

Your library is exactly what I was looking for, but could not find anywhere for any BASIC language for android. Many thanks!!! Three smilies out of three :) :) :)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 436 posts ]  Go to page 1, 2, 3, 4, 5 ... 44  Next


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
suspicion-preferred