Author Topic: The GuiTools Framework  (Read 73950 times)

0 Members and 1 Guest are viewing this topic.

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: The GuiTools Framework
« Reply #30 on: June 13, 2020, 07:57:57 pm »
Yeah Multi-Form is breakthrough, so would a Text Editor Control be. :)

FellippeHeitor

  • Guest
Re: The GuiTools Framework
« Reply #31 on: June 21, 2020, 06:17:58 pm »
Took me sometime but I finally got around to studying your multi-window approach. Pretty clever work, RhoSigma.

I'll definitely consider something similar for InForm.

Offline Unseen Machine

  • Forum Regular
  • Posts: 158
  • Make the game not the engine!
    • View Profile
Re: The GuiTools Framework
« Reply #32 on: June 21, 2020, 06:37:42 pm »
I'll have to have a look see in to this aswell...glad to hear you're finally catching up with VQB :)

Unseen

MultiTaskingWindows.PNG
* MultiTaskingWindows.PNG (Filesize: 551.02 KB, Dimensions: 1024x768, Views: 788)

FellippeHeitor

  • Guest
Re: The GuiTools Framework
« Reply #33 on: June 21, 2020, 07:02:41 pm »
Oh, not window frames in a window. Actual windows on the Desktop. Worth checking out.

Offline RhoSigma

  • QB64 Developer
  • Forum Resident
  • Posts: 565
    • View Profile
Re: The GuiTools Framework
« Reply #34 on: June 21, 2020, 07:13:38 pm »
Thanks Guys,
it took almost 5 years, but this was something I had in my head from the early days of GuiTools. However, often it takes time to see how a project will evolve and how all parts play together, to find a way and get a clue how "relative" easy you can implement the next thing. In fact the hardest part here was to go thru the entire source base, changing all image references to use either _SOURCE or _DEST, instead of a fixed handle to the main screen. If I recall correct, it were some 400 references to change, and you may guess how often I had to go in again, cause I found another reference, which I've missed before :)

My Projects:   https://qb64forum.alephc.xyz/index.php?topic=809
GuiTools - A graphic UI framework (can do multiple UI forms/windows in one program)
Libraries - ImageProcess, StringBuffers (virt. files), MD5/SHA2-Hash, LZW etc.
Bonus - Blankers, QB64/Notepad++ setup pack

Offline Unseen Machine

  • Forum Regular
  • Posts: 158
  • Make the game not the engine!
    • View Profile
Re: The GuiTools Framework
« Reply #35 on: June 22, 2020, 05:28:44 am »
Quote
Oh, not window frames in a window. Actual windows on the Desktop. Worth checking out.

In that case WOW! I'd never have even thought that you could do that with out calling on an external library! I didnt know Qb64 allowed you to generate multiple screens....so Hats of to RhoSigma...i'll defo put this on my "I've got to have a look see under the hood" pile.

Here's how i did multiple screens in the old days....(it was pooey cause i had to the write all my own functions for input and rendering!) but an unlimited number of screens!

Code: QB64: [Select]
  1. // SCREEN FUNCTIONS
  2. int GDK_GL_SCREEN (int width, int height, const char* title, int ref)
  3. {
  4.         if (!GL_Wnd[ref].IsOpened())
  5.         {
  6.                 GL_Wnd[ref].Create(sf::VideoMode(width, height, 32), title);
  7.                 return -1;
  8.         }
  9.         else
  10.                 return 0;
  11. }
  12.  

Offline RhoSigma

  • QB64 Developer
  • Forum Resident
  • Posts: 565
    • View Profile
Re: The GuiTools Framework
« Reply #36 on: June 22, 2020, 05:58:23 am »
Guys, don't think I'm a magician :)
Every QB64 program can have its window, so what I basically do is to SHELL out the app to itself, hence every window is just another running instance of the main program.

I designed GuiTools from the beginning on as a multi-entry-point program. Using secret command lines when shelling out, the init procedure of GuiTools can decide where to go to, if no or no known cmd line is given, it's considered a regular program start and the init procedure will branch into the regular user main routine.

The tricky thing here is to keep all running copies of a program without interferrence but in sync where required, which I use unique IDs and mutexes for.

This mechanism is used in GuiTools for MessageBoxes, File selection dialogs and now multiple forms.
My Projects:   https://qb64forum.alephc.xyz/index.php?topic=809
GuiTools - A graphic UI framework (can do multiple UI forms/windows in one program)
Libraries - ImageProcess, StringBuffers (virt. files), MD5/SHA2-Hash, LZW etc.
Bonus - Blankers, QB64/Notepad++ setup pack

Offline RhoSigma

  • QB64 Developer
  • Forum Resident
  • Posts: 565
    • View Profile
Re: The GuiTools Framework
« Reply #37 on: November 08, 2020, 01:26:18 pm »
Bonus Stuff Update (see initial post here)
  • Notepad++ Setup
    • all Notepad++ related files updated to release 7.9.1
    • as major change NPP's functionList.xml file is now splitted into parts, which are stored in the functionList folder, if you don't wanna update to the latest NPP version yet, then you should not install this new functionList stuff into your older NPP installation
    • added new keyword _EXPLICITARRAY in the QB64 UDL files
