Skip to content

Commit

Permalink
Added view button stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
zk committed Jan 15, 2009
1 parent 742cf50 commit 4d52063
Show file tree
Hide file tree
Showing 12 changed files with 67 additions and 22 deletions.
Binary file not shown.
Binary file modified bin-groovy/napplelabs/dbssim/ui/MacFrame.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified bin-groovy/napplelabs/dbssim/ui/SimUI.class
Binary file not shown.
9 changes: 9 additions & 0 deletions src/main/java/napplelabs/dbssim/TracePanel.java
Expand Up @@ -48,6 +48,7 @@ public boolean isDone() {
} }


public void run() { public void run() {
done = false;
while(!isDone()) { while(!isDone()) {
SwingUtilities.invokeLater(new Runnable() { SwingUtilities.invokeLater(new Runnable() {
public void run() { public void run() {
Expand All @@ -63,4 +64,12 @@ public void run() {
} }
} }
} }

public void start() {
new Thread(this).start();
}

public void stop() {
this.done = true;
}
} }
26 changes: 25 additions & 1 deletion src/main/java/napplelabs/dbssim/ui/MacFrame.groovy
Expand Up @@ -3,7 +3,7 @@
*/ */
package napplelabs.dbssim.ui package napplelabs.dbssim.ui


import javax.swing.JFrameimport java.awt.Dimensionimport javax.swing.SwingUtilitiesimport java.lang.Runnableimport com.explodingpixels.macwidgets.MacWidgetFactoryimport com.explodingpixels.macwidgets.TriAreaComponentimport java.awt.BorderLayoutimport com.explodingpixels.macwidgets.BottomBarSizeimport javax.swing.JLabelimport javax.swing.JPanelimport javax.swing.JButtonimport ddf.minim.Minimimport napplelabs.dbssim.NeuronSignalimport ddf.minim.signals.PinkNoiseimport napplelabs.dbssim.TracePanelimport ddf.minim.AudioOutputimport javax.swing.AbstractButtonimport javax.swing.JComponent/** import javax.swing.JFrameimport java.awt.Dimensionimport javax.swing.SwingUtilitiesimport java.lang.Runnableimport com.explodingpixels.macwidgets.MacWidgetFactoryimport com.explodingpixels.macwidgets.TriAreaComponentimport java.awt.BorderLayoutimport com.explodingpixels.macwidgets.BottomBarSizeimport javax.swing.JLabelimport javax.swing.JPanelimport javax.swing.JButtonimport ddf.minim.Minimimport napplelabs.dbssim.NeuronSignalimport ddf.minim.signals.PinkNoiseimport napplelabs.dbssim.TracePanelimport ddf.minim.AudioOutputimport javax.swing.AbstractButtonimport javax.swing.JComponentimport java.util.Listimport javax.swing.ButtonGroupimport com.explodingpixels.macwidgets.LabeledComponentGroup/**
* @author zkim * @author zkim
* *
*/ */
Expand All @@ -13,6 +13,7 @@ public class MacFrame{
TriAreaComponent toolbar TriAreaComponent toolbar
TriAreaComponent bottombar TriAreaComponent bottombar
JPanel content; JPanel content;
List<JButton> toolbarButtons = []


public MacFrame() { public MacFrame() {


Expand Down Expand Up @@ -46,6 +47,29 @@ public class MacFrame{
toolbar.addComponentToCenter(comp) toolbar.addComponentToCenter(comp)
} }


def addToolbarButton(List<JButton> buttons) {

ButtonGroup group = new ButtonGroup();

buttons.eachWithIndex {button, i ->
button.putClientProperty("JButton.buttonType", "segmentedTextured");
if(i == 0) {
button.putClientProperty("JButton.segmentPosition", "first");
} else if(i == buttons.size()-1) {
button.putClientProperty("JButton.segmentPosition", "last");
} else {
button.putClientProperty("JButton.segmentPosition", "middle");
}

group.add(button)
button.setFocusable(false);
};

LabeledComponentGroup viewButtons = new LabeledComponentGroup(null, buttons);
//addToolbarComponentCenter(viewButtons.component)
revalidate()
}

public static void main(String[] args) { public static void main(String[] args) {
MacFrame mf = new MacFrame(); MacFrame mf = new MacFrame();


Expand Down
54 changes: 33 additions & 21 deletions src/main/java/napplelabs/dbssim/ui/SimUI.groovy
@@ -1,6 +1,6 @@
package napplelabs.dbssim.ui package napplelabs.dbssim.ui


import ddf.minim.Minimimport ddf.minim.AudioOutputimport napplelabs.dbssim.NeuronSignalimport napplelabs.dbssim.TracePanelimport ddf.minim.signals.PinkNoiseimport java.awt.BorderLayoutimport com.explodingpixels.macwidgets.MacButtonFactoryimport javax.swing.AbstractButtonimport javax.swing.JButtonimport javax.swing.ImageIconimport javax.swing.JToggleButtonimport javax.swing.ButtonGroupimport com.explodingpixels.macwidgets.LabeledComponentGroupclass SimUI { import ddf.minim.Minimimport ddf.minim.AudioOutputimport napplelabs.dbssim.NeuronSignalimport napplelabs.dbssim.TracePanelimport ddf.minim.signals.PinkNoiseimport java.awt.BorderLayoutimport com.explodingpixels.macwidgets.MacButtonFactoryimport javax.swing.AbstractButtonimport javax.swing.JButtonimport javax.swing.ImageIconimport javax.swing.JToggleButtonimport javax.swing.ButtonGroupimport com.explodingpixels.macwidgets.LabeledComponentGroupimport java.awt.event.ActionListenerimport javax.swing.SwingUtilitiesimport java.lang.Runnableclass SimUI {
MacFrame mf MacFrame mf
public SimUI() { public SimUI() {
mf = new MacFrame() mf = new MacFrame()
Expand All @@ -20,7 +20,8 @@ import ddf.minim.Minim import ddf.minim.AudioOutput import napplelabs.dbssim.Neu
out.addSignal(ns); out.addSignal(ns);
out.addSignal(new PinkNoise(0.1f)); out.addSignal(new PinkNoise(0.1f));


TracePanel panel = new TracePanel(out); final TracePanel panel = new TracePanel(out);
panel.start()


mf.content.add(panel, BorderLayout.CENTER) mf.content.add(panel, BorderLayout.CENTER)


Expand All @@ -31,29 +32,40 @@ import ddf.minim.Minim import ddf.minim.AudioOutput import napplelabs.dbssim.Neu


mf.addToolbarComponentRight(playButton) mf.addToolbarComponentRight(playButton)


JButton control = new JButton("Control");
control.putClientProperty("JButton.buttonType", "segmentedTextured");
control.putClientProperty("JButton.segmentPosition", "first");
control.setFocusable(false);
control.addActionListener({
mf.content.remove(panel)
SwingUtilities.invokeLater({
mf.content.repaint()
mf.revalidate()
} as Runnable)
} as ActionListener);


JToggleButton leftButton = new JToggleButton("Control"); JButton trace = new JButton("Trace");
trace.putClientProperty("JButton.buttonType", "segmentedTextured");
leftButton.putClientProperty("JButton.buttonType", "segmentedTextured"); trace.putClientProperty("JButton.segmentPosition", "last");
leftButton.putClientProperty("JButton.segmentPosition", "first"); trace.setFocusable(false);
leftButton.setFocusable(false); trace.addActionListener({

mf.content.add(panel, BorderLayout.CENTER)
JToggleButton rightButton = new JToggleButton("Trace"); SwingUtilities.invokeLater({
rightButton.putClientProperty("JButton.buttonType", "segmentedTextured"); mf.content.repaint()
rightButton.putClientProperty("JButton.segmentPosition", "last"); mf.revalidate()
rightButton.setFocusable(false); } as Runnable)

} as ActionListener);
ButtonGroup group = new ButtonGroup();
group.add(leftButton); ButtonGroup group = new ButtonGroup();
group.add(rightButton); group.add(control)

group.add(trace)
LabeledComponentGroup viewButtons = new LabeledComponentGroup(null, leftButton, rightButton);
LabeledComponentGroup viewButtons = new LabeledComponentGroup(null, control, trace);
mf.addToolbarComponentCenter(viewButtons.component) mf.addToolbarComponentCenter(viewButtons.component)


mf.revalidate() mf.revalidate()


new Thread(panel).start()
} }


public static void main(String[] args) { public static void main(String[] args) {
Expand Down
Binary file modified target/classes/napplelabs/dbssim/TracePanel$1.class
Binary file not shown.
Binary file modified target/classes/napplelabs/dbssim/TracePanel.class
Binary file not shown.

0 comments on commit 4d52063

Please sign in to comment.