Jump to content

GUI Designer: Koda 1.7.3.0


Recommended Posts

  • Developers

Hello lazycat, first of all, thanks for this amazing tool. It made everything so much simpler.

I was wondering, would it be possible to add some sort of SCITE integration, f.ex, you design a GUI in Koda, when you double click a button, it will open up Scite with GUI code and the CASE code so you can immediatly write code for the case of that button.

Like VS.

Would be awesome.

It is already when started from SciTE. Just install the full SciTE4AutoIt3 installer.

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to post
Share on other sites
  • Replies 816
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

New version 1.7.3.0 is out! Download current release Place to post bugs and suggestions (Bug tracker) Online help (Wiki) What's new: Graphic editor Better support of limited accounts and UAC under

Just to say, I think LazyCat did an awesome job on this. Anytime I need to create a GUI, I always start off with KODA. I don't build the entire GUI with it, but it's a great starting point and has

That link is now broken. But maybe this one might be helpful for some https://blog.csdn.net/analogous_love/article/details/42264605

Posted Images

It is already when started from SciTE. Just install the full SciTE4AutoIt3 installer.

Jos

Not sure I understand, I have the custom SCITE but how would i go about making it so that if I double click a button in KODA it will open SCITE with the GUI code and the case code of the button will be generated, like visual studio.

Link to post
Share on other sites

Not sure I understand, I have the custom SCITE but how would i go about making it so that if I double click a button in KODA it will open SCITE with the GUI code and the case code of the button will be generated, like visual studio.

You can't do that with Koda. But you can generate the code, including empty functions for events and show the code in scite with Tools|Run Form, or press F10.
Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.
Link to post
Share on other sites
  • 2 weeks later...

After very long period it's finally out. Not too many new significant features, but hope it's at least more stable now.

Download current release

What's new:

  • Customizing colors
  • External import framework
  • Custom controls (ones that available via standard UDFs)
  • Rewritten support for icon - now it support full color ones
  • Better support (bugtracker, wiki)
Now helpfile is generating from the online wiki. If you want to help to improve it - you are welcome. If you want to make localized version of help - PM me, I'll make a whole template copy for you.
Link to post
Share on other sites

After very long period it's finally out. Not too many new significant features, but hope it's at least more stable now.

Hi Lazycat,

thank you for the new Version of KODA (V1.7.1.0).

It makes the GUI development for AutoIt much easier.

I have still on remark:

If i make a form with DummyControls

Example Koda Form:

CODE
<?xml version="1.0" encoding="windows-1251"?>

<object type="TAForm" name="GUI_Main">

<properties>

<property name="Left" vt="Int16">285</property>

<property name="Top" vt="Int16">189</property>

<property name="Width" vt="Int16">208</property>

<property name="Height" vt="Int16">165</property>

<property name="Caption" vt="String">AccelTest</property>

<property name="Color" vt="Ident">clBtnFace</property>

<property name="Font.Charset" vt="Ident">DEFAULT_CHARSET</property>

<property name="Font.Color" vt="Ident">clWindowText</property>

<property name="Font.Height" vt="Int8">-11</property>

<property name="Font.Name" vt="String">MS Sans Serif</property>

<property name="Font.Style" vt="Set"/>

<property name="OldCreateOrder" vt="False">False</property>

<property name="Visible" vt="True">True</property>

<property name="Style" vt="Int32">-1798701056</property>

<property name="ExStyle" vt="Int16">256</property>

<property name="Version" vt="String">1.04</property>

<property name="FormOptExpVars" vt="True">True</property>

<property name="FormOptPopulate" vt="True">True</property>

<property name="PixelsPerInch" vt="Int8">96</property>

<property name="TextHeight" vt="Int8">13</property>

</properties>

<components>

<object type="TADummy" name="DummyLeft">

<properties>

<property name="Left" vt="Int8">15</property>

<property name="Top" vt="Int8">15</property>

<property name="Width" vt="Int8">28</property>

<property name="Height" vt="Int8">28</property>

<property name="HotKey" vt="Int8">37</property>

</properties>

<components/>

</object>

<object type="TADummy" name="DummyRight">

<properties>

<property name="Left" vt="Int8">60</property>

<property name="Top" vt="Int8">15</property>

<property name="Width" vt="Int8">28</property>

<property name="Height" vt="Int8">28</property>

<property name="HotKey" vt="Int8">39</property>

