Mercurial > getan > getan
annotate getan/walker.py @ 568:e7b36e596751 tip
Last week's year is not necessarily today's year
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Mon, 03 Jan 2022 11:37:31 +0100 |
parents | 7e27d2145007 |
children |
rev | line source |
---|---|
225
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
1 # -*- coding: utf-8 -*- |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
2 # |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
3 # (c) 2013 by Björn Ricks <bjoern.ricks@intevation.de> |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
4 # |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
5 # This is Free Software licensed under the terms of GPLv3 or later. |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
6 # For details see LICENSE coming with the source of 'getan'. |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
7 # |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
8 import logging |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
9 |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
10 import urwid |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
11 |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
12 |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 logger = logging.getLogger(__name__) |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
14 |
410
7e27d2145007
Code-cleanup: improves style.
Bernhard Reiter <bernhard@intevation.de>
parents:
237
diff
changeset
|
15 |
225
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
16 class ListWalker(urwid.SimpleListWalker): |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
17 |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
18 def __init__(self, content, widget=None): |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
19 super(ListWalker, self).__init__(content) |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
20 self.widget = widget |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
21 self.position = None |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
23 def set_focus(self, position): |
237
13692255bc71
Fix crash when all entries are moved from entry list
Björn Ricks <bjoern.ricks@intevation.de>
parents:
230
diff
changeset
|
24 if position is None: |
13692255bc71
Fix crash when all entries are moved from entry list
Björn Ricks <bjoern.ricks@intevation.de>
parents:
230
diff
changeset
|
25 return |
13692255bc71
Fix crash when all entries are moved from entry list
Björn Ricks <bjoern.ricks@intevation.de>
parents:
230
diff
changeset
|
26 |
225
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
27 super(ListWalker, self).set_focus(position) |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
28 if self.widget and self.position != position: |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
29 self.position = position |
f958ce12ba5a
Implement an own ListWalker class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
30 self.widget.content_focus_changed() |