Updated a bunch of stuff to make it compile and run in Processing v2

This commit is contained in:
Sandy Noble 2015-04-26 12:13:35 +01:00
parent 111a9b9478
commit cb4fa89674
12 changed files with 1058 additions and 923 deletions

46
ControlFrame.pde Normal file
View File

@ -0,0 +1,46 @@
// the ControlFrame class extends PApplet, so we
// are creating a new processing applet inside a
// new frame with a controlP5 object loaded
public class ControlFrame extends PApplet {
public int w, h;
int abc = 100;
public ControlP5 cp5;
protected Object parent;
private ControlFrame() {
}
public ControlFrame(Object theParent, int theWidth, int theHeight) {
this.parent = theParent;
this.w = theWidth;
this.h = theHeight;
}
public ControlP5 cp5() {
if (this.cp5 == null) {
this.cp5 = this.setupControlP5();
}
return this.cp5;
}
public void setup() {
size(w, h);
frameRate(5);
}
public ControlP5 setupControlP5() {
println("About to create new ControlP5");
ControlP5 cp5 = new ControlP5(this);
println("Created: " + cp5);
while (cp5 == null) {
println("Was null: " + cp5);
}
println("Finally created: " + cp5);
return cp5;
}
public void draw() {
background(abc);
}
}

View File

@ -1,6 +1,6 @@
/** /**
Polargraph controller Polargraph controller
Copyright Sandy Noble 2012. Copyright Sandy Noble 2015.
This file is part of Polargraph Controller. This file is part of Polargraph Controller.
@ -24,7 +24,7 @@
sandy.noble@gmail.com sandy.noble@gmail.com
http://www.polargraph.co.uk/ http://www.polargraph.co.uk/
http://code.google.com/p/polargraph/ https://github.com/euphy/polargraphcontroller
*/ */
class DisplayMachine extends Machine class DisplayMachine extends Machine

View File

