No announcement yet.

New Visual Designers in development, one language independent

  • Filter
  • Time
  • Show
Clear All
new posts

  • New Visual Designers in development, one language independent

    If you are interested, please check out my latest post on my forums:

    I am planning on working on a next generation Visual Designer. While it will not be Powerbasic specific, in the sense of only for Powerbasic, it would be something useful to Powerbasic users.

    The idea is for a language independent Visual Designer. My goal is to build a code generation plugin/template format for the designer so anyone can write their own code generation plugins. This would mean that one could write their own unique code generator for your own specific style of coding for Powerbasic. The designer won't be limited to Powerbasic or even BASIC. The idea is to make it usable for literally any programming language. One of the first I want to work on is Python.

    Any ideas, suggestions, requests you would like to make, feel free to post them on my new forum (url is above).
    Chris Boss
    Computer Workshop
    Developer of "EZGUI"

  • #2
    Originally posted by Chris Boss View Post
    The idea is to make it usable for literally any programming language. One of the first I want to work on is Python.

    Awesome news, and Python is a wonderful language. However, Python users might expect a GUI to be portable across platforms. Personally, I am only need it to work on Windows (or Wine if I am using Linux).

    With MS recently making a public re commitment to Win32 support, your product should have a long life ahead of it. It would have been VERY handy for use with PellesC years back when I was using it.
    I am legally blind. Please forgive any typos. I do try and catch as many as I can.


    • #3
      The first GUI framework for Python I will be looking at is Kivy, which is cross platform.It is based on OpenGL 2.0.
      TKinter is the default GUI framework that comes with Python, so that would be a good one to support as well.

      Now for Powerbasic users, it would be possible to support things like Jose Roca's CWindow library or even pure WIN32 API.

      The idea is not to limit it to any language or even any framework for that Language. One could even write their own GUI framework for the PB console compiler using the Graphic command set and then write a code generator plugin for my Designer for that.

      Again the point is not to be limited to anything.

      PB would be the primary language for writing code generator plugins, so that also creates a market for PB programmers to write plugins, even for non-PB languages. My goal is to support Powerbasic and possible even languages like C for writing plugins.

      Chris Boss
      Computer Workshop
      Developer of "EZGUI"


      • #4
        I don't plan on building a full blown IDE out of my designer. The goal would be to do something similar to what I do with EZGUI, where external code editors and compilers are easily integrated using my Smart Parser technology.

        The advantage my Designer has, is that writing visual designers is not easy to do in most programming languages. That often is the weak spot in many languages. I have two decades of learning how to write a GUI Designer engine, which is part of my EZGUI framework, which my designer taps into. I have fine tuned a number of things which are not easy to accomplish.

        For example, dragging multiple controls at one time. Those who have experimented with writing a designer often try the time tested "rubber banding" technique. The problem with that is when you drag dozens, if not hundreds of controls using rubber banding, it makes a big mess. My engine uses an Internal Bitblt engine. All the drag rectangles are calculated and drawn into a memory DC and then bitblt to the screen all at one time. This produces extremely fast and clean drag rectangles when moving multiple controls. I have things like a snap to grid as well.

        One problem with multi-programming language support is that each language may have totally different controls. I was thinking of using native controls when they match the framework you use, but when not to allow "emulation" of the controls by allowing the plugin to either draw (a dummy) or customize a native control to provide a closer emulation.

        If I wanted to, I could even allow one to draw directly into an OpenGL canvas for a custom control.
        Chris Boss
        Computer Workshop
        Developer of "EZGUI"


        • #5
          If you could get something that allows for the look and functionality of Sciter, you would have a hit.

          Microsoft has really made a mess of Windows. Your app looks drastically different depending on what version of Windows, heck, even what version of Windows 10, you use and the fancy modern stuff is reserved for TIFKAM/Desktop apps (or whatever they are calling it now).

          In game development you generally write your own GUI system so it looks like what you want it to (regardless of the OS) and it performs how you want it to. There are a small number of app developers who will write their own GUI or use something like Sciter to create more modern-looking software.

          You could easily use PB to create a GUI that looks like what users expect in 2019 (users do not know the difference between Win32 and TIFKAM, they just know when something does not look modern). This is what users expect nowadays, and PB is capable of creating a GUI that will look like this on all supported versions of Windows:

          Click image for larger version

Name:	d91f703e-4516-4844-9897-89af6aab7e9e-en.png
Views:	115
Size:	48.4 KB
ID:	781951

          The difficult part (IMHO) is writing the visual designer so that you can easily create GUIs for future projects. I am one of those who need a decent visual designer to create a GUI, even if it is for a GUI system I have written myself.
          I am legally blind. Please forgive any typos. I do try and catch as many as I can.


          • #6
            That's a great idea, make it for creating Python and C++ programs and add in your dll so as to lock
            users into your GUI would be good for rapid programming development. Currently we use a variety of
            compilers for our work, in order to diversify and meets users' needs.


            • #7
              Hello Chris,


              >>One of the first I want to work on is Python.

              Makes me more interested.
              Fredrick Ughimi