Changeset 344:a7209caead93 in finroc_tools_gui-java


Ignore:
Timestamp:
29.10.2018 15:53:16 (8 months ago)
Author:
Max Reichardt <mreichardt@…>
Branch:
default
Phase:
public
Message:

Makes it possible to pause/freeze oscilloscope widget (toggled with mouse click)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • widgets/Oscilloscope.java

    r307 r344  
    2727import java.awt.Graphics; 
    2828import java.awt.Graphics2D; 
     29import java.awt.event.ActionListener; 
     30import java.awt.event.MouseEvent; 
     31import java.awt.event.MouseListener; 
    2932import java.io.Serializable; 
    3033import java.util.ArrayList; 
     
    114117    } 
    115118 
    116     class OscilloscopeUI extends WidgetUI implements WidgetPortsListener { 
     119    class OscilloscopeUI extends WidgetUI implements WidgetPortsListener, MouseListener { 
    117120 
    118121        /** UID */ 
     
    125128        List<OscilloscopeFunction> functions = new ArrayList<OscilloscopeFunction>(); 
    126129        JLabel label = new JLabel(); 
     130        boolean pauseMode; 
    127131 
    128132        OscilloscopeThread thread; 
     
    158162 
    159163            signals.addChangeListener(this); 
     164            main.addMouseListener(this); 
    160165            widgetPropertiesChanged(); 
    161166        } 
     
    225230        } 
    226231 
     232        @Override 
     233        public void mouseClicked(MouseEvent e) { 
     234            this.pauseMode = !this.pauseMode; 
     235        } 
     236 
     237        @Override 
     238        public void mousePressed(MouseEvent e) {} 
     239 
     240        @Override 
     241        public void mouseReleased(MouseEvent e) {} 
     242 
     243        @Override 
     244        public void mouseEntered(MouseEvent e) {} 
     245 
     246        @Override 
     247        public void mouseExited(MouseEvent e) {} 
     248 
    227249        class OscilloscopeThread extends LoopThread { 
    228250 
     
    241263                    stopLoop(); // disposed 
    242264                    Log.log(LogLevel.DEBUG, this, "Oscilloscope Thread stopped."); 
     265                    return; 
     266                } 
     267 
     268                if (pauseMode) { 
     269                    for (int i = 0; i < functions.size(); i++) { 
     270                        ((PortBase)signals.get(i).getPort()).dequeueSingleAutoLockedRaw(); 
     271                    } 
     272                    releaseAllLocks(); 
    243273                    return; 
    244274                } 
Note: See TracChangeset for help on using the changeset viewer.