@ -1,6 +1,6 @@
/** /**
Polargraph controller Polargraph controller
Copyright Sandy Noble 2012. Copyright Sandy Noble 2015.
This file is part of Polargraph Controller. This file is part of Polargraph Controller.
@ -24,7 +24,7 @@
sandy.noble@gmail.com sandy.noble@gmail.com
http://www.polargraph.co.uk/ http://www.polargraph.co.uk/
http://code.google.com/p/polargraph/ https://github.com/euphy/polargraphcontroller
*/ */
/** /**
* *

396
Misc.pde
View File

@ -1,6 +1,6 @@
/** /**
Polargraph controller Polargraph controller
Copyright Sandy Noble 2012. Copyright Sandy Noble 2015.
This file is part of Polargraph Controller. This file is part of Polargraph Controller.
@ -24,7 +24,7 @@
sandy.noble@gmail.com sandy.noble@gmail.com
http://www.polargraph.co.uk/ http://www.polargraph.co.uk/
http://code.google.com/p/polargraph/ https://github.com/euphy/polargraphcontroller
*/ */
class Scaler class Scaler
@ -52,202 +52,202 @@ class PreviewVector extends PVector
{ {
public String command; public String command;
} }
import java.awt.Toolkit;
import java.awt.BorderLayout;
import java.awt.GraphicsEnvironment;
public class Console extends WindowAdapter implements WindowListener, ActionListener, Runnable
{
private JFrame frame;
private JTextArea textArea;
private Thread reader;
private Thread reader2;
private boolean quit;
private final PipedInputStream pin=new PipedInputStream();
private final PipedInputStream pin2=new PipedInputStream();
private PrintStream cOut = System.out;
private PrintStream cErr = System.err;
Thread errorThrower; // just for testing (Throws an Exception at this Console
public Console()
{
// create all components and add them
frame=new JFrame("Java Console");
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=new Dimension((int)(screenSize.width/2),(int)(screenSize.height/2));
int x=(int)(frameSize.width/2);
int y=(int)(frameSize.height/2);
frame.setBounds(x,y,frameSize.width,frameSize.height);
textArea=new JTextArea();
textArea.setEditable(false);
JButton button=new JButton("clear");
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(new JScrollPane(textArea),BorderLayout.CENTER);
frame.getContentPane().add(button,BorderLayout.SOUTH);
frame.setVisible(true);
frame.addWindowListener(this);
button.addActionListener(this);
try
{
this.cOut = System.out;
PipedOutputStream pout=new PipedOutputStream(this.pin);
System.setOut(new PrintStream(pout,true));
}
catch (java.io.IOException io)
{
textArea.append("Couldn't redirect STDOUT to this console\n"+io.getMessage());
}
catch (SecurityException se)
{
textArea.append("Couldn't redirect STDOUT to this console\n"+se.getMessage());
}
try
{
this.cErr = System.err;
PipedOutputStream pout2=new PipedOutputStream(this.pin2);
System.setErr(new PrintStream(pout2,true));
}
catch (java.io.IOException io)
{
textArea.append("Couldn't redirect STDERR to this console\n"+io.getMessage());
}
catch (SecurityException se)
{
textArea.append("Couldn't redirect STDERR to this console\n"+se.getMessage());
}
quit=false; // signals the Threads that they should exit
// Starting two seperate threads to read from the PipedInputStreams
// //
reader=new Thread(this);
reader.setDaemon(true);
reader.start();
// //
reader2=new Thread(this); //import java.awt.Toolkit;
reader2.setDaemon(true); //import java.awt.BorderLayout;
reader2.start(); //import java.awt.GraphicsEnvironment;
//
// // testing part //public class Console extends WindowAdapter implements WindowListener, ActionListener, Runnable
// // you may omit this part for your application //{
// private JFrame frame;
// private JTextArea textArea;
// private Thread reader;
// private Thread reader2;
// private boolean quit;
//
// private final PipedInputStream pin=new PipedInputStream();
// private final PipedInputStream pin2=new PipedInputStream();
//
// private PrintStream cOut = System.out;
// private PrintStream cErr = System.err;
//
// Thread errorThrower; // just for testing (Throws an Exception at this Console
//
// public Console()
// {
// // create all components and add them
// frame=new JFrame("Java Console");
// Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
// Dimension frameSize=new Dimension((int)(screenSize.width/2),(int)(screenSize.height/2));
// int x=(int)(frameSize.width/2);
// int y=(int)(frameSize.height/2);
// frame.setBounds(x,y,frameSize.width,frameSize.height);
//
// textArea=new JTextArea();
// textArea.setEditable(false);
// JButton button=new JButton("clear");
//
// frame.getContentPane().setLayout(new BorderLayout());
// frame.getContentPane().add(new JScrollPane(textArea),BorderLayout.CENTER);
// frame.getContentPane().add(button,BorderLayout.SOUTH);
// frame.setVisible(true);
//
// frame.addWindowListener(this);
// button.addActionListener(this);
//
// try
// {
// this.cOut = System.out;
// PipedOutputStream pout=new PipedOutputStream(this.pin);
// System.setOut(new PrintStream(pout,true));
// }
// catch (java.io.IOException io)
// {
// textArea.append("Couldn't redirect STDOUT to this console\n"+io.getMessage());
// }
// catch (SecurityException se)
// {
// textArea.append("Couldn't redirect STDOUT to this console\n"+se.getMessage());
// }
//
// try
// {
// this.cErr = System.err;
// PipedOutputStream pout2=new PipedOutputStream(this.pin2);
// System.setErr(new PrintStream(pout2,true));
// }
// catch (java.io.IOException io)
// {
// textArea.append("Couldn't redirect STDERR to this console\n"+io.getMessage());
// }
// catch (SecurityException se)
// {
// textArea.append("Couldn't redirect STDERR to this console\n"+se.getMessage());
// }
//
// quit=false; // signals the Threads that they should exit
//
// // Starting two seperate threads to read from the PipedInputStreams
// // // //
// System.out.println("Hello World 2"); // reader=new Thread(this);
// System.out.println("All fonts available to Graphic2D:\n"); // reader.setDaemon(true);
// GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); // reader.start();
// String[] fontNames=ge.getAvailableFontFamilyNames(); // //
// for(int n=0;n<fontNames.length;n++) System.out.println(fontNames[n]); // reader2=new Thread(this);
// // Testing part: simple an error thrown anywhere in this JVM will be printed on the Console // reader2.setDaemon(true);
// // We do it with a seperate Thread becasue we don't wan't to break a Thread used by the Console. // reader2.start();
// System.out.println("\nLets throw an error on this console"); //
// errorThrower=new Thread(this); //// // testing part
// errorThrower.setDaemon(true); //// // you may omit this part for your application
// errorThrower.start(); //// //
} //// System.out.println("Hello World 2");
//// System.out.println("All fonts available to Graphic2D:\n");
public synchronized void windowClosed(WindowEvent evt) //// GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
{ //// String[] fontNames=ge.getAvailableFontFamilyNames();
quit=true; //// for(int n=0;n<fontNames.length;n++) System.out.println(fontNames[n]);
this.notifyAll(); // stop all threads //// // Testing part: simple an error thrown anywhere in this JVM will be printed on the Console
try { //// // We do it with a seperate Thread becasue we don't wan't to break a Thread used by the Console.
reader.join(1000); //// System.out.println("\nLets throw an error on this console");
pin.close(); //// errorThrower=new Thread(this);
System.setOut(this.cOut); //// errorThrower.setDaemon(true);
} //// errorThrower.start();
catch (Exception e){ // }
} //
try { // public synchronized void windowClosed(WindowEvent evt)
reader2.join(1000); // {
pin2.close(); // quit=true;
System.setErr(this.cErr); // this.notifyAll(); // stop all threads
} // try {
catch (Exception e){ // reader.join(1000);
} // pin.close();
// System.exit(0); // System.setOut(this.cOut);
} // }
// catch (Exception e){
public synchronized void windowClosing(WindowEvent evt) // }
{ // try {
frame.setVisible(false); // default behaviour of JFrame // reader2.join(1000);
frame.dispose(); // pin2.close();
} // System.setErr(this.cErr);
// }
public synchronized void actionPerformed(ActionEvent evt) // catch (Exception e){
{ // }
textArea.setText(""); //// System.exit(0);
} // }
//
public synchronized void run() // public synchronized void windowClosing(WindowEvent evt)
{ // {
try // frame.setVisible(false); // default behaviour of JFrame
{ // frame.dispose();
while (Thread.currentThread()==reader) // }
{ //
try { // public synchronized void actionPerformed(ActionEvent evt)
this.wait(100); // {
} // textArea.setText("");
catch(InterruptedException ie) { // }
} //
if (pin.available()!=0) // public synchronized void run()
{ // {
String input=this.readLine(pin); // try
textArea.append(input); // {
textArea.setCaretPosition(textArea.getDocument().getLength()); // while (Thread.currentThread()==reader)
// {
} // try {
if (quit) return; // this.wait(100);
} // }
// catch(InterruptedException ie) {
while (Thread.currentThread()==reader2) // }
{ // if (pin.available()!=0)
try { // {
this.wait(100); // String input=this.readLine(pin);
} // textArea.append(input);
catch(InterruptedException ie) { // textArea.setCaretPosition(textArea.getDocument().getLength());
} //
if (pin2.available()!=0) // }
{ // if (quit) return;
String input=this.readLine(pin2); // }
textArea.append(input); //
textArea.setCaretPosition(textArea.getDocument().getLength()); // while (Thread.currentThread()==reader2)
// {
} // try {
if (quit) return; // this.wait(100);
} // }
} // catch(InterruptedException ie) {
catch (Exception e) // }
{ // if (pin2.available()!=0)
textArea.append("\nConsole reports an Internal error."); // {
textArea.append("The error is: "+e); // String input=this.readLine(pin2);
} // textArea.append(input);
} // textArea.setCaretPosition(textArea.getDocument().getLength());
//
public void close() // }
{ // if (quit) return;
this.windowClosing(null); // }
} // }
// catch (Exception e)
public synchronized String readLine(PipedInputStream in) throws IOException // {
{ // textArea.append("\nConsole reports an Internal error.");
String input=""; // textArea.append("The error is: "+e);
do // }
{ // }
int available=in.available(); //
if (available==0) break; // public void close()
byte b[]=new byte[available]; // {
in.read(b); // this.windowClosing(null);
input=input+new String(b,0,b.length); // }
} //
while( !input.endsWith("\n") && !input.endsWith("\r\n") && !quit); // public synchronized String readLine(PipedInputStream in) throws IOException
return input; // {
} // String input="";
} // do
// {
// int available=in.available();
// if (available==0) break;
// byte b[]=new byte[available];
// in.read(b);
// input=input+new String(b,0,b.length);
// }
// while( !input.endsWith("\n") && !input.endsWith("\r\n") && !quit);
// return input;
// }
//}

View File

