+ if ((inUpdateType & (DataSubscriber.DATA_ADDED_OR_REMOVED | DataSubscriber.DATA_EDITED)) > 0)
+ {
+ _segmentListModel.fireChanged();
+ if (_segmentListModel.getSize() > 1)
+ {
+ _listsPanel.add(_segmentListPanel);
+ }
+ }
+ // Deselect segment if selection goes beyond the selected
+ // segment
+ if ((inUpdateType & DataSubscriber.SELECTION_CHANGED) > 0)
+ {
+ int segmentSelected = _segmentList.getSelectedIndex();
+ if (segmentSelected >= 0)
+ {
+ if (_trackInfo.getSelection().getStart() != _segmentListModel.getSegmentStart(segmentSelected) ||
+ _trackInfo.getSelection().getEnd() != _segmentListModel.getSegmentEnd(segmentSelected))
+ {
+ _segmentList.clearSelection();
+ }
+ }
+ }