Improved debug gui
This commit is contained in:
parent
5572a27736
commit
26c67697a4
4 changed files with 75 additions and 44 deletions
|
@ -333,7 +333,7 @@ public class MechanicalNode implements IMechanicalNode, ISaveObj
|
|||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return this.getClass().getName() + this.hashCode();
|
||||
return this.getClass().getSimpleName() + this.hashCode();
|
||||
}
|
||||
|
||||
public AbstractMap<MechanicalNode, ForgeDirection> getConnections()
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
package resonantinduction.mechanical.gear;
|
||||
|
||||
import java.awt.Label;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class DataLabel extends Label
|
||||
{
|
||||
public void update()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
|
@ -24,7 +24,7 @@ import resonantinduction.mechanical.energy.grid.PartMechanical;
|
|||
@SuppressWarnings("serial")
|
||||
public class GearDebugFrame extends Frame implements ActionListener
|
||||
{
|
||||
List<DataLabel> dataLabels = new ArrayList<DataLabel>();
|
||||
List<UpdatedLabel> dataLabels = new ArrayList<UpdatedLabel>();
|
||||
Label[] connections = new Label[20];
|
||||
|
||||
long tick = 0;
|
||||
|
@ -34,92 +34,102 @@ public class GearDebugFrame extends Frame implements ActionListener
|
|||
{
|
||||
this.part = part;
|
||||
setLayout(new BorderLayout());
|
||||
setBackground(Color.DARK_GRAY);
|
||||
setBackground(Color.LIGHT_GRAY);
|
||||
|
||||
//Top bar
|
||||
Panel topPanel = new Panel(new GridLayout(1, 4, 0, 0));
|
||||
|
||||
DataLabel tickLabel = new DataLabel()
|
||||
UpdatedLabel tickLabel = new UpdatedLabel("Tick: ")
|
||||
{
|
||||
@Override
|
||||
public void update()
|
||||
public String buildLabel()
|
||||
{
|
||||
setText("Tick: " + tick);
|
||||
return super.buildLabel() + tick;
|
||||
}
|
||||
};
|
||||
dataLabels.add(tickLabel);
|
||||
topPanel.add(tickLabel);
|
||||
|
||||
DataLabel xLabel = new DataLabel()
|
||||
UpdatedLabel xLabel = new UpdatedLabel("X: ")
|
||||
{
|
||||
@Override
|
||||
public void update()
|
||||
public String buildLabel()
|
||||
{
|
||||
setText("X: " + GearDebugFrame.this.part.x());
|
||||
return super.buildLabel() + GearDebugFrame.this.part.x();
|
||||
}
|
||||
};
|
||||
dataLabels.add(xLabel);
|
||||
topPanel.add(xLabel);
|
||||
DataLabel yLabel = new DataLabel()
|
||||
|
||||
UpdatedLabel yLabel = new UpdatedLabel("Y: ")
|
||||
{
|
||||
@Override
|
||||
public void update()
|
||||
public String buildLabel()
|
||||
{
|
||||
setText("Y: " + GearDebugFrame.this.part.y());
|
||||
return super.buildLabel() + GearDebugFrame.this.part.y();
|
||||
}
|
||||
};
|
||||
topPanel.add(yLabel);
|
||||
DataLabel zLabel = new DataLabel()
|
||||
dataLabels.add(yLabel);
|
||||
|
||||
UpdatedLabel zLabel = new UpdatedLabel("Z: ")
|
||||
{
|
||||
@Override
|
||||
public void update()
|
||||
public String buildLabel()
|
||||
{
|
||||
setText("Z: " + GearDebugFrame.this.part.z());
|
||||
return super.buildLabel() + GearDebugFrame.this.part.z();
|
||||
}
|
||||
};
|
||||
topPanel.add(zLabel);
|
||||
dataLabels.add(zLabel);
|
||||
|
||||
add(topPanel, BorderLayout.NORTH);
|
||||
|
||||
//Middle bar
|
||||
Panel middlePanel = new Panel(new GridLayout(8, 1, 0, 0));
|
||||
Panel middlePanel = new Panel(new GridLayout(3, 1, 0, 0));
|
||||
|
||||
DataLabel velLabel = new DataLabel()
|
||||
UpdatedLabel velLabel = new UpdatedLabel("Vel: ")
|
||||
{
|
||||
@Override
|
||||
public void update()
|
||||
public String buildLabel()
|
||||
{
|
||||
setText("Vel: " + GearDebugFrame.this.part.node.angularVelocity);
|
||||
return super.buildLabel() + GearDebugFrame.this.part.node.angularVelocity;
|
||||
}
|
||||
};
|
||||
dataLabels.add(velLabel);
|
||||
middlePanel.add(velLabel);
|
||||
|
||||
DataLabel angleLabel = new DataLabel()
|
||||
UpdatedLabel angleLabel = new UpdatedLabel("Angle: ")
|
||||
{
|
||||
@Override
|
||||
public void update()
|
||||
public String buildLabel()
|
||||
{
|
||||
setText("Angle: " + GearDebugFrame.this.part.node.renderAngle);
|
||||
return super.buildLabel() + GearDebugFrame.this.part.node.renderAngle;
|
||||
}
|
||||
};
|
||||
dataLabels.add(angleLabel);
|
||||
middlePanel.add(angleLabel);
|
||||
|
||||
DataLabel torqueLabel = new DataLabel()
|
||||
UpdatedLabel torqueLabel = new UpdatedLabel("Torque: ")
|
||||
{
|
||||
@Override
|
||||
public void update()
|
||||
public String buildLabel()
|
||||
{
|
||||
setText("Torque: " + GearDebugFrame.this.part.node.torque);
|
||||
return super.buildLabel() + GearDebugFrame.this.part.node.torque;
|
||||
}
|
||||
};
|
||||
dataLabels.add(torqueLabel);
|
||||
middlePanel.add(torqueLabel);
|
||||
|
||||
add(middlePanel, BorderLayout.EAST);
|
||||
add(middlePanel, BorderLayout.CENTER);
|
||||
|
||||
Panel connectionPanel = new Panel(new GridLayout(this.connections.length / 4, 4, 0, 0));
|
||||
for (int i = 0; i < connections.length; i++)
|
||||
{
|
||||
this.connections[i] = new Label("Connection" + i + ": null");
|
||||
this.connections[i] = new Label("Connection" + i + ": ----");
|
||||
connectionPanel.add(connections[i]);
|
||||
}
|
||||
add(connectionPanel, BorderLayout.WEST);
|
||||
add(connectionPanel, BorderLayout.SOUTH);
|
||||
|
||||
//exit icon handler
|
||||
addWindowListener(new WindowAdapter()
|
||||
|
@ -139,19 +149,22 @@ public class GearDebugFrame extends Frame implements ActionListener
|
|||
tick++;
|
||||
if (this.part != null)
|
||||
{
|
||||
for (DataLabel label : dataLabels)
|
||||
for (UpdatedLabel label : dataLabels)
|
||||
{
|
||||
label.update();
|
||||
}
|
||||
int c = 0;
|
||||
for (Entry<MechanicalNode, ForgeDirection> entry : part.node.getConnections().entrySet())
|
||||
{
|
||||
if (entry.getKey() != null)
|
||||
{
|
||||
this.connections[c].setText("Connection" + c + ": " + entry.getKey());
|
||||
c++;
|
||||
}
|
||||
}
|
||||
for (int i = c; i < connections.length; i++)
|
||||
{
|
||||
this.connections[c].setText("Connection" + c + ": NONE");
|
||||
this.connections[i].setText("Connection" + i + ": NONE");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
package resonantinduction.mechanical.gear;
|
||||
|
||||
import java.awt.Label;
|
||||
|
||||
/** Simple label with an update method
|
||||
*
|
||||
* @author Darkguardsman */
|
||||
@SuppressWarnings("serial")
|
||||
public class UpdatedLabel extends Label
|
||||
{
|
||||
String start_string = "I Am a Label";
|
||||
|
||||
public UpdatedLabel(String start)
|
||||
{
|
||||
super(start);
|
||||
this.start_string = start;
|
||||
}
|
||||
|
||||
/** Called to update the content of the label */
|
||||
public void update()
|
||||
{
|
||||
this.setText(buildLabel());
|
||||
}
|
||||
|
||||
/** Recreates then returns the label's string value */
|
||||
public String buildLabel()
|
||||
{
|
||||
return start_string;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue