enable buttons to move up and down on all (extracted) list panels

This commit is contained in:
OMGeeky
2025-06-21 20:01:01 +02:00
parent d166e49f4d
commit 3cc6eb9edb
3 changed files with 9 additions and 20 deletions

View File

@@ -152,8 +152,7 @@ public class DialogueEditor extends JSONElementEditor {
Dialogue.Reward::new,
cellRendererRewards,
titleRewards,
(x) -> null,
false
(x) -> null
).collapsiblePanel;
if (dialogue.rewards == null || dialogue.rewards.isEmpty()) {
rewards.collapse();
@@ -181,8 +180,7 @@ public class DialogueEditor extends JSONElementEditor {
Dialogue.Reply::new,
cellRendererReplies,
titleReplies,
(x) -> null,
true
(x) -> null
).collapsiblePanel;
if (dialogue.replies == null || dialogue.replies.isEmpty()) {
replies.collapse();
@@ -459,8 +457,7 @@ public class DialogueEditor extends JSONElementEditor {
Requirement::new,
cellRendererRequirements,
titleRequirements,
(x) -> x.required_obj,
false
(x) -> x.required_obj
);
CollapsiblePanel requirementsPane = itemsPane.collapsiblePanel;
requirementsList = itemsPane.list;

View File

@@ -66,8 +66,7 @@ public class DroplistEditor extends JSONElementEditor {
DroppedItem::new,
new DroppedItemsCellRenderer(),
"Items in this droplist: ",
(x) -> x.item,
false
(x) -> x.item
).collapsiblePanel;
if (droplist.dropped_items == null || droplist.dropped_items.isEmpty()) {
itemsPane.collapse();

View File

@@ -9,7 +9,6 @@ import com.gpl.rpg.atcontentstudio.ui.OrderedListenerListModel;
import com.jidesoft.swing.JideBoxLayout;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.function.Supplier;
@@ -40,8 +39,7 @@ public class UiUtils {
Supplier<E> tempSupplier,
DefaultListCellRenderer cellRenderer,
String title,
BasicLambdaWithArgAndReturn<E, GameDataElement> getReferencedObj,
boolean withMoveButtons) {
BasicLambdaWithArgAndReturn<E, GameDataElement> getReferencedObj) {
CollapsiblePanel itemsPane = new CollapsiblePanel(title);
itemsPane.setLayout(new JideBoxLayout(itemsPane, JideBoxLayout.PAGE_AXIS));
final JList<E> itemsList = new JList<>(itemsListModel);
@@ -62,16 +60,13 @@ public class UiUtils {
setSelectedItem.doIt(selectedValue);
if (selectedValue == null) {
deleteBtn.setEnabled(false);
if (withMoveButtons) {
moveUpBtn.setEnabled(false);
moveDownBtn.setEnabled(false);
}
moveUpBtn.setEnabled(false);
moveDownBtn.setEnabled(false);
} else {
deleteBtn.setEnabled(true);
if (withMoveButtons) {
moveUpBtn.setEnabled(itemsList.getSelectedIndex() > 0);
moveDownBtn.setEnabled(itemsList.getSelectedIndex() < (itemsListModel.getSize() - 1));
}
}
updateEditorPane.doIt(editorPane);
});
@@ -80,10 +75,8 @@ public class UiUtils {
listButtonsPane.setLayout(new JideBoxLayout(listButtonsPane, JideBoxLayout.LINE_AXIS, 6));
addRemoveAndAddButtons(listener, itemsListModel, selectedItemReset, selectedItem, tempSupplier, createBtn, itemsList, listButtonsPane, deleteBtn);
addMoveButtonListeners(listener, itemsListModel, selectedItem, moveUpBtn, itemsList, listButtonsPane, moveDownBtn);
if (withMoveButtons) {
addMoveButtonListeners(listener, itemsListModel, selectedItem, moveUpBtn, itemsList, listButtonsPane, moveDownBtn);
}
listButtonsPane.add(new JPanel(), JideBoxLayout.VARY);
itemsPane.add(listButtonsPane, JideBoxLayout.FIX);
}