From b1698dfd41ce87394c87fb4bc4e421b43226b291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Thu, 29 Dec 2022 16:48:57 +0100 Subject: [PATCH] replace buttons for shape --- .../jpexs/decompiler/flash/gui/MainPanel.java | 1 + .../decompiler/flash/gui/PreviewPanel.java | 100 +++++++++++------- 2 files changed, 61 insertions(+), 40 deletions(-) diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index d74ff4b61..36b8d8e59 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -4887,6 +4887,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se previewPanel.showDisplayEditTagPanel((PlaceObjectTypeTag) treeItem, frame); } else if (treeItem instanceof ShapeTag) { previewPanel.showDisplayEditTagPanel((ShapeTag)treeItem, 0); + previewPanel.setImageReplaceButtonVisible(false, false, !((Tag) treeItem).isReadOnly(), false, false); } else if (treeItem instanceof MetadataTag) { MetadataTag metadataTag = (MetadataTag) treeItem; previewPanel.showMetaDataPanel(metadataTag); diff --git a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java index 1405a6e6b..35b51e4e9 100644 --- a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java @@ -148,7 +148,7 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel private static final String CARDFONTPANEL = "Font card"; - private static final String PLACE_TAG_CARD = "PLACETAG"; + private static final String DISPLAYEDIT_TAG_CARD = "PLACETAG"; private final MainPanel mainPanel; @@ -294,7 +294,7 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel viewerCards.add(createUnknownCard(), UNKNOWN_TAG_CARD); viewerCards.add(createMetadataCard(), METADATA_TAG_CARD); viewerCards.add(createGenericTagCard(), GENERIC_TAG_CARD); - viewerCards.add(createPlaceTagCard(), PLACE_TAG_CARD); + viewerCards.add(createDisplayEditTagCard(), DISPLAYEDIT_TAG_CARD); viewerCards.add(createEmptyCard(), EMPTY_CARD); setLeftComponent(viewerCards); @@ -330,27 +330,7 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel setRightComponent(parametersPanel); } - private JPanel createImageButtonsPanel() { - replaceShapeButton = new JButton(mainPanel.translate("button.replace"), View.getIcon("replaceshape16")); - replaceShapeButton.setMargin(new Insets(3, 3, 3, 10)); - replaceShapeButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - mainPanel.replaceButtonActionPerformed(mainPanel.getCurrentTree().getSelected()); - } - }); - replaceShapeButton.setVisible(false); - - replaceShapeUpdateBoundsButton = new JButton(mainPanel.translate("button.replaceNoFill"), View.getIcon("replaceshape16")); - replaceShapeUpdateBoundsButton.setMargin(new Insets(3, 3, 3, 10)); - replaceShapeUpdateBoundsButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - mainPanel.replaceNoFillButtonActionPerformed(mainPanel.getCurrentTree().getCurrentTreeItem()); - } - }); - replaceShapeUpdateBoundsButton.setVisible(false); - + private JPanel createImageButtonsPanel() { replaceSoundButton = new JButton(mainPanel.translate("button.replace"), View.getIcon("replacesound16")); replaceSoundButton.setMargin(new Insets(3, 3, 3, 10)); replaceSoundButton.addActionListener(new ActionListener() { @@ -398,8 +378,8 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel ButtonsPanel imageButtonsPanel = new ButtonsPanel(); imageButtonsPanel.add(replaceSoundButton); - imageButtonsPanel.add(replaceShapeButton); - imageButtonsPanel.add(replaceShapeUpdateBoundsButton); + //imageButtonsPanel.add(replaceShapeButton); + //imageButtonsPanel.add(replaceShapeUpdateBoundsButton); imageButtonsPanel.add(replaceImageButton); imageButtonsPanel.add(replaceImageAlphaButton); imageButtonsPanel.add(replaceMovieButton); @@ -723,12 +703,12 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel return genericTagCard; } - private JPanel createPlaceTagCard() { - JPanel placeTagCard = new JPanel(new BorderLayout()); + private JPanel createDisplayEditTagCard() { + JPanel displayEditTagCard = new JPanel(new BorderLayout()); JPanel previewPanel = new JPanel(new BorderLayout()); - JPanel previewCnt = new JPanel(new BorderLayout()); + JPanel previewCnt = new JPanel(new BorderLayout()); displayEditImagePanel = new ImagePanel(); displayEditImagePanel.addPlaceObjectSelectedListener(new ActionListener() { @@ -773,9 +753,9 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel addPlaceGenericListener(); displayEditSplitPane = new JPersistentSplitPane(JSplitPane.HORIZONTAL_SPLIT, previewPanel, displayEditGenericPanel, Configuration.guiSplitPanePlaceDividerLocationPercent); - placeTagCard.add(displayEditSplitPane, BorderLayout.CENTER); + displayEditTagCard.add(displayEditSplitPane, BorderLayout.CENTER); //placeSplitPane.setDividerLocation(800); - placeTagCard.add(createPlaceTagButtonsPanel(), BorderLayout.SOUTH); + displayEditTagCard.add(createDisplayEditTagButtonsPanel(), BorderLayout.SOUTH); ((GenericTagTreePanel) displayEditGenericPanel).addTreeSelectionListener(new TreeSelectionListener() { @Override @@ -838,10 +818,12 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel } }); - return placeTagCard; + return displayEditTagCard; } - private JPanel createPlaceTagButtonsPanel() { + private JPanel createDisplayEditTagButtonsPanel() { + + displayEditTransformButton = new JButton(mainPanel.translate("button.transform"), View.getIcon("freetransform16")); displayEditTransformButton.setMargin(new Insets(3, 3, 3, 10)); displayEditTransformButton.addActionListener(this::transformDisplayEditTagButtonActionPerformed); @@ -850,10 +832,30 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel displayEditEditButton.addActionListener(this::editDisplayEditTagButtonActionPerformed); displayEditSaveButton = new JButton(mainPanel.translate("button.save"), View.getIcon("save16")); displayEditSaveButton.setMargin(new Insets(3, 3, 3, 10)); - displayEditSaveButton.addActionListener(this::savePlaceTagButtonActionPerformed); + displayEditSaveButton.addActionListener(this::saveDisplayEditTagButtonActionPerformed); displayEditCancelButton = new JButton(mainPanel.translate("button.cancel"), View.getIcon("cancel16")); displayEditCancelButton.setMargin(new Insets(3, 3, 3, 10)); - displayEditCancelButton.addActionListener(this::cancelPlaceTagButtonActionPerformed); + displayEditCancelButton.addActionListener(this::cancelDisplayEditTagButtonActionPerformed); + + replaceShapeButton = new JButton(mainPanel.translate("button.replace"), View.getIcon("replaceshape16")); + replaceShapeButton.setMargin(new Insets(3, 3, 3, 10)); + replaceShapeButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + mainPanel.replaceButtonActionPerformed(mainPanel.getCurrentTree().getSelected()); + } + }); + replaceShapeButton.setVisible(false); + + replaceShapeUpdateBoundsButton = new JButton(mainPanel.translate("button.replaceNoFill"), View.getIcon("replaceshape16")); + replaceShapeUpdateBoundsButton.setMargin(new Insets(3, 3, 3, 10)); + replaceShapeUpdateBoundsButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + mainPanel.replaceNoFillButtonActionPerformed(mainPanel.getCurrentTree().getCurrentTreeItem()); + } + }); + replaceShapeUpdateBoundsButton.setVisible(false); if (Configuration.editorMode.get()) { displayEditEditButton.setVisible(false); @@ -872,6 +874,8 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel placeTagButtonsPanel.add(displayEditEditButton); placeTagButtonsPanel.add(displayEditSaveButton); placeTagButtonsPanel.add(displayEditCancelButton); + placeTagButtonsPanel.add(replaceShapeButton); + placeTagButtonsPanel.add(replaceShapeUpdateBoundsButton); return placeTagButtonsPanel; } @@ -1176,7 +1180,7 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel } public void showDisplayEditTagPanel(Tag tag, int frame) { - showCardLeft(PLACE_TAG_CARD); + showCardLeft(DISPLAYEDIT_TAG_CARD); displayEditTag = tag; displayEditSplitPane.setDividerLocation((int) (0.6 * this.getWidth())); displayEditGenericPanel.setVisible(!readOnly); @@ -1455,7 +1459,7 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel mainPanel.clearEditingStatus(); } - private void savePlaceTag(boolean refreshTree) { + private void saveDisplayEditTag(boolean refreshTree) { if (placeEditMode == PLACE_EDIT_TRANSFORM) { Matrix matrix = displayEditImagePanel.getNewMatrix(); if (displayEditTag instanceof PlaceObjectTypeTag) { @@ -1557,6 +1561,12 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel } displayEditGenericPanel.setEditMode(false, null); } + + if (displayEditTag instanceof ShapeTag) { + replaceShapeButton.setVisible(true); + replaceShapeUpdateBoundsButton.setVisible(true); + } + displayEditTransformButton.setVisible(true); if (Configuration.editorMode.get()) { displayEditEditButton.setVisible(false); @@ -1584,8 +1594,8 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel } } - private void savePlaceTagButtonActionPerformed(ActionEvent evt) { - savePlaceTag(true); + private void saveDisplayEditTagButtonActionPerformed(ActionEvent evt) { + saveDisplayEditTag(true); } private void editDisplayEditTagButtonActionPerformed(ActionEvent evt) { @@ -1595,6 +1605,8 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel displayEditTransformButton.setVisible(false); displayEditSaveButton.setVisible(true); displayEditCancelButton.setVisible(true); + replaceShapeButton.setVisible(false); + replaceShapeUpdateBoundsButton.setVisible(false); mainPanel.setEditingStatus(); } @@ -1613,6 +1625,9 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel displayEditTransformButton.setVisible(false); displayEditSaveButton.setVisible(true); displayEditCancelButton.setVisible(true); + + replaceShapeButton.setVisible(false); + replaceShapeUpdateBoundsButton.setVisible(false); if (Configuration.editorMode.get()) { displayEditSaveButton.setEnabled(false); @@ -1853,7 +1868,7 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel } - private void cancelPlaceTagButtonActionPerformed(ActionEvent evt) { + private void cancelDisplayEditTagButtonActionPerformed(ActionEvent evt) { if (placeEditMode == PLACE_EDIT_TRANSFORM) { if (displayEditTag instanceof PlaceObjectTypeTag) { PlaceObjectTypeTag place = (PlaceObjectTypeTag) displayEditTag; @@ -1883,6 +1898,11 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel displayEditCancelButton.setVisible(false); } + if (displayEditTag instanceof ShapeTag) { + replaceShapeButton.setVisible(true); + replaceShapeUpdateBoundsButton.setVisible(true); + } + mainPanel.clearEditingStatus(); displayEditTransformButton.setVisible(true); @@ -1919,7 +1939,7 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel } if (displayEditSaveButton.isVisible() && displayEditSaveButton.isEnabled() && Configuration.autoSaveTagModifications.get()) { - savePlaceTag(false); + saveDisplayEditTag(false); ok = ok && !(displayEditSaveButton.isVisible() && displayEditSaveButton.isEnabled()); } if (genericSaveButton.isVisible() && genericSaveButton.isEnabled()) {