Back to index

wims  3.65+svn20090927
SubstitutionDisplay.java
Go to the documentation of this file.
00001 /*
00002 $Id: SubstitutionDisplay.java,v 1.3 2003/02/18 11:48:47 sander Exp $
00003 */
00004 
00005 
00006 /*
00007 Copyright (C) 2001-2002 Mainline Project (I3S - ESSI - CNRS -UNSA)
00008 
00009 This library is free software; you can redistribute it and/or
00010 modify it under the terms of the GNU Lesser General Public
00011 License as published by the Free Software Foundation; either
00012 version 2.1 of the License, or (at your option) any later version.
00013 
00014 This library is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017 Lesser General Public License for more details.
00018 
00019 You should have received a copy of the GNU Lesser General Public
00020 License along with this library; if not, write to the Free Software
00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 
00023 For further information on the GNU Lesser General Public License,
00024 see: http://www.gnu.org/copyleft/lesser.html
00025 For further information on this library, contact: mainline@essi.fr
00026 */
00027 
00028 
00029 package fr.ove.openmath.jome.ctrlview.bidim;
00030 
00031 import java.awt.*;
00032 import java.awt.event.*;
00033 import java.text.*;
00034 import fr.ove.utils.NumberUtils;
00035 import fr.ove.openmath.jome.ctrlview.bidim.StringLayout;
00036 import fr.ove.openmath.jome.ctrlview.bidim.Display;
00037 import fr.ove.openmath.jome.ctrlview.bidim.GraphicContext;
00038 import fr.ove.openmath.jome.model.*;
00039 import fr.ove.openmath.jome.model.events.ModelEvent;
00040 
00047 public class SubstitutionDisplay extends AbstractStringDisplay {
00053     public SubstitutionDisplay(GraphicContext graphicContext, String string) {
00054         super(graphicContext, string);
00055         Font font = getFont();
00056         font = new Font(font.getName(), Font.BOLD, font.getSize());
00057         setFont(font);
00058         
00059         SubstitutionLayout layout = new SubstitutionLayout();
00060         layout.initDisplay(this);
00061         setLayout(layout);
00062     }
00063     
00068     public void consumeModelEvent(ModelEvent modelEvent) {
00069         // En principe, c'est le seul événement que doit recevoir ce type de display
00070         // De plus, forcément, le display représenté n'est pas le display d'un opérateur.
00071         switch (modelEvent.getAction()) {
00072             case ModelEvent.UPDATE :
00073                 //System.out.println("ModelEvent.UPDATE : on update le StringDisplay");
00074                 Icon src = (Icon) modelEvent.getSource();
00075                 
00076                 // On met à jour le display.
00077                 setString(src.getIconName());
00078 
00079                 computeAncestorsAttributes();
00080                 invalidate();
00081         }
00082     }
00083 }