def construct(self): page = super(MessagePropertyPage, self).construct() item = self.item subject = item.subject if not subject: return page if item.is_communication(): self._messages = CommunicationMessageModel(item) tree_view = create_tree_view(self._messages, (_("Message"),)) tree_view.set_headers_visible(False) frame = Gtk.Frame.new(label=_("Additional Messages")) frame.add(tree_view) page.pack_start(frame, True, True, 0) self._inverted_messages = CommunicationMessageModel(item, inverted=True) tree_view = create_tree_view(self._inverted_messages, (_("Message"),)) tree_view.set_headers_visible(False) frame = Gtk.Frame.new(label=_("Inverted Messages")) frame.add(tree_view) page.pack_end(frame, True, True, 0) else: hbox = create_hbox_label(self, page, _("Message sort")) sort_data = self.MESSAGE_SORT lifeline = None cinfo = item.canvas.get_connection(item.tail) if cinfo: lifeline = cinfo.connected # disallow connecting two delete messages to a lifeline if ( lifeline and lifeline.is_destroyed and subject.messageSort != "deleteMessage" ): sort_data = list(sort_data) assert sort_data[4][1] == "deleteMessage" del sort_data[4] combo = self.combo = create_uml_combo( sort_data, self._on_message_sort_change ) hbox.pack_start(combo, False, True, 0) index = combo.get_model().get_index(subject.messageSort) combo.set_active(index) return page
def construct(self): page = super(MessagePropertyPage, self).construct() item = self.item subject = item.subject if not subject: return page if item.is_communication(): self._messages = CommunicationMessageModel(item) tree_view = create_tree_view(self._messages, (_('Message'),)) tree_view.set_headers_visible(False) frame = gtk.Frame(label=_('Additional Messages')) frame.add(tree_view) page.pack_start(frame) self._inverted_messages = CommunicationMessageModel(item, inverted=True) tree_view = create_tree_view(self._inverted_messages, (_('Message'),)) tree_view.set_headers_visible(False) frame = gtk.Frame(label=_('Inverted Messages')) frame.add(tree_view) page.pack_end(frame) else: hbox = create_hbox_label(self, page, _('Message sort')) sort_data = self.MESSAGE_SORT lifeline = None cinfo = item.canvas.get_connection(item.tail) if cinfo: lifeline = cinfo.connected # disallow connecting two delete messages to a lifeline if lifeline and lifeline.is_destroyed \ and subject.messageSort != 'deleteMessage': sort_data = list(sort_data) assert sort_data[4][1] == 'deleteMessage' del sort_data[4] combo = self.combo = create_uml_combo(sort_data, self._on_message_sort_change) hbox.pack_start(combo, expand=False) index = combo.get_model().get_index(subject.messageSort) combo.set_active(index) return page