</properties>

<components/>

</object>

<object type="TADummy" name="DummyUp">

<properties>

<property name="Left" vt="Int8">105</property>

<property name="Top" vt="Int8">15</property>

<property name="Width" vt="Int8">28</property>

<property name="Height" vt="Int8">28</property>

<property name="HotKey" vt="Int8">38</property>

</properties>

<components/>

</object>

<object type="TADummy" name="DummyDown">

<properties>

<property name="Left" vt="Int16">150</property>

<property name="Top" vt="Int8">15</property>

<property name="Width" vt="Int8">28</property>

<property name="Height" vt="Int8">28</property>

<property name="HotKey" vt="Int8">40</property>

</properties>

<components/>

</object>

<object type="TAButton" name="btnExit">

<properties>

<property name="Left" vt="Int8">68</property>

<property name="Top" vt="Int8">95</property>

<property name="Width" vt="Int8">61</property>

<property name="Height" vt="Int8">26</property>

<property name="Caption" vt="String">Exit</property>

<property name="TabOrder" vt="Int8">0</property>

<property name="Color" vt="Ident">clBtnFace</property>

<property name="CtrlStyle" vt="Int32">1342390272</property>

<property name="CtrlExStyle" vt="Int8">0</property>

<property name="Resizing" vt="Set">DockWidth, DockHeight</property>

</properties>

<components/>

</object>

</components>

</object>

the generated AutoIt code will look like these:

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=c:\autoit3\scite\koda\forms\AccelTest_01.kxf
$GUI_Main = GUICreate("AccelTest", 201, 132, 285, 189)
$DummyLeft = GUICtrlCreateDummy()
$DummyRight = GUICtrlCreateDummy()
$DummyUp = GUICtrlCreateDummy()
$DummyDown = GUICtrlCreateDummy()
$btnExit = GUICtrlCreateButton("Exit", 68, 95, 61, 26, $WS_GROUP)
GUISetState(@SW_SHOW)
Dim $GUI_Main_AccelTable[4][2] = [["{LEFT}", $DummyLeft],["{RIGHT}", $DummyRight],["{UP}", $DummyUp],["{DOWN}", $DummyDown]]
GUISetAccelerators($GUI_Main_AccelTable)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

        Case $GUI_Main  ;<- should be $DummyLeft
        Case $GUI_Main  ;<- should be $DummyRight
        Case $GUI_Main  ;<- should be $DummyUp
        Case $GUI_Main  ;<- should be $DummyDown
        Case $btnExit   ;<- That's OK
    EndSwitch
WEnd

so there are no events (or code lines) for the DummyControls (instead for $GUI_Main)

Please can you check the code for this behavior.

Once again thanks for your work!

BaKaMu

Link to post
Share on other sites

Hi Lazycat,

sorry, i have found another small problem:

in design-mode of Koda it is not possible to copy and paste DummyControls,

so i can not transfer predefined controls to other forms (or inside the same form).

Maybe you can have a lock at this.

Thanks for checking

BaKaMu

Link to post
Share on other sites

so there are no events (or code lines) for the DummyControls (instead for $GUI_Main)

There are no evens since Dummy just have no one. Probably this should have, something like OnSend?

in design-mode of Koda it is not possible to copy and paste DummyControls,

so i can not transfer predefined controls to other forms (or inside the same form).

Yes, this is because Dummy based on the same control as menus substitutions - as you probably know, menus are can't be copied yet. But agree, this limitation not need to be applied to Dummy.
Link to post
Share on other sites

There are no evens since Dummy just have no one. Probably this should have, something like OnSend?

Yes and No

Mostly i use dummy-controls in combination with accelerators (GUISetAccelerators, a really useful command), so if i set a accelerator to a dummy

i can receive a control-id from that dummy in a msg-loop (While 1 ... $msg = GUIGetMsg() ... Wend).

In this case it would be nice, if the dummy-control names are written in the Koda generated code of the msg-loop (like the generated form in example of post #585)

This is not a real problem, just a "nice to have" and makes working easier. :-)

Yes, this is because Dummy based on the same control as menus substitutions - as you probably know, menus are can't be copied yet. But agree, this limitation not need to be applied to Dummy.

Yes, i know (since now).

Normaly i am working in Koda with a set of predefined controls (on a template form) and copy and paste them to the actual form i am working on.

It would be nice, if this can also be done with predefined dummy-controls (dummies with assigned accelerators), so copy and paste dummies would also a "nice to have".

Keep on your good work

BaKaMu

Link to post
Share on other sites

Yes and No

Mostly i use dummy-controls in combination with accelerators (GUISetAccelerators, a really useful command), so if i set a accelerator to a dummy

i can receive a control-id from that dummy in a msg-loop (While 1 ... $msg = GUIGetMsg() ... Wend).

In this case it would be nice, if the dummy-control names are written in the Koda generated code of the msg-loop (like the generated form in example of post #585)

This is not a real problem, just a "nice to have" and makes working easier. :-)

In loop variables are generating only for those controls, that have event enabled. So, for keep things consistent, Dummy should have some event as well.

In fact, you can use "Generate events for all controls" option in advanced generation dialog, but this will generate variables for all controls, and seems this function buggy for loop.

Normaly i am working in Koda with a set of predefined controls (on a template form) and copy and paste them to the actual form i am working on.

It would be nice, if this can also be done with predefined dummy-controls (dummies with assigned accelerators), so copy and paste dummies would also a "nice to have".

Ok, I'm added it in todo.

Btw, instead of copying controls from template form, you can create real template and just create form based on it.

Link to post
Share on other sites

In fact, you can use "Generate events for all controls" option in advanced generation dialog, but this will generate variables for all controls, and seems this function buggy for loop.

Exactly this was the option i have set

Btw, instead of copying controls from template form, you can create real template and just create form based on it.

Sometimes i use a template (logon dialogs etc), but unfortunately most of the main forms i have to design are very different, so it is faster to design the forms "manually".

For common controls such as e.g. Exit-Buttons, Cancel-Buttons, Copyright-Labels or Version-Labels i use the predefined controls.

In the future time i want to define a set of dummy-controls as base for application wide accelerators (e.g. Ctrl-F to open a find-dialog).

The number of this dummies can increase up to 25 to 30 controls (for each key combination one dummy (e.g. F, Shift-F, Ctrl-F, Alt-F are 4 dummies and so on).

Also a lot of dummies are needed, if you want to move the form with keys in different ways (4 arrow-keys multiply Normal, Shift, Ctrl and Alt are 16 dummies).

That's the background of my request for automatically create the dummy-control names in the msg-loop with Koda.

Thank you for adding it in todo.

BaKaMu

Link to post
Share on other sites
  • 3 weeks later...

LazyCat, the old URL http://www.autoitscript.com/fileman/users/lookfar/formdesign.html still appears valid. You should take the page down because it's confusing. A redirect to the new site would be a suitable replacement.

Running "Check Latest Version" with 1.7.1.0 reports that there is a new version:

New version 1.7.0.8 (beta) of Koda was found. Do you want to open the page to download?
Link to post
Share on other sites

LazyCat, the old URL http://www.autoitscript.com/fileman/users/lookfar/formdesign.html still appears valid. You should take the page down because it's confusing. A redirect to the new site would be a suitable replacement.

Running "Check Latest Version" with 1.7.1.0 reports that there is a new version:

New version 1.7.0.8 (beta) of Koda was found. Do you want to open the page to download?
I reported this on the Koda Trac page already. It's fixed in the next beta.

http://koda.darkhost.ru/bugtrack/index.php...s%5B0%5D=closed

Link to post
Share on other sites
  • 4 weeks later...

I don't know if this has been asked before, but i do not have time to read though this whole thread. Sorry :D

I recently used Koda on a bigger project. the GUI included tabs, and in some of the tabs i copied over controls from one tab to another (as the button was present on both tabs) but the copied item does not snap to the same grid as the original. so when i switch tabs the two buttons are not on the same spot.)

There also seems to be a grid difference between dragging out a control (click-hold-drag-release) and clicking and then adjusting (click-release-grab corner-drag-release)

I might be a bit unclear, but just tell me and I'll try to explain better

Thanks for a awesome GUI-designer :D

[font="Impact"]Use the helpfile, It´s one of the best exlusive features of Autoit.[/font]http://support.microsoft.com/kb/q555375ALIBI Run - a replacement for the windows run promptPC Controller - an application for controlling other PCs[size="1"]Science flies us to the moon. Religion flies us into buildings.[/size][size="1"]http://bit.ly/cAMPZV[/size]
Link to post
Share on other sites

I recently used Koda on a bigger project. the GUI included tabs, and in some of the tabs i copied over controls from one tab to another (as the button was present on both tabs) but the copied item does not snap to the same grid as the original. so when i switch tabs the two buttons are not on the same spot.)

When you paste control via context menu, it's pasted exactly at mouse point. If you need realign it to grid again, you can use "Align to grid" function in align menu.

But when you working with tabs, you can use small trick: pasting controls via main menu will give you exactly the same position.

There also seems to be a grid difference between dragging out a control (click-hold-drag-release) and clicking and then adjusting (click-release-grab corner-drag-release)

Not sure what the difference you mean here.
Link to post
Share on other sites

When you paste control via context menu, it's pasted exactly at mouse point. If you need realign it to grid again, you can use "Align to grid" function in align menu.

But when you working with tabs, you can use small trick: pasting controls via main menu will give you exactly the same position.

OK, Thanks for the tips and

Not sure what the difference you mean here.

Well if you click once on the grid a control with some standard dimensions will be placed, if you place a control by clicking and dragging then it wont be alligned to the same grid

Button1 is click and drag

Button2 is clicked once

Posted Image

Edited by colafrysen
[font="Impact"]Use the helpfile, It´s one of the best exlusive features of Autoit.[/font]http://support.microsoft.com/kb/q555375ALIBI Run - a replacement for the windows run promptPC Controller - an application for controlling other PCs[size="1"]Science flies us to the moon. Religion flies us into buildings.[/size][size="1"]http://bit.ly/cAMPZV[/size]
Link to post
Share on other sites

Well if you click once on the grid a control with some standard dimensions will be placed, if you place a control by clicking and dragging then it wont be alligned to the same grid

Button1 is click and drag

Button2 is clicked once

If I understand correct, you made steps:

1. Placed 1-st control on the form and not touched it.

2. Placed 2-nd control on the form and moved it by mouse alongside to first.

3. I'm also tried to resize second control by mouse.

I'm not see any difference in any combinations...

Link to post
Share on other sites

I did not release mousebutton on button1 instead i clicked(without releasing) and dragged out the buttons shape to try to match button2

If you cant replicate the problem i might have an outdated version of Koda? i am running 1.7.0.8

[font="Impact"]Use the helpfile, It´s one of the best exlusive features of Autoit.[/font]http://support.microsoft.com/kb/q555375ALIBI Run - a replacement for the windows run promptPC Controller - an application for controlling other PCs[size="1"]Science flies us to the moon. Religion flies us into buildings.[/size][size="1"]http://bit.ly/cAMPZV[/size]
Link to post
Share on other sites

I did not release mousebutton on button1 instead i clicked(without releasing) and dragged out the buttons shape to try to match button2

Seems I tried it in item 3...

Anyway, mouse is not intended to precise control sizing. This better to do with property inspector and/or aligning functions. Also keyboard combinations Ctrl+arrows and Shif+arrows can be usable.

If you cant replicate the problem i might have an outdated version of Koda? i am running 1.7.0.8

This is outdated. Probably you chechking version with internal function, but this is broken since I can't access to page where version info is placed. You can download newer version from site in my sig, but update function is broken here too. This is fixed in upcoming version though.

But I don't think this helps, since related code was not touched for years.

Link to post
Share on other sites

Seems I tried it in item 3...

Anyway, mouse is not intended to precise control sizing. This better to do with property inspector and/or aligning functions. Also keyboard combinations Ctrl+arrows and Shif+arrows can be usable.

This is outdated. Probably you chechking version with internal function, but this is broken since I can't access to page where version info is placed. You can download newer version from site in my sig, but update function is broken here too. This is fixed in upcoming version though.

But I don't think this helps, since related code was not touched for years.

OK, Thanks for your help :D

[font="Impact"]Use the helpfile, It´s one of the best exlusive features of Autoit.[/font]http://support.microsoft.com/kb/q555375ALIBI Run - a replacement for the windows run promptPC Controller - an application for controlling other PCs[size="1"]Science flies us to the moon. Religion flies us into buildings.[/size][size="1"]http://bit.ly/cAMPZV[/size]
Link to post
Share on other sites

New version 1.7.2.0 is out. Not too many changes, mainly bugfixes, but new beta stage begins instantly after that.

What's new:

  • Added small abilities that become in latest beta of Autoit
  • Improved language system
  • Improved update checking
  • Improved site
Download current release Edited by Lazycat
Link to post
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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...