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,725
Last edited:

Vinians2006

Active Member
Licensed User
Longtime User
Perfect application, help a lot! But can you increase the font size or give us a setup where we can configure ?
 

Jorge M A

Well-Known Member
Licensed User
Longtime User
A new happy user here for B4A!. I like it very much!.

Object Browser is the most usefull tool for people like me with strong experience in VB6 and nothing in BA4 :(
I'm trying to learn as i can from people with lot of experience like all of you.
Thanks for sharing.

I have an incidence with B4A Object Browser because an icon with red cross appears in the OkHttpUtils2 class. I don't know what it means, although I suppose that is any kind of inconsistency. Could you advise me on what it means and how to solve it?
 

Attachments

  • B4A_Object_Browser_with_Red_Cross.png
    B4A_Object_Browser_with_Red_Cross.png
    7.9 KB · Views: 735

Vader

Well-Known Member
Licensed User
Longtime User
This means that there is a duplicate class name. To fix it, you have to remove one of the two libraries, or change the class name in one of them.
 

Jorge M A

Well-Known Member
Licensed User
Longtime User
I appreciate your response, however, there are no duplicates in the B4A library folder.
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
In B4X Object Browser, Select Tools -> Options and check Library Paths setting.
There you'll see where B4X Object Browser is searching for libs.
Maybe you have more than one Additional Libraries folder, or maybe libraries are present in both B4A libraries folder AND Additional Libraries folder.
In short: B4X Object Browser is finding two libraries with the same name in different folders.
Check this out.

Regards
 

Jorge M A

Well-Known Member
Licensed User
Longtime User
@zetaperu

In fact it is not a problem. According to what I understand, it is that the OkHttpUtils2 library is that you must use for its advantages over HttpUtils2. Only would conflict if you try to use two libraries at the same time.

En realidad no es problema. Según lo que entiendo, es que la librería OkHttpUtils2 es la que se debe de utilizar por sus ventajas sobre HttpUtils2. Solo habría conflicto si intentas utilizar las dos librerías simultáneamente.

read this
 

zetaperu

New Member
@Jorge M A

it is understood by many of us that the discussion is NOT the library OkHttpUtils2 with respect to its operation but how it is marked with X the object browser.
The solution I found is that the program that @Vader provides makes a character string comparison in its reading when updating the libraries and by default compares HttpUtils2 with the OkHttp so they share similar characters and if we add to this the library OkHttpUtils2 is there where he puts the red blade.
If you remove OkHttp and HttpUtils2, you go back to update libraries, the solution appears.

upload_2017-11-7_12-24-23.png
 
Last edited:

hatzisn

Expert
Licensed User
Longtime User
Hi Vader,

A big big thank you for your software. It is a game winning option for the developer.
I am writting this message to ask you if it is possible to add another feature in your software.
That is a textbox in the interface when viewing a library where the user can add a description or some notes relevant to the library. I believe that this would be very useful to every B4X developer. If that description/notes addition is even more searchable (f.e. text or tags that the user adds) it would be a dream come true.

Thank you for spending time to read this message.

Have a nice day.
 
Last edited:

Vader

Well-Known Member
Licensed User
Longtime User
Hi Vader,

A big big thank you for your software. It is a game winning option for the developer.
I am writting this message to ask you if it is possible to add another feature in your software.
That is a textbox in the interface when viewing a library where the user can add a description or some notes relevant to the library. I believe that this would be very useful to every B4X developer. If that description/notes addition is even more searchable (f.e. text or tags that the user adds) it would be a dream come true.

Thank you for spending time to read this message.

Have a nice day.
This was a feature that I wanted to add, that allowed you to keep additional information. The GUI was added, but I never completed it. I'm thinking about a rewrite...
 

agraham

Expert
Licensed User
Longtime User
Here's a tip for anyone running B4X Object Browser on a Windows 10 High Dpi system with a display scaling other than 100%.

B4X Object Browser is a Windows Forms application that does not seem to notify Windows that it is High Dpi aware and so Windows will scale it with the result that text looks fuzzy. However, as a Windows Forms application it is in fact reasonably High DPI capable so if you right click on the desktop shortcut or Browser.exe itself, select Properties -> Compatibility -> Change high DPI settings, check Override high DPI scaling behaviour and select either 'Application' or 'System (Enhanced)' from the drop down list the text in the browser will magically improve in appearance :) Choose whichever looks best to you.

The difference in the two settings is that 'Application' scaling leaves scaling entirely up to the application but 'System (Enhanced)' tells Windows to scale everything apart from any text drawn through GDI+ (which Windows Forms mainly does) which it draws at the display resolution instead of just scaling it.
 
Last edited:

agraham

Expert
Licensed User
Longtime User
I'm just setting myself up to return to using B4A and installed both B4A Browser and B4X Browser as well as Klaus' version of my original B4A browser. B4A Browser also benefits from changing the High DPI scaling options as I described above.

As commented in post #431 above, ToolTips do not appear to work in either of the Browsers.

I also see that while B4A Browser shows the class comment in the 'Standard' pane at the lower right these very useful comments are not visible at all in B4X Browser :(

I've also installed Klaus' version of my original B4A browser which also shows the class comments and being a Windows Form application also significantly benefits from 'System(Enhanced)' scaling.
 

Jorge M A

Well-Known Member
Licensed User
Longtime User
Hello @Vader! Happy New Year!

Do you have any plan to extend B4X Object Browser to read the brand new .b4xlibs? :rolleyes:
Another wish, it would be possible to display, anywhere, the library's location?

Thanks in advanced for your time.
 
Status
Not open for further replies.
Top