예제 #1
0
def paste_class(copy_data: ClassCopy, diagram, lookup):
    for attr in itertools.chain(
        copy_data.owned_attributes,
        copy_data.owned_parameters,
        copy_data.owned_operations,
    ):
        paste_element(attr, diagram, lookup)
    return paste_named_element(copy_data.element_copy, diagram, lookup)
예제 #2
0
def paste_state(copy_data: StateCopy, diagram, lookup):
    if copy_data.entry:
        paste_element(copy_data.entry, diagram, lookup)
    if copy_data.exit:
        paste_element(copy_data.exit, diagram, lookup)
    if copy_data.do_activity:
        paste_element(copy_data.do_activity, diagram, lookup)
    return paste_element(copy_data.state, diagram, lookup)
예제 #3
0
def paste_transition(copy_data: TransitionCopy, diagram, lookup):
    if copy_data.guard:
        paste_element(copy_data.guard, diagram, lookup)
    return paste_element(copy_data.transition, diagram, lookup)
예제 #4
0
def paste_execution_specification(copy_data: ExecutionSpecificationCopy,
                                  diagram, lookup):
    for occurrence in copy_data.occurrences:
        paste_element(occurrence, diagram, lookup)
    return paste_element(copy_data.element_copy, diagram, lookup)
예제 #5
0
def paste_message(copy_data: MessageCopy, diagram, lookup):
    if copy_data.send_event:
        paste_element(copy_data.send_event, diagram, lookup)
    if copy_data.receive_event:
        paste_element(copy_data.receive_event, diagram, lookup)
    return paste_element(copy_data.element_copy, diagram, lookup)
예제 #6
0
def paste_association(copy_data: AssociationCopy, diagram, lookup):
    for member_end in copy_data.member_ends:
        paste_element(member_end, diagram, lookup)
    return paste_named_element(copy_data.element_copy, diagram, lookup)
예제 #7
0
def paste_connector(copy_data: ConnectorCopy, diagram, lookup):
    for data in itertools.chain(copy_data.ports, copy_data.ends):
        paste_element(data, diagram, lookup)
    return paste_element(copy_data.element_copy, diagram, lookup)