Object-Oriented GUI Library

Headers, Bindings, Libraries for use with FreeBASIC, Please include example of use to help ensure they are tested and usable.
datwill310
Posts: 355
Joined: May 29, 2015 20:37

Object-Oriented GUI Library

Post by datwill310 »

(This is my first project which I'm actually posting online ever, so bare with me!)

Hi, welcome to my OO GUI library for Windows! Hopefully it is of use to anyone who wishes to program GUI applications!

The GitHub repository can be found here.

Version 2.1 is the latest stable version.

The OGL is released under the 3-Clause BSD license. If you have already been using this library before it was licensed properly, don't worry: it does not limit your rights to use the library, it actually supports them.

I will accept comments, feedback, suggestions, and any help in this forum post. I think you can do that stuff in GitHub, but I'm still a noob and I don't know these things XD!

More information can be found at the repository.

Thanks for your time!
Last edited by datwill310 on Mar 15, 2017 0:26, edited 16 times in total.
MrSwiss
Posts: 3910
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: Object-Oriented GUI Library

Post by MrSwiss »

First problem encountered:
An error occurred while loading MEGA.
The file "lang/en_f658ca379bc8c971bd26b329a0da345afd593abdf3a4989306bd588c1977740d.json" could not be loaded.
Please try again later. We apologize for the inconvenience.
If the problem persist, please try disabling all third-party browser extensions and reload your browser. If that doesn't help, contact support@mega.nz
BrowserID: mozilla/5.0 (windows nt 10.0; wow64; rv:50.0) gecko/20100101 firefox/50.0
That is one of the reasons to not like all this "Download" Sites.
Please publish the sources here ...
datwill310
Posts: 355
Joined: May 29, 2015 20:37

Re: Object-Oriented GUI Library

Post by datwill310 »

MrSwiss wrote:First problem encountered:
An error occurred while loading MEGA.
The file "lang/en_f658ca379bc8c971bd26b329a0da345afd593abdf3a4989306bd588c1977740d.json" could not be loaded.
Please try again later. We apologize for the inconvenience.
If the problem persist, please try disabling all third-party browser extensions and reload your browser. If that doesn't help, contact support@mega.nz
BrowserID: mozilla/5.0 (windows nt 10.0; wow64; rv:50.0) gecko/20100101 firefox/50.0
That is one of the reasons to not like all this "Download" Sites.
Please publish the sources here ...
Hmm... That's funny, it works for me if I download through my browser...

How am I supposed to publish the sources again?

Edit: Try this link: https://www.dropbox.com/s/3bgkozii8gj15 ... 0.zip?dl=0
dodicat
Posts: 7976
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: Object-Oriented GUI Library

Post by dodicat »

The browser download (Google Chrome) worked fine here from your first post.
However, with Win 10, your .chm file doesn't function properly -- the panels come up OK on the left, but the main body remains blank.
The .bi file seems OK, but maybe a little working example (especially with no .chm help) would get people started and interested straight away.
datwill310
Posts: 355
Joined: May 29, 2015 20:37

Re: Object-Oriented GUI Library

Post by datwill310 »

dodicat wrote:The browser download (Google Chrome) worked fine here from your first post.
However, with Win 10, your .chm file doesn't function properly -- the panels come up OK on the left, but the main body remains blank.
The .bi file seems OK, but maybe a little working example (especially with no .chm help) would get people started and interested straight away.
1. That's good, I'll provide both links in case the original one doesn't work.
2. So, since I've compile the .chm file in Windows 10, that means it doesn't work on older versions of Windows? That's annoying. Maybe an HTML file would work?
3. OK, I'll create a few working examples - I intended to do them, but I just kinda wanted it to go out there (it had been sitting around for a good month or so).
Thanks for the feedback.
srvaldez
Posts: 3373
Joined: Sep 25, 2005 21:54

Re: Object-Oriented GUI Library

Post by srvaldez »

dodicat, perhaps you to unblock the chm file.
MrSwiss
Posts: 3910
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: Object-Oriented GUI Library

Post by MrSwiss »

Successs ... Dropbox download works (but the dl=0, had to be changed to dl=1).
(since I didn't want to save to another Dropbox-Account ... grrr!)
.chm on WIN10 pro 64, works without problems here. Build: 14393.

Thanks for the second Link. More info's tomorrow ...
datwill310
Posts: 355
Joined: May 29, 2015 20:37

Re: Object-Oriented GUI Library

Post by datwill310 »

MrSwiss wrote:Successs ... Dropbox download works (but the dl=0, had to be changed to dl=1).
(since I didn't want to save to another Dropbox-Account ... grrr!)
.chm on WIN10 pro 64, works without problems here. Build: 14393.

Thanks for the second Link. More info's tomorrow ...
I'll change it to dl=1. Thanks for the info.
dodicat
Posts: 7976
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: Object-Oriented GUI Library

Post by dodicat »

Thanks srvaldez (and datwill310 of course), the unblocking did the trick for the .chm help.
sancho2
Posts: 547
Joined: May 17, 2015 6:41

Re: Object-Oriented GUI Library

Post by sancho2 »

Hello:
Since you plan on carrying forward with this project, I am going to forward a recommendation made to me by St_W.
Put this on Github. This is an ideal system for offering source code and tracking changes etc.
datwill310
Posts: 355
Joined: May 29, 2015 20:37

Re: Object-Oriented GUI Library

Post by datwill310 »

sancho2 wrote:Hello:
Since you plan on carrying forward with this project, I am going to forward a recommendation made to me by St_W.
Put this on Github. This is an ideal system for offering source code and tracking changes etc.
Funny you should mention that: I have a GitHub account, and I came to that first, but I decided to go with a Cloud Drive because it was easier to set it up. I'll consider your (or St_W's) suggestion. Thanks!
Lothar Schirm
Posts: 436
Joined: Sep 28, 2013 15:08
Location: Germany

Re: Object-Oriented GUI Library

Post by Lothar Schirm »

datwill310,
looks very promising! Good luck!
MrSwiss
Posts: 3910
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: Object-Oriented GUI Library

Post by MrSwiss »

@datwill310,

a huge "Thumbs up" for the Documentation, mainly the explanation of OO, in a easy to understand,
step by step way (even a complete beginner should by now, understand the very basics of OO).
(The best I've seen so far ...)

There are however, some issues with the code:
  • InitCommonControls
    See DOC. on MSDN: Under Comctl32.dll version 6.0 and later, InitCommonControls does nothing.
    Applications must explicitly register all common controls through InitCommonControlsEx.
  • Dozens of Warnings (all parameters passed 'ByVal' are NOT explicitly specified)
    (This makes debugging of any program = pure HELL)
  • Integer use (a Windows (C++) INT = Long (in FB), UINT = ULong) C++ Type(s) on MSDN.
    (By chance: correct on FBC WIN32 but, outright wrong on FBC WIN64)
Compiler switches used to test:
-exx -w pedantic

Minimalistic Test-Code:

Code: Select all

#Include Once "ogl.bi"

Using ogl

sleep
datwill310
Posts: 355
Joined: May 29, 2015 20:37

Re: Object-Oriented GUI Library

Post by datwill310 »

MrSwiss wrote:@datwill310,

a huge "Thumbs up" for the Documentation, mainly the explanation of OO, in a easy to understand,
step by step way (even a complete beginner should by now, understand the very basics of OO).
(The best I've seen so far ...)

There are however, some issues with the code:
  • InitCommonControls
    See DOC. on MSDN: Under Comctl32.dll version 6.0 and later, InitCommonControls does nothing.
    Applications must explicitly register all common controls through InitCommonControlsEx.
  • Dozens of Warnings (all parameters passed 'ByVal' are NOT explicitly specified)
    (This makes debugging of any program = pure HELL)
  • Integer use (a Windows (C++) INT = Long (in FB), UINT = ULong) C++ Type(s) on MSDN.
    (By chance: correct on FBC WIN32 but, outright wrong on FBC WIN64)
Compiler switches used to test:
-exx -w pedantic
1) Ah: I didn't know that! Will do.
2) I don't usually use the pedantic mode, so I didn't spot these... *Scrolls through output on Notepad++* This is gonna take a while... I'll learn from this...
3) So I should explicitly use the long types instead of integer types? Oh man: should have spotted that one.

I'm glad that the OO tutorial is good! I was a little worried I might misguide some people, but hopefully this will not be the case!

Oh, and...
Lothar Schirm wrote:looks very promising! Good luck!
Thanks Lothar! Thank you everyone!

In light of the above, I'll release a new first version:
  • Several example code files
  • Hosted on GitHub (once I get the hang of it!) - Will take down the two other links once this is done as I don't want to faff around with uploading the same thing more than once
  • Updated doc file (obviously)
  • Cleaned up header file
For now, the current version (1.0) can be found on MEGA and DropBox until this new first version is out.
MrSwiss
Posts: 3910
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: Object-Oriented GUI Library

Post by MrSwiss »

datwill310 wrote:3) So I should explicitly use the long types instead of integer types? Oh man: should have spotted that one.
Yes, because they stay 32bit always (independent of the used Compiler).

On Windows UI, only the Pointer(s) are extended to 64bit (on x64 Platform).
All the rest remains 32bit(s). (Different from Linux UI, which extends every-
thing on x64 Platform.)
Post Reply