Jump to content

Form/GUI Builder


Recommended Posts

This is a program I've been working on first and foremost for my self, however, I know other people would probably like this. As this will be V1.0 when done it won't be prefect. To make things easy for me to begin with a user will start a new file and they will be able to add new controls (buttons, labels, etc) however for now the user will only have pictures while will represent the controllers. Then user will then export his work into real AutoIt code. This program is ment to be used to great the GUI first. Then you can add your code to it. Also, the user can easily add styles (properties) for controller with the Properties window.

SUMMERY:

You can run this program, start a new project, click and drag pictures which represent objects, add properties, then export the project into real AutoIt code.

NOTE: This program should NOT replace learning the AutoIt code and how to creat GUI. It should be used to help people do what they already know how to do faster.

For V2.0 I am planning to allow users to open .au3 files and edit exitsing files. Also, I'd like to rebuild the program in AutoIt so that users can drag around a real contoller, not just a picture of one. One big plus to this would be that as a user changes the property of a controller it would immediately update the controller so the user can see what the results without having to export/save&run the program.

Posted Image

Posted Image

Anyway I hope this is exciting for a few other people out there. I will update as I get close to a compiled file. After I get V1.0 done I'll make a zip with just the compiled exe and an other zip with a packaged exe (incase you don't have COMDLG32.OCX (ms common dialog).

PLEASE, COMMENT!! I want to know what you guess think!

~Flint Brenick~

Edited by FlintBrenick
Link to comment
Share on other sites

Looks nice but why reinvent wheel?

There is already finished fully functional AutoIt GUI form designer Koda

It's in latest version of Scite4AutoIt3 instal package.

Here are links:

Koda 1.6 on this forum

http://www.autoitscript.com/fileman/users/lookfar/formdesign.html

My suggestion:

If you want you may help with improving new versions of Koda by posting your ideas in that topic about Koda 1.6 here

Link to comment
Share on other sites

@FlintBrenick

Looks good and I hope you continue with it as it would be good to have another GUI building choice. If you haven't already, I suggest you download SciTE4AutoIt and have a look at the GUI building tools included to get some ideas. There are two - CyberSlug's AutoIt Giu Builder and Lookfar's Koda FormDesigner.

@Zedna

