+ // Interactivity:
+ void makeInteractive(bool yes = true) throw() { a_interactiveAmount = (yes ? 0:-1); }
+ void addInteractiveAmount(unsigned int amount) throw() {
+ if (a_interactiveAmount == -1) makeInteractive();
+ if (amount == 0) return;
+ a_interactiveAmount += amount;
+ process();
+ }
+ int interactiveAmount() const throw() { return a_interactiveAmount; }
+ void interactiveExecution() throw() { a_interactiveAmount --; }
+