Hi @citycide, Thanks for the reply.

This library is for windows only, since it is based on Win API like wNim. If 
you try to compare it to wNim, there is some slight differences. This library 
tends to mimic VB.Net style. But wNim tends to mimic wxPython style.

1\. I didn't get the idea correctly. What is the problem with PascalCase ? Do 
you mean there are same functions like AddHandler or NewColor ? Anyway, I 
decided to avoid NewColor and introduce a new type named "ColorType". This is 
the syntax. 
    
    
    btn1.BackColor = Color.DarkGrey
    
    
    Run

I this this will be more elegant. This is the same style used in wNim also.

2\. If i avoid control names from the "CreateXXXXX" function, the readability 
will be lost. Assume that you named your button as "b1". Then the create button 
function will look like this. 
    
    
    b1.Create()  # Less readability, less elegant, less expressiveness.
    b1.CreateButton()  # More readable, more elegant, more expressiveness.
    CreateButton(b1)   # Also good
    
    
    Run

When you write like this -- 
    
    
    var b1 = Button()
    
    
    Run

3\. You are not creating a button. You just create a new instance of a button 
class. So "b1.CreateButton is where you really create the button.

4\. If there is any conflict with existing classes, then i am wiiling to rename 
it something like "NewGui" or "NewWindow"

5\. Now, i am concentrating on learning nim. After this i will sure try to 
learn GitHub. i think i didn't learn 25% of nim since, i have no idea about 
template and macro. Due to that fact, i am not using any of that nim features 
in this library. Mostly i wanted to include templates or macros for overriding 
strict typing of nim. But i cant find any example on nim manual about how to 
get rid of strict typing with the help of templates or macros.

  * The last point. If we want to learn something, then doing it is the best 
solution. So i started a nim project.


Reply via email to