/*

 * Title: japlot.jaxodraw
 * Description: Graphical user interface for drawing Feynman diagrams
 * @author Daniele Binosi 
 * @author Lukas Theussl  

 Copyright (C) 2003-2006,  Daniele Binosi and Lukas Theussl

 See the file LICENSE in the source distribution home directory
 for a full copy of the GPL (GNU General Public License).

    This file is part of japlot.jaxodraw.

    japlot.jaxodraw 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.

    japlot.jaxodraw 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 this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA


 */
package japlot.jaxodraw;


import japlot.Global;
import japlot.MemoryMonitor;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

import java.io.File;

import java.util.ResourceBundle;

import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;



/** Displays the flag panel. */
public class JaxoFlags extends JPanel {
    private JaxoMainPanel thePanel;
    private ResourceBundle language =
        ResourceBundle.getBundle(JaxoPrefs.getPref(JaxoPrefs.PREF_LANGUAGE));
    private JLabel controlFlag;
    private JLabel coordFlag;
    private JLabel fileFlag;
    private String controlPrefix = language.getString("Current_mode:");
    private String coordPrefix = "(x,y) = ";
    private String filePrefix = language.getString("Current_Dir:");
    private Border raisedetched =
        BorderFactory.createEtchedBorder(EtchedBorder.RAISED);

    //private Border loweredetched =
    //    BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
    //     private Border compound =
    //         BorderFactory.createCompoundBorder(loweredetched, raisedetched);
    //     private Border raisedbevel = BorderFactory.createRaisedBevelBorder();
    //     private Border loweredbevel = BorderFactory.createLoweredBevelBorder();

    /** Consructor: displays the panel containing the current mode and the panel
     * containing the coordinates.
     * @param mainPanel Instance of the main panel
     */
    public JaxoFlags(JaxoMainPanel mainPanel) {
        this.thePanel = mainPanel;


        this.setLayout(new BorderLayout());
        this.setBorder(new javax.swing.border.EtchedBorder());
        this.add(Global.statusbar, BorderLayout.WEST);
        MemoryMonitor memMon = new MemoryMonitor();
        memMon.setPreferredSize(new java.awt.Dimension(65, 14));
        memMon.setMinimumSize(new java.awt.Dimension(30, 10));
        this.add(memMon, BorderLayout.EAST);
        // add(infoPanel);


/*
        controlFlag = new label(controlPrefix, label.CENTER);
        JPanel controlFlagPanel = new JPanel();
        controlFlagPanel.setLayout(new BorderLayout());
        controlFlagPanel.add(controlFlag, BorderLayout.CENTER);
        controlFlagPanel.setBorder(raisedetched);
        controlFlagPanel.setMinimumSize(new Dimension(270, 30));
        controlFlagPanel.setPreferredSize(new Dimension(270, 30));

        coordFlag = new label(coordPrefix, label.CENTER);

        JPanel coordFlagPanel = new JPanel();
        coordFlagPanel.setLayout(new BorderLayout());
        coordFlagPanel.add(coordFlag, BorderLayout.CENTER);
        coordFlagPanel.setBorder(raisedetched);
        coordFlagPanel.setMinimumSize(new Dimension(170, 30));
        coordFlagPanel.setPreferredSize(new Dimension(170, 30));

        fileFlag = new label(filePrefix, label.CENTER);

        JPanel fileFlagPanel = new JPanel();
        fileFlagPanel.setLayout(new BorderLayout());
        fileFlagPanel.add(fileFlag, BorderLayout.CENTER);
        fileFlagPanel.setBorder(raisedetched);
        fileFlagPanel.setMinimumSize(new Dimension(390, 30));
        fileFlagPanel.setPreferredSize(new Dimension(490, 30));

        GridBagLayout gridbag = new GridBagLayout();
        GridBagConstraints c = new GridBagConstraints();

        setLayout(gridbag);

        c.gridx = 0;
        c.gridy = 0;
        gridbag.setConstraints(fileFlagPanel, c);
        add(fileFlagPanel);

        c.gridx = 1;
        c.gridy = 0;
        gridbag.setConstraints(controlFlagPanel, c);
        add(controlFlagPanel);

        c.gridx = 2;
        c.gridy = 0;
        gridbag.setConstraints(coordFlagPanel, c);
        add(coordFlagPanel);
 
     */
   }

    /** Sets the current mode in the flag panel.
     * @param control The current mode to be set.
     */
    public final void setControlFlagText(String control) {
         Global.showMessage( controlPrefix + control );   
      // controlFlag.setText(controlPrefix + control);
    }

    /** Sets the coordinates in the flag panel.
     * @param coord The coordinates to be set.
     */
    public final void setCoordFlagText(String coord) {
       //  Global.showMessage( coordPrefix + coord);
           Global.showStatusBarText(coordPrefix + coord);
        // coordFlag.setText(coordPrefix + coord);
    }

    /** Sets the file name in the flag panel.
     * @param filename The coordinates to be set.
     */
    public final void setFileFlagText(String filename) {

        // Global.showMessage();

     /*
        // Internationalize Current dir:
        //        File f = new File(filename);
        int max = 46;

        if (filename.length() != 0) {
            filename =
                filename.substring(0, filename.lastIndexOf(File.separator) + 1);

            if (filename.length() > max) {
                filename =
                    filename.substring(filename.length() - max,
                        filename.length());
                fileFlag.setText(filePrefix + " ...".concat(filename));
            } else {
                fileFlag.setText(filePrefix + " " + filename);
            }
        } else {
            filename = japlot.jaxodraw.getCurDir().concat(File.separator);

            if (filename.length() > max) {
                filename =
                    filename.substring(filename.length() - max,
                        filename.length());
                fileFlag.setText(filePrefix + " ...".concat(filename));
            } else {
                fileFlag.setText(filePrefix + " " + filename);
            }
        }

    */

    }

    /** Sets the text in the flag panel in different languages.
     * @param languageString A string specifying the language to be set.
     */
    public final void setLanguage(String languageString) {

        //   Global.showMessage( languageString) ;
     /*
        language = ResourceBundle.getBundle(languageString);

        controlPrefix = language.getString("Current_mode:");
        filePrefix = language.getString("Current_Dir:");

        setFileFlagText(thePanel.getCanvas().getCanvasGraph().getSaveFileName());

        if (thePanel.isParticleMode()) {
            int j = thePanel.getPbtPanel().getIndex(thePanel.getMode());
            setControlFlagText(thePanel.getPbtPanel().getParticleFlagModes(j));
        } else if (thePanel.isEditMode()) {
            int j = thePanel.getEbtPanel().getIndex(thePanel.getMode());
            setControlFlagText(thePanel.getEbtPanel().getEditFlagModes(j));
        } else if (thePanel.isMiscMode()) {
            int j = thePanel.getMbtPanel().getIndex(thePanel.getMode());
            setControlFlagText(thePanel.getMbtPanel().getMiscFlagModes(j));
        } else {
            setControlFlagText("");
        }
     */
    }
}

 

Ads help maintain this website.