@ -131,13 +131,13 @@ class Panel
{ {
for (Controller c : this.getControls()) for (Controller c : this.getControls())
{ {
//println("Control: " + c.name()); // println("Control: " + c.getName());
PVector pos = getControlPositions().get(c.name()); PVector pos = getControlPositions().get(c.getName());
float x = pos.x+getOutline().getLeft(); float x = pos.x+getOutline().getLeft();
float y = pos.y+getOutline().getTop(); float y = pos.y+getOutline().getTop();
c.setPosition(x, y); c.setPosition(x, y);
PVector cSize = getControlSizes().get(c.name()); PVector cSize = getControlSizes().get(c.getName());
c.setSize((int)cSize.x, (int)cSize.y); c.setSize((int)cSize.x, (int)cSize.y);
boolean locked = false; boolean locked = false;
@ -146,32 +146,32 @@ class Panel
// any drawing / extracting controls are disabled if there is no selec // any drawing / extracting controls are disabled if there is no selec
// box specified. // box specified.
if (getControlsToLockIfBoxNotSpecified().contains(c.name()) && !isBoxSpecified()) if (getControlsToLockIfBoxNotSpecified().contains(c.getName()) && !isBoxSpecified())
{ {
locked = true; locked = true;
} }
// if there is no vector shape loaded then lock the "draw vector" // if there is no vector shape loaded then lock the "draw vector"
// control. // control.
if (c.name().equals(MODE_RENDER_VECTORS) && getVectorShape() == null) if (c.getName().equals(MODE_RENDER_VECTORS) && getVectorShape() == null)
{ {
locked = true; locked = true;
} }
// if there's no image loaded, then hide resizing/moving // if there's no image loaded, then hide resizing/moving
if (getControlsToLockIfImageNotLoaded().contains(c.name()) && getDisplayMachine().getImage() == null) if (getControlsToLockIfImageNotLoaded().contains(c.getName()) && getDisplayMachine().getImage() == null)
{ {
locked = true; locked = true;
} }
if (c.name().equals(MODE_LOAD_VECTOR_FILE)) if (c.getName().equals(MODE_LOAD_VECTOR_FILE))
{ {
if (getVectorShape() != null) if (getVectorShape() != null)
c.setLabel("Clear vector"); c.setLabel("Clear vector");
else else
c.setLabel("Load vector"); c.setLabel("Load vector");
} }
else if (c.name().equals(MODE_LOAD_IMAGE)) else if (c.getName().equals(MODE_LOAD_IMAGE))
{ {
if (getDisplayMachine().getImage() != null) if (getDisplayMachine().getImage() != null)
c.setLabel("Clear image"); c.setLabel("Clear image");
@ -231,6 +231,4 @@ class Panel
this.getOutline().setWidth(right); this.getOutline().setWidth(right);
} }
} }
} }

View File

@ -1,6 +1,6 @@
/** /**
Polargraph controller Polargraph controller
Copyright Sandy Noble 2012. Copyright Sandy Noble 2015.
This file is part of Polargraph Controller. This file is part of Polargraph Controller.
@ -24,7 +24,7 @@
sandy.noble@gmail.com sandy.noble@gmail.com
http://www.polargraph.co.uk/ http://www.polargraph.co.uk/
http://code.google.com/p/polargraph/ https://github.com/euphy/polargraphcontroller
*/ */
class Rectangle class Rectangle
{ {
@ -122,4 +122,8 @@ class Rectangle
return false; return false;
} }
public String toString() {
return new StringBuffer().append("Rectangle pos: ").append(this.getPosition()).append(", size: ").append(this.getSize()).append(".").toString();
}
} }

View File

