use of org.vcell.util.gui.ColorIcon in project vcell by virtualcell.
the class StructureMappingTableRenderer method getTableCellRendererComponent.
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
setIcon(null);
if (table.getModel() instanceof StructureMappingTableModel) {
StructureMappingTableModel structureMappingTableModel = (StructureMappingTableModel) table.getModel();
String toolTip = structureMappingTableModel.getToolTip(row, column);
if (value instanceof Structure) {
Structure structure = (Structure) value;
setText(structure.getName());
} else if (value instanceof Double && structureMappingTableModel.isNewSizeColumn(column)) {
StructureMapping structureMapping = structureMappingTableModel.getStructureMapping(row);
if (structureMappingTableModel.isNonSpatial()) {
VCUnitDefinition unitDefinition = structureMapping.getStructure().getStructureSize().getUnitDefinition();
TextIcon sizeIcon = unitIconHash.get(unitDefinition.getSymbol());
if (sizeIcon == null) {
sizeIcon = new TextIcon("[ " + unitDefinition.getSymbolUnicode() + " ]");
unitIconHash.put(unitDefinition.getSymbol(), sizeIcon);
}
setIcon(sizeIcon);
} else {
// spatial
if (structureMapping.getUnitSizeParameter() != null) {
VCUnitDefinition unitDefinition = structureMapping.getUnitSizeParameter().getUnitDefinition();
TextIcon sizeIcon = unitIconHash.get(unitDefinition.getSymbol());
if (sizeIcon == null) {
sizeIcon = new TextIcon("[ " + unitDefinition.getSymbolUnicode() + " ]");
unitIconHash.put(unitDefinition.getSymbol(), sizeIcon);
}
setIcon(sizeIcon);
}
}
}
if (structureMappingTableModel.isSubdomainColumn(column)) {
// can be null
if (value == null) {
setText("Unmapped");
setForeground(Color.red);
setIcon(null);
} else {
if (value instanceof GeometryClass) {
setText(((GeometryClass) value).getName());
if (value instanceof SubVolume) {
SubVolume subVolume = (SubVolume) value;
java.awt.Color handleColor = new java.awt.Color(colormap[subVolume.getHandle()]);
// small square icon with subdomain color
Icon icon = new ColorIcon(10, 10, handleColor, true);
setHorizontalTextPosition(SwingConstants.RIGHT);
setIcon(icon);
} else if (value instanceof SurfaceClass) {
SurfaceClass sc = (SurfaceClass) value;
Set<SubVolume> sv = sc.getAdjacentSubvolumes();
Iterator<SubVolume> iterator = sv.iterator();
SubVolume sv1 = iterator.next();
SubVolume sv2 = iterator.next();
java.awt.Color c1 = new java.awt.Color(colormap[sv2.getHandle()]);
java.awt.Color c2 = new java.awt.Color(colormap[sv1.getHandle()]);
Icon icon = new ColorIconEx(10, 10, c1, c2);
setIcon(icon);
setHorizontalTextPosition(SwingConstants.RIGHT);
}
} else {
setText(value.toString());
setIcon(null);
}
}
}
if (value instanceof BoundaryConditionType) {
// we get here only for spatial
Object candidate = structureMappingTableModel.getValueAt(row, StructureMappingTableModel.SPATIAL_COLUMN_SUBDOMAIN);
if (candidate instanceof SurfaceClass) {
SurfaceClass surfaceClass = (SurfaceClass) candidate;
cbit.vcell.model.Model model = structureMappingTableModel.getGeometryContext().getModel();
SimulationContext simContext = structureMappingTableModel.getGeometryContext().getSimulationContext();
Pair<SubVolume, SubVolume> ret = DiffEquMathMapping.computeBoundaryConditionSource(model, simContext, surfaceClass);
SubVolume innerSubVolume = ret.one;
java.awt.Color handleColor = new java.awt.Color(colormap[innerSubVolume.getHandle()]);
// small square icon with subdomain color
Icon icon = new ColorIcon(8, 8, handleColor, true);
setHorizontalTextPosition(SwingConstants.LEFT);
setIcon(icon);
setText("from");
// override default tooltip
toolTip = "Boundary condition inherited from Subdomain '" + innerSubVolume.getName() + "'";
setToolTipText(toolTip);
} else {
setText(((BoundaryConditionType) value).boundaryTypeStringValue());
}
}
List<Issue> issueList = structureMappingTableModel.getIssues(row, column, Issue.SEVERITY_ERROR);
if (issueList.size() > 0) {
// override default tooltip
setToolTipText(Issue.getHtmlIssueMessage(issueList));
if (column == 0) {
setBorder(new MatteBorder(1, 1, 1, 0, Color.red));
} else if (column == table.getColumnCount() - 1) {
setBorder(new MatteBorder(1, 0, 1, 1, Color.red));
} else {
setBorder(new MatteBorder(1, 0, 1, 0, Color.red));
}
} else {
setToolTipText(toolTip);
setBorder(DEFAULT_GAP);
}
}
return this;
}
use of org.vcell.util.gui.ColorIcon in project vcell by virtualcell.
the class GeometrySubVolumeTableCellRenderer method getTableCellRendererComponent.
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (value instanceof SubVolume) {
SubVolume subVolume = (SubVolume) value;
java.awt.Color handleColor = new java.awt.Color(colormap[subVolume.getHandle()]);
setIcon(new ColorIcon(15, 15, handleColor));
setText(subVolume.getName());
}
return this;
}
use of org.vcell.util.gui.ColorIcon in project vcell by virtualcell.
the class StructureMappingTableModel method updateSubdomainComboBox.
@SuppressWarnings({ "rawtypes", "unchecked" })
private void updateSubdomainComboBox() {
GeometryClass[] geometryClasses = getGeometryContext().getGeometry().getGeometryClasses();
DefaultComboBoxModel aModel = new DefaultComboBoxModel();
for (GeometryClass gc : geometryClasses) {
aModel.addElement(gc);
}
JComboBox subdomainComboBoxCellEditor = new JComboBox();
subdomainComboBoxCellEditor.setRenderer(new DefaultListCellRenderer() {
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
setHorizontalTextPosition(SwingConstants.LEFT);
if (value instanceof GeometryClass) {
GeometryClass gc = (GeometryClass) value;
setText(gc.getName());
if (value instanceof SubVolume) {
SubVolume subVolume = (SubVolume) value;
java.awt.Color handleColor = new java.awt.Color(colormap[subVolume.getHandle()]);
// small square icon with subdomain color
Icon icon = new ColorIcon(10, 10, handleColor, true);
setHorizontalTextPosition(SwingConstants.RIGHT);
setIcon(icon);
} else if (value instanceof SurfaceClass) {
SurfaceClass sc = (SurfaceClass) value;
Set<SubVolume> sv = sc.getAdjacentSubvolumes();
Iterator<SubVolume> iterator = sv.iterator();
SubVolume sv1 = iterator.next();
SubVolume sv2 = iterator.next();
java.awt.Color c1 = new java.awt.Color(colormap[sv2.getHandle()]);
java.awt.Color c2 = new java.awt.Color(colormap[sv1.getHandle()]);
Icon icon = new ColorIconEx(10, 10, c1, c2);
setIcon(icon);
setHorizontalTextPosition(SwingConstants.RIGHT);
}
}
return this;
}
});
subdomainComboBoxCellEditor.setModel(aModel);
ownerTable.getColumnModel().getColumn(SPATIAL_COLUMN_SUBDOMAIN).setCellEditor(new DefaultCellEditor(subdomainComboBoxCellEditor));
}
use of org.vcell.util.gui.ColorIcon in project vcell by virtualcell.
the class OverlayEditorPanelJAI method initialize.
/**
* This method initializes this
*/
private void initialize() {
this.setSize(734, 710);
final GridBagLayout gridBagLayout_1 = new GridBagLayout();
gridBagLayout_1.rowWeights = new double[] { 0.0, 1.0, 0 };
gridBagLayout_1.columnWeights = new double[] { 1.0 };
gridBagLayout_1.rowHeights = new int[] { 0, 0, 0 };
this.setLayout(gridBagLayout_1);
editROIPanel = new JPanel();
final GridBagLayout gridBagLayout_2 = new GridBagLayout();
gridBagLayout_2.rowHeights = new int[] { 0, 0, 7 };
gridBagLayout_2.columnWidths = new int[] { 0, 7 };
editROIPanel.setLayout(gridBagLayout_2);
final GridBagConstraints gridBagConstraints_6 = new GridBagConstraints();
gridBagConstraints_6.anchor = GridBagConstraints.WEST;
gridBagConstraints_6.insets = new Insets(2, 2, 5, 2);
gridBagConstraints_6.weightx = 1.0;
gridBagConstraints_6.gridy = 0;
gridBagConstraints_6.gridx = 0;
add(editROIPanel, gridBagConstraints_6);
final JLabel infoLabel = new JLabel();
infoLabel.setText("Data Info:");
final GridBagConstraints gridBagConstraints_12 = new GridBagConstraints();
gridBagConstraints_12.insets = new Insets(0, 0, 0, 4);
gridBagConstraints_12.anchor = GridBagConstraints.EAST;
gridBagConstraints_12.gridy = 0;
gridBagConstraints_12.gridx = 0;
editROIPanel.add(infoLabel, gridBagConstraints_12);
textLabel = new JLabel();
textLabel.setPreferredSize(new Dimension(500, 20));
textLabel.setMinimumSize(new Dimension(500, 20));
final GridBagConstraints gridBagConstraints_2 = new GridBagConstraints();
gridBagConstraints_2.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints_2.weightx = 1;
gridBagConstraints_2.insets = new Insets(0, 2, 0, 0);
gridBagConstraints_2.anchor = GridBagConstraints.WEST;
gridBagConstraints_2.gridy = 0;
gridBagConstraints_2.gridx = 1;
gridBagConstraints_2.gridwidth = 2;
editROIPanel.add(textLabel, gridBagConstraints_2);
textLabel.setText("No FRAP DataSet loaded.");
autoCropButton = new JButton(new ImageIcon(getClass().getResource("/images/autoCrop.gif")));
autoCropButton.setName("roiAutoCropBtn");
autoCropButton.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
firePropertyChange(FRAP_DATA_AUTOCROP_PROPERTY, null, null);
}
});
clearROIbutton = new JButton(new ImageIcon(getClass().getResource("/images/clearROI.gif")));
clearROIbutton.setEnabled(false);
clearROIbutton.setName("clearROIBtn");
clearROIbutton.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
if (roiComboBox.getItemCount() == 0) {
giveROIRequiredWarning("Clear Domain");
return;
}
firePropertyChange(FRAP_DATA_CLEARROI_PROPERTY, ((ROIMultiPaintManager.ComboboxROIName) roiComboBox.getSelectedItem()), null);
}
});
viewZLabel = new JLabel();
viewZLabel.setText("View Z:");
final GridBagConstraints gridBagConstraints_17 = new GridBagConstraints();
gridBagConstraints_17.insets = new Insets(0, 0, 0, 4);
gridBagConstraints_17.anchor = GridBagConstraints.EAST;
gridBagConstraints_17.gridy = 1;
gridBagConstraints_17.gridx = 0;
editROIPanel.add(viewZLabel, gridBagConstraints_17);
final JPanel panel_1 = new JPanel();
final GridBagLayout gridBagLayout_4 = new GridBagLayout();
gridBagLayout_4.columnWeights = new double[] { 1.0 };
gridBagLayout_4.columnWidths = new int[] { 7 };
panel_1.setLayout(gridBagLayout_4);
final GridBagConstraints gridBagConstraints_18 = new GridBagConstraints();
gridBagConstraints_18.anchor = GridBagConstraints.WEST;
gridBagConstraints_18.insets = new Insets(0, 2, 0, 0);
gridBagConstraints_18.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints_18.weightx = 0;
gridBagConstraints_18.gridy = 1;
gridBagConstraints_18.gridx = 1;
editROIPanel.add(panel_1, gridBagConstraints_18);
final GridBagConstraints gridBagConstraints_19 = new GridBagConstraints();
gridBagConstraints_19.insets = new Insets(0, 0, 5, 0);
gridBagConstraints_19.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints_19.anchor = GridBagConstraints.WEST;
gridBagConstraints_19.weightx = 1;
gridBagConstraints_19.gridy = 0;
gridBagConstraints_19.gridx = 0;
panel_1.add(getZSlider(), gridBagConstraints_19);
viewTLabel = new JLabel();
viewTLabel.setText("View Time:");
final GridBagConstraints gridBagConstraints_13 = new GridBagConstraints();
gridBagConstraints_13.insets = new Insets(0, 0, 0, 4);
gridBagConstraints_13.anchor = GridBagConstraints.EAST;
gridBagConstraints_13.gridy = 2;
gridBagConstraints_13.gridx = 0;
editROIPanel.add(viewTLabel, gridBagConstraints_13);
final JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout());
final GridBagConstraints gridBagConstraints_15 = new GridBagConstraints();
gridBagConstraints_15.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints_15.weightx = 1;
gridBagConstraints_15.insets = new Insets(0, 0, 0, 0);
gridBagConstraints_15.anchor = GridBagConstraints.WEST;
gridBagConstraints_15.gridy = 0;
gridBagConstraints_15.gridx = 0;
panel.add(getTimeSlider(), gridBagConstraints_15);
final GridBagConstraints gridBagConstraints_14 = new GridBagConstraints();
gridBagConstraints_14.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints_14.insets = new Insets(0, 2, 0, 0);
gridBagConstraints_14.anchor = GridBagConstraints.WEST;
gridBagConstraints_14.gridy = 2;
gridBagConstraints_14.gridx = 1;
editROIPanel.add(panel, gridBagConstraints_14);
final JPanel editROIButtonPanel = new JPanel();
final GridBagLayout gridBagLayout_3 = new GridBagLayout();
gridBagLayout_3.rowWeights = new double[] { 0.0, 1.0 };
gridBagLayout_3.columnWeights = new double[] { 0.0, 1.0, 0.0, 0.0, 0.0, 0.0 };
gridBagLayout_3.columnWidths = new int[] { 0, 0, 7, 7, 0, 0 };
editROIButtonPanel.setLayout(gridBagLayout_3);
final GridBagConstraints gridBagConstraints_8 = new GridBagConstraints();
gridBagConstraints_8.gridwidth = 2;
gridBagConstraints_8.weightx = 0;
gridBagConstraints_8.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints_8.insets = new Insets(0, 2, 0, 0);
gridBagConstraints_8.anchor = GridBagConstraints.WEST;
gridBagConstraints_8.gridy = 3;
gridBagConstraints_8.gridx = 0;
editROIPanel.add(editROIButtonPanel, gridBagConstraints_8);
panel_2 = new JPanel();
GridBagConstraints gbc_panel_2 = new GridBagConstraints();
gbc_panel_2.insets = new Insets(2, 2, 2, 2);
gbc_panel_2.weighty = 1.0;
gbc_panel_2.weightx = 1.0;
gbc_panel_2.fill = GridBagConstraints.BOTH;
gbc_panel_2.gridx = 0;
gbc_panel_2.gridy = 1;
add(panel_2, gbc_panel_2);
GridBagLayout gbl_panel_2 = new GridBagLayout();
gbl_panel_2.columnWidths = new int[] { 0, 0, 0 };
gbl_panel_2.rowHeights = new int[] { 0 };
gbl_panel_2.columnWeights = new double[] { 0, 1.0, 0.0 };
gbl_panel_2.rowWeights = new double[] { 0.0 };
panel_2.setLayout(gbl_panel_2);
panel_3 = new JPanel();
panel_3.setBorder(new LineBorder(new Color(0, 0, 0)));
GridBagConstraints gbc_panel_3 = new GridBagConstraints();
gbc_panel_3.fill = GridBagConstraints.BOTH;
gbc_panel_3.insets = new Insets(2, 2, 2, 2);
gbc_panel_3.gridx = 0;
gbc_panel_3.gridy = 0;
panel_2.add(panel_3, gbc_panel_3);
GridBagLayout gbl_panel_3 = new GridBagLayout();
gbl_panel_3.columnWidths = new int[] { 0, 0 };
gbl_panel_3.rowHeights = new int[] { 0, 0, 0, 0 };
gbl_panel_3.columnWeights = new double[] { 0.0, Double.MIN_VALUE };
gbl_panel_3.rowWeights = new double[] { 0.0, 0.0, 0.0, Double.MIN_VALUE };
panel_3.setLayout(gbl_panel_3);
domainRegionLabel = new JLabel(DOMAIN_LIST_TEXT);
GridBagConstraints gbc_domainRegionLabel = new GridBagConstraints();
gbc_domainRegionLabel.insets = new Insets(0, 0, 2, 0);
gbc_domainRegionLabel.gridx = 0;
gbc_domainRegionLabel.gridy = 0;
panel_3.add(domainRegionLabel, gbc_domainRegionLabel);
scrollPane = new JScrollPane();
GridBagConstraints gbc_scrollPane = new GridBagConstraints();
gbc_scrollPane.insets = new Insets(0, 2, 0, 0);
gbc_scrollPane.weighty = 1.0;
gbc_scrollPane.fill = GridBagConstraints.BOTH;
gbc_scrollPane.gridx = 0;
gbc_scrollPane.gridy = 1;
panel_3.add(scrollPane, gbc_scrollPane);
scrollPane.setPreferredSize(new Dimension(125, 10));
scrollPane.setMinimumSize(new Dimension(125, 10));
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
resolvedList = new JList();
resolvedList.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
super.mouseClicked(e);
if (showConvertPopup(e, false) == SHOWCONVERT.HANDLED) {
return;
}
if (e.getClickCount() == 2) {
firePropertyChange(FRAP_DATA_FINDROI_PROPERTY, null, resolvedList.getSelectedValue());
}
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
super.mousePressed(e);
if (showConvertPopup(e, false) == SHOWCONVERT.HANDLED) {
return;
}
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
super.mouseReleased(e);
if (showConvertPopup(e, false) == SHOWCONVERT.HANDLED) {
return;
}
}
});
resolvedList.addListSelectionListener(resolvedListSelectionListener);
resolvedList.setCellRenderer(resolvedObjectListCellRenderer);
scrollPane.setViewportView(resolvedList);
mergeButton = new JButton("Auto-Merge");
mergeButton.setToolTipText("Remove regions by merging with neighbor");
mergeButton.setEnabled(false);
mergeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
resolvedListSelection(true);
}
});
GridBagConstraints gbc_mergeButton = new GridBagConstraints();
gbc_mergeButton.gridx = 0;
gbc_mergeButton.gridy = 2;
panel_3.add(mergeButton, gbc_mergeButton);
GridBagConstraints gbc_jScrollPane2 = new GridBagConstraints();
gbc_jScrollPane2.weighty = 1.0;
gbc_jScrollPane2.weightx = 1.0;
gbc_jScrollPane2.fill = GridBagConstraints.BOTH;
gbc_jScrollPane2.insets = new Insets(2, 2, 2, 2);
gbc_jScrollPane2.gridx = 1;
gbc_jScrollPane2.gridy = 0;
panel_2.add(getJScrollPane2(), gbc_jScrollPane2);
GridBagConstraints gbc_toolButtonPanel = new GridBagConstraints();
gbc_toolButtonPanel.weighty = 1.0;
gbc_toolButtonPanel.insets = new Insets(2, 2, 0, 2);
gbc_toolButtonPanel.anchor = GridBagConstraints.NORTH;
gbc_toolButtonPanel.gridx = 2;
gbc_toolButtonPanel.gridy = 0;
panel_2.add(getToolButtonPanel(), gbc_toolButtonPanel);
roiComboBox = new JComboBox();
roiComboBox.setName("activeROIComboBox");
roiComboBox.setRenderer(new ListCellRenderer() {
private DefaultListCellRenderer listCellRender = new DefaultListCellRenderer();
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
ROIMultiPaintManager.ComboboxROIName comboboxROIName = (ROIMultiPaintManager.ComboboxROIName) value;
if (comboboxROIName == null) {
// return blank
return listCellRender.getListCellRendererComponent(list, null, index, isSelected, cellHasFocus);
}
if (comboboxROIName.getHighlightColor() == null) {
// return text only
return listCellRender.getListCellRendererComponent(list, comboboxROIName.getROIName(), index, isSelected, cellHasFocus);
}
// return text with small color box
Icon icon = new ColorIcon(20, 20, comboboxROIName.getHighlightColor());
JLabel jlable = (JLabel) listCellRender.getListCellRendererComponent(list, icon, index, isSelected, cellHasFocus);
jlable.setText(comboboxROIName.getROIName());
return jlable;
}
});
roiComboBox.addActionListener(ROI_COMBOBOX_ACTIONLISTENER);
lblNewLabel = new JLabel("Active Domain:");
GridBagConstraints gbc_lblNewLabel = new GridBagConstraints();
gbc_lblNewLabel.insets = new Insets(4, 4, 4, 4);
gbc_lblNewLabel.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel.gridx = 0;
gbc_lblNewLabel.gridy = 0;
editROIButtonPanel.add(lblNewLabel, gbc_lblNewLabel);
final GridBagConstraints gridBagConstraints_1 = new GridBagConstraints();
gridBagConstraints_1.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints_1.insets = new Insets(4, 4, 5, 5);
gridBagConstraints_1.weightx = 1;
gridBagConstraints_1.gridy = 0;
gridBagConstraints_1.gridx = 1;
editROIButtonPanel.add(roiComboBox, gridBagConstraints_1);
addROIButton = new JButton();
addROIButton.setName("roiAddBtn");
addROIButton.addActionListener(addROIActionListener);
addROIButton.setText("Add Domain...");
final GridBagConstraints gridBagConstraints_3 = new GridBagConstraints();
gridBagConstraints_3.insets = new Insets(4, 4, 5, 5);
gridBagConstraints_3.gridy = 0;
gridBagConstraints_3.gridx = 2;
editROIButtonPanel.add(addROIButton, gridBagConstraints_3);
delROIButton = new JButton();
delROIButton.setName("roiDeleteBtn");
delROIButton.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
firePropertyChange(FRAP_DATA_DELETEROI_PROPERTY, ((ROIMultiPaintManager.ComboboxROIName) roiComboBox.getSelectedItem()), null);
}
});
delROIButton.setText("Delete Domain...");
delROIButton.setEnabled(false);
final GridBagConstraints gridBagConstraints_4 = new GridBagConstraints();
gridBagConstraints_4.insets = new Insets(4, 4, 5, 5);
gridBagConstraints_4.gridy = 0;
gridBagConstraints_4.gridx = 3;
editROIButtonPanel.add(delROIButton, gridBagConstraints_4);
discardHighlightsButton = new JButton("Clear Selections");
discardHighlightsButton.setEnabled(false);
discardHighlightsButton.setName("clearHighlightsBtn");
discardHighlightsButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
firePropertyChange(FRAP_DATA_DISCARDHIGHLIGHT_PROPERTY, null, null);
}
});
GridBagConstraints gbc_specialActionsButton = new GridBagConstraints();
gbc_specialActionsButton.insets = new Insets(4, 4, 5, 5);
gbc_specialActionsButton.gridx = 4;
gbc_specialActionsButton.gridy = 0;
editROIButtonPanel.add(discardHighlightsButton, gbc_specialActionsButton);
channelComboBox = new JComboBox();
GridBagConstraints gbc_channelComboBox = new GridBagConstraints();
gbc_channelComboBox.insets = new Insets(4, 4, 5, 4);
gbc_channelComboBox.gridx = 5;
gbc_channelComboBox.gridy = 0;
editROIButtonPanel.add(channelComboBox, gbc_channelComboBox);
channelComboBox.addActionListener(channelActionListener);
channelComboBox.setPreferredSize(new Dimension(100, 22));
channelComboBox.setMinimumSize(new Dimension(100, 20));
blendPercentPanel = new JPanel();
blendPercentPanel.setBorder(new LineBorder(new Color(0, 0, 0)));
GridBagConstraints gbc_panel_2a = new GridBagConstraints();
gbc_panel_2a.gridwidth = 6;
gbc_panel_2a.insets = new Insets(4, 4, 4, 4);
gbc_panel_2a.fill = GridBagConstraints.BOTH;
gbc_panel_2a.gridx = 0;
gbc_panel_2a.gridy = 1;
editROIButtonPanel.add(blendPercentPanel, gbc_panel_2a);
GridBagLayout gbl_panel_2a = new GridBagLayout();
blendPercentPanel.setLayout(gbl_panel_2a);
blendPercentROILabel = new JLabel("Domains");
GridBagConstraints gbc_blendPercentROILabel = new GridBagConstraints();
gbc_blendPercentROILabel.anchor = GridBagConstraints.WEST;
gbc_blendPercentROILabel.gridx = 0;
gbc_blendPercentROILabel.gridy = 0;
blendPercentPanel.add(blendPercentROILabel, gbc_blendPercentROILabel);
blendPercentSlider = new JSlider();
blendPercentSlider.setToolTipText("Mix view of Domains and background image");
blendPercentSlider.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
setBlendPercent(blendPercentSlider.getValue());
// if(!blendPercentSlider.getValueIsAdjusting()){
// setBlendPercent(blendPercentSlider.getValue());
// }
}
});
GridBagConstraints gbc_blendPercentSlider = new GridBagConstraints();
gbc_blendPercentSlider.fill = GridBagConstraints.HORIZONTAL;
gbc_blendPercentSlider.weightx = 0.5;
gbc_blendPercentSlider.gridx = 1;
gbc_blendPercentSlider.gridy = 0;
blendPercentPanel.add(blendPercentSlider, gbc_blendPercentSlider);
blendPercentImageLabel = new JLabel("Image");
GridBagConstraints gbc_blendPercentImageLabel = new GridBagConstraints();
gbc_blendPercentImageLabel.anchor = GridBagConstraints.EAST;
gbc_blendPercentImageLabel.gridx = 2;
gbc_blendPercentImageLabel.gridy = 0;
blendPercentPanel.add(blendPercentImageLabel, gbc_blendPercentImageLabel);
smoothOrigLabel = new JLabel("Original");
GridBagConstraints gbc_smoothOrigLabel = new GridBagConstraints();
gbc_smoothOrigLabel.insets = new Insets(0, 20, 0, 0);
gbc_smoothOrigLabel.gridx = 3;
gbc_smoothOrigLabel.gridy = 0;
blendPercentPanel.add(smoothOrigLabel, gbc_smoothOrigLabel);
smoothslider = new JSlider();
smoothslider.setToolTipText("Smooth background image");
smoothslider.setSnapToTicks(true);
smoothslider.setPaintTicks(true);
smoothslider.setMajorTickSpacing(1);
smoothslider.setMaximum(10);
smoothslider.setValue(0);
smoothslider.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
if (!smoothslider.getValueIsAdjusting()) {
firePropertyChange(FRAP_DATA_UNDERLAY_SMOOTH_PROPERTY, null, new Integer(smoothslider.getValue()));
}
}
});
GridBagConstraints gbc_smoothslider = new GridBagConstraints();
gbc_smoothslider.fill = GridBagConstraints.HORIZONTAL;
gbc_smoothslider.weightx = 0.5;
gbc_smoothslider.gridx = 4;
gbc_smoothslider.gridy = 0;
blendPercentPanel.add(smoothslider, gbc_smoothslider);
smootherLabel = new JLabel("Smoother");
GridBagConstraints gbc_smootherLabel = new GridBagConstraints();
gbc_smootherLabel.gridx = 5;
gbc_smootherLabel.gridy = 0;
blendPercentPanel.add(smootherLabel, gbc_smootherLabel);
roiDrawButtonGroup.add(selectButton);
roiDrawButtonGroup.add(paintButton);
roiDrawButtonGroup.add(eraseButton);
roiDrawButtonGroup.add(fillButton);
roiDrawButtonGroup.add(cropButton);
roiDrawButtonGroup.add(translateToolButton);
roiDrawButtonGroup.add(scaleToolButton);
BeanUtils.enableComponents(getToolButtonPanel(), false);
BeanUtils.enableComponents(editROIPanel, false);
histogramPanel = new HistogramPanel();
histogramPanel.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals(HistogramPanel.HISTOGRAM_SELECT_PROPERTY)) {
OverlayEditorPanelJAI.this.firePropertyChange(OverlayEditorPanelJAI.FRAP_DATA_HISTOUPDATEHIGHLIGHT_PROPERTY, null, (ListSelectionModel) evt.getNewValue());
} else if (evt.getPropertyName().equals(HistogramPanel.HISTOGRAM_APPLY_ACTION)) {
firePropertyChange(OverlayEditorPanelJAI.FRAP_DATA_UPDATEROI_WITHHIGHLIGHT_PROPERTY, null, null);
}
}
});
histogramPanel.setVisible(false);
histogramPanel.setBorder(new LineBorder(new Color(0, 0, 0)));
GridBagConstraints gbc_histogramButton = new GridBagConstraints();
gbc_histogramButton.fill = GridBagConstraints.BOTH;
gbc_histogramButton.insets = new Insets(2, 2, 2, 2);
gbc_histogramButton.gridx = 0;
gbc_histogramButton.gridy = 2;
add(histogramPanel, gbc_histogramButton);
}
use of org.vcell.util.gui.ColorIcon in project vcell by virtualcell.
the class CSGObjectTreeCellRenderer method getCSGNodeLabel.
static CSGNodeLabel getCSGNodeLabel(Object object, CSGNodeLabel csgNodeLabel) {
if (object instanceof CSGObject) {
CSGObject csgObject = (CSGObject) object;
csgNodeLabel.text = csgObject.getName();
java.awt.Color handleColor = new java.awt.Color(getColorMap()[csgObject.getHandle()]);
csgNodeLabel.icon = new ColorIcon(15, 15, handleColor);
} else if (object instanceof CSGNode) {
CSGNode csgNode = (CSGNode) object;
csgNodeLabel.text = csgNode.getName();
if (csgNode instanceof CSGPrimitive) {
CSGPrimitive csgPrimitive = (CSGPrimitive) csgNode;
switch(csgPrimitive.getType()) {
case CONE:
csgNodeLabel.icon = VCellIcons.csgConeIcon;
break;
case CUBE:
csgNodeLabel.icon = VCellIcons.csgCubeIcon;
break;
case CYLINDER:
csgNodeLabel.icon = VCellIcons.csgCylinderIcon;
break;
case SPHERE:
csgNodeLabel.icon = VCellIcons.csgSphereIcon;
break;
}
return csgNodeLabel;
}
if (csgNode instanceof CSGSetOperator) {
CSGSetOperator csgSetOperator = (CSGSetOperator) csgNode;
switch(csgSetOperator.getOpType()) {
case DIFFERENCE:
csgNodeLabel.icon = VCellIcons.csgSetDifferenceIcon;
break;
case INTERSECTION:
csgNodeLabel.icon = VCellIcons.csgSetIntersectionIcon;
break;
case UNION:
csgNodeLabel.icon = VCellIcons.csgSetUnionIcon;
break;
}
}
if (csgNode instanceof CSGTransformation) {
if (csgNode instanceof CSGRotation) {
CSGRotation csgRotation = (CSGRotation) csgNode;
Vect3d axis = csgRotation.getAxis();
double radius = csgRotation.getRotationRadians();
csgNodeLabel.text += ", radian=" + radius + ", axis=" + CSGObjectPropertiesPanel.getVect3dDescription(axis);
csgNodeLabel.icon = VCellIcons.csgRotationIcon;
} else if (csgNode instanceof CSGTranslation) {
CSGTranslation csgTranslation = (CSGTranslation) csgNode;
Vect3d translation = csgTranslation.getTranslation();
csgNodeLabel.text += ", Translation=" + CSGObjectPropertiesPanel.getVect3dDescription(translation);
csgNodeLabel.icon = VCellIcons.csgTranslationIcon;
} else if (csgNode instanceof CSGScale) {
CSGScale csgScale = (CSGScale) csgNode;
Vect3d scale = csgScale.getScale();
csgNodeLabel.text += ", Scale=" + CSGObjectPropertiesPanel.getVect3dDescription(scale);
csgNodeLabel.icon = VCellIcons.csgScaleIcon;
} else if (csgNode instanceof CSGHomogeneousTransformation) {
csgNodeLabel.icon = null;
}
}
}
return null;
}
Aggregations