aboutsummaryrefslogtreecommitdiff
path: root/robottino/all_versions/v4.1/src/Robot.java
blob: c52f29cb73f1d43aaa72bd184ee86870d736ac35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/*
Copyright 2008, 2009 Sebastiano Tronto <sebastiano@luganega.org>

This file is part of Robottino.

    Robottino is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    Robottino is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Robottino; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

*/

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class Robot {
	public static Main main = new Main();
	boolean leftArm, rightArm, leftLeg, rightLeg;
	String nomeRobot;
	Robot precedenteRobot, prossimoRobot;
	RobotFrame robotFrame;
	Robot() {
		this( false, false, false, false, "", main.list.ultimoRobot, null );
	}
	Robot( String nome ) {
		this ( false, false, false, false, nome, main.list.ultimoRobot, null );
	}
	Robot( boolean la, boolean ra, boolean ll, boolean rl, String nome, Robot prec, Robot prox ) {
		leftArm = la;
		rightArm = ra;
		leftLeg = ll;
		rightLeg = rl;
		nomeRobot = nome;
		precedenteRobot = prec;
		prossimoRobot = prox;
		robotFrame = new RobotFrame( nome );
		robotFrame.setSize( 350, 600 );
		robotFrame.setVisible( true );
		robotFrame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );
		robotFrame.addWindowListener(
			new WindowAdapter() {
				public void windowClosing( WindowEvent e ) {
					int selezione = JOptionPane.showOptionDialog( Robot.this.robotFrame, "Eliminare il robottino " + Robot.this.getName() + " ?", "Robottino v4.1 - Cancellazione robottino", JOptionPane.YES_NO_OPTION,  JOptionPane.QUESTION_MESSAGE, null, new String[] { "Si", "No" }, "No" );
					if ( selezione == JOptionPane.YES_OPTION ) {
						main.list.deleteRobot( Robot.this.getName() );
						robotFrame.dispose();
					}
				}
			}
		);
	}
	void setLA( boolean la ) {
		setPositions( la, this.rightArm, this.leftLeg, this.rightLeg );
	}
	void setRA( boolean ra ) {
		setPositions( this.leftArm, ra, this.leftLeg, this.rightLeg );
	}
	void setLL( boolean ll ) {
		setPositions( this.leftArm, this.rightArm, ll, this.rightLeg );
	}
	void setRL( boolean rl ) {
		setPositions( this.leftArm, this.rightArm, this.leftLeg, rl );
	}
	void setPositions( boolean la, boolean ra, boolean ll, boolean rl ) {
		this.leftArm = la;
		this.rightArm = ra;
		this.leftLeg = ll;
		this.rightLeg = rl;
	}
	void setName( String nome ) {
		nomeRobot = nome;
	}
	boolean getLA() {
		return leftArm;
	}
	boolean getRA() {
		return rightArm;
	}
	boolean getLL() {
		return leftLeg;
	}
	boolean getRL() {
		return rightLeg;
	}
	String getName() {
		return nomeRobot;
	}
	Robot getNext() {
		return prossimoRobot;
	}
}

Generated with cgit - Back to sebastiano.tronto.net