Koda may be more 'complete' but it's an absolute nightmare to use and Cyberslug's version while very easy to use, unfortunately, only creates "Select Case Unselect" conditional run statements (which I don't like using - I prefer On Event Mode) so having another GUI builder in the mix can only be a good thing for AutoIt.

Link to comment
Share on other sites

@Zedna

Koda may be more 'complete' but it's an absolute nightmare to use and Cyberslug's version while very easy to use, unfortunately, only creates "Select Case Unselect" conditional run statements (which I don't like using - I prefer On Event Mode) so having another GUI builder in the mix can only be a good thing for AutoIt.

If Koda is nightmare then stay with notepad when you create GUI's (But generally you are right: more choices is better)

Koda is truly based on IDE of Delphi (I worked with it some time) and also other Developers IDE's are very similar to that style (VB, VC++). It's very intuitive. So problem is in your mind/head I think.

Also Koda works with latest version of AutoIt but GUIBuilder development was stopped long time ago.

Link to comment
Share on other sites

If Koda is nightmare then stay with notepad when you create GUI's (But generally you are right: more choices is better)

Well, while notepad works, I find ScITE better :P

Koda is truly based on IDE of Delphi (I worked with it some time) and also other Developers IDE's are very similar to that style (VB, VC++). It's very intuitive. So problem is in your mind/head I think.

My point exactly - it's too VB'ish. All those AForm1, TAForm, clBtnFace tags just confuse the hell out of me because they have nothing to do with AutoIt so I don't like seeing them. One of the best (simplest) GUI builders I ever used was for a Unix program called Applixware. Very GUI orientated and didn't require you to 'understand' anything before you started creating a GUI. I'm sure Koda is a great program for those that understand VB. I'm hoping that FlintBrenick's GUI builder won't be so complicated.

Also Koda works with latest version of AutoIt but GUIBuilder development was stopped long time ago.

Oh, that's unfortunate. I wonder why it's still included in AutoIt4SciTE? Lucky then we have another contender in the making.
Link to comment
Share on other sites

FlintBrenick, have you thought about creating a visual template GUI (something like the sample controls GUI example) for your "Object" chooser that allows you to simply drop and drag objects onto your form? Fine tuning of height, position, colour etc., could be achieved via the 'properties' dialog of each control.

Link to comment
Share on other sites

Thanks for the feetback guys! I like hearing what everyone has to say.

FlintBrenick, have you thought about creating a visual template GUI (something like the sample controls GUI example) for your "Object" chooser that allows you to simply drop and drag objects onto your form? Fine tuning of height, position, colour etc., could be achieved via the 'properties' dialog of each control.

Originally I was going to have all the controllers in a window so you could drag-and-drop them into the 'sandbox' however I found it to take up too much room. I still would like to go back to the idea the and I know a way but for V1.0 it would have to be just a combobox. Also, I want to be able to change properties like height and position (left and top) by dragging the controller/object around with the mouse. This is the very reason I first decised to make this program. Something as simple as making a button took too much time because I always had to guess alot on the properties or I spent too much time doing math to get everything perfect.

I'll be the first to admit that I'm far from a great programmer but I feel like I know enough to get V1.0 done. After this I still plan to rebuild the program in AutoIt so that users can change properties to a controller and immediately see what the results will be without having to export anything. You might ask yourself why I don't just scrap what I've already done and start rebuilding it now. Well as far as the programming side, it's easier for me to start in VB6 where everything is object-oriented which makes it much easier for me. Since AutoIt is not object-oriented it makes it that much harder and it will take me more time. Also, after V1.0 I will hopefully get good feedback on that I did wrong and what I did right. It will make it a lot easier to add or remove things in my second version.

One bad thing about making a program like this (or really any program I guess) is that you will have users of every skill level. The basic users what a basic program that is easy to use. The advaced users want every feature. And the mid-level users what an easy to use program but with all the features. What that said I would like to know what YOU would like in a GUI builder and what YOU would not like. My plans are to keep things pretty basic. You can add any of the controllers supported by AutoIt. You can change almost any of the properties supported by AutoIt (I test every single property on every single controller. Some didn't seem to do much so I ommited them, sorry.) I also plan to make a few special windows which includes a menu editor, tree editor, (list view editor I think), etc. (can't really remember what all). You will also have the option of when you export your project to an .AU3 file you can have the properties of your controller combined into a string or added together as a hex value.

Example:

GUICtrlCreateButton("My Button",25,100,40,40,$BS_MULTILINE + $BS_TOP)

OR

GUICtrlCreateButton("My Button",25,100,40,40,0x2400)

($BS_MULTILINE = 0x2000, $BS_TOP = 0x0400, therefore $BS_MULTILINE + $BS_TOP = 0x2000 + 0x0400 = 0x2400 (just a note incase you haven't worked with AutoIt properties much))

Edited by FlintBrenick
Link to comment
Share on other sites

Today I starting playing around with the idea of just scratching what I've already done (well not everything, but the VB code anyway) and start remaking it in AutoIt so the user has the actual controllers to play around with. Well it seems that it would be a lot easier then what I originally thought (and in some ways even easier than using VB6). I made a little test program where you can create a button and change the properties. As you change the properties (style of the controller), the changes immediately take effect (very cool!!).

Here is a picture of the test program:

Posted Image

Something I would like to know from you guys (the users) is how important is the font properties to you? What I'm think about is I came across this page http://www.autoitscript.com/autoit3/docs/appendix/fonts.htm and it shows all the supported fonts but it shows how many of the fonts aren't supported across different OS. I would like to have the font properties in the program however as you can see from the page it could get a bit taste.

Here are all the font properties possible:

Font

Font Italic

Font Name

Font Size

Font Strike

Font Underline

Font Weight

Is there any that you guys really wont to have? If not I think I might just omit Font editing for now.

~Flint Brenick~

Edited by FlintBrenick
Link to comment
Share on other sites

I'm currently building some concept scripts so I would like to start building a list of names and email address of people who would like to be alpha testers for my concept scripts. To join just get in contact with me (via threat, private message, or at FlintB@gmail.com) and give me your name/nickname and email address. During the alpha stage I'll be sending the members of my alpha team the .au3 files so you can test them and even change things if you would like to. I would love to hear any feedback (good or bad) along with any ideas you might have. Don't forget, all alpha team members (and beta when we get there) will be included in the credits!

At this point I think it's pretty clear that this program isn't just for me, it's for you too. Join the alpha team and you can have a voice in how this program works! Thanks for all the support guys.

Link to comment
Share on other sites

FIRST CONCEPT SCRIPT RELEASED!

The first concept script is now being email to members of the Alpha Testing Team (ATT). This script features a GUI window with a button which can be moved around. This script also includes boarder limits and offsets. I made sure to include quite a few comments in the script for the ATT.

If you wish to become an Alpha member you can still join up! Just get in contact with me and give me you name/nickname and email address. All Alpha members will get a copy of .au3 concept scripts. You're feedback is greatly appreciated and in return for your involvement you will be included in the credits of the overall project!

Posted Image

AutoIt Version: 3.1.1.0

Author: Bryan AKA Flint Brenick

Title: Button Drag (Concept for GUI Builder)

File Name: Button Drag

File Version: 1.2

Release Note:

1.2: Cleaned up script.

1.1: If you start over the button then the moving point will be set to

that point of the button instead of defaulting to the top left corner.

1.0: Scripts created.

Script Function:

This script tests the idea of moving a controller with the use of a mouse and keyboard.

Known Bugs:

-Delay on first drag.

Link to comment
Share on other sites

I just released Button Drag V1.31 to my ATT. I'm really happy with it and unless my team has any ideas I think I'm join to be finished with that concept file. I'll be moving on and finishing my Button Properties concept file.

Things are starting to look good! :)

~Flint~

Link to comment
Share on other sites

  • 3 months later...

I just wanted to let everyone know that I've been busy with school (and starting my own company!!!!) but I've recently started back up on the project. I'm about to email the Alpha Testing Team with a few of the latest concept files. At this point I have the base concept of how the script will be structured. Anyway, I just wanted everyone to know that the project is very far from dead! Also, I could always use more members on my Alpha Testing Team (ATT). This program isn't just for me, it's for you too. Join up today and start making suggestions of how YOU would like to see the program work! Make sure to watch for more updates about the progress of the project.

~Bryan AKA Flint Brenick~

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...