extract refresh button creation

This commit is contained in:
OMGeeky
2025-06-21 19:09:35 +02:00
parent 18cb73385f
commit 685ce223da
3 changed files with 18 additions and 22 deletions

View File

@@ -108,15 +108,7 @@ public class DialogueEditor extends JSONElementEditor {
dialogueGraphView = new DialogueGraphView(dialogue, null);
pane.add(dialogueGraphView, BorderLayout.CENTER);
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new JideBoxLayout(buttonPane, JideBoxLayout.LINE_AXIS));
JButton reloadButton = new JButton("Refresh graph");
buttonPane.add(reloadButton, JideBoxLayout.FIX);
buttonPane.add(new JPanel(), JideBoxLayout.VARY);
pane.add(buttonPane, BorderLayout.NORTH);
reloadButton.addActionListener(new ActionListener() {
JPanel buttonPane = UiUtils.createRefreshButtonPane(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
pane.remove(dialogueGraphView);
@@ -126,6 +118,7 @@ public class DialogueEditor extends JSONElementEditor {
pane.repaint();
}
});
pane.add(buttonPane, BorderLayout.NORTH);
return pane;
}

View File

@@ -8,6 +8,7 @@ import com.gpl.rpg.atcontentstudio.model.gamedata.*;
import com.gpl.rpg.atcontentstudio.model.sprites.Spritesheet;
import com.gpl.rpg.atcontentstudio.ui.*;
import com.gpl.rpg.atcontentstudio.ui.gamedataeditors.dialoguetree.DialogueGraphView;
import com.gpl.rpg.atcontentstudio.utils.UiUtils;
import com.jidesoft.swing.JideBoxLayout;
import javax.swing.*;
@@ -170,20 +171,14 @@ public class NPCEditor extends JSONElementEditor {
dialogueGraphView = new DialogueGraphView(npc.dialogue, npc);
dialogueGraphPane.add(dialogueGraphView, BorderLayout.CENTER);
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new JideBoxLayout(buttonPane, JideBoxLayout.LINE_AXIS));
JButton reloadButton = new JButton("Refresh graph");
buttonPane.add(reloadButton, JideBoxLayout.FIX);
buttonPane.add(new JPanel(), JideBoxLayout.VARY);
dialogueGraphPane.add(buttonPane, BorderLayout.NORTH);
reloadButton.addActionListener(new ActionListener() {
JPanel buttonPane = UiUtils.createRefreshButtonPane(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
reloadGraphView(npc);
}
});
dialogueGraphPane.add(buttonPane, BorderLayout.NORTH);
return dialogueGraphPane;
}

View File

@@ -9,10 +9,8 @@ import com.gpl.rpg.atcontentstudio.ui.OrderedListenerListModel;
import com.jidesoft.swing.JideBoxLayout;
import javax.swing.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.*;
import java.awt.event.*;
import java.util.function.Supplier;
public class UiUtils {
@@ -20,6 +18,16 @@ public class UiUtils {
public CollapsiblePanel collapsiblePanel;
public JList<E> list;
}
public static JPanel createRefreshButtonPane(ActionListener reloadButtonEditor){
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new JideBoxLayout(buttonPane, JideBoxLayout.LINE_AXIS));
JButton reloadButton = new JButton("Refresh graph");
buttonPane.add(reloadButton, JideBoxLayout.FIX);
buttonPane.add(new JPanel(), JideBoxLayout.VARY);
reloadButton.addActionListener(reloadButtonEditor);
return buttonPane;
}
public static <S, E, M extends OrderedListenerListModel<S, E>> CollapsibleItemListCreation<E> getCollapsibleItemList(FieldUpdateListener listener,
M itemsListModel,