kivy/kivy — pull request #636 by hansent (2012-08-09 18:54:28+00:00)
Title: uix.screenmanager.ScreenManager:

* this fixes issue #634
* remove exception when new screen with same name as existing is added
* instead warn when switching to a screen by name, and there are multiple
* adds `screen_names` property, to get list of all screen names

makes things a alot easier in kv! e.g.:
```
KV = '''
:
BoxLayout:
Label:
text: root.name

BoxLayout:
orientation: 'vertical'
ScreenManager:
id: screen_manager
current: screen_menu.text
Screen:
name: "test"
Screen:
name: "test2"

Spinner:
id: screen_menu
size_hint: 1, 0.2
text: screen_manager.current
values: screen_manager.screen_names
'''

from kivy.app import App
from kivy.lang import Builder

class TestApp(App):
def build(self):
return Builder.load_string(KV)

if __name__ == "__main__":
TestApp().run()
```