/******************************************************************************* * Copyright (c) 2016 Weasis Team and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Nicolas Roduit - initial API and implementation *******************************************************************************/ package org.weasis.acquire.explorer.gui.central.meta.panel.imp; import org.weasis.acquire.explorer.Messages; import org.weasis.acquire.explorer.core.bean.SeriesGroup; import org.weasis.acquire.explorer.gui.central.meta.model.AcquireMetadataTableModel; import org.weasis.acquire.explorer.gui.central.meta.model.imp.AcquireSerieMeta; import org.weasis.acquire.explorer.gui.central.meta.panel.AcquireMetadataPanel; import org.weasis.core.api.util.StringUtil; public class AcquireSerieMetaPanel extends AcquireMetadataPanel { private static final long serialVersionUID = -2751941971479265507L; private static final String NO_SERIE = Messages.getString("AcquireSerieMetaPanel.no_series"); //$NON-NLS-1$ private static final String SERIE_PREFIX = Messages.getString("AcquireSerieMetaPanel.series") + StringUtil.COLON_AND_SPACE; //$NON-NLS-1$ protected SeriesGroup seriesGroup; public AcquireSerieMetaPanel(SeriesGroup seriesGroup) { super(""); //$NON-NLS-1$ this.seriesGroup = seriesGroup; } @Override public AcquireMetadataTableModel newTableModel() { AcquireSerieMeta model = new AcquireSerieMeta(seriesGroup); model.addTableModelListener(e -> { this.titleBorder.setTitle(getDisplayText()); seriesGroup.fireDataChanged(); }); return model; } @Override public String getDisplayText() { return (seriesGroup == null) ? NO_SERIE : new StringBuilder(SERIE_PREFIX).append(seriesGroup.getDisplayName()).toString(); } public SeriesGroup getSerie() { return seriesGroup; } public void setSerie(SeriesGroup seriesGroup) { this.seriesGroup = seriesGroup; this.titleBorder.setTitle(getDisplayText()); update(); } @Override public void update() { setMetaVisible(seriesGroup != null); super.update(); } }