@ -1,6 +1,6 @@
/** /**
Polargraph controller Polargraph controller
Copyright Sandy Noble 2012. Copyright Sandy Noble 2015.
This file is part of Polargraph Controller. This file is part of Polargraph Controller.
@ -24,7 +24,7 @@
sandy.noble@gmail.com sandy.noble@gmail.com
http://www.polargraph.co.uk/ http://www.polargraph.co.uk/
http://code.google.com/p/polargraph/ https://github.com/euphy/polargraphcontroller
*/ */
void button_mode_begin() void button_mode_begin()
{ {
@ -719,4 +719,10 @@ void button_mode_sendButtonDeactivate()
addToCommandQueue(CMD_DEACTIVATE_MACHINE_BUTTON+",END"); addToCommandQueue(CMD_DEACTIVATE_MACHINE_BUTTON+",END");
} }
void numberbox_mode_previewCordOffsetValue(int value)
{
previewCordOffset = value;
previewQueue();
}

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
/** /**
Polargraph controller Polargraph controller
Copyright Sandy Noble 2012. Copyright Sandy Noble 2015.
This file is part of Polargraph Controller. This file is part of Polargraph Controller.
@ -24,59 +24,50 @@
sandy.noble@gmail.com sandy.noble@gmail.com
http://www.polargraph.co.uk/ http://www.polargraph.co.uk/
http://code.google.com/p/polargraph/ https://github.com/euphy/polargraphcontroller
*/ */
Set<String> getPanelNames() Set<String> getPanelNames() {
{
if (this.panelNames == null) if (this.panelNames == null)
this.panelNames = buildPanelNames(); this.panelNames = buildPanelNames();
return this.panelNames; return this.panelNames;
} }
List<String> getTabNames() List<String> getTabNames() {
{
if (this.tabNames == null) if (this.tabNames == null)
this.tabNames = buildTabNames(); this.tabNames = buildTabNames();
return this.tabNames; return this.tabNames;
} }
Set<String> getControlNames() Set<String> getControlNames() {
{
if (this.controlNames == null) if (this.controlNames == null)
this.controlNames = buildControlNames(); this.controlNames = buildControlNames();
return this.controlNames; return this.controlNames;
} }
Map<String, List<Controller>> getControlsForPanels() Map<String, List<Controller>> getControlsForPanels() {
{
if (this.controlsForPanels == null) if (this.controlsForPanels == null)
this.controlsForPanels = buildControlsForPanels(); this.controlsForPanels = buildControlsForPanels();
return this.controlsForPanels; return this.controlsForPanels;
} }
Map<String, Controller> getAllControls() Map<String, Controller> getAllControls() {
{
if (this.allControls == null) if (this.allControls == null)
this.allControls = buildAllControls(); this.allControls = buildAllControls();
return this.allControls; return this.allControls;
} }
Map<String, String> getControlLabels() Map<String, String> getControlLabels() {
{
if (this.controlLabels == null) if (this.controlLabels == null)
this.controlLabels = buildControlLabels(); this.controlLabels = buildControlLabels();
return this.controlLabels; return this.controlLabels;
} }
Map<String, Set<Panel>> getPanelsForTabs() Map<String, Set<Panel>> getPanelsForTabs() {
{
if (this.panelsForTabs == null) if (this.panelsForTabs == null)
this.panelsForTabs = buildPanelsForTabs(); this.panelsForTabs = buildPanelsForTabs();
return this.panelsForTabs; return this.panelsForTabs;
} }
Map<String, Panel> getPanels() Map<String, Panel> getPanels() {
{
if (this.panels == null) if (this.panels == null)
this.panels = buildPanels(); this.panels = buildPanels();
return this.panels; return this.panels;
} }
Set<String> getControlsToLockIfBoxNotSpecified() Set<String> getControlsToLockIfBoxNotSpecified() {
{
if (this.controlsToLockIfBoxNotSpecified == null) if (this.controlsToLockIfBoxNotSpecified == null)
{ {
this.controlsToLockIfBoxNotSpecified = buildControlsToLockIfBoxNotSpecified(); this.controlsToLockIfBoxNotSpecified = buildControlsToLockIfBoxNotSpecified();
@ -84,8 +75,7 @@ Set<String> getControlsToLockIfBoxNotSpecified()
return this.controlsToLockIfBoxNotSpecified; return this.controlsToLockIfBoxNotSpecified;
} }
Set<String> getControlsToLockIfImageNotLoaded() Set<String> getControlsToLockIfImageNotLoaded() {
{
if (this.controlsToLockIfImageNotLoaded == null) if (this.controlsToLockIfImageNotLoaded == null)
{ {
this.controlsToLockIfImageNotLoaded = buildControlsToLockIfImageNotLoaded(); this.controlsToLockIfImageNotLoaded = buildControlsToLockIfImageNotLoaded();
@ -93,9 +83,7 @@ Set<String> getControlsToLockIfImageNotLoaded()
return this.controlsToLockIfImageNotLoaded; return this.controlsToLockIfImageNotLoaded;
} }
void hideAllControls() {
void hideAllControls()
{
for (String key : allControls.keySet()) for (String key : allControls.keySet())
{ {
Controller c = allControls.get(key); Controller c = allControls.get(key);
@ -103,8 +91,7 @@ void hideAllControls()
} }
} }
Map<String, Panel> buildPanels() Map<String, Panel> buildPanels() {
{
Map<String, Panel> panels = new HashMap<String, Panel>(); Map<String, Panel> panels = new HashMap<String, Panel>();
float panelHeight = frame.getHeight() - getMainPanelPosition().y - (DEFAULT_CONTROL_SIZE.y*3); float panelHeight = frame.getHeight() - getMainPanelPosition().y - (DEFAULT_CONTROL_SIZE.y*3);
@ -121,7 +108,7 @@ Map<String, Panel> buildPanels()
panels.put(PANEL_NAME_INPUT, inputPanel); panels.put(PANEL_NAME_INPUT, inputPanel);
Panel rovingPanel = new Panel(PANEL_NAME_ROVING, panelOutline); Panel rovingPanel = new Panel(PANEL_NAME_ROVING, panelOutline);
rovingPanel.setOutlineColour(color(200,200,200)); rovingPanel.setOutlineColour(color(100,200,200));
// get controls // get controls
rovingPanel.setResizable(true); rovingPanel.setResizable(true);
rovingPanel.setControls(getControlsForPanels().get(PANEL_NAME_ROVING)); rovingPanel.setControls(getControlsForPanels().get(PANEL_NAME_ROVING));
@ -131,7 +118,7 @@ Map<String, Panel> buildPanels()
panels.put(PANEL_NAME_ROVING, rovingPanel); panels.put(PANEL_NAME_ROVING, rovingPanel);
Panel tracePanel = new Panel(PANEL_NAME_TRACE, panelOutline); Panel tracePanel = new Panel(PANEL_NAME_TRACE, panelOutline);
tracePanel.setOutlineColour(color(200,200,200)); tracePanel.setOutlineColour(color(200,255,200));
// get controls // get controls
tracePanel.setResizable(true); tracePanel.setResizable(true);
tracePanel.setControls(getControlsForPanels().get(PANEL_NAME_TRACE)); tracePanel.setControls(getControlsForPanels().get(PANEL_NAME_TRACE));
@ -141,7 +128,7 @@ Map<String, Panel> buildPanels()
panels.put(PANEL_NAME_TRACE, tracePanel); panels.put(PANEL_NAME_TRACE, tracePanel);
Panel detailsPanel = new Panel(PANEL_NAME_DETAILS, panelOutline); Panel detailsPanel = new Panel(PANEL_NAME_DETAILS, panelOutline);
detailsPanel.setOutlineColour(color(200, 200, 200)); detailsPanel.setOutlineColour(color(200, 200, 255));
// get controls // get controls
detailsPanel.setResizable(true); detailsPanel.setResizable(true);
detailsPanel.setControls(getControlsForPanels().get(PANEL_NAME_DETAILS)); detailsPanel.setControls(getControlsForPanels().get(PANEL_NAME_DETAILS));
@ -151,7 +138,7 @@ Map<String, Panel> buildPanels()
panels.put(PANEL_NAME_DETAILS, detailsPanel); panels.put(PANEL_NAME_DETAILS, detailsPanel);
Panel queuePanel = new Panel(PANEL_NAME_QUEUE, panelOutline); Panel queuePanel = new Panel(PANEL_NAME_QUEUE, panelOutline);
queuePanel.setOutlineColour(color(200, 200, 200)); queuePanel.setOutlineColour(color(200, 200, 50));
// get controls // get controls
queuePanel.setResizable(true); queuePanel.setResizable(true);
queuePanel.setControls(getControlsForPanels().get(PANEL_NAME_QUEUE)); queuePanel.setControls(getControlsForPanels().get(PANEL_NAME_QUEUE));
@ -165,7 +152,7 @@ Map<String, Panel> buildPanels()
new PVector((DEFAULT_CONTROL_SIZE.x+CONTROL_SPACING.x)*2, (DEFAULT_CONTROL_SIZE.y+CONTROL_SPACING.y)*2)); new PVector((DEFAULT_CONTROL_SIZE.x+CONTROL_SPACING.x)*2, (DEFAULT_CONTROL_SIZE.y+CONTROL_SPACING.y)*2));
Panel generalPanel = new Panel(PANEL_NAME_GENERAL, panelOutline); Panel generalPanel = new Panel(PANEL_NAME_GENERAL, panelOutline);
generalPanel.setResizable(false); generalPanel.setResizable(false);
generalPanel.setOutlineColour(color(200, 200, 200)); generalPanel.setOutlineColour(color(200, 50, 200));
// get controls // get controls
generalPanel.setControls(getControlsForPanels().get(PANEL_NAME_GENERAL)); generalPanel.setControls(getControlsForPanels().get(PANEL_NAME_GENERAL));
// get control positions // get control positions
@ -241,9 +228,9 @@ Map<String, Controller> buildAllControls()
Toggle t = cp5.addToggle(controlName, false, 100, 100, 100, 100); Toggle t = cp5.addToggle(controlName, false, 100, 100, 100, 100);
t.setLabel(getControlLabels().get(controlName)); t.setLabel(getControlLabels().get(controlName));
t.hide(); t.hide();
controlP5.Label l = t.captionLabel(); controlP5.Label l = t.getCaptionLabel();
l.style().marginTop = -17; //move upwards (relative to button size) l.getStyle().marginTop = -17; //move upwards (relative to button size)
l.style().marginLeft = 4; //move to the right l.getStyle().marginLeft = 4; //move to the right
map.put(controlName, t); map.put(controlName, t);
// println("Added toggle " + controlName); // println("Added toggle " + controlName);
} }
@ -252,9 +239,9 @@ Map<String, Controller> buildAllControls()
Toggle t = cp5.addToggle(controlName, false, 100, 100, 100, 100); Toggle t = cp5.addToggle(controlName, false, 100, 100, 100, 100);
t.setLabel(getControlLabels().get(controlName)); t.setLabel(getControlLabels().get(controlName));
t.hide(); t.hide();
controlP5.Label l = t.captionLabel(); controlP5.Label l = t.getCaptionLabel();
l.style().marginTop = -17; //move upwards (relative to button size) l.getStyle().marginTop = -17; //move upwards (relative to button size)
l.style().marginLeft = 4; //move to the right l.getStyle().marginLeft = 4; //move to the right
map.put(controlName, t); map.put(controlName, t);
// println("Added minitoggle " + controlName); // println("Added minitoggle " + controlName);
} }
@ -264,9 +251,9 @@ Map<String, Controller> buildAllControls()
n.setLabel(getControlLabels().get(controlName)); n.setLabel(getControlLabels().get(controlName));
n.hide(); n.hide();
n.setDecimalPrecision(0); n.setDecimalPrecision(0);
controlP5.Label l = n.captionLabel(); controlP5.Label l = n.getCaptionLabel();
l.style().marginTop = -17; //move upwards (relative to button size) l.getStyle().marginTop = -17; //move upwards (relative to button size)
l.style().marginLeft = 40; //move to the right l.getStyle().marginLeft = 40; //move to the right
// change the control direction to left/right // change the control direction to left/right
n.setDirection(Controller.VERTICAL); n.setDirection(Controller.VERTICAL);
map.put(controlName, n); map.put(controlName, n);
@ -500,6 +487,12 @@ Map<String, Controller> initialiseNumberboxValues(Map<String, Controller> map)
n.setMax(PATH_LENGTH_HIGHPASS_CUTOFF_MAX); n.setMax(PATH_LENGTH_HIGHPASS_CUTOFF_MAX);
n.setMultiplier(0.5); n.setMultiplier(0.5);
} }
else if (MODE_ADJUST_PREVIEW_CORD_OFFSET.equals(key))
{
n.setDecimalPrecision(0);
n.setValue(0);
n.setMultiplier(0.5);
}
} }
} }
return map; return map;
@ -555,9 +548,6 @@ Map<String, Controller> initialiseToggleValues(Map<String, Controller> map)
return map; return map;
} }
String getControlLabel(String butName) String getControlLabel(String butName)
{ {
if (controlLabels.containsKey(butName)) if (controlLabels.containsKey(butName))
@ -574,10 +564,10 @@ Map<String, PVector> buildControlPositionsForPanel(Panel panel)
int row = 0; int row = 0;
for (Controller controller : panel.getControls()) for (Controller controller : panel.getControls())
{ {
if (controller.name().startsWith("minitoggle_")) if (controller.getName().startsWith("minitoggle_"))
{ {
PVector p = new PVector(col*(DEFAULT_CONTROL_SIZE.x+CONTROL_SPACING.x), row*(DEFAULT_CONTROL_SIZE.y+CONTROL_SPACING.y)); PVector p = new PVector(col*(DEFAULT_CONTROL_SIZE.x+CONTROL_SPACING.x), row*(DEFAULT_CONTROL_SIZE.y+CONTROL_SPACING.y));
map.put(controller.name(), p); map.put(controller.getName(), p);
row++; row++;
if (p.y + (DEFAULT_CONTROL_SIZE.y*2) >= panel.getOutline().getHeight()) if (p.y + (DEFAULT_CONTROL_SIZE.y*2) >= panel.getOutline().getHeight())
{ {
@ -588,7 +578,7 @@ Map<String, PVector> buildControlPositionsForPanel(Panel panel)
else else
{ {
PVector p = new PVector(col*(DEFAULT_CONTROL_SIZE.x+CONTROL_SPACING.x), row*(DEFAULT_CONTROL_SIZE.y+CONTROL_SPACING.y)); PVector p = new PVector(col*(DEFAULT_CONTROL_SIZE.x+CONTROL_SPACING.x), row*(DEFAULT_CONTROL_SIZE.y+CONTROL_SPACING.y));
map.put(controller.name(), p); map.put(controller.getName(), p);
row++; row++;
if (p.y + (DEFAULT_CONTROL_SIZE.y*2) >= panel.getOutline().getHeight()) if (p.y + (DEFAULT_CONTROL_SIZE.y*2) >= panel.getOutline().getHeight())
{ {
@ -597,9 +587,9 @@ Map<String, PVector> buildControlPositionsForPanel(Panel panel)
} }
} }
} }
return map; return map;
} }
Map<String, PVector> buildControlSizesForPanel(Panel panel) Map<String, PVector> buildControlSizesForPanel(Panel panel)
{ {
//println("Building control sizes for panel " + panel.getName()); //println("Building control sizes for panel " + panel.getName());
@ -609,16 +599,16 @@ Map<String, PVector> buildControlSizesForPanel(Panel panel)
int row = 0; int row = 0;
for (Controller controller : panel.getControls()) for (Controller controller : panel.getControls())
{ {
if (controller.name().startsWith("minitoggle_")) if (controller.getName().startsWith("minitoggle_"))
{ {
PVector s = new PVector(DEFAULT_CONTROL_SIZE.y, DEFAULT_CONTROL_SIZE.y); PVector s = new PVector(DEFAULT_CONTROL_SIZE.y, DEFAULT_CONTROL_SIZE.y);
map.put(controller.name(), s); map.put(controller.getName(), s);
} }
else else
{ {
PVector s = new PVector(DEFAULT_CONTROL_SIZE.x, DEFAULT_CONTROL_SIZE.y); PVector s = new PVector(DEFAULT_CONTROL_SIZE.x, DEFAULT_CONTROL_SIZE.y);
map.put(controller.name(), s); map.put(controller.getName(), s);
//println("Added size of " + controller.name() + " to panel. " + s); //println("Added size of " + controller.getName() + " to panel. " + s);
} }
} }
@ -689,6 +679,8 @@ List<String> getControlNamesForInputPanel()
//controlNames.add(MODE_VECTOR_PATH_LENGTH_HIGHPASS_CUTOFF); //controlNames.add(MODE_VECTOR_PATH_LENGTH_HIGHPASS_CUTOFF);
controlNames.add(MODE_RENDER_VECTORS); controlNames.add(MODE_RENDER_VECTORS);
controlNames.add(MODE_ADJUST_PREVIEW_CORD_OFFSET);
controlNames.add(MODE_SHOW_IMAGE); controlNames.add(MODE_SHOW_IMAGE);
controlNames.add(MODE_SHOW_VECTOR); controlNames.add(MODE_SHOW_VECTOR);
controlNames.add(MODE_SHOW_QUEUE_PREVIEW); controlNames.add(MODE_SHOW_QUEUE_PREVIEW);
@ -960,6 +952,8 @@ Map<String, String> buildControlLabels()
result.put(MODE_SEND_BUTTON_ACTIVATE, "Activate button"); result.put(MODE_SEND_BUTTON_ACTIVATE, "Activate button");
result.put(MODE_SEND_BUTTON_DEACTIVATE, "Deactivate button"); result.put(MODE_SEND_BUTTON_DEACTIVATE, "Deactivate button");
result.put(MODE_ADJUST_PREVIEW_CORD_OFFSET, "Cord offset");
return result; return result;
} }
@ -1103,6 +1097,7 @@ Set<String> buildControlNames()
result.add(MODE_SEND_BUTTON_ACTIVATE); result.add(MODE_SEND_BUTTON_ACTIVATE);
result.add(MODE_SEND_BUTTON_DEACTIVATE); result.add(MODE_SEND_BUTTON_DEACTIVATE);
result.add(MODE_ADJUST_PREVIEW_CORD_OFFSET);
return result; return result;
} }

View File

@ -1,6 +1,6 @@
/** /**
Polargraph controller Polargraph controller
Copyright Sandy Noble 2012. Copyright Sandy Noble 2015.
This file is part of Polargraph Controller. This file is part of Polargraph Controller.
@ -24,7 +24,7 @@
sandy.noble@gmail.com sandy.noble@gmail.com
http://www.polargraph.co.uk/ http://www.polargraph.co.uk/
http://code.google.com/p/polargraph/ https://github.com/euphy/polargraphcontroller
*/ */
static final String CMD_CHANGELENGTH = "C01,"; static final String CMD_CHANGELENGTH = "C01,";
static final String CMD_CHANGEPENWIDTH = "C02,"; static final String CMD_CHANGEPENWIDTH = "C02,";

View File

@ -1,6 +1,6 @@
/** /**
Polargraph controller Polargraph controller
Copyright Sandy Noble 2014. Copyright Sandy Noble 2015.
This file is part of Polargraph Controller. This file is part of Polargraph Controller.
@ -24,8 +24,7 @@
sandy.noble@gmail.com sandy.noble@gmail.com
http://www.polargraph.co.uk/ http://www.polargraph.co.uk/
http://code.google.com/p/polargraph/ https://github.com/euphy/polargraphcontroller
*/ */
//import processing.video.*; //import processing.video.*;
import diewald_CV_kit.libraryinfo.*; import diewald_CV_kit.libraryinfo.*;
@ -49,10 +48,14 @@ import processing.serial.*;
import controlP5.*; import controlP5.*;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
import java.awt.event.*; import java.awt.event.*;
import java.awt.Frame;
import java.awt.BorderLayout;
int majorVersionNo = 1; import java.lang.reflect.Method;
int minorVersionNo = 10;
int buildNo = 2; int majorVersionNo = 2;
int minorVersionNo = 0;
int buildNo = 0;
String programTitle = "Polargraph Controller v" + majorVersionNo + "." + minorVersionNo + " build " + buildNo; String programTitle = "Polargraph Controller v" + majorVersionNo + "." + minorVersionNo + " build " + buildNo;
ControlP5 cp5; ControlP5 cp5;
@ -329,6 +332,8 @@ static final String MODE_ROTATE_WEBCAM_INPUT = "toggle_mode_rotateWebcam";
static final String MODE_SEND_BUTTON_ACTIVATE = "button_mode_sendButtonActivate"; static final String MODE_SEND_BUTTON_ACTIVATE = "button_mode_sendButtonActivate";
static final String MODE_SEND_BUTTON_DEACTIVATE = "button_mode_sendButtonDeactivate"; static final String MODE_SEND_BUTTON_DEACTIVATE = "button_mode_sendButtonDeactivate";
static final String MODE_ADJUST_PREVIEW_CORD_OFFSET = "numberbox_mode_previewCordOffsetValue";
PVector statusTextPosition = new PVector(300.0, 12.0); PVector statusTextPosition = new PVector(300.0, 12.0);
@ -395,6 +400,8 @@ public color guideColour = color(255);
public color backgroundColour = color(100); public color backgroundColour = color(100);
public color densityPreviewColour = color(0); public color densityPreviewColour = color(0);
public Integer previewCordOffset = 0;
public boolean showingSummaryOverlay = true; public boolean showingSummaryOverlay = true;
public boolean showingDialogBox = false; public boolean showingDialogBox = false;
@ -433,7 +440,7 @@ public static final String PANEL_NAME_TRACE = "panel_trace";
public static final String PANEL_NAME_GENERAL = "panel_general"; public static final String PANEL_NAME_GENERAL = "panel_general";
public final PVector DEFAULT_CONTROL_SIZE = new PVector(100.0, 20.0); public final PVector DEFAULT_CONTROL_SIZE = new PVector(100.0, 20.0);
public final PVector CONTROL_SPACING = new PVector(2.0, 2.0); public final PVector CONTROL_SPACING = new PVector(4.0, 4.0);
public PVector mainPanelPosition = new PVector(10.0, 85.0); public PVector mainPanelPosition = new PVector(10.0, 85.0);
public final Integer PANEL_MIN_HEIGHT = 400; public final Integer PANEL_MIN_HEIGHT = 400;
@ -451,11 +458,13 @@ public Set<String> controlsToLockIfImageNotLoaded = null;
public Map<String, Set<Panel>> panelsForTabs = null; public Map<String, Set<Panel>> panelsForTabs = null;
public Map<String, Panel> panels = null; public Map<String, Panel> panels = null;
public Map<String, ControlFrame> controlFrames = new HashMap<String, ControlFrame>();
// machine moving // machine moving
PVector machineDragOffset = new PVector (0.0, 0.0); PVector machineDragOffset = new PVector (0.0, 0.0);
PVector lastMachineDragPosition = new PVector (0.0, 0.0); PVector lastMachineDragPosition = new PVector (0.0, 0.0);
public final float MIN_SCALING = 0.1; public final float MIN_SCALING = 0.01;
public final float MAX_SCALING = 15.0; public final float MAX_SCALING = 30.0;
RShape vectorShape = null; RShape vectorShape = null;
String vectorFilename = null; String vectorFilename = null;
@ -489,8 +498,6 @@ static int pathLengthHighPassCutoff = 0;
static final Integer PATH_LENGTH_HIGHPASS_CUTOFF_MAX = 10000; static final Integer PATH_LENGTH_HIGHPASS_CUTOFF_MAX = 10000;
static final Integer PATH_LENGTH_HIGHPASS_CUTOFF_MIN = 0; static final Integer PATH_LENGTH_HIGHPASS_CUTOFF_MIN = 0;
//Capture liveCamera;
//JMyron liveCamera;
BlobDetector blob_detector; BlobDetector blob_detector;
int liveSimplification = 5; int liveSimplification = 5;
int blurValue = 1; int blurValue = 1;
@ -505,20 +512,16 @@ String shapeSavePath = "../../savedcaptures/";
String shapeSavePrefix = "shape-"; String shapeSavePrefix = "shape-";
String shapeSaveExtension = ".svg"; String shapeSaveExtension = ".svg";
//boolean displayGamepadOverlay = false; String filePath = null;
//PImage yButtonImage = null;
//PImage xButtonImage = null; static PApplet parentPapplet = null;
//PImage aButtonImage = null;
//PImage bButtonImage = null;
//
//PImage dpadXImage = null;
//PImage dpadYImage = null;
void setup() void setup()
{ {
println("Running polargraph controller"); println("Running polargraph controller");
frame.setResizable(true); frame.setResizable(true);
initLogging(); initLogging();
parentPapplet = this;
initImages(); initImages();
@ -535,6 +538,7 @@ void setup()
} }
loadFromPropertiesFile(); loadFromPropertiesFile();
size(windowWidth, windowHeight, JAVA2D );
this.cp5 = new ControlP5(this); this.cp5 = new ControlP5(this);
initTabs(); initTabs();
@ -580,7 +584,6 @@ void setup()
currentMode = MODE_BEGIN; currentMode = MODE_BEGIN;
preLoadCommandQueue(); preLoadCommandQueue();
size(windowWidth, windowHeight, JAVA2D );
changeTab(TAB_NAME_INPUT, TAB_NAME_INPUT); changeTab(TAB_NAME_INPUT, TAB_NAME_INPUT);
addEventListeners(); addEventListeners();
@ -1224,34 +1227,32 @@ void controlEvent(ControlEvent controlEvent)
{ {
if (controlEvent.isTab()) if (controlEvent.isTab())
{ {
if (controlEvent.tab().name() == getCurrentTab()) if (controlEvent.tab().getName() == getCurrentTab())
{ {
// already here. // already here.
println("Already here."); println("Already here.");
} }
else else
{ {
changeTab(currentTab, controlEvent.tab().name()); changeTab(currentTab, controlEvent.tab().getName());
} }
} }
else if(controlEvent.isGroup()) else if(controlEvent.isGroup())
{ {
print("got an event from "+controlEvent.group().name()+"\t"); print("got an event from "+controlEvent.group().getName()+"\t");
// checkbox uses arrayValue to store the state of // checkbox uses arrayValue to store the state of
// individual checkbox-items. usage: // individual checkbox-items. usage:
for (int i=0; i<controlEvent.group().arrayValue().length; i++) for (int i=0; i<controlEvent.group().getArrayValue().length; i++)
{ {
int n = (int)controlEvent.group().arrayValue()[i]; int n = (int)controlEvent.group().getArrayValue()[i];
} }
println(); println();
} }
} }
void changeTab(String from, String to) void changeTab(String from, String to)
{ {
// hide old panels // hide old panels
currentTab = to; currentTab = to;
for (Panel panel : getPanelsForTab(currentTab)) for (Panel panel : getPanelsForTab(currentTab))
@ -1262,7 +1263,6 @@ void changeTab(String from, String to)
c.show(); c.show();
} }
} }
} }
@ -1334,8 +1334,12 @@ boolean mouseOverPanel()
boolean result = false; boolean result = false;
for (Panel panel : getPanelsForTab(currentTab)) for (Panel panel : getPanelsForTab(currentTab))
{ {
if (panel.getOutline().surrounds(getMouseVector())) if (panel.getOutline().surrounds(getMouseVector())) {
println("Outline: " + panel.getOutline().toString());
println("OVER PANEL!" + panel.getName());
result = true; result = true;
break;
}
} }
return result; return result;
} }
@ -1745,7 +1749,7 @@ void previewQueue()
String aLenStr = splitted[1]; String aLenStr = splitted[1];
String bLenStr = splitted[2]; String bLenStr = splitted[2];
PVector endPoint = new PVector(Integer.parseInt(aLenStr), Integer.parseInt(bLenStr)); PVector endPoint = new PVector(Integer.parseInt(aLenStr)+previewCordOffset, Integer.parseInt(bLenStr)+previewCordOffset);
endPoint = getDisplayMachine().asCartesianCoords(endPoint); endPoint = getDisplayMachine().asCartesianCoords(endPoint);
endPoint = getDisplayMachine().inMM(endPoint); endPoint = getDisplayMachine().inMM(endPoint);
@ -1834,8 +1838,8 @@ void exportQueueToFile()
{ {
if (!commandQueue.isEmpty() || !realtimeCommandQueue.isEmpty()) if (!commandQueue.isEmpty() || !realtimeCommandQueue.isEmpty())
{ {
String savePath = selectOutput(); // Opens file chooser selectOutput("Enter a filename to save to:", "fileSelected"); // Opens file chooser
if (savePath == null) if (filePath == null)
{ {
// If a file was not selected // If a file was not selected
println("No output file was selected..."); println("No output file was selected...");
@ -1843,29 +1847,41 @@ void exportQueueToFile()
else else
{ {
// If a file was selected, print path to folder // If a file was selected, print path to folder
println("Output file: " + savePath); println("Output file: " + filePath);
List<String> allCommands = new ArrayList<String>(realtimeCommandQueue); List<String> allCommands = new ArrayList<String>(realtimeCommandQueue);
allCommands.addAll(commandQueue); allCommands.addAll(commandQueue);
String[] list = (String[]) allCommands.toArray(new String[0]); String[] list = (String[]) allCommands.toArray(new String[0]);
saveStrings(savePath, list); saveStrings(filePath, list);
println("Completed queue export, " + list.length + " commands exported."); println("Completed queue export, " + list.length + " commands exported.");
} }
} }
} }
void fileSelected(File selection) {
if (selection == null) {
println("Window was closed or the user hit cancel.");
filePath = null;
} else {
println("User selected " + selection.getAbsolutePath());
filePath = selection.getAbsolutePath();
}
}
void importQueueFromFile() void importQueueFromFile()
{ {
commandQueue.clear(); commandQueue.clear();
String loadPath = selectInput(); selectInput("Select file to import queue from", "fileSelected");
if (loadPath == null) if (filePath == null)
{ {
// nothing selected // nothing selected
println("No input file was selected."); println("No input file was selected.");
} }
else else
{ {
println("Input file: " + loadPath); println("Input file: " + filePath);
String commands[] = loadStrings(loadPath); String commands[] = loadStrings(filePath);
// List<String> list = Arrays // List<String> list = Arrays
commandQueue.addAll(Arrays.asList(commands)); commandQueue.addAll(Arrays.asList(commands));
println("Completed queue import, " + commandQueue.size() + " commands found."); println("Completed queue import, " + commandQueue.size() + " commands found.");
@ -1874,17 +1890,17 @@ void importQueueFromFile()
String importTextToWriteFromFile() String importTextToWriteFromFile()
{ {
String loadPath = selectInput(); selectInput("Select the text file to load the text from:", "fileSelected");
String result = ""; String result = "";
if (loadPath == null) if (filePath == null)
{ {
// nothing selected // nothing selected
println("No input file was selected."); println("No input file was selected.");
} }
else else
{ {
println("Input file: " + loadPath); println("Input file: " + filePath);
List<String> rows = java.util.Arrays.asList(loadStrings(loadPath)); List<String> rows = java.util.Arrays.asList(loadStrings(filePath));
StringBuilder sb = new StringBuilder(200); StringBuilder sb = new StringBuilder(200);
for (String row : rows) for (String row : rows)
{ {
@ -3063,10 +3079,12 @@ float getPixelScalingOverGridSize()
{ {
return pixelScalingOverGridSize; return pixelScalingOverGridSize;
} }
void setPixelScalingOverGridSize(float scaling) void setPixelScalingOverGridSize(float scaling)
{ {
pixelScalingOverGridSize = scaling; pixelScalingOverGridSize = scaling;
} }
int getDensityPreviewStyle() int getDensityPreviewStyle()
{ {
return densityPreviewStyle; return densityPreviewStyle;
@ -3076,14 +3094,17 @@ Integer getBaudRate()
{ {
return baudRate; return baudRate;
} }
boolean isUseWindowedConsole() boolean isUseWindowedConsole()
{ {
return this.useWindowedConsole; return this.useWindowedConsole;
} }
void setUseWindowedConsole(boolean use) void setUseWindowedConsole(boolean use)
{ {
this.useWindowedConsole = use; this.useWindowedConsole = use;
} }
void initLogging() void initLogging()
{ {
try try
@ -3094,21 +3115,22 @@ void initLogging()
// logger.addHandler(fileHandler); // logger.addHandler(fileHandler);
// logger.setLevel(Level.INFO); // logger.setLevel(Level.INFO);
// logger.info("Hello"); // logger.info("Hello");
if (isUseWindowedConsole()) // if (isUseWindowedConsole())
{ // {
console = new Console(); // console = new Console();
} // }
else // else
{ // {
console.close(); // console.close();
console = null; // console = null;
} // }
} }
catch(Exception e) catch(Exception e)
{ {
println("Exception setting up logger: " + e.getMessage()); println("Exception setting up logger: " + e.getMessage());
} }
} }
void initImages() void initImages()
{ {
// try // try

View File

@ -1,6 +1,6 @@
/** /**
Polargraph controller Polargraph controller
Copyright Sandy Noble 2012. Copyright Sandy Noble 2015.
This file is part of Polargraph Controller. This file is part of Polargraph Controller.
@ -24,7 +24,7 @@
sandy.noble@gmail.com sandy.noble@gmail.com
http://www.polargraph.co.uk/ http://www.polargraph.co.uk/
http://code.google.com/p/polargraph/ https://github.com/euphy/polargraphcontroller
*/ */
Set<Panel> getPanelsForTab(String tabName) Set<Panel> getPanelsForTab(String tabName)
@ -83,25 +83,25 @@ List<String> buildTabNames()
void initTabs() void initTabs()
{ {
cp5.tab(TAB_NAME_INPUT).setLabel(TAB_LABEL_INPUT); cp5.getTab(TAB_NAME_INPUT).setLabel(TAB_LABEL_INPUT);
cp5.tab(TAB_NAME_INPUT).activateEvent(true); cp5.getTab(TAB_NAME_INPUT).activateEvent(true);
cp5.tab(TAB_NAME_INPUT).setId(1); cp5.getTab(TAB_NAME_INPUT).setId(1);
cp5.tab(TAB_NAME_DETAILS).setLabel(TAB_LABEL_DETAILS); cp5.getTab(TAB_NAME_DETAILS).setLabel(TAB_LABEL_DETAILS);
cp5.tab(TAB_NAME_DETAILS).activateEvent(true); cp5.getTab(TAB_NAME_DETAILS).activateEvent(true);
cp5.tab(TAB_NAME_DETAILS).setId(2); cp5.getTab(TAB_NAME_DETAILS).setId(2);
cp5.tab(TAB_NAME_ROVING).setLabel(TAB_LABEL_ROVING); cp5.getTab(TAB_NAME_ROVING).setLabel(TAB_LABEL_ROVING);
cp5.tab(TAB_NAME_ROVING).activateEvent(true); cp5.getTab(TAB_NAME_ROVING).activateEvent(true);
cp5.tab(TAB_NAME_ROVING).setId(3); cp5.getTab(TAB_NAME_ROVING).setId(3);
cp5.tab(TAB_NAME_TRACE).setLabel(TAB_LABEL_TRACE); cp5.getTab(TAB_NAME_TRACE).setLabel(TAB_LABEL_TRACE);
cp5.tab(TAB_NAME_TRACE).activateEvent(true); cp5.getTab(TAB_NAME_TRACE).activateEvent(true);
cp5.tab(TAB_NAME_TRACE).setId(4); cp5.getTab(TAB_NAME_TRACE).setId(4);
cp5.tab(TAB_NAME_QUEUE).setLabel(TAB_LABEL_QUEUE); cp5.getTab(TAB_NAME_QUEUE).setLabel(TAB_LABEL_QUEUE);
cp5.tab(TAB_NAME_QUEUE).activateEvent(true); cp5.getTab(TAB_NAME_QUEUE).activateEvent(true);
cp5.tab(TAB_NAME_QUEUE).setId(5); cp5.getTab(TAB_NAME_QUEUE).setId(5);
} }
public Set<String> buildPanelNames() public Set<String> buildPanelNames()