/*******************************************************************************
* 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.dockable.components.actions.calibrate;
import javax.swing.JLabel;
import org.weasis.acquire.Messages;
import org.weasis.acquire.dockable.EditionToolFactory;
import org.weasis.acquire.dockable.components.actions.AbstractAcquireActionPanel;
import org.weasis.acquire.explorer.AcquireImageInfo;
import org.weasis.acquire.explorer.AcquireImageValues;
import org.weasis.acquire.graphics.CalibrationGraphic;
import org.weasis.base.viewer2d.EventManager;
import org.weasis.core.api.gui.util.ComboItemListener;
import org.weasis.core.api.media.data.ImageElement;
import org.weasis.core.ui.editor.image.ImageViewerPlugin;
import org.weasis.core.ui.editor.image.MouseActions;
import org.weasis.core.ui.editor.image.ViewerToolBar;
public class CalibrationPanel extends AbstractAcquireActionPanel {
private static final long serialVersionUID = 3956795043244254606L;
public static final CalibrationGraphic CALIBRATION_LINE_GRAPHIC = new CalibrationGraphic();
public CalibrationPanel() {
add(new JLabel(Messages.getString("CalibrationPanel.draw_line"))); //$NON-NLS-1$
}
@Override
public void initValues(AcquireImageInfo info, AcquireImageValues values) {
EventManager.getInstance().getAction(EditionToolFactory.DRAW_EDITON, ComboItemListener.class)
.ifPresent(a -> a.setSelectedItem(CalibrationPanel.CALIBRATION_LINE_GRAPHIC));
ImageViewerPlugin<ImageElement> container = EventManager.getInstance().getSelectedView2dContainer();
if (container != null) {
final ViewerToolBar<?> toolBar = container.getViewerToolBar();
if (toolBar != null) {
String cmd = EditionToolFactory.EDITON.cmd();
MouseActions mouseActions = EventManager.getInstance().getMouseActions();
if (!cmd.equals(mouseActions.getLeft())) {
setLastActionCommand(mouseActions.getLeft());
mouseActions.setAction(MouseActions.LEFT, cmd);
container.setMouseActions(mouseActions);
toolBar.changeButtonState(MouseActions.LEFT, cmd);
}
}
}
}
}