Main Page | Packages | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ikayaki.gui.MagnetometerStatusPanel Class Reference

Inheritance diagram for ikayaki.gui.MagnetometerStatusPanel:

Inheritance graph
[legend]
Collaboration diagram for ikayaki.gui.MagnetometerStatusPanel:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MagnetometerStatusPanel ()
void setSquid (Squid squid)
void updateStatus ()
void measurementUpdated (MeasurementEvent e)

Static Public Attributes

static final Color DEMAGNETIZING_COLOR = new Color(0xFFCCCC)
static final Color MEASURING_COLOR = new Color(0xFFFF99)
static final Color MOVING_COLOR = new Color(0xCCCCFF)
static final Color IDLE_COLOR = Color.WHITE

Protected Member Functions

void paintComponent (Graphics g)

Package Attributes

final ManualControlsPanel manualControlsPanel

Private Member Functions

void updatePositions ()
void updateButtonPositions ()
void drawFillOval (Graphics2D g2, Color fill, int x, int y, int width, int height)
void drawFillSideRect (Graphics2D g2, Color fill, int x, int y, int width, int height)
void drawArrow (Graphics2D g2, int x, int y, int length, int rotation)

Private Attributes

Squid squid = null
int position = 0
int rotation = 0
boolean moving = false
boolean rotating = false
boolean demagnetizing = false
boolean measuring = false
int maxposition = 50000
int maxrotation = 360
int posMove = -2
int posLeft = -1
int posHome
int posDemagZ
int posDemagY
int posBG
int posMeasure
int posRight = 2 << 24 - 1
TreeMap< Integer, JComponent > moveButtons = new TreeMap<Integer, JComponent>()

Classes

class  MagnetometerStatusAnimator
class  ManualControlsPanel

Detailed Description

Picture of current magnetometer status, with sample holder position and rotation. Status is updated according to MeasurementEvents received by MeasurementControlsPanel. And, manual controls in ManualControlsPanel inner class. Now that I got over myself and painfully merged the two classes.

Author:
Samuli Kaipiainen

Definition at line 44 of file MagnetometerStatusPanel.java.


Constructor & Destructor Documentation

ikayaki.gui.MagnetometerStatusPanel.MagnetometerStatusPanel  ) 
 

Sets magnetometer status to current position.

Definition at line 100 of file MagnetometerStatusPanel.java.

References ikayaki.gui.MagnetometerStatusPanel.manualControlsPanel, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveBG, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveDemagY, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveDemagZ, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveHome, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveLabel, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveLeft, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveMeasure, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveRight, ikayaki.gui.MagnetometerStatusPanel.updatePositions(), and ikayaki.gui.MagnetometerStatusPanel.updateStatus().

Here is the call graph for this function:


Member Function Documentation

void ikayaki.gui.MagnetometerStatusPanel.drawArrow Graphics2D  g2,
int  x,
int  y,
int  length,
int  rotation
[private]
 

Draws the rotation arrow.

Parameters:
g2 marsu.
x x-center.
y y-center.
length arrow length; arrow pointing lines' length will be length/4.
rotation rotation angle as 0..maxrotation (meaning 0..360 degrees).

Definition at line 334 of file MagnetometerStatusPanel.java.

References ikayaki.gui.MagnetometerStatusPanel.maxrotation.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent().

void ikayaki.gui.MagnetometerStatusPanel.drawFillOval Graphics2D  g2,
Color  fill,
int  x,
int  y,
int  width,
int  height
[private]
 

Draws a filled oval with line.

Definition at line 305 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent().

void ikayaki.gui.MagnetometerStatusPanel.drawFillSideRect Graphics2D  g2,
Color  fill,
int  x,
int  y,
int  width,
int  height
[private]
 

Draws a filled rectangle with lines on left and right side.

Definition at line 316 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent().

void ikayaki.gui.MagnetometerStatusPanel.measurementUpdated MeasurementEvent  e  ) 
 

Updates magnetometer status picture; called by MeasurementControlsPanel when it receives MeasurementEvent.

Implements ikayaki.MeasurementListener.

Definition at line 208 of file MagnetometerStatusPanel.java.

References ikayaki.gui.MagnetometerStatusPanel.manualControlsPanel, ikayaki.gui.null, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.setEnabled(), ikayaki.gui.MagnetometerStatusPanel.updatePositions(), and ikayaki.gui.MagnetometerStatusPanel.updateStatus().

Referenced by ikayaki.gui.MeasurementControlsPanel.measurementUpdated().

Here is the call graph for this function:

void ikayaki.gui.MagnetometerStatusPanel.paintComponent Graphics  g  )  [protected]
 

Paints the magnetometer status picture.

Parameters:
g mursu.

Definition at line 223 of file MagnetometerStatusPanel.java.

References ikayaki.gui.MagnetometerStatusPanel.demagnetizing, ikayaki.gui.MagnetometerStatusPanel.DEMAGNETIZING_COLOR, ikayaki.gui.MagnetometerStatusPanel.drawArrow(), ikayaki.gui.MagnetometerStatusPanel.drawFillOval(), ikayaki.gui.MagnetometerStatusPanel.drawFillSideRect(), ikayaki.gui.MagnetometerStatusPanel.IDLE_COLOR, ikayaki.gui.MagnetometerStatusPanel.maxposition, ikayaki.gui.MagnetometerStatusPanel.measuring, ikayaki.gui.MagnetometerStatusPanel.MEASURING_COLOR, ikayaki.gui.MagnetometerStatusPanel.moving, ikayaki.gui.MagnetometerStatusPanel.MOVING_COLOR, ikayaki.gui.MagnetometerStatusPanel.posBG, ikayaki.gui.MagnetometerStatusPanel.posDemagZ, ikayaki.gui.MagnetometerStatusPanel.position, ikayaki.gui.MagnetometerStatusPanel.rotating, ikayaki.gui.MagnetometerStatusPanel.rotation, and ikayaki.gui.MagnetometerStatusPanel.updateButtonPositions().

Here is the call graph for this function:

void ikayaki.gui.MagnetometerStatusPanel.setSquid Squid  squid  ) 
 

Sets our Squid to command; called by MainViewPanel. Uses the sample handler to read positions and command with move/rotate commands. Degausser and magnetometer are used for displaying their status.

Definition at line 134 of file MagnetometerStatusPanel.java.

References ikayaki.gui.MagnetometerStatusPanel.manualControlsPanel, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.setEnabled(), and ikayaki.gui.MagnetometerStatusPanel.updateStatus().

Referenced by ikayaki.gui.MeasurementControlsPanel.setProject().

Here is the call graph for this function:

void ikayaki.gui.MagnetometerStatusPanel.updateButtonPositions  )  [private]
 

Updates moveButtons' positions. Stacks 'em up nicely so that noone is on top of another or out of screen.

Definition at line 176 of file MagnetometerStatusPanel.java.

References ikayaki.gui.MagnetometerStatusPanel.maxposition, ikayaki.gui.MagnetometerStatusPanel.moveButtons, and ikayaki.gui.MagnetometerStatusPanel.position.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent().

void ikayaki.gui.MagnetometerStatusPanel.updatePositions  )  [private]
 

Reads handler positions from Settings, posLeft and posRight are hard-coded. Updates maxposition and position->radiobutton -treemap.

Definition at line 144 of file MagnetometerStatusPanel.java.

References ikayaki.gui.MagnetometerStatusPanel.manualControlsPanel, ikayaki.gui.MagnetometerStatusPanel.maxposition, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveBG, ikayaki.gui.MagnetometerStatusPanel.moveButtons, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveDemagY, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveDemagZ, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveHome, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveLabel, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveLeft, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveMeasure, ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.moveRight, ikayaki.gui.MagnetometerStatusPanel.posBG, ikayaki.gui.MagnetometerStatusPanel.posDemagY, ikayaki.gui.MagnetometerStatusPanel.posDemagZ, ikayaki.gui.MagnetometerStatusPanel.posHome, ikayaki.gui.MagnetometerStatusPanel.posLeft, ikayaki.gui.MagnetometerStatusPanel.posMeasure, ikayaki.gui.MagnetometerStatusPanel.posMove, and ikayaki.gui.MagnetometerStatusPanel.posRight.

Referenced by ikayaki.gui.MagnetometerStatusPanel.MagnetometerStatusPanel(), and ikayaki.gui.MagnetometerStatusPanel.measurementUpdated().

void ikayaki.gui.MagnetometerStatusPanel.updateStatus  ) 
 

Updates magnetometer status picture. Reads current Squid status from Handler, Magnetometer and Degausser.

Definition at line 192 of file MagnetometerStatusPanel.java.

References ikayaki.gui.MagnetometerStatusPanel.demagnetizing, ikayaki.squid.Squid.getDegausser(), ikayaki.squid.Squid.getHandler(), ikayaki.squid.Squid.getMagnetometer(), ikayaki.gui.MagnetometerStatusPanel.measuring, ikayaki.gui.MagnetometerStatusPanel.moving, ikayaki.gui.null, ikayaki.gui.MagnetometerStatusPanel.position, ikayaki.gui.MagnetometerStatusPanel.rotating, ikayaki.gui.MagnetometerStatusPanel.rotation, and ikayaki.gui.MagnetometerStatusPanel.squid.

Referenced by ikayaki.gui.MagnetometerStatusPanel.MagnetometerStatusPanel(), ikayaki.gui.MagnetometerStatusPanel.measurementUpdated(), and ikayaki.gui.MagnetometerStatusPanel.setSquid().

Here is the call graph for this function:


Member Data Documentation

boolean ikayaki.gui.MagnetometerStatusPanel.demagnetizing = false [private]
 

Definition at line 74 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent(), and ikayaki.gui.MagnetometerStatusPanel.updateStatus().

final Color ikayaki.gui.MagnetometerStatusPanel.DEMAGNETIZING_COLOR = new Color(0xFFCCCC) [static]
 

Definition at line 46 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent().

final Color ikayaki.gui.MagnetometerStatusPanel.IDLE_COLOR = Color.WHITE [static]
 

Definition at line 49 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent().

final ManualControlsPanel ikayaki.gui.MagnetometerStatusPanel.manualControlsPanel [package]
 

ManualControlsPanel whose move-radiobuttons to show.

Definition at line 54 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.MagnetometerStatusPanel(), ikayaki.gui.MeasurementControlsPanel.MeasurementControlsPanel(), ikayaki.gui.MagnetometerStatusPanel.measurementUpdated(), ikayaki.gui.MagnetometerStatusPanel.setSquid(), and ikayaki.gui.MagnetometerStatusPanel.updatePositions().

int ikayaki.gui.MagnetometerStatusPanel.maxposition = 50000 [private]
 

Definition at line 79 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent(), ikayaki.gui.MagnetometerStatusPanel.updateButtonPositions(), and ikayaki.gui.MagnetometerStatusPanel.updatePositions().

int ikayaki.gui.MagnetometerStatusPanel.maxrotation = 360 [private]
 

Definition at line 79 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.drawArrow().

boolean ikayaki.gui.MagnetometerStatusPanel.measuring = false [private]
 

Definition at line 75 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent(), and ikayaki.gui.MagnetometerStatusPanel.updateStatus().

final Color ikayaki.gui.MagnetometerStatusPanel.MEASURING_COLOR = new Color(0xFFFF99) [static]
 

Definition at line 47 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent().

TreeMap<Integer, JComponent> ikayaki.gui.MagnetometerStatusPanel.moveButtons = new TreeMap<Integer, JComponent>() [private]
 

Sorted map for move-radiobuttons' positions.

Definition at line 95 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.updateButtonPositions(), and ikayaki.gui.MagnetometerStatusPanel.updatePositions().

boolean ikayaki.gui.MagnetometerStatusPanel.moving = false [private]
 

Definition at line 70 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent(), and ikayaki.gui.MagnetometerStatusPanel.updateStatus().

final Color ikayaki.gui.MagnetometerStatusPanel.MOVING_COLOR = new Color(0xCCCCFF) [static]
 

Definition at line 48 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent().

int ikayaki.gui.MagnetometerStatusPanel.posBG [private]
 

Definition at line 88 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent(), and ikayaki.gui.MagnetometerStatusPanel.updatePositions().

int ikayaki.gui.MagnetometerStatusPanel.posDemagY [private]
 

Definition at line 87 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.updatePositions().

int ikayaki.gui.MagnetometerStatusPanel.posDemagZ [private]
 

Definition at line 86 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent(), and ikayaki.gui.MagnetometerStatusPanel.updatePositions().

int ikayaki.gui.MagnetometerStatusPanel.posHome [private]
 

Definition at line 85 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.updatePositions().

int ikayaki.gui.MagnetometerStatusPanel.position = 0 [private]
 

Definition at line 68 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent(), ikayaki.gui.MagnetometerStatusPanel.updateButtonPositions(), and ikayaki.gui.MagnetometerStatusPanel.updateStatus().

int ikayaki.gui.MagnetometerStatusPanel.posLeft = -1 [private]
 

Definition at line 84 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.updatePositions().

int ikayaki.gui.MagnetometerStatusPanel.posMeasure [private]
 

Definition at line 89 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.updatePositions().

int ikayaki.gui.MagnetometerStatusPanel.posMove = -2 [private]
 

Definition at line 83 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.updatePositions().

int ikayaki.gui.MagnetometerStatusPanel.posRight = 2 << 24 - 1 [private]
 

Definition at line 90 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.updatePositions().

boolean ikayaki.gui.MagnetometerStatusPanel.rotating = false [private]
 

Definition at line 71 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent(), and ikayaki.gui.MagnetometerStatusPanel.updateStatus().

int ikayaki.gui.MagnetometerStatusPanel.rotation = 0 [private]
 

Definition at line 69 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.paintComponent(), and ikayaki.gui.MagnetometerStatusPanel.updateStatus().

Squid ikayaki.gui.MagnetometerStatusPanel.squid = null [private]
 

Squid to read the device's state and command the handler to move and rotateto. Is null if the current project does not have access to the Squid.

Definition at line 65 of file MagnetometerStatusPanel.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.updateStatus().


The documentation for this class was generated from the following file:
Generated on Fri May 6 16:00:53 2005 for Squid by  doxygen 1.4.1