Skip to content

Commit

Permalink
added remove all position/time keyframes buttons
Browse files Browse the repository at this point in the history
  • Loading branch information
RaderRMT committed Jan 30, 2021
1 parent 637ae00 commit e651cb6
Show file tree
Hide file tree
Showing 15 changed files with 387 additions and 299 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

META-INF/MANIFEST.MF
META-INF/
.idea/
libs/
out/
Expand Down
2 changes: 1 addition & 1 deletion fr/rader/billy/Logger.java
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ public void exception(Exception exception, String replay) {
writeln("Timelines dump: " + replay);

JOptionPane.showMessageDialog(null, "ERROR: " + exception.getLocalizedMessage() +
"\nPlease open an issue on https://github.com/Nemos59/Billy/issues, and provide the \".minecraft/logs/billy.log\" file.");
"\nPlease open an issue on https://github.com/RaderRMT/Billy/issues, and provide the \"" + LOG_OUTPUT.getAbsolutePath() + "\" file.");
}

public void printUnused(String replay) {
Expand Down
2 changes: 1 addition & 1 deletion fr/rader/billy/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public class Main {

private static Main instance;

private Logger logger = new Logger();
private final Logger logger = new Logger();

public JCheckBoxMenuItem saveToDefaultFolder;

Expand Down
412 changes: 226 additions & 186 deletions fr/rader/billy/gui/inspector/TimelineInspector.form

Large diffs are not rendered by default.

226 changes: 125 additions & 101 deletions fr/rader/billy/gui/inspector/TimelineInspector.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,105 +8,129 @@

public class TimelineInspector {

private static TimelineInspector instance;

public JPanel translateTimelinePanel;
public JPanel rightPanel;
public JPanel leftPanel;
public JPanel panel;

private JLabel timelineNameLabel;
private JLabel positionKeyframesLabel;
private JLabel timeKeyframesLabel;
private JLabel selectedPositionKeyframeLabel;
private JLabel timestampLabel;
private JLabel cameraRotationLabel;
private JLabel yawLabel;
private JLabel pitchLabel;
private JLabel rollLabel;
private JLabel cameraPositionLabel;
private JLabel xLabel;
private JLabel yLabel;
private JLabel zLabel;
private JLabel spectatorKeyframeLabel;
private JLabel selectedTimeKeyframeLabel;
private JLabel replayTimestampLabel;
private JLabel keyframeTimestampLabel;
private JLabel shiftTimelineLabel;
private JLabel oldCoordsLabel;
private JLabel oldXCoordsLabel;
private JLabel oldYCoordsLabel;
private JLabel oldZCoordsLabel;
private JLabel newCoordsLabel;
private JLabel newXCoordsLabel;
private JLabel newYCoordsLabel;
private JLabel newZCoordsLabel;

public JTextField timelineNameField;
public JTextField positionKeyframesField;
public JTextField timeKeyframesField;
public JComboBox<String> selectedKeyframeCombo;
public JComboBox<String> selectedTimeKeyframeCombo;
public JTextField timestampField;
public JTextField yawField;
public JTextField pitchField;
public JTextField rollField;
public JTextField xField;
public JTextField yField;
public JTextField zField;
public JCheckBox spectatorKeyframeCheck;
public JTextField replayTimestampField;
public JTextField keyframeTimestampField;
public JButton shiftTimelineButton;
public JButton savePositionKeyframeButton;
public JButton saveTimeKeyframeButton;
public JSpinner shiftTimelineSpinner;
public JButton moveTimelineButton;
public JTextField oldXField;
public JTextField oldYField;
public JTextField oldZField;
public JTextField newXField;
public JTextField newYField;
public JTextField newZField;
private JButton shiftReplayTimestampsButton;

public Path timePath;
public Path positionPath;

public TimelineInspector(Timeline timeline, String name) {
instance = this;

timelineNameField.setText(name);

timePath = timeline.getPaths().get(0);
positionPath = timeline.getPaths().get(1);

positionKeyframesField.setText(String.valueOf(positionPath.getKeyframes().size()));
timeKeyframesField.setText(String.valueOf(timePath.getKeyframes().size()));

selectedKeyframeCombo.addActionListener(new PositionKeyframeListener());
selectedTimeKeyframeCombo.addActionListener(new TimeKeyframeListener());

SaveKeyframeListener saveKeyframeListener = new SaveKeyframeListener();
savePositionKeyframeButton.addActionListener(saveKeyframeListener);
saveTimeKeyframeButton.addActionListener(saveKeyframeListener);

shiftTimelineButton.addActionListener(new ShiftTimelineListener());

moveTimelineButton.addActionListener(new TranslateTimelineListener());

shiftReplayTimestampsButton.addActionListener(new ShiftReplayTimestampListener());

for(int x = 0; x < positionPath.getKeyframes().size(); x++) {
selectedKeyframeCombo.addItem(String.valueOf(x));
}

for(int x = 0; x < timePath.getKeyframes().size(); x++) {
selectedTimeKeyframeCombo.addItem(String.valueOf(x));
}
}

public static TimelineInspector getInstance() {
return instance;
}
// Main panel and timeline infos
public JPanel panel;
private JLabel timelineNameLabel;
private JLabel positionKeyframeLabel;
private JLabel timeKeyframesLabel;
public JTextField timelineNameField;
public JTextField positionKeyframesAmountField;
public JTextField timeKeyframesAmountField;

// Timestamp Data Panel
public JPanel timestampDataPanel;
public JLabel selectedPositionKeyframeLabel;
public JLabel selectedTimeKeyframeLabel;
public JComboBox<String> selectedPositionKeyframeCombo;
public JComboBox<String> selectedTimeKeyframeCombo;

private JLabel positionKeyframeTimestampLabel;
public JTextField positionKeyframeTimestampField;

private JLabel cameraRotationLabel;
private JLabel yawLabel;
private JLabel pitchLabel;
private JLabel rollLabel;
public JTextField yawField;
public JTextField pitchField;
public JTextField rollField;

private JLabel cameraPositionLabel;
private JLabel xLabel;
private JLabel yLabel;
private JLabel zLabel;
public JTextField xField;
public JTextField yField;
public JTextField zField;

private JLabel isSpectatorKeyframeLabel;
public JCheckBox isSpectatorKeyframeCheck;

private JLabel replayTimestampLabel;
private JLabel timeKeyframeLabel;
public JTextField replayTimestampField;
public JTextField timeKeyframeTimestampField;

// Move path
public JPanel movePathPanel;
public JButton savePositionKeyframeButton;
public JButton movePathButton;
public JButton saveTimeKeyframeButton;

private JLabel oldCoordsLabel;
private JLabel oldXLabel;
private JLabel oldYLabel;
private JLabel oldZLabel;
public JTextField oldXField;
public JTextField oldYField;
public JTextField oldZField;

private JLabel newCoordsLabel;
private JLabel newXLabel;
private JLabel newYLabel;
private JLabel newZLabel;
public JTextField newXField;
public JTextField newYField;
public JTextField newZField;

// Shift Keyframes
public JPanel shiftPanel;
private JLabel shiftLabel;
public JButton shiftPositionKeyframesButton;
public JButton shiftTimeKeyframesButton;
public JButton shiftReplayTimestampsButton;
public JButton shiftAllKeyframesButton;
public JSpinner shiftSpinner;
private JButton removePositionKeyframeButton;
private JButton removeTimeKeyframeButton;

// Not GUI related:
private static TimelineInspector instance;

public Path timePath;
public Path positionPath;

public TimelineInspector(Timeline timeline, String name) {
instance = this;

timePath = timeline.getPaths().get(0);
positionPath = timeline.getPaths().get(1);

timelineNameField.setText(name);

positionKeyframesAmountField.setText(String.valueOf(positionPath.getKeyframes().size()));
timeKeyframesAmountField.setText(String.valueOf(timePath.getKeyframes().size()));

// Adding listeners
selectedPositionKeyframeCombo.addActionListener(new PositionKeyframeListener());
selectedTimeKeyframeCombo.addActionListener(new TimeKeyframeListener());

SaveKeyframeListener saveKeyframeListener = new SaveKeyframeListener();
savePositionKeyframeButton.addActionListener(saveKeyframeListener);
saveTimeKeyframeButton.addActionListener(saveKeyframeListener);

ShiftListener shiftListener = new ShiftListener();
shiftAllKeyframesButton.addActionListener(shiftListener);
shiftPositionKeyframesButton.addActionListener(shiftListener);
shiftReplayTimestampsButton.addActionListener(shiftListener);
shiftTimeKeyframesButton.addActionListener(shiftListener);

movePathButton.addActionListener(new MovePathListener());

DeleteKeyframesListener deleteKeyframesListener = new DeleteKeyframesListener();
removePositionKeyframeButton.addActionListener(deleteKeyframesListener);
removeTimeKeyframeButton.addActionListener(deleteKeyframesListener);

for(int x = 0; x < positionPath.getKeyframes().size(); x++) {
selectedPositionKeyframeCombo.addItem(String.valueOf(x));
}

for(int x = 0; x < timePath.getKeyframes().size(); x++) {
selectedTimeKeyframeCombo.addItem(String.valueOf(x));
}
}

public static TimelineInspector getInstance() {
return instance;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package fr.rader.billy.gui.inspector.listeners;

import fr.rader.billy.gui.inspector.TimelineInspector;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class DeleteKeyframesListener implements ActionListener {

@Override
public void actionPerformed(ActionEvent e) {
TimelineInspector inspector = TimelineInspector.getInstance();

switch(((JButton) e.getSource()).getText()) {
case "Remove All Position Keyframes":
inspector.positionPath.getKeyframes().clear();
break;
case "Remove All Time Keyframes":
inspector.timePath.getKeyframes().clear();
break;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

public class MovePathListener implements ActionListener {

private Logger logger = Main.getInstance().getLogger();
private final Logger logger = Main.getInstance().getLogger();

@Override
public void actionPerformed(ActionEvent e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

public class SaveKeyframeListener implements ActionListener {

private Logger logger = Main.getInstance().getLogger();
private final Logger logger = Main.getInstance().getLogger();

@Override
public void actionPerformed(ActionEvent e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

public class CopyTimelineListener implements ActionListener {

private Logger logger = Main.getInstance().getLogger();
private final Logger logger = Main.getInstance().getLogger();

private MainInterface mainInterface;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

public class DeleteTimelineListener implements ActionListener {

private Logger logger = Main.getInstance().getLogger();
private final Logger logger = Main.getInstance().getLogger();

private MainInterface mainInterface;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

public class MoveTimelineListener implements ActionListener {

private Logger logger = Main.getInstance().getLogger();
private final Logger logger = Main.getInstance().getLogger();

private MainInterface mainInterface;

Expand Down
2 changes: 1 addition & 1 deletion fr/rader/billy/gui/main/listeners/OpenReplayListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

public class OpenReplayListener implements ActionListener {

private static Logger logger = Main.getInstance().getLogger();
private static final Logger logger = Main.getInstance().getLogger();

public static String REPLAY_RECORDINGS;
public static String LEFT_SIDE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

public class RenameTimelineListener implements ActionListener {

private Logger logger = Main.getInstance().getLogger();
private final Logger logger = Main.getInstance().getLogger();

private MainInterface mainInterface;

Expand Down
2 changes: 1 addition & 1 deletion fr/rader/billy/gui/main/listeners/SaveReplayListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

public class SaveReplayListener implements ActionListener {

private Logger logger = Main.getInstance().getLogger();
private final Logger logger = Main.getInstance().getLogger();

private File lastFolderOpened;

Expand Down
2 changes: 1 addition & 1 deletion fr/rader/billy/timeline/TimelineSerialization.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

public class TimelineSerialization {

private Logger logger = Main.getInstance().getLogger();
private final Logger logger = Main.getInstance().getLogger();

public String serialize(Map<String, Timeline> timelines) {
StringWriter stringWriter = new StringWriter();
Expand Down

0 comments on commit e651cb6

Please sign in to comment.