/** * Gets the selected RGB-image profile if any. * * @return the selected profile, can be null * @see #getRgbaExpressions() */ public RGBImageProfile getSelectedProfile() { final ProfileItem profileItem = getSelectedProfileItem(); return profileItem != null ? profileItem.getProfile() : null; }
private boolean isSelectedProfileModified() { final ProfileItem profileItem = getSelectedProfileItem(); final String[] profileRgbaExpressions = profileItem.getProfile().getRgbaExpressions(); final String[] userRgbaExpressions = getRgbaExpressions(); for (int i = 0; i < profileRgbaExpressions.length; i++) { final String userRgbaExpression = userRgbaExpressions[i]; final String profileRgbaExpression = profileRgbaExpressions[i]; if (!profileRgbaExpression.equals(userRgbaExpression)) { return true; } } return false; }
private void performDelete() { final ProfileItem selectedProfileItem = getSelectedProfileItem(); if (selectedProfileItem != null && !selectedProfileItem.getProfile().isInternal()) { profileModel.removeElement(selectedProfileItem); } }
private void onRgbaExpressionChanged() { if (settingRgbaExpressions) { return; } final ProfileItem profileItem = getSelectedProfileItem(); if (profileItem != null) { if (isSelectedProfileModified()) { profileBox.revalidate(); profileBox.repaint(); } } final String[] rgbaExpressions = getRgbaExpressions(); final int defaultProductIndex = ArrayUtils.getElementIndex(product, openedProducts); try { if (!BandArithmetic.areRastersEqualInSize(openedProducts, defaultProductIndex, rgbaExpressions)) { referencedRastersAreCompatibleLabel.setText("Referenced rasters are not of the same size"); referencedRastersAreCompatibleLabel.setForeground(warnMsgColor); } else { referencedRastersAreCompatibleLabel.setText("Expressions are valid"); referencedRastersAreCompatibleLabel.setForeground(okMsgColor); } } catch (ParseException e) { referencedRastersAreCompatibleLabel.setText("Expressions are invalid"); referencedRastersAreCompatibleLabel.setForeground(warnMsgColor); } updateUIState(); }
private void setRgbaExpressionsFromSelectedProfile() { settingRgbaExpressions = true; try { final ProfileItem profileItem = getSelectedProfileItem(); if (profileItem != null) { final String[] rgbaExpressions = profileItem.getProfile().getRgbaExpressions(); for (int i = 0; i < rgbaExprBoxes.length; i++) { setExpression(i, rgbaExpressions[i]); } } else { for (int i = 0; i < rgbaExprBoxes.length; i++) { setExpression(i, ""); } } } finally { settingRgbaExpressions = false; } updateUIState(); }
private void updateUIState() { final ProfileItem profileItem = getSelectedProfileItem(); if (profileItem != null) { saveAsAction.setEnabled(true); deleteAction.setEnabled(!profileItem.getProfile().isInternal()); } else { saveAsAction.setEnabled(isAtLeastOneColorExpressionSet()); deleteAction.setEnabled(false); } }