Jump to content

GUI Designer: Koda 1.7.3.0


Lazycat
 Share

Recommended Posts

Seems this is correct for Edit too. Not sure, this meant that WS_TABSTOP should not be in style when ES_READONLY is set, or it's just not forced and can be or can not be?

I'm not sure how easy or difficult it may be but all I really expect to see is clicking ES_READONLY should enable WS_TABSTOP (it shouldn't change the toggle state one way or the other) so that I can choose whether or not it's checked. Unchecking ES_READONLY should check WS_TABSTOP (because it is back to being forced) and disable it again so the user can't toggle it's state.
Link to comment
Share on other sites

I'm not sure how easy or difficult it may be but all I really expect to see is clicking ES_READONLY should enable WS_TABSTOP (it shouldn't change the toggle state one way or the other) so that I can choose whether or not it's checked. Unchecking ES_READONLY should check WS_TABSTOP (because it is back to being forced) and disable it again so the user can't toggle it's state.

State (enabled/disabled) of certain style is not controlled at runtime, since it's was not needed anywhere. Atm I'm not see decent way to implement this logic. It's need to add some additional controlling parameters to styles definition file or inplement logic in control itself.

So far it's possible to edit "managed" attribute (set it 0) for WS_TABSTOP to make it enabled.

Link to comment
Share on other sites

New beta is out. List of changes:

Changed: styles definition changed to new method of handling styles
Added: support for handling state for certain styles for Input/Edit
Added: option to keep tree fully expanded or not
Changed: object tree now is not mandatory to be fully expanded
Added: editable control's description in the object tree

Download

Link to comment
Share on other sites

It took me a moment to figure out how to do this:

2010-02-14 - Added: editable control's description in the object tree

The keyboard shortcut of pressing F2 to edit the name of something does not work. I had to do the slow double-click to edit the description. It would be nice if the standard keyboard shortcut also worked.

Edited by Valik
Link to comment
Share on other sites

I may have already asked for this once before but I can't recall so I'm asking again. It would be nice if we could specify expressions for things like "Caption" or "Text". For example, I usually have a global variable that contains the name and version of my project. I normally use that for my window title. However, when using Koda I have to put in a bogus window title and then call WinSetTitle() afterwards. It would be nice if I could enter $g_sVersion directly into the Caption field of Koda. Likewise, I initialize input controls and stuff with data from functions. Again, I have to input bogus data into Koda and then call GUICtrlSetData() explcitly in my code. I'd rather just enter an expression like this into Koda and have it generate the correct code to begin with: vuProductVersionToString($aProductVersion, $aData).

If you implement this you may want to consider adding a flag to control the behavior. The default behavior should be "treat as strings" with the flag toggling to "treat as expressions". That would preserve backwards compatibility and ensure you don't have to write messy heuristics to determine if the input is a plain text string or an AutoIt expression.

I would actually like to see this sort of behavior extended to things like control states as well. I often initialize my control states based on saved data in a configuration file. It would be nice if I could type in an expression into Koda which would generate the call to GUICtrlSetState(). However, I don't think the flag approach would be suitable here. Perhaps instead of a flag you look for a token at the start of a string to identify it? For example, maybe "!E!$g_sVersion" where "!E!" is the token that says the input is an expression and everything after that is the expression itself. This would basically open it up so that an expression can be used anywhere you want with "minimal" change.

Anyway, the basic gist is, I know at design time what code will be executed at run-time to initialize parts of a control. It would be nice if I could enter this information into the designer.

Link to comment
Share on other sites

The keyboard shortcut of pressing F2 to edit the name of something does not work. I had to do the slow double-click to edit the description. It would be nice if the standard keyboard shortcut also worked.

Of course. I know this is essential shortcut, but not in my case, since I'm not use Explorer on regular basis.

I may have already asked for this once before but I can't recall so I'm asking again. It would be nice if we could specify expressions for things like "Caption" or "Text". For example, I usually have a global variable that contains the name and version of my project. I normally use that for my window title. However, when using Koda I have to put in a bogus window title and then call WinSetTitle() afterwards. It would be nice if I could enter $g_sVersion directly into the Caption field of Koda.

In this range you can use functionality that already here. If you write %g_sVersion% somewhere in the string property and set "Expand %var% variables" in generation options, in result code this will be expanded into $g_sVersion.

Likewise, I initialize input controls and stuff with data from functions. Again, I have to input bogus data into Koda and then call GUICtrlSetData() explcitly in my code. I'd rather just enter an expression like this into Koda and have it generate the correct code to begin with: vuProductVersionToString($aProductVersion, $aData).

If you implement this you may want to consider adding a flag to control the behavior. The default behavior should be "treat as strings" with the flag toggling to "treat as expressions". That would preserve backwards compatibility and ensure you don't have to write messy heuristics to determine if the input is a plain text string or an AutoIt expression.

I would actually like to see this sort of behavior extended to things like control states as well. I often initialize my control states based on saved data in a configuration file. It would be nice if I could type in an expression into Koda which would generate the call to GUICtrlSetState(). However, I don't think the flag approach would be suitable here. Perhaps instead of a flag you look for a token at the start of a string to identify it? For example, maybe "!E!$g_sVersion" where "!E!" is the token that says the input is an expression and everything after that is the expression itself. This would basically open it up so that an expression can be used anywhere you want with "minimal" change.

This idea is definitely was stated by someone before. We come to thought of using some marker at beginning of string, for example (to be consistent with vars) double percent %% (maybe conjointly with additional generating option).

About states its much more difficult, since it's boolean. On other forum we discussed an idea, how to override integer/boolean and other non-string properties, but so far this way looks rough, so it's need more thinking.

Link to comment
Share on other sites

  • 2 weeks later...

New beta is out.

List of changes:

Added: generating GUI_SS_DEFAULT_* styles (non-zero)
Fixed: revised all default/forced control styles
Added: "Stretch" design-time property for Pic and Icon control
Fixed: optimized Styles Editor and styles definition file
Fixed: attached updown not saving it's value
Changed: nicer Spin control in the inteface
Fixed: wrong font on "Reset" buttons under Win7 (maybe Vista too)
Fixed: removed duplicated XP manifest
Added: UAC-compatible association setting
Changed: "default menu" for TrayMenu is enabled by default
Added: forgotten F2 hotkey for edit labels in tree

Download

Link to comment
Share on other sites

  • 2 weeks later...

New beta version.

Added: hicolor icons support in the templates gallery
Added: nicer icons for standard templates
Fixed: wrong position of event for UpDown
Fixed: crash when closing some forms
Added: double percent %% at beginning of string tell generator not parse all remainding string
Fixed: ImageList (and other controls) can not be placed on toolbar anymore
Added: ability to downloading new/localized help files from options dialog
Added: forgotten help contexts
Fixed: wrongly generating "default" styles for styles that have not them

Download

Link to comment
Share on other sites

  • 2 weeks later...

Hi LazyCat again.

BTW about

Fixed: ImageList (and other controls) can not be placed on toolbar anymore

Yes this is a right but if i`m creating toolbar and imagelist in other positions(i assume pos of toolbar == pos of imagelist in Form1 i cannot delete imagelist

from Koda.Tested on Koda ver: 1.7.2.6 build 229 (beta)

Posted Image

Thanks in advance again.

[size="5"] [/size]
Link to comment
Share on other sites

Yes this is a right but if i`m creating toolbar and imagelist in other positions(i assume pos of toolbar == pos of imagelist in Form1 i cannot delete imagelist

from Koda.Tested on Koda ver: 1.7.2.6 build 229 (beta)

I can't reproduce this error, but probably know why it can be raised. Try to change for next beta.
Link to comment
Share on other sites

New beta version. If no serious bugs will be found this will be probably last beta in this cycle.

Fixed: crash when using undo function on certain forms
Fixed: (probably) AV when deleting Imagelist
Fixed: when deleting Imagelist, an "Images" property cleared for all controls
Added: option to show control caption (if exists) as default tree description
Added: ability for rearrange tabs in Tab control (Alt+Left/Alt+Right)
Fixed: subcontrols for Group/Tab are not showing in the tree after paste
Added: Resizing property for Form, that set default resizing
Added: ability to edit properties for multiple selected menu items
Added: autogenerating hotkeys for Menu and ContextMenu
Fixed: some init messages now show translated
Changed: optimized modules interaction (internal)
Changed: optimized translation initializing (internal)

Download

Link to comment
Share on other sites

  • 2 weeks later...

Here is Czech language file updated from 1.7.2.1 to 1.7.2.7

Some little notes from my latest translation work:

- in topic title is outdated beta version "Current beta - 1.7.2.5"

- in generated code could be empty lines between includes section and GUI region

- doubleclick on treeview could invoke treeview item editor

- doubleclick on listview could invoke listview item editor or listview column editor

- doubleclick on COM object could invoke ActiveX objects browser

- after "create template" should be in template_cze.xml actual version of Koda instead of previous version of language file: <version>1.7.2.1</version>

- <btnSelect2>,<btnSelect3> are for Aditional/Win32 tabs --> there are missing <btnSelect1>,<btnSelect4> for Standard/Custom tabs

- in Options there is label "active language" which is vertically cut

- in Graphic Editor there are labels in statusbar which are not in language XML file for translation (Point,Objects)

- in Graphic Editor there are labels in toolbar which are not in language XML file for translation (Custom,Transparent,Other colors,Automatic)

- Insert/Remove breakpoint menu is not accessible in Graphic Editor

- in <msgOutdatedStyles> is typo "It's recommended to download latest Koda distrubutive" --> distributive

- in <msgNoPortable> is typo "You still can to continue in portable mode" --> You still can continue in portable mode

Link to comment
Share on other sites

- in generated code could be empty lines between includes section and GUI region

I think this should be controlled by template, but actually it doesn't. I'll look this more carefully in next beta cycle together with other code generator issues.

- doubleclick on treeview could invoke treeview item editor

- doubleclick on listview could invoke listview item editor or listview column editor

- doubleclick on COM object could invoke ActiveX objects browser

Definitely for Obj (this have not event btw), will think for other.

- <btnSelect2>,<btnSelect3> are for Aditional/Win32 tabs --> there are missing <btnSelect1>,<btnSelect4> for Standard/Custom tabs

I would call existing strings as bugs. All texts from all arrows was once removed, since they are quite obvious. So you can remove remain btnSelect* strings.

- in Options there is label "active language" which is vertically cut

Due added button now there is tighter :(

- Insert/Remove breakpoint menu is not accessible in Graphic Editor

Hm? This available when you bring context menu on one of points. Maybe this is not quite correct call this "breakpoint" in this case?

All other issues are fixed.

Edited by Lazycat
Link to comment
Share on other sites

Hm? This available when you bring context menu on one of points. Maybe this is not quite correct call this "breakpoint" in this case?

I tested context menu on Dot and also Pixel and there are no such commands.

And I agree breakpoint is not correct here. I didn't know what is it for so I translated breakpoint according to its general meaning which has definitely nothing related to graphic point.

Edited by Zedna
Link to comment
Share on other sites

Here are ideas for improving of Graphic Editor:

- new option "Show grid"

- show background color according to setting of BgColor from Object Inspector

maybe also option directly inside Graphic Editor for changing background color

- show borders (limits) of Graphic control inside Graphic Editor according to Width/Height of control set in Object Inspector

Link to comment
Share on other sites

I tested context menu on Dot and also Pixel and there are no such commands.

And I agree breakpoint is not correct here. I didn't know what is it for so I translated breakpoint according to its general meaning which has definitely nothing related to graphic point.

This is directed to line. Those functions allow to add points to line - only. Though those "multiline" still translating to Autoit as separate lines, it's useful for designing. I'll update help for release, there will be all those nuances.

Here are ideas for improving of Graphic Editor:

- new option "Show grid"

- show background color according to setting of BgColor from Object Inspector

maybe also option directly inside Graphic Editor for changing background color

I probably do the show grid for now. Anything else is better leave for next cycle. It's need to do in complex: background color, grid color, grid etc., and this should save.

- show borders (limits) of Graphic control inside Graphic Editor according to Width/Height of control set in Object Inspector

Now control is resizing to fit it's content, so for now it useless. First need to have ability to keep control size (by property?) when changing content.

Not sure, it's really need?

Link to comment
Share on other sites

I discovered bug in latest Koda:

- in Options/Designer there are two new checkboxes for "Object Tree"

--> when I change their checked state then Apply button doesn't react (get enabled) to this event

EDIT: another one

- Options/Designer --> By default use Caption instead of Name

--> This option doesn't work. I checked it ON, restarted Koda and placed button on the form then renamed its Caption. In Object Treeview there is no change also after saving/reopening such form with renamed button.

Edited by Zedna
Link to comment
Share on other sites

Another idea for improving About dialog.

Instead of showing only version number there could be shown also date (of this version)

because for many people version is not so selfexplanatory like date for the information if it's outdated.

It's common in many other software for example Total Commander.

Edited by Zedna
Link to comment
Share on other sites

- Options/Designer --> By default use Caption instead of Name

--> This option doesn't work. I checked it ON, restarted Koda and placed button on the form then renamed its Caption. In Object Treeview there is no change also after saving/reopening such form with renamed button.

Yeah, forget to distribute this to other controls... So far you can try how it work on Label :(

Another idea for improving About dialog.

Instead of showing only version number there could be shown also date (of this version)

because for many people version is not so selfexplanatory like date for the information if it's outdated.

It's common in many other software for example Total Commander.

The little problem here that all version info visible in about dialog are taking from VersionInfo resource. AFAIK no standard field for date available. It's possible to create custom fields though...
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...