Results 1 to 10 of 25

Thread: my current GUI-project

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171

    my current GUI-project

    Just to keep it interesting here I post some preview of my current project... maybe someone's nosy and has the passion to browse it for ideas...

    Its a GUI for TBGL where the TBGL-Window becomes an "MDI-Window" - means, user has a few little "windows" (i call them just "t_CTRL_Box") to move around inside client-area. Most useful for TBGL-editor-apps without the need of "UI" and resulting win32-contamination of your code

    Its not done yet and just contains a few basic controls as the base-boxes (no "common dialogs" yet) , buttons, labels, checkboxes, option-buttons, scrollbars and all the menustuff.

    The philosophy behind it is a little vb6-alike, every control gets a name (optional index if more controls with this name) and the user has only to care about which controls to create and has to write only the code for the events that occur on those controls.

    It contains an emptyProject.tBasic - a template to start with and some testProject01.tBasic which shows a few of the current possibilities and explains how to setup controls and how to read the events.

    Basically every user-defined sub to each control starts with the name that has been given to the control. Every sub has to have
    Sub myControlName_MyEvent( Byval Index as Long [,...]  )
    
    so with the index you might identify which control currently had that event.
    Ignore Index if you have none assigned (=0)... but the subs have to have this parameter.

    To request the exact control that caused the event you might place an absolute variable onto it to access its properties and methods.
    Therefor my GUI has a function that will create the fitting variable, so you send the name and the index of the control where to place a layover and it will create the layover of the fitting type at the heap where the controls data is store.
    The heap makes it possible to attach any different new Type that Extends the t_CTRL_Basetype to the GUI, so its dynamically expandeable (for example with additional user-defined controls that are not invented yet) and you can omit to include unneeded controls to your project later to save on memory.

    The download contains a lot of files and the first time you start one of the *.tBasic files you'll get prompted to select your local keyboard-layout, so just enter the number (currently 1 to 4) of your layout. If yours is not listed feel free to create one (I'll tell how on demand since its too much for this post) - anyway- there's no keyboard-input (except esc-key) since there are no controls to enter values nor strings yet.

    Have a look at the testproject01.tBasic-code and run it, move the boxes around inside the TBGL-window and enlarge the inner client by doing so. try out menus, (open additional "windows" from menu). Compare the stuff in both *.tBasic-files: the emptyProject consists of a skeleton to start with. All additional code in the second (testproject01) - mostly subs - is the code the user will write later to create controls and handle them.

    Very undone yet... and some things might change or get improved. But I think its a very good example of the opportunities the latest to tB implemented features offer.

    PS. ByPtr-functionality is implemented but not in use. Currently I prefer the way of pre-overlay to make use of great Extends-features which allow to sort out

    EDIT: updated version attached

    #MinVersion 1.9.12.0
    Attached Images Attached Images
    Attached Files Attached Files
    Last edited by ReneMiner; 07-08-2014 at 16:56.
    I think there are missing some Forum-sections as beta-testing and support

  2. #2
    Super Moderator Petr Schreiber's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Czech Republic
    Posts
    7,128
    Rep Power
    732
    The demo itself is great, but what made me even more impressed was the look into code.
    Really nicely structured, well done Rene!


    Petr

    P.S. Little issue found - when moving the window really fast, the anchor point of drag can change.
    Learn 3D graphics with ThinBASIC, learn TBGL!
    Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB

  3. #3
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171
    Ok, that issue can be solved by dragging them boxes slower

    Anyway- i think there is "first-time-usage" of some stuff that were never possible before, especially through extended types- really a great feature (can't stop to ballyhoo for it) - I found some small core-issue concerning optional parameters & Call_IfExists <composing function name here> - need some more experiments into that direction... but I think there's some bug.

    I hope for some miracle to fire up some passion in a certain direction...
    I think there are missing some Forum-sections as beta-testing and support

  4. #4
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171
    just to keep the nosy ones up to date - I have another snoop-in here... now already a few more controls, currently I'm creating some variable-bound listfield, i.e. grid (check out the testproject window 5 from menu - just start the script, hit "w" followed by "5")

    Another hopefully interesting one you'll find in testbox (window) 4 - its on the way to become an editeable textfield... yes and all the others, just try out type in keys or check out what you can do with your mouse to certain controls, see easy approach to get modal messageboxes to work and all the other stuff - and be sure it won't be done before 2015...

    Still no textures yet. But the keyboard-unit is in use now so if you start the first time you'll be asked to enter the number for your local keyboard-layout.

    I like to abuse the forum for online-backups of my scripts
    Attached Images Attached Images
    Last edited by ReneMiner; 07-08-2014 at 16:54.
    I think there are missing some Forum-sections as beta-testing and support

  5. #5
    Super Moderator Petr Schreiber's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Czech Republic
    Posts
    7,128
    Rep Power
    732
    This will sound weird, but... please feel free to abuse this forum Rene

    The updated example is truly fantastic, highly recommended for anyone to try out!

    Not only the visuals are impressive, but the GUI API design as well.

    Highly recommended, without exaggeration this is the best TBGL based GUI demo up to date!


    Petr
    Learn 3D graphics with ThinBASIC, learn TBGL!
    Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB

  6. #6
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171
    Eros can be really proud of his works and all of you can just be flabbergasted about what it makes possible- it's really unbelieveable.
    Await an update near the weekend.
    I think there are missing some Forum-sections as beta-testing and support

  7. #7
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    57
    Posts
    8,777
    Rep Power
    10
    Quote Originally Posted by Petr Schreiber View Post
    This will sound weird, but... please feel free to abuse this forum Rene

    The updated example is truly fantastic, highly recommended for anyone to try out!

    Not only the visuals are impressive, but the GUI API design as well.

    Highly recommended, without exaggeration this is the best TBGL based GUI demo up to date!


    Petr

    I cannot agree more.

    Code produced by René is always so clear and well organized, but at the same time it has that kind of complexity to be a great source of inspiration for new native ThinBASIC features.
    René, I will spend my holidays in reading back all your requests and see if I can add few of them.

    Ciao
    Eros
    www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
    Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000

Similar Threads

  1. Current module development possibilities?
    By Michael Hartlef in forum thinBasic SDK
    Replies: 0
    Last Post: 17-09-2013, 20:12
  2. current thinAir very unstable?
    By Michael Hartlef in forum thinAir General
    Replies: 5
    Last Post: 09-02-2008, 07:35
  3. Current TAB player seems not working here
    By ErosOlmi in forum T.A.B. (ThinBasic Adventure Builder)
    Replies: 10
    Last Post: 21-04-2007, 12:41
  4. thinBundle: current status
    By ErosOlmi in forum thinBundle
    Replies: 0
    Last Post: 02-04-2007, 15:15
  5. Current development
    By ErosOlmi in forum thinBasic General
    Replies: 1
    Last Post: 31-08-2006, 22:33

Members who have read this thread: 0

There are no members to list at the moment.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •