Android Tutorial [B4X] B4A, B4i, B4J and B4r API documentation - B4X Object Browser

Status
Not open for further replies.
API documentation - B4a, B4i, B4J and B4R (i.e. B4X) Object Browser (which also includes Code Snippet Management)

Hi everyone,

As you may or may not be aware, I have embarked on a project to bring better documentation to us all.

The first problem I have had is that the official and semi-official documentation tools aren't what I was hoping for. Not saying they aren't good, they just aren't what I need.

My first thankyou was called the B4a Object Browser. This version was for B4Android only. It is my own version of the XML file loader. I call it the B4a Object Browser.

The second thankyou is an updated version that supports B4A, B4I and B4J. This is called the B4X Object Browser.

If you know the Visual Studio Object Browser, you should have a good idea of what I am trying to emulate.

To run it you must have .NET Framework 3.5 SP1 installed, and you must install it from my setup.

I have only tested it on Windows, and not with Mono.
I am assuming that everyone that wants to use it, will be on Windows.

Here are some screenshots:

B4AObjectBrowser3.1.4.0.png


upload_2014-12-18_21-26-19.png


Download the appropriate zip, unzip it and run the setup. I suggest you scan it for viruses before you run it of course.

B4A Object Browser:
When it runs the first time, it will need to know where the B4a Library XML files are, so ensure you go into the Options and configure them.
If you are upgrading, you can Import your old settings, and in fact are prompted to do so if you have a blank configuration.

If you are asked to find the B4A Library XML files, browse to your B4a Library folder (usually C:\Program Files\Anywhere Software\Basic4android\Libraries, or if you are using 64 bit Windows, it is C:\Program Files (x86)\Anywhere Software\Basic4android\Libraries)

From this point, it will remember the path, so you will not have to enter it again.

B4X Object Browser:
The paths to your B4A, B4I and B4J installations (and the Libraries folders under them) will be determined automatically.

In the Options screen you can set multiple paths, with the ability to modify them.

It has multi-language support, and will detect your PC's language and apply the changes automatically. If you want to over-ride this, you may do so from the Options screen.

In B4A Object Browser, the following languages are supported:

Afrikaans
Arabic
Bulgarian
Chinese
Czech
Danish
Dutch
English
French
German
Hebrew
Indonesian
Italian
Japanese
Norwegian
Persian
Polish
Portuguese
Romanian
Russian
Spanish
Swedish
Thai
Ukrainian
Vietnamese

B4X Object Browser adds support for:
Catalan
Greek


I suggest everyone that uses this tool subscribe to the thread so you are informed of changes.

Have fun!

Dave

Change history:
B4A Object Browser
2.0.0.0 - First public release.
2.0.1.0 - Minor GUI update, remove the need to click Reload button during initial setup.
2.1.0.0 - See post #8
2.2.0.0 - See post #23
2.3.0.0 - see post #31
2.3.0.0 - see post #35
2.4.0.0 - see post #60
2.5.0.0 - see post #63
2.6.0.0 - see post #70
2.6.1.0 - see post #75
2.7.0.0 - see post #79
3.0.0.0 - (Pre-release)
3.0.1.0 - Major GUI updates
3.0.1.1 - Minor fixes to correct some "Copy" functionality that had been removed
3.1.0.0 - All known bugs fixed, plus multiple language support added. Separate link provided below. See post 112 for full info.
3.1.1.0 - Additional languages, ability to override GUI language, Chinese language fixed. See post 122 for more info.
3.1.2.0 - Fixes to French, German and Italian language translations. 15 languages now provided. Search history added.
3.1.3.0 - Portuguese language added, making this language number 16
3.1.4.0 - Updated ru and ja translations, Moved Options to View menu, Added support for DesignerName attribute. See post 128 for full details.
3.1.5.0 - Corrected some logic problems around Version Number and DependsOn. Fixed URL Links. See post 147 for full details.
3.1.6.0 - Increased search options, fixed some search bugs, added Hebrew. Full details in post 156.
3.2.0.0 - AutoUpdate, new language, a couple of minor bugfixes. Full details in post 157.
3.2.1.0 - New languages, a few bugfixes. Full details in post 164.
3.2.2.0 - Updated Thai translation.
3.2.3.0 - Fixed further Thai translation strings, arabic and Thai language settings, memory corruption error when switching from R-L and L-R languages and more
3.2.4.0 - Added the ability to override language settings.* See "How to override language setting.txt" in the installation directory.
3.2.4.1 - Fixed bug when overriding language settings.
3.2.4.2 - Fixed bug when selecting the following languages: Arabic, Bulgarian, Hebrew, Thai
3.2.4.3 - Fixed bug when showing empty parentheses, Search and Clear Search buttons, bug where Clear Search button forced library reload even if no search text was entered
3.2.4.4 - Fixed bug where installer did not remove previous version
3.2.5.0 - Added ability to select viewing of Class_Globals and Property Get / Property Set
3.2.5.1 - Added ability to select viewing of DesignerCreateView
3.2.5.2 - Added Romanian language
3.2.5.3 - Fixed problem when selecting Romanian
3.2.5.4 - Fixed 2nd problem when selecting Romanian
3.2.5.5 - Added Vietnamese language
3.2.5.6 - Added preliminary support for B4a 3.0 (Beta)
3.2.5.7 - Added ability to show duplicate Library Short Names
3.2.5.8 - Forced GUI to always show Full type name when showing Class and Library annotations
3.2.5.9 - Fixed a bug when reloading libraries after performing a search. Also added Donate form.
3.2.5.10 - Set XML Reader to null after closing the file, plus set properties to remove flickering when displaying file data.
3.2.5.11 - Corrected an issue where a blank History would cause an application error
3.2.5.12 - Added Czech, Danish and Persian languages
3.2.5.13 - Persian language updated
3.2.5.14 - Added "Always on top" setting (under "Always on top" menu setting) and modified each Form to follow this setting
----------- Note: No further updates will be performed to B4a Object Browser

Full list of changes here (before 3.2.5.1): http://www.b4x.com/android/forum/th...n-b4a-object-browser.25682/page-9#post-172076

B4X Object Browser
1.0.0.0 - First public release
4.0.0.1 - Minor changes - mainly updating graphics to reflect Anywhere Software changes.
4.0.0.2 - Bug fixes, Desktop icon.
4.1.0.0 - Code Snippet Management added.
4.1.1.1 - Spanish language updates
4.1.1.2 - Modified the Method / Property / Field Copy function appropriately to copy either the selected text or all text
4.1.1.3 - Performed multiple bug-fixes to correct issues with right-click commands
4.1.1.4 - Performed another bug-fix to the right-click menu (for Events list)
4.1.1.5 - Performed another bug-fix to the right-click menu (for copying Fullname)
4.1.2.0 - Added support for B4R
4.1.3.0 - Changed auto-update download to .msi (instead of .exe)

I have put together a pdf to understand how to use it. It is included in the setup, but you can get it separately here (559 Kb).
Grab the setup and unzip and install it. This must be done this way because of the file size being too big for the forum. (>2 MB)...

B4a Object Browser
Version 3.2.0.0 (NOT AutoUpdate) is available here.
Version 3.2.1.0 (AutoUpdate enabled) is available here.
All newer versions (from Version 3.2.2.0 onwards) are available through AutoUpdate, and will not be provided here (other than the link below).
The latest version is always available from here.

B4X Object Browser
The latest B4x Version is available from here. AutoUpdate will take over from that point.
 

Attachments

  • upload_2014-12-11_22-32-46.png
    upload_2014-12-11_22-32-46.png
    106.1 KB · Views: 2,559
Last edited:

Vader

Well-Known Member
Licensed User
Longtime User
So, if I understand well, they are user's snippets "linked" (mapped, related, attached, I don't know which word I should use :D) to classes' members?
"Added". Yes, you find a snippet somewhere that you like, and drag/drop it onto B4X Browser, where it is saved for future reference.
 

Markos

Active Member
Licensed User
Longtime User
"Added". Yes, you find a snippet somewhere that you like, and drag/drop it onto B4X Browser, where it is saved for future reference.
Hi Vader

Great support tool!

The setup is saying installsheild evaluation copy and aborts the install. Can you recompile and upload or use an installer that doesnt expire?
 

Vader

Well-Known Member
Licensed User
Longtime User
Hi Vader

Great support tool!

The setup is saying installsheild evaluation copy and aborts the install. Can you recompile and upload or use an installer that doesnt expire?
Thanks for that. I'm working on a new Installer, however, it will require people manually uninstall the current version the first time they upgrade with this.
 

Markos

Active Member
Licensed User
Longtime User
Thanks for that. I'm working on a new Installer, however, it will require people manually uninstall the current version the first time they upgrade with this.
Thats great. I'm Anxious to see the new intaller uploaded to try the latest version of the b4x browser
 

Vader

Well-Known Member
Licensed User
Longtime User
Thats great. I'm Anxious to see the new intaller uploaded to try the latest version of the b4x browser
Thanks. It will have to be sometime in the near future. It's after 10 PM here and with testing to be performed, with work tomorrow, I can't get it done now.
 

Markos

Active Member
Licensed User
Longtime User
Thanks. It will have to be sometime in the near future. It's after 10 PM here and with testing to be performed, with work tomorrow, I can't get it done now.
Thats cool by me. I will just check periodically for the update in the near future.

Cheers
 

stanmiller

Active Member
Licensed User
Longtime User
Hi Vader

Great support tool!

The setup is saying installsheild evaluation copy and aborts the install. Can you recompile and upload or use an installer that doesnt expire?

Same error here.

A nice touch would be to package the SETUP.EXE with a README.TXT in a zip file (e.g. b4x_objectbrowser_v4114.zip). Users would download the .ZIP. The README.TXT could contain a brief description of the zip contents, a link to here, and credit for your hard work.

This allows a user to vet the package before committing to the install. Clicking on a link and getting a prompt to download/install a generic SETUP.EXE seems dubious.

Thanks for putting this tool together and I'm looking forward to the next release!
 

Widget

Well-Known Member
Licensed User
Longtime User
Vader,

Congrats on your Object Browser (v4.1.2.0). I'm new to B4A and find the Object Browser indispensable for browsing through the properties and methods for the various classes.

But I don't know if I'm using it properly because it doesn't always display the Methods and Properties when I'm searching. Here's what I'm doing.
Let's say I want the properties for "List" in the Core library.

  1. I enter List in the search field and press ENTER.
  2. I now see a list of Classes like "Core, GPS, JSON,.." that have something to do with "List", which is fine.
  3. If I expand the "Core" branch of the tree I see the leaves "Common, Date Time, File, List, ..." which is fine.
  4. If I click on the "List" leaf of the tree, nothing happens. I would have thought it would show the methods and properties for "List" in the Core library.
  5. To see the List's methods and properties I have to clear the search filter, press Enter to see all the libraries, and manually traverse the tree to where I see "Core" and expand "Core" and look through this branch of the tree to find "List" and then click on "List". Now I see the Methods and Properties for List from the Core library.
Am I doing something wrong?
TIA
 

Vader

Well-Known Member
Licensed User
Longtime User
Vader,

Congrats on your Object Browser (v4.1.2.0). I'm new to B4A and find the Object Browser indispensable for browsing through the properties and methods for the various classes.

But I don't know if I'm using it properly because it doesn't always display the Methods and Properties when I'm searching. Here's what I'm doing.
Let's say I want the properties for "List" in the Core library.

  1. I enter List in the search field and press ENTER.
  2. I now see a list of Classes like "Core, GPS, JSON,.." that have something to do with "List", which is fine.
  3. If I expand the "Core" branch of the tree I see the leaves "Common, Date Time, File, List, ..." which is fine.
  4. If I click on the "List" leaf of the tree, nothing happens. I would have thought it would show the methods and properties for "List" in the Core library.
  5. To see the List's methods and properties I have to clear the search filter, press Enter to see all the libraries, and manually traverse the tree to where I see "Core" and expand "Core" and look through this branch of the tree to find "List" and then click on "List". Now I see the Methods and Properties for List from the Core library.
Am I doing something wrong?
TIA
You are using it correctly. That is the current behaviour.
 

Vader

Well-Known Member
Licensed User
Longtime User
Same error here.

A nice touch would be to package the SETUP.EXE with a README.TXT in a zip file (e.g. b4x_objectbrowser_v4114.zip). Users would download the .ZIP. The README.TXT could contain a brief description of the zip contents, a link to here, and credit for your hard work.

This allows a user to vet the package before committing to the install. Clicking on a link and getting a prompt to download/install a generic SETUP.EXE seems dubious.

Thanks for putting this tool together and I'm looking forward to the next release!

If you navigate to the following location:
http://logonengine.com/autoupdate/B4xBrowser/Releasenotes.htm

The information you are asking for is already there.

In addition, when there is a new version, the autoupdate feature tells you so, shows this same information, and gives you the option of downloading or ignoring.

I think this caters for your scenario.

If you would like to provide thanks, you could always click on the "Buy me a beer" link and donate something.

As for the dubious nature of the download, I have been doing this for a few years now, with some people choosing to donate money, but all up, this is a free service provided to everyone, and I haven't duped anyone in that time. If you don't want to trust me, then don't install my software.

And, you're welcome. This has been a mostly thankless endeavour (with some notable exceptions - thanks guys, you know who you are).
 
Last edited:

Vader

Well-Known Member
Licensed User
Longtime User
Vader,

Congrats on your Object Browser (v4.1.2.0). I'm new to B4A and find the Object Browser indispensable for browsing through the properties and methods for the various classes.

But I don't know if I'm using it properly because it doesn't always display the Methods and Properties when I'm searching. Here's what I'm doing.
Let's say I want the properties for "List" in the Core library.

  1. I enter List in the search field and press ENTER.
  2. I now see a list of Classes like "Core, GPS, JSON,.." that have something to do with "List", which is fine.
  3. If I expand the "Core" branch of the tree I see the leaves "Common, Date Time, File, List, ..." which is fine.
  4. If I click on the "List" leaf of the tree, nothing happens. I would have thought it would show the methods and properties for "List" in the Core library.
  5. To see the List's methods and properties I have to clear the search filter, press Enter to see all the libraries, and manually traverse the tree to where I see "Core" and expand "Core" and look through this branch of the tree to find "List" and then click on "List". Now I see the Methods and Properties for List from the Core library.
Am I doing something wrong?
TIA

Thinking your scenario through a little more, I think that I have come up with something to fix this.

I will add a right-click option to the classes - something like "Clear search results and focus here". That will then allow you to search, focus, right click, clear, and then see the Methods, Properties and Fields.

Alternatively, there is another choice, but I don't know if it will work. I'll take a look at both and let you know how I went.
 

stanmiller

Active Member
Licensed User
Longtime User
As for the dubious nature of the download, I have been doing this for a few years now...

Oh no... your hard work is not dubious. Nor the donation link. All good things.

There is nothing underhanded going on here.

All I was suggesting is that you could package the SETUP.EXE in a .ZIP to allow for first time installers to review the contents prior to committing to the install. Plus the zip could include a brief description and include credits for your hard work. You wouldn't need to include the entire release notes. A link back here would be fine.

As you know, many computer users have invited misfortune by clicking on the wrong .EXE's. By packaging in a .ZIP you create separation.

Anyhow, I would like to try the object browser but the trial version of the SETUP.EXE reports it has expired.
 

Vader

Well-Known Member
Licensed User
Longtime User
Oh no... your hard work is not dubious. Nor the donation link. All good things.

There is nothing underhanded going on here.

All I was suggesting is that you could package the SETUP.EXE in a .ZIP to allow for first time installers to review the contents prior to committing to the install. Plus the zip could include a brief description and include credits for your hard work. You wouldn't need to include the entire release notes. A link back here would be fine.

As you know, many computer users have invited misfortune by clicking on the wrong .EXE's. By packaging in a .ZIP you create separation.

Anyhow, I would like to try the object browser but the trial version of the SETUP.EXE reports it has expired.
It sounds like a good idea, but it would prevent the autoupdate feature from being seamless and automatic.
 

elpic76

Member
Licensed User
Longtime User
Hi Vader,
I'm installing B4x Object Browser and after the autoupdate I see the message:
B4x_Object_Browser_4_1_2_0.png

Is it possible to find a solution?
Best Regards
 

mangojack

Well-Known Member
Licensed User
Longtime User
+1 Yes please ...
 

Andrew Lindsay

Member
Licensed User
Longtime User
I just tried to download the package and get an error saying that the file does not exist. (Trying to download the B4X version).
 
Status
Not open for further replies.
Top