nomad-software / tkd

GUI toolkit for the D programming language based on Tcl/Tk
MIT License
117 stars 16 forks source link

Added support for an idle callback. #19

Closed remy-j-a-moueza closed 10 years ago

remy-j-a-moueza commented 10 years ago

To make regular updates to the GUI while monitoring a subprocess or retrieving data from another thread without freezing the entire application.

Note: For practical/implementation reason, the idle() methods have been added to the UIElement class, but are not conceptualy bound to it.

Missing: HTML documentation upgrade. The gen-docs.sh script alone does not generate documents with the proper styling.

nomad-software commented 10 years ago

Hi Remy, thanks for the pull request. There are a few considerations i would address before merging this. I like the idea of exposing more Tcl features within Tkd but we have to be careful to follow the ethos and quality of Tkd.

Tkd's ethos is to make using it simple and most important hide the ugly Tcl/Tk details from the user. So for example exposing the internal interpreter command names should not be done. So i would remove the command name from the CommandArgs struct and revert the element class.

In order to follow the style of the existing code base, i think the idle method should be renamed to setIdleCommand and added to the TkdApplication class. Also remove all overloads apart from public auto idle(this T)(int msDelay, CommandCallback callback).

Thanks :)

nomad-software commented 10 years ago

I've also added the ddoc file i use to create documentation. https://github.com/nomad-software/tkd/blob/master/docs/ddoc The script i use to generate the docs is in the repo too.

remy-j-a-moueza commented 10 years ago

Hi Gary, I have changed the files as you suggested and managed to update the documentation with the proper styling.