Skip to content

Commit

Permalink
Add functionality for advance retreat buttons.
Browse files Browse the repository at this point in the history
  • Loading branch information
jmpenn committed Feb 13, 2025
1 parent c57034b commit c0727c9
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 20 deletions.
36 changes: 23 additions & 13 deletions trick_source/java/src/main/java/trick/jobperf/TraceViewCanvas.java
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ public TraceViewCanvas( ArrayList<JobExecutionEvent> jobExecEvtList,
FrameRecord frameRecord = new FrameRecord();
for (JobExecutionEvent jobExec : jobExecEvtList ) {

if ((!wasTOF && jobExec.isTOF) || ( wasEOF && !jobExec.isEOF )) {
if ((!wasTOF && jobExec.isTOF) || ( wasEOF && !jobExec.isEOF )) {

// Wrap up the previous frame record.
// Wrap up the previous frame record.
frameRecord.stop = jobExec.start;
frameRecord.CalculateJobContainment();
frameList.add(frameRecord);
Expand All @@ -110,7 +110,7 @@ public TraceViewCanvas( ArrayList<JobExecutionEvent> jobExecEvtList,
wasEOF = jobExec.isEOF;

idToColorMap.addKey(jobExec.id);
}
}

frameArray = frameList.toArray( new FrameRecord[ frameList.size() ]);

Expand Down Expand Up @@ -157,18 +157,28 @@ public int getLastRenderFrame() {
return frameRenderRange.last;
}

// public void moveRenderFrameRangeBy(int advance) {
//
// if ( ((frameRenderRange.first + advance) > 0) &&
// ((frameRenderRange.first + advance) < frameArray.length ))
//
//
//
// }
// }
public void moveRenderFrameRangeBy(int advance) {
if ( frameArray.length > 50 ) {

int maxIndex = frameArray.length - 1;
int tFirst = frameRenderRange.first + advance;
int tLast = frameRenderRange.last + advance;

if (tLast > maxIndex) {
tLast = maxIndex;
tFirst = maxIndex - 50;
} else if (tFirst < minIndex) {
tFirst = 0;
tLast = 50;
}
frameRenderRange = new FrameRange(tFirst, tLast);
setPreferredSize(new Dimension(500, neededPanelHeight()));
repaint();
}
}

public void setFirstRenderFrame(int first) throws InvalidFrameBoundsExpection {
if ((first >= 0) && (first <= frameRenderRange.last)) {
if ( (first >= 0) && (first <= frameRenderRange.last)) {
frameRenderRange = new FrameRange(first, frameRenderRange.last);
setPreferredSize(new Dimension(500, neededPanelHeight()));
repaint();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,11 +95,11 @@ public void keyPressed(KeyEvent e) {
advanceRangeButton.setToolTipText("Advance the selected range of frames to be displayed.");
add(advanceRangeButton);

advanceRangeButton = new JButton("\u25b2");
advanceRangeButton.addActionListener(this);
advanceRangeButton.setActionCommand("retreat-frame-range");
advanceRangeButton.setToolTipText("Retreat the selected range of frames to be displayed.");
add(advanceRangeButton);
retreatRangeButton = new JButton("\u25b2");
retreatRangeButton.addActionListener(this);
retreatRangeButton.setActionCommand("retreat-frame-range");
retreatRangeButton.setToolTipText("Retreat the selected range of frames to be displayed.");
add(retreatRangeButton);

add( new JLabel(" "));

Expand All @@ -121,17 +121,23 @@ public void actionPerformed(ActionEvent e) {
traceView.displaySelectedFrame();
break;
case "advance-frame-range":
// DO ACTION
moveRenderFrameRangeBy(50);
break;
case "retreat-frame-range":
// DO ACTION
moveRenderFrameRangeBy(-50);
break;
default:
System.out.println("Unknown Action Command:" + s);
break;
}
}

private void moveRenderFrameRangeBy(int advance) {
traceView.moveRenderFrameRangeBy(advance);
firstRenderFrameField.setText( String.format("%d", traceView.getFirstRenderFrame()));
lastRenderFrameField.setText( String.format("%d", traceView.getLastRenderFrame()));
}

private void setFirstRenderFrame() {
int newStartFrame = 0;
try {
Expand Down

0 comments on commit c0727c9

Please sign in to comment.