« Last Edit: January 31, 2022, 07:26:41 pm by RhoSigma »
My Projects:   https://qb64forum.alephc.xyz/index.php?topic=809
GuiTools - A graphic UI framework (can do multiple UI forms/windows in one program)
Libraries - ImageProcess, StringBuffers (virt. files), MD5/SHA2-Hash, LZW etc.
Bonus - Blankers, QB64/Notepad++ setup pack

Offline RhoSigma

  • QB64 Developer
  • Forum Resident
  • Posts: 565
    • View Profile
Re: The GuiTools Framework
« Reply #38 on: January 16, 2021, 03:56:00 pm »
Another Bonus Stuff Update (see initial post here)
  • Libraries Collection
    • all C-Header based libraries reworked to use their own unique namespaces and include guards
    • added a special edition of the Stringbuffer system (SB-Storage), which allows for multiple buffers per array using handles
  • Notepad++ Setup
    • added the new _MEMSOUND and _ERRORMESSAGE$ keywords in all UDLs
    • removed some death library keywords from my Lib&GuiTools UDLs
« Last Edit: January 31, 2022, 07:29:18 pm by RhoSigma »
My Projects:   https://qb64forum.alephc.xyz/index.php?topic=809
GuiTools - A graphic UI framework (can do multiple UI forms/windows in one program)
Libraries - ImageProcess, StringBuffers (virt. files), MD5/SHA2-Hash, LZW etc.
Bonus - Blankers, QB64/Notepad++ setup pack

Offline RhoSigma

  • QB64 Developer
  • Forum Resident
  • Posts: 565
    • View Profile
Re: The GuiTools Framework
« Reply #39 on: July 17, 2021, 06:51:55 pm »
Bonus Stuff Update (see initial post here)
  • QB64Library
    • some minor code cleanup, no functional changes
    • improved Overview and individual documentations (TOCs)
  • ScreenBlankers
    • added new blanker Bezier.bas
    • minor code changes in Worms.bas
  • Notepad++ Setup
    • updated according to the latest N++ release 8.1.1
    • added new $DEBUG keyword
« Last Edit: January 31, 2022, 07:36:10 pm by RhoSigma »
My Projects:   https://qb64forum.alephc.xyz/index.php?topic=809
GuiTools - A graphic UI framework (can do multiple UI forms/windows in one program)
Libraries - ImageProcess, StringBuffers (virt. files), MD5/SHA2-Hash, LZW etc.
Bonus - Blankers, QB64/Notepad++ setup pack

Offline jack

  • Seasoned Forum Regular
  • Posts: 408
    • View Profile
Re: The GuiTools Framework
« Reply #40 on: September 24, 2021, 12:59:29 pm »
hello RhoSigma
Quote
Go into the QB64Starter.bat
can't find that file anywhere, can you post it here?

Offline RhoSigma

  • QB64 Developer
  • Forum Resident
  • Posts: 565
    • View Profile
Re: The GuiTools Framework
« Reply #41 on: September 24, 2021, 01:10:33 pm »
hello RhoSigmacan't find that file anywhere, can you post it here?

Assuming you got the latest NppThemesQB.7z from the initial post, it should be in the "ide-shortcuts" sub-folder.
My Projects:   https://qb64forum.alephc.xyz/index.php?topic=809
GuiTools - A graphic UI framework (can do multiple UI forms/windows in one program)
Libraries - ImageProcess, StringBuffers (virt. files), MD5/SHA2-Hash, LZW etc.
Bonus - Blankers, QB64/Notepad++ setup pack

Offline jack

  • Seasoned Forum Regular
  • Posts: 408
    • View Profile
Re: The GuiTools Framework
« Reply #42 on: September 24, 2021, 01:14:23 pm »
Ok, sorry for the trouble, must have had a blond moment

Offline RhoSigma

  • QB64 Developer
  • Forum Resident
  • Posts: 565
    • View Profile
Re: The GuiTools Framework
« Reply #43 on: October 04, 2021, 08:02:24 pm »
GuiTools and Library Update (see initial post here)

The entire GuiTools Framework and the Libraries Collection (Bonus Stuff Section) got an complete overhaul to not longer relying on the old recursion bug, which got finally fixed in the QB64 v2.0 development builds (see https://qb64forum.alephc.xyz/index.php?topic=4209).



In this place I'd also like to say special thanks to @FellippeHeitor once again for his unbroken enthusiasm in pimping our QB64.

Also many thanks for re-enabling the editing feature here, I really appreciate that, as I can provide code updates in the old usual way without producing redundancies and leaving old outdated code behind.
« Last Edit: January 31, 2022, 07:45:17 pm by RhoSigma »
My Projects:   https://qb64forum.alephc.xyz/index.php?topic=809
GuiTools - A graphic UI framework (can do multiple UI forms/windows in one program)
Libraries - ImageProcess, StringBuffers (virt. files), MD5/SHA2-Hash, LZW etc.
Bonus - Blankers, QB64/Notepad++ setup pack

FellippeHeitor

  • Guest
Re: The GuiTools Framework
« Reply #44 on: October 05, 2021, 05:18:56 pm »
In this place I'd also like to say special thanks to @FellippeHeitor once again for his unbroken enthusiasm in pimping our QB64.

It's a pleasure. Thank you so much for the words.