def on_add(self, widget, new_dict=False):
        """" Adds a new entry to the semantic data of a state. Reloads the tree store.

        :param widget: The source widget of the action
        :param bool new_dict: A flag to indicate if the new value is of type dict
        :return:
        """
        self.semantic_data_counter += 1
        treeiter, path = self.get_selected_object()

        value = dict() if new_dict else "New Value"

        # get target dict path
        if treeiter:
            target_dict_path_as_list = self.tree_store[path][self.ID_STORAGE_ID]
            if not self.tree_store[path][self.IS_DICT_STORAGE_ID]:
                target_dict_path_as_list.pop()
        else:
            target_dict_path_as_list = []

        # generate key
        target_dict = self.model.state.get_semantic_data(target_dict_path_as_list)
        new_key_string = generate_semantic_data_key(list(target_dict.keys()))
        self.model.state.add_semantic_data(target_dict_path_as_list, value, new_key_string)

        self.reload_tree_store_data()

        # jump to new element
        self.select_entry(target_dict_path_as_list + [new_key_string])
        logger.debug("Added new semantic data entry!")
        return True
def on_add ( self , widget , new_dict = False ) : self . semantic_data_counter += 1 treeiter , path = self . get_selected_object ( ) value = dict ( ) if new_dict else "New Value" if treeiter : target_dict_path_as_list = self . tree_store [ path ] [ self . ID_STORAGE_ID ] if not self . tree_store [ path ] [ self . IS_DICT_STORAGE_ID ] : target_dict_path_as_list . pop ( ) else : target_dict_path_as_list = [ ] target_dict = self . model . state . get_semantic_data ( target_dict_path_as_list ) new_key_string = generate_semantic_data_key ( list ( target_dict . keys ( ) ) ) self . model . state . add_semantic_data ( target_dict_path_as_list , value , new_key_string ) self . reload_tree_store_data ( ) self . select_entry ( target_dict_path_as_list + [ new_key_string ] ) logger . debug ( "Added new semantic data entry!" ) return True
Adds a new entry to the semantic data of a state. Reloads the tree store.

        :param widget: The source widget of the action
        :param bool new_dict: A flag to indicate if the new value is of type dict
        :return: