Other Subscribe to B4J library updates


Licensed User
Longtime User

Replacement TitleBar

Update V1.5
Added option to designer UsingStylesheet to stop colors being updated in code.​
Renamed class Popup to TB_Popup to minimize the risk of the same class being loaded in multiple libraries.​
Added Class TB_DSE containing : ClearAllStyles & AddStyleClass​
Added some styleclassnames to the views in the layouts​
Changed default icon​
Added width adjustment to layout to allow border all around the Rootpane​
Added ResetScreensub for use as panic mode if the titlebar becomes inaccessible.​
Added option to save and restore windowposition on shutdown / startup which maintains the Maximized property​


Licensed User
Longtime User

[B4j] jAudioRecord2

Update V0.12 - 2023-10-13
  • Added Threaded classes (now depends on the Threading library. The threaded classes cannot be used in debug mode)
  • Demo contains the source code
  • Removed dependency on Xui for use in Non-ui apps.
Last edited:


Licensed User
Longtime User
SithasoDaisy 2.16 Now Avaialable.

What's New

NB: Please note that SithasoDaisy V1 is no longer being maintained. It is recommended that users shift to V2. The only thing that has changed is just how the b4xlibs are structured.

Breaking Changes
  • UsesJQuery
  • UsesSignaturePad
  • UsesTable
  • UsesFormToJSON


app.AddApp(Me, Main.AppName)


BANano.Await(app.AddApp(Me, Main.AppName))

These are no longer necessary on your client app as they are done internally by SithasoDaisy, you can safely comment them out/remove them.
Last edited:


Licensed User
Longtime User
SithasoDaisy Version 2.16 Update

1. We have made the UI fullscreen and hamburger always visible and drawer hidden.

1.1. Added NonMobile after AddAppDrawer

drawer = app.AddAppDrawer("80", False)

1.2 Commented out


2. Full Calendar Time Slot Management

2.1 Set Start Time & End Time on Views
2.2 Scroll to a particular time slot.

3. Updated the Bottom Navigation Bar.

4. Added 2 Methods to Modals

It is always better to add modals to the "body" element of the app and not page.Root.PageViewer

5. Creating Custom ListViews

We use the abstract designer to create Custom ListView using BANano.LoadLayoutArray methods.

6. WebApps - SQLite 3 File Browser. Browse Actual SQLite 3 File in browser. We use the Chinook SQLite file here.

7. Drawer Items have divider lines. This can be set with abstract designer too.

drawer.Menu.Divider = True
    drawer.Menu.DivideColor = "gray-200"
    drawer.Menu.DivideStyle = "solid"
    drawer.Menu.DivideWidth = "y-2"
Last edited:


Licensed User
Longtime User


Licensed User
Longtime User
SithasoIONIC7 1.12 Now Available

What's new..
  • Update of the core js / css files to Ionic 7.5.6
  • Support for SithasoIONIC7 Wireframes FreeWare, this now includes a custom view guide i.e. a printout of how to use the Abstract Designer to create your wireframes in the abstract designer.
  • New b4xtemplate with code (no layout), to create 3 pages with bottom navigation & drawer

NB: You will need to re-save your layouts.




Licensed User
Longtime User
SithasoIONIC7 V1.17 Now Available

What's New

  • Component Styling / Themes - We have created custom views to help styling / theming the various components. These uses styled components for the components based on the CSS Styles provided per component.
  • CSS Utilities - a css utilities component has been created which can be applied to any component. This helps in adding style classes to components.
  • Animation - an animation component has been added which helps in applying animation to any component.
  • SithasoIONIC7 API Updated with the latest changes
  • SithasoIONIC7 Demo Updated with the latest updates
  • SithasoIONIC7 Wireframes App Updated with latest changes
  • Other Bug fixes and minor improvements
New Style /Theme Components - applicable to each component. You link the target component by specifying its "target-id"

  • SHIonActionSheetStyle
  • SHIonAlertStyle
  • SHIonAvatarStyle
  • SHIonBackButtonStyle
  • SHIonBadgeStyle
  • SHIonBreadcrumbStyle
  • SHIonButtonStyle
  • SHIonCardStyle
  • SHIonCardSubtitleStyle
  • SHIonCardTitleStyle
  • SHIonCheckboxStyle
  • SHIonChipStyle
  • SHIonColStyle
  • SHIonContentStyle
  • SHIonDatetimeStyle
  • SHIonFabButtonStyle
  • SHIonGridStyle
  • SHIonInputStyle
  • SHIonItemDividerStyle
  • SHIonItemOptionStyle
  • SHIonItemStyle
  • SHIonLabelStyle
  • SHIonListHeaderStyle
  • SHIonLoadingStyle
  • SHIonMenuButtonStyle
  • SHIonMenuStyle
  • SHIonModalStyle
  • SHIonNoteStyle
  • SHIonPickerStyle
  • SHIonPopoverStyle
  • SHIonProgressBarStyle
  • SHIonRadioStyle
  • SHIonRangeStyle
  • SHIonRouterLinkStyle
  • SHIonSearchbarStyle
  • SHIonSegmentButtonStyle
  • SHIonSegmentStyle
  • SHIonSelectStyle
  • SHIonSkeletonTextStyle
  • SHIonSpinnerStyle
  • SHIonSplitPaneStyle
  • SHIonTabBarStyle
  • SHIonTabButtonStyle
  • SHIonTextareaStyle
  • SHIonThumbnailStyle
  • SHIonTitleStyle
  • SHIonToastStyle
  • SHIonToggleStyle
  • SHIonToolbarStyle
  • SithasoStyle - universal & can be applied to any component
  • SHCSSUtilities - universal & can be applied to any component
SithasoIONIC7 Wireframes App (FreeWare)

  • Ability to create different types of applications (Blank, SideMenu, Tab Bar (bottom navigation), Split Pane)
  • Scrape HTML and Import into the wireframe App
  • Download of Custom View Guide - this help one create the app using the abstract designer. This has very detailed instructions of how to reproduce your wireframe
  • Wireframe JSON files to import and play with.
  • Automatic Update of PocketBase Back-End
  • Ability to archive / set in-active components
  • Drag n Drop components (on the treeview)
  • Ability to Animate & Style components & add inline classes
  • Ability to view only changes made on the component
  • Scrape HTMP and import to wireframe
  • Download & Upload wireframe as JSON file
  • Download Abstract Designer Guide
The Playlist for SithasoIONIC7 Wireframes is here.

Example Demo Apps (These are Optimized for Mobile Devices)
These apps were first built with the SithasoIONIC7 FREE Wireframe App and then coded into b4j Apps

The SplitPane is useful when you want to develop Desktop WebApps

Updated Sithaso7 Demo WebApp

Download Wireframe App

Get SithasoIONIC7 from same link as per email sent during purchase. The download includes the FREE SithasoIONIC7 Wireframe App.



Licensed User
Longtime User
Hi Fam

SithasoDaisy 2.18 is out.

Demo on Vercel

What's New

1. AutoComplete - textbox with select functionality. You need to check the AutoComplete & AutoCompleteList props on the abstract designer.


You can clear items with .AutoCompleteClear.
You can add items with .AutoCompleteAddItem

Items can be added from a Map / List, with .AutoCompleteFromList (recommended) and .AutoCompleteFromMap

2. Menus

The Horizontal Menu Example is in the Additional Demos folder
The menu by default is set to be Vertical in the abstract designer, turning this off, will make your menu horizontal.
Fixed some few bugs

3. NavBar
Fixed some few bugs

Get from same location...

Thanks again for reporting bugs and your involvement in this project.




Licensed User
Longtime User
Hi Fam

It's with pleasure to release SithasoIONIC7 version 1.2

  1. This version works with BANano 8+
  2. This uses Ionic 7.6.4
  3. Bug Fixes and some enhancements
  4. Additional functionality to SI7 Wireframes App.
Get it from same Google Drive Link.


I was exploring embedding layout files in the b4xlib, as a result some of the code in the b4xlib needs this layout file. This layout is used for a country picker dialog.

Please extract and include in your project.

I have raised a question on how to use layouts inside b4xlibs... perhaps with some luck that might be possible.

All the best.


  • countryitemlayout.zip
    2 KB · Views: 34
Last edited:


Licensed User
Longtime User
Version: 1.08



Active Member
Licensed User
Longtime User

[juuid] Get Unique hardware ID​

version 2.6

'Hardware information
    Dim p As jUUID
    Log("OS_Name : "&p.OS_Name)
    Log("OS_Version: "&p.OS_Version)
    Log("OS_Arch : "&p.OS_Arch)
    Log("OS_username : "&p.OS_UserName)
    Log("OS_SerialNumber : "&p.OS_SerialNumber)
    Log("MainBoard : "&p.Get_MotherBoardName)
    Log("CPU Name : "&p.Get_CPUName)
    Log("CPU Cores : "&p.Get_CPUCores)
    Log("Cpu LogicalProcessors : "&p.Get_CPULogicalProcessors)
    Log("Total PhysicalMemory : "&Round(p.Get_TotalPhysicalMemory/1024/1024)&" MB")
    Log("Free PhysicalMemory : "&Round(p.Get_AvailablePhysicalMemory/1024)&" MB")
    Log("GPU Name: "&p.Get_GpuName)
    Log("Bios Version : "&p.Get_BiosVersion)


Licensed User
Longtime User
SithasoDaisy Version 2.22 is now out, get it from same download link

What's new?

  • SDUIFormComponent - drag n drop a couple of form componts, set up their properties, have yourself a form. This works like VField in BVAD3.
  • SDUITableColumn - drag n drop a table column on a table, set its properties, have yourself a table with columns. This is for those who dont want to define table columns via code.
  • SDUITableProperty - drag n drop a table property on a table, set its properties, have yourself a property bag / preference dialog. This is for those who dont want to define property bag settings via code.
  • SDUIPocketBase is now part of the internal lib, no need to add it as a library anymore.
  • SDUIEnjoyHint is now part of the internal lib, no need to add it as a library anymore. This is in support of SDUIFormComponent, SDUITableColumn, SDUITableProperty.
  • SDUIButton now supports images which can be styled. eg. svg icons etc.
  • Bug fixes

To initialize the SDUIEnjoy hint, 2 parameters are now required, the CallBack name and eventname

Dim help As SDUIEnjoyHint
    help.Initialize(Me, "help")