def remove_pointer(asker, object): result = updates.update(updates.remove_modifier(is_pointer()), object) result = updates.update(updates.remove_modifier(has_pointer()), object) result = updates.update( updates.apply_to( all_children(), lists.update_map(remove_pointer()) ), result ) return asker.reply(answer=result)
def is_pointer_now(asker, object): result = updates.update(updates.remove_modifier(has_pointer()), object) result = properties.simple_add_modifier(result, is_pointer()) return asker.reply(answer=result)
def has_pointer_now(asker, object): if convert.check_hard(asker, has_pointer(), object): result = updates.update(updates.remove_modifier(is_pointer()), object) else: result = properties.simple_add_modifier(result, has_pointer()) return asker.reply(answer=result)
def toggle_expanded(asker, object): if convert.check_hard(asker, is_expanded(), object): result = updates.update(updates.remove_modifier(is_expanded()), object) else: result = properties.simple_add_modifier(object, is_expanded()) return asker.reply(answer=result)