Support socket (half circle) notation for interface required by component
or port on a component diagram: umbrello/widgets/classifierwidget.h - New constant SOCKET_INCREMENT defines the amount by which the socket arc is larger than the interface ball. umbrello/widgets/classifierwidget.cpp - In function shape() add SOCKET_INCREMENT to cirleSize if m_Assocs.size() is larger than 1. The logic is that there can be only one interface provider, i.e. all further associations are related to interface clients. This could perhaps be refined, e.g. to support absence of provider. - In function drawAsCircle() implement drawing of socket for required interface using QPainter::drawArc(). Choose orientation of arc depending on the position of the port/component in relation to the interface: - If port/component is left of interface then draw arc at left - If port/component is right of interface then draw arc at right - If port/component is above interface then draw arc at top - If port/component is below interface then draw arc at bottom - If port/component is close to a diagonal of interface then draw arc oriented to the respective diagonal. CCBUG:115269
parent
a23485f3
Please register or sign in to comment