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.