Example 9: Add a very basic event handler that would do something if an event was connected to it.

Running this example will do nothing more than the previous one, since nobody has connected an event yet.
Example 10: Hook up the event handler in the KV file.

Now when you run it, you should get output on the console for each button click.
Example 11: Add identifiers to the three textinputs.

This will not change anything functionally, but it does allow us to refer to
these widgets in other parts of the KV language file.
Example 12: Add three custom properties that reference three widgets by their id.

This also will not change functionality in any way, but once we hook up the properties inside the class,
we'll have seemless communication between them
Example 13: Hook up some ObjectProperty objects so we can access widgets from inside the class.

Still no change in functionality, but everything is in place to be able to access the values in our event handler in the next example.
Example 14: Replace the login function with something that accesses the new properties.

Running this will output the values from the text boxes instead of an outdated movie quote.
Example 15: A throw-away script demonstrating how to connect to a jabber server and request a buddy list.
Example 16: Add a method to the Orkiv App class to connect to jabber.

Stores the jabber client for future calls.
Example 17: Connect to jabber and print buddy list on login.

Disconnects immediately so as not to keep the program open when the window is closed.
Example 18: Add a TextInput subclass that does special things on enter and tab.

This class isn't used in the KV Language file yet, so it doesn't really do anything.
Example 19: Use the fancy new tab input in our kv language file.

Also hooks up the next value so that the widget knows which item to focus next.