import javax.swing.*; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.io.Serializable; /** * Gère une création qui est ajoutée à un projet */ public class Composition extends JPanel implements MouseListener, MouseMotionListener, Serializable { public static int _compositionId = 0; public static String UML_DIAGRAM = "UML Diagram"; private Project _project; protected String _name; protected String _type; protected Object _toolbar; protected AppThinkerWindow _window; /** * Constructeur - Crée une nouvelle composition. * @param project Le projet associé à la composition. */ public Composition(Project project){ _project = project; this.addMouseListener(this); this.addMouseMotionListener(this); this.setPreferredSize(new Dimension(3000,3000)); } /** * Paramètre la fenêtre enfant de la composition. * @param window La fenêtre qui affiche la composition. */ public void setWindow(AppThinkerWindow window){ _window = window; } /** * Retourne le type de la composition. * @return Le type de la composition. */ public String getType(){ return _type; } /** * Retourne le projet associé à la composition. * @return Le projet associé à la composition. */ public Project getProject(){ return _project; } public Object getToolbar(){ return _toolbar; } public JScrollPane getScrollPanel(){ return new JScrollPane(this); } //Evènements souris @Override public void mouseClicked(MouseEvent e) { } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseReleased(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } @Override public void mouseDragged(MouseEvent e) { } @Override public void mouseMoved(MouseEvent e) { int getX = e.getX(); int getY = e.getY(); int sens = 5; //Mise à jour des coordonnées de la souris dans la statusbar AppThinker.getWindow().getStatusbar().setPosLabel(e.getX(), e.getY()); } }