Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,54 @@ public class ActionW {
public static final BasicActionStateValue VIEW_MODE =
new BasicActionStateValue(Messages.getString("ActionW.view_mode"), "viewMode", 0, 0, null);
public static final SliderChangeListenerValue ZOOM =
new SliderChangeListenerValue(
Messages.getString("ActionW.zoom"),
"zoom", // NON-NLS
KeyEvent.VK_Z,
0,
Feature.getSvgCursor("zoom.svg", Messages.getString("ActionW.zoom"), 0.5f, 0.5f));
new SliderChangeListenerValue(
Messages.getString("ActionW.zoom"),
"zoom", // NON-NLS
KeyEvent.VK_Z,
0,
Feature.getSvgCursor("zoom.svg", Messages.getString("ActionW.zoom"), 0.5f, 0.5f));
public static final ToggleButtonListenerValue SLICE_ENABLE =
new ToggleButtonListenerValue(
"Slicing Enabled",
"flip",
0,
0,
null); // NON-NLS
public static final SliderChangeListenerValue SLICE_X =
new SliderChangeListenerValue(
"Slice X",
"slice_x", // NON-NLS
0,
0,
Feature.getSvgCursor("zoom.svg", "Slice", 0.5f, 0.5f));
public static final SliderChangeListenerValue SLICE_Y =
new SliderChangeListenerValue(
"Slice Y",
"slice_y", // NON-NLS
0,
0,
Feature.getSvgCursor("zoom.svg", "Slice", 0.5f, 0.5f));
public static final SliderChangeListenerValue SLICE_Z =
new SliderChangeListenerValue(
"Slice Z",
"slice_z", // NON-NLS
0,
0,
Feature.getSvgCursor("zoom.svg", "Slice", 0.5f, 0.5f));
public static final SliderChangeListenerValue SLICE_X_NORM =
new SliderChangeListenerValue(
"Slice Yaw",
"slice_x_norm", // NON-NLS
0,
0,
Feature.getSvgCursor("zoom.svg", "Slice", 0.5f, 0.5f));
public static final SliderChangeListenerValue SLICE_Y_NORM =
new SliderChangeListenerValue(
"Slice Pitch",
"slice_y_norm", // NON-NLS
0,
0,
Feature.getSvgCursor("zoom.svg", "Slice", 0.5f, 0.5f));
public static final SliderCineListenerValue SCROLL_SERIES =
new SliderCineListenerValue(
Messages.getString("ActionW.scroll"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,12 @@ private EventManager() {
setAction(newLevelAction());
setAction(newRotateAction());
setAction(newZoomAction());
setAction(newSliceEnableAction());
setAction(newSliceXAction());
setAction(newSliceYAction());
setAction(newSliceZAction());
setAction(newSliceXNormAction());
setAction(newSliceYNormAction());
setAction(newMipTypeOption());
setAction(newMipDepthAction());
setAction(newOpacityAction());
Expand Down Expand Up @@ -291,6 +297,177 @@ public void mouseWheelMoved(MouseWheelEvent e) {
};
}

private ToggleButtonListener newSliceEnableAction() {
return new ToggleButtonListener(ActionW.SLICE_ENABLE, false) {
@Override
public void actionPerformed(boolean selected) {
firePropertyChange(
ActionW.SYNCH.cmd(),
null,
new SynchEvent(
getSelectedViewPane(),
getActionW().cmd(),
selected));
}
};
}

protected SliderChangeListener newSliceXAction() {

return new SliderChangeListener(
ActionW.SLICE_X,
0.0,
3.0,
0.5,
true,
0.3,
300) {

@Override
public void stateChanged(BoundedRangeModel model) {
firePropertyChange(
ActionW.SYNCH.cmd(),
null,
new SynchEvent(
getSelectedViewPane(),
getActionW().cmd(),
toModelValue(model.getValue()),
model.getValueIsAdjusting()));
}

@Override
public String getValueToDisplay() {
return DecFormatter.twoDecimal(getRealValue());
}

};
}

protected SliderChangeListener newSliceYAction() {

return new SliderChangeListener(
ActionW.SLICE_Y,
0.0,
3.0,
0.5,
true,
0.3,
300) {

@Override
public void stateChanged(BoundedRangeModel model) {
firePropertyChange(
ActionW.SYNCH.cmd(),
null,
new SynchEvent(
getSelectedViewPane(),
getActionW().cmd(),
toModelValue(model.getValue()),
model.getValueIsAdjusting()));
}

@Override
public String getValueToDisplay() {
return DecFormatter.twoDecimal(getRealValue());
}

};
}

protected SliderChangeListener newSliceZAction() {

return new SliderChangeListener(
ActionW.SLICE_Z,
0.0,
3.0,
0.5,
true,
0.3,
300) {

@Override
public void stateChanged(BoundedRangeModel model) {
firePropertyChange(
ActionW.SYNCH.cmd(),
null,
new SynchEvent(
getSelectedViewPane(),
getActionW().cmd(),
toModelValue(model.getValue()),
model.getValueIsAdjusting()));
}

@Override
public String getValueToDisplay() {
return DecFormatter.twoDecimal(getRealValue());
}

};
}

protected SliderChangeListener newSliceXNormAction() {

return new SliderChangeListener(
ActionW.SLICE_X_NORM,
0.0,
360.0,
0.0,
true,
0.3,
360) {

@Override
public void stateChanged(BoundedRangeModel model) {
firePropertyChange(
ActionW.SYNCH.cmd(),
null,
new SynchEvent(
getSelectedViewPane(),
getActionW().cmd(),
toModelValue(model.getValue()),
model.getValueIsAdjusting()));
}

@Override
public String getValueToDisplay() {
return DecFormatter.twoDecimal(getRealValue());
}

};
}

protected SliderChangeListener newSliceYNormAction() {

return new SliderChangeListener(
ActionW.SLICE_Y_NORM,
0.0,
360.0,
0.0,
true,
0.3,
360) {

@Override
public void stateChanged(BoundedRangeModel model) {
firePropertyChange(
ActionW.SYNCH.cmd(),
null,
new SynchEvent(
getSelectedViewPane(),
getActionW().cmd(),
toModelValue(model.getValue()),
model.getValueIsAdjusting()));
}

@Override
public String getValueToDisplay() {
return DecFormatter.twoDecimal(getRealValue());
}

};
}


@Override
protected SliderChangeListener newRotateAction() {
return new ArcballMouseListener() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,8 @@
import javax.swing.JScrollPane;
import javax.swing.JToggleButton;
import javax.swing.border.Border;
import org.weasis.core.api.gui.util.ActionW;
import org.weasis.core.api.gui.util.GuiUtils;
import org.weasis.core.api.gui.util.JSliderW;

import org.weasis.core.api.gui.util.*;
import org.weasis.core.api.util.ResourceUtil;
import org.weasis.core.api.util.ResourceUtil.ActionIcon;
import org.weasis.core.api.util.ResourceUtil.OtherIcon;
Expand All @@ -39,7 +38,9 @@

public class VolumeTool extends PluginTool {

public static final String BUTTON_NAME = Messages.getString("3d.tool");
private final Feature.SliderChangeListenerValue slider = new Feature.SliderChangeListenerValue("Slicing", "zoom", 90, 0, Feature.getSvgCursor("zoom.svg", "Slicing", 0.5F, 0.5F));

public static final String BUTTON_NAME = Messages.getString("3d.tool");

private final JScrollPane rootPane = new JScrollPane();
private final Border spaceY = GuiUtils.getEmptyBorder(15, 3, 0, 3);
Expand All @@ -54,6 +55,8 @@ public VolumeTool(String pluginName) {
private void init() {
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
add(getWindowLevelPanel());
add(getSlicePanel());
add(getSliceNormPanel());
add(getVolumetricPanel());
add(getTransformPanel());
add(GuiUtils.boxYLastElement(3));
Expand Down Expand Up @@ -222,7 +225,86 @@ private JPanel getTransformPanel() {
return transform;
}

@Override
private JPanel getSlicePanel() {
JPanel slice = GuiUtils.getVerticalBoxLayoutPanel();
slice.setBorder(
BorderFactory.createCompoundBorder(
spaceY,
GuiUtils.getTitledBorder("Slicing")));



EventManager.getInstance()
.getAction(ActionW.SLICE_X)
.ifPresent(
sliderItem -> {
JSliderW xSliceSlider = sliderItem.createSlider(0, true);
GuiUtils.setPreferredWidth(xSliceSlider, 100);
slice.add(xSliceSlider);

});
EventManager.getInstance()
.getAction(ActionW.SLICE_Y)
.ifPresent(
sliderItem -> {
JSliderW sliceSlider = sliderItem.createSlider(0, true);
GuiUtils.setPreferredWidth(sliceSlider, 100);
slice.add(sliceSlider);

});
EventManager.getInstance()
.getAction(ActionW.SLICE_Z)
.ifPresent(
sliderItem -> {
JSliderW sliceSlider = sliderItem.createSlider(0, true);
GuiUtils.setPreferredWidth(sliceSlider, 100);
slice.add(sliceSlider);

});
EventManager.getInstance()
.getAction(ActionW.SLICE_ENABLE)
.ifPresent(
toggleButton -> {
JPanel pane = GuiUtils.getFlowLayoutPanel();
pane.add(
toggleButton.createCheckBox(
"Slicing Enabled"));
slice.add(pane);
});
return slice;
}
private JPanel getSliceNormPanel() {
JPanel slice = GuiUtils.getVerticalBoxLayoutPanel();
slice.setBorder(
BorderFactory.createCompoundBorder(
spaceY,
GuiUtils.getTitledBorder("Slicing Orientation")));



EventManager.getInstance()
.getAction(ActionW.SLICE_X_NORM)
.ifPresent(
sliderItem -> {
JSliderW sliceSlider = sliderItem.createSlider(0, true);
GuiUtils.setPreferredWidth(sliceSlider, 100);
slice.add(sliceSlider);

});
EventManager.getInstance()
.getAction(ActionW.SLICE_Y_NORM)
.ifPresent(
sliderItem -> {
JSliderW sliceSlider = sliderItem.createSlider(0, true);
GuiUtils.setPreferredWidth(sliceSlider, 100);
slice.add(sliceSlider);

});
return slice;
}


@Override
protected void changeToolWindowAnchor(CLocation clocation) {
// Do nothing
}
Expand Down
Loading