Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNostalghia <b.vehikel@googlemail.com>2010-05-19 16:28:29 (GMT)
committer Nostalghia <b.vehikel@googlemail.com>2010-05-19 16:28:29 (GMT)
commit8394595622cbeb9894da9e83fd3dadacd6266cf6 (patch)
treed77a62a9916a3e5349a824d30ea7d49bc5d64f74
parent536028c401e4a4fa8aa8815edb661d3faf5f6dcc (diff)
Temporarily deactivating the "breed" and "random" button to avoid system overload.
-rw-r--r--ka_controller.py30
1 files changed, 24 insertions, 6 deletions
diff --git a/ka_controller.py b/ka_controller.py
index 93ebab6..21ad7bc 100644
--- a/ka_controller.py
+++ b/ka_controller.py
@@ -48,6 +48,7 @@ class KandidController(object):
self.surface_cache = {}
self._status = ka_status.Status.instance()
self._gencount = 0
+ self._task_lock = -1
# create data model
self.model = model_population.KandidModel(POPULATION_CAPACITY)
@@ -114,7 +115,7 @@ class KandidController(object):
events[key] = self.on_incoming_popup
self._widget_tree.signal_autoconnect(events)
self.incoming.autoconnect_events()
- gobject.timeout_add(100, self.on_timer)
+ gobject.timeout_add(1000, self.on_timer)
def _update_model(self, in_model):
if in_model:
@@ -133,12 +134,15 @@ class KandidController(object):
# update flurry
self._widget_tree.get_widget('flurrySpinButton'). \
set_value(self.model.flurry_rate)
+ self._update_generate_buttons()
+
+ def _update_generate_buttons(self):
# update buttons
- dummy, moderate, poor = self.model.classify()
-#TODO 'breed' und 'random' deaktivieren solange Tasks laufen
-# is_sensitive = ka_task.GeneratorTask.is_completed() \
-# and len(poor) > 0 and len(moderate) > 0
- is_sensitive = len(poor) > 0 and len(moderate) > 0
+ is_sensitive = ka_task.GeneratorTask.is_completed()
+ if is_sensitive:
+ dummy, moderate, poor = self.model.classify()
+ is_sensitive = len(poor) > 0 and len(moderate) > 0
+ ka_debug.info('_update_generate_buttons %s' % is_sensitive)
self._widget_tree.get_widget('breedGenerationButton'). \
set_sensitive(is_sensitive)
self._widget_tree.get_widget('randomGenerationButton'). \
@@ -218,6 +222,20 @@ class KandidController(object):
def on_timer(self, *args):
if self._start_from_scratch:
self._start_from_scratch = False
+ compl = ka_task.GeneratorTask.is_completed()
+ if self._task_lock == -1:
+ ka_debug.info('on_timer %s %u' % (compl, self._task_lock))
+ self._update_generate_buttons()
+ self._task_lock = 0 if compl else 1
+ elif self._task_lock == 1:
+ ka_debug.info('on_timer %s %u' % (compl, self._task_lock))
+ self._update_generate_buttons()
+ self._task_lock = 0 if compl else 1
+ elif self._task_lock == 0 and not compl:
+ ka_debug.info('on_timer %s %u' % (compl, self._task_lock))
+ self._update_generate_buttons()
+ self._task_lock = 1
+ return True
def start_all_calculations(self):
self._start_from_scratch = False