GUI library for Windows \ Linux (window9)

Headers, Bindings, Libraries for use with FreeBASIC, Please include example of use to help ensure they are tested and usable.
Post Reply
VANYA
Posts: 1836
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: FBGUI library for Windows 2

Post by VANYA »

Found a bug related to PanelGadget. The archives have been updated.
Munair
Posts: 1286
Joined: Oct 19, 2017 15:00
Location: Netherlands
Contact:

Re: FBGUI library for Windows 2

Post by Munair »

If Linux is supported too, perhaps the title of this topic should reflect it?
VANYA
Posts: 1836
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: FBGUI library for Windows 2

Post by VANYA »

Munair wrote:If Linux is supported too, perhaps the title of this topic should reflect it?
Everyone is already used to this name, so I don't know if the name of the topic needs to be changed.
Munair
Posts: 1286
Joined: Oct 19, 2017 15:00
Location: Netherlands
Contact:

Re: FBGUI library for Windows 2

Post by Munair »

VANYA wrote:
Munair wrote:If Linux is supported too, perhaps the title of this topic should reflect it?
Everyone is already used to this name, so I don't know if the name of the topic needs to be changed.
I didn't mean the name. I was more thinking of "FBGUI library for Windows / Linux", but of course, whatever you prefer.
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: FBGUI library for Windows 2

Post by D.J.Peters »

FBGUI is used by another library (so far I know)

"OpenGUI" a open source GUI Widget library for Windows and Linux.

Joshy
VANYA
Posts: 1836
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: GUI library for Windows \ Linux (window9)

Post by VANYA »

I renamed theme
oyster
Posts: 274
Joined: Oct 11, 2005 10:46

Re: FBGUI library for Windows 2

Post by oyster »

off-topic:

PascalABC.NET is really a langauge which needs less typing but with tons of .NET libraries supporting

I found a simple document in English https://www.garychike.com/images2/Pasca ... 0en-US.pdf
j8w344c6 wrote:It turns out he did give the needed information in comment. I ignored it since first sight because it's all in Russian. Language barrier is a real problem. I have to give up on PascalABC.NET, which I'm really liked, because the help file of it, the support forum of it, all is in Russian!
miilvyxg
Posts: 193
Joined: Dec 07, 2021 6:51

Re: FBGUI library for Windows 2

Post by miilvyxg »

oyster wrote:off-topic:

PascalABC.NET is really a langauge which needs less typing but with tons of .NET libraries supporting

I found a simple document in English https://www.garychike.com/images2/Pasca ... 0en-US.pdf
j8w344c6 wrote:It turns out he did give the needed information in comment. I ignored it since first sight because it's all in Russian. Language barrier is a real problem. I have to give up on PascalABC.NET, which I'm really liked, because the help file of it, the support forum of it, all is in Russian!
Oh thank you. The problem with PascalABC.NET is it's not really cross platform. The IDE is Windows-only. On Linux there is only a command line compiler. Mono doesn't implement WPF so GUI based app written using the PascalABC.NET IDE will not run either.
Mysoft
Posts: 836
Joined: Jul 28, 2005 13:56
Location: Brazil, Santa Catarina, Indaial (ouch!)
Contact:

Re: GUI library for Windows \ Linux (window9)

Post by Mysoft »

ok, i had the opportunity to test this... and i like that is kinda a wrapper based on winapi functionality :)

i know the source code of this have some OOP on it... but oh well, AT LEAST that isnt required to use the library at all, and i'm VERY VERY VERY¹²³ thankful for that.

So since i got the request, and this is usable enough for me, i will start creating a freebasic IDE made using window9... (linux\windows)
since theres no possibility to "extend" on the "editor" control that is just a wrapper to EDIT control not even richedit (but fine enough)
so i have to draw by myself, handle all the keyboard by myself, and scroll by myself, and etc... etc... all fine i guess

theres lot of stuff missing that i will have adapt. One of them being the the ability to query the size of a text to be drawn, that would be useful to be added, but at minimum being able to "superclass" some aspects of the EDIT control like, the input handling would be useful, so that the IDE would work with alternative input methods (IME, raw?, etc...)

but so i just started so i'm digging on what is already implemented and comment more here, since you guys have made some great documentation, even saying what works on linux and what not, so thats GREAT. Keep going...

but one thing is that it does not work with freebasic 1.01 (that is what i currently use, due some duplication on headers, and i need to recompile it to work with freebasic 1.01) because being a static library it require ONE new rtlib function that is not implemented on 1.01 (i can probabily implement it to use it as compatibility layer, right now i just did setup to use latest freebasic, but if possible i will get this working on 1.01 as well, that is my trusty version :)
VANYA
Posts: 1836
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: GUI library for Windows \ Linux (window9)

Post by VANYA »

Mysoft wrote: Feb 03, 2022 17:30 since theres no possibility to "extend" on the "editor" control that is just a wrapper to EDIT control not even richedit (but fine enough)
StringGadget:

for Windows control EDIT , for linux GtkEntry

EditorGadget:

for Windows control RichEdit , for linux GtkTextView

------------

My opinion: it's better for your purpose scintilla , but of course it's up to you.
TJF
Posts: 3809
Joined: Dec 06, 2009 22:27
Location: N47°, E15°
Contact:

Re: GUI library for Windows \ Linux (window9)

Post by TJF »

VANYA wrote: Feb 04, 2022 2:05My opinion: it's better for your purpose scintilla , but of course it's up to you.
Why not GtkSourceView?
VANYA
Posts: 1836
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: GUI library for Windows \ Linux (window9)

Post by VANYA »

TJF wrote: Feb 04, 2022 15:28Why not GtkSourceView?
Because:

1) many dependencies
Dependencies
------------

* GLib >= 2.62
* GTK >= 3.99
* libxml2 >= 2.6
* freebidi >= 0.19.7
* libpcre2-8 >= 10.21
2) not everyone knows how to build source codes, especially on windows (setup , options mingw.....)

3) hard to find ready compiled library GtkSourceView.dll

4) there are hardly any ready-made header files for FB (I could be wrong and maybe they are?)

5) the probability of getting help in case of problems from FB users is extremely low, because I have not seen any project using GtkSourceView

6) it is not known how easy it is to merging this library to the window9 library on windows

All these shortcomings are devoid of Scintilla because:

1) autonomous (2 *.dll or *.so files )

2) assembly is not necessary (you can find ready-made ones). On a linux system, building the library is very simple.

3) easy to find ready-made (dll files can be found even on the official website, files *.so you can also take for example from my project)

4) there are headers for the Scintilla library for FB

5) It is possible to get help from FB users because I know at least 4 people using Scintilla. And there are projects on FB that you can learn from

6) merging with window9 library is easy, example my project
TJF
Posts: 3809
Joined: Dec 06, 2009 22:27
Location: N47°, E15°
Contact:

Re: GUI library for Windows \ Linux (window9)

Post by TJF »

VANYA wrote: Feb 04, 2022 16:33Because:

1) many dependencies
Dependencies
------------

* GLib >= 2.62
* GTK >= 3.99
* libxml2 >= 2.6
* freebidi >= 0.19.7
* libpcre2-8 >= 10.21
2) not everyone knows how to build source codes, especially on windows (setup , options mingw.....)

3) hard to find ready compiled library GtkSourceView.dll

4) there are hardly any ready-made header files for FB (I could be wrong and maybe they are?)

5) the probability of getting help in case of problems from FB users is extremely low, because I have not seen any project using GtkSourceView

6) it is not known how easy it is to merging this library to the window9 library on windows
1) most of those dependencies are necessary anyway

2+3) there're msys2 packages (https://packages.msys2.org/base)

4) header at https://github.com/DTJF/gir_headers/blo ... rce-3.0.bi

5) example project at Cross platform GUI project (debugger for FreeBASIC)

6) a conceptual, general problem

GtkSourceView offers a lot of extra stuff like
  • loading/saving files in any encoding
  • printing support
  • code completion framework
  • search and replace, with regex support
  • ...
VANYA
Posts: 1836
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: GUI library for Windows \ Linux (window9)

Post by VANYA »

1) most of those dependencies are necessary anyway
Wrong!!!

For the window9 library under the WINDOWS system, only the ZLIB static library is needed, for everything else, only WINAPI is used, which is by default in the system. If compression functions are not used, then files associated with ZLIB can be safely removed from the library altogether. For Linux system, GTK2 or GTK3 is used. Therefore, when using SCINTILLA, only two DLL files are added and that's it.
6) a conceptual, general problem
SCINTILLA integrates seamlessly into Windows using window9 or WINAPI.
Can GtkSourceView without a bunch of libraries (GTK , libpcre , freebidi) easily integrate into Windows? And if it can't, then GTK must be present on the computer. And if you still need to use GTK , then why use the window9 library, because GTK provides a GUI that is better and more powerful than window9? All the advantage of window9 is that files built with it will work without additional libraries and can easily be functionally extended with winapi на Windows or by means of GTK on Linux!
5) example project at Cross platform GUI project (debugger for FreeBASIC)
And by the way, where is an example of working under Windows? For example, I indicated a project in which there are source files, in which you can see how Scintilla is connected to the window9 library
TJF
Posts: 3809
Joined: Dec 06, 2009 22:27
Location: N47°, E15°
Contact:

Re: GUI library for Windows \ Linux (window9)

Post by TJF »

I know Scintilla, as a user as well as a developer. My FreeBASIC patches got main-line in 2014.

But I had good reasons for choosing GtkSourceView for the debugger project. The source code had been on-line at github.com/fbdebugger/fbdebugger, but right now I found out that one of the partners must have erased it (AGS/SARG).

BTW: How is I18N handled in window9? Which tools are used for translations and which character encoding?
Post Reply