/*
* Copyright (C) Justo Montiel, David Torres, Sergio Gomez, Alberto Fernandez
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, see
* <http://www.gnu.org/licenses/>
*/
package moduls.frm;
import java.beans.PropertyVetoException;
import javax.swing.DefaultDesktopManager;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.InternalFrameListener;
import moduls.frm.children.FrmPiz;
/**
* <p>
* <b>MultiDendrograms</b>
* </p>
*
* Internal frames
*
* @author Justo Montiel, David Torres, Sergio Gómez, Alberto Fernández
*
* @since JDK 6.0
*/
public class FrmInternalFrame extends JInternalFrame implements InternalFrameListener{
//details of the frame's parameters
private static final long serialVersionUID = 1L;
private static int openFrameCount = 0;
private static final int xOffset = 20, yOffset = 30;
//data necessary to draw the tree
private InternalFrameData ifd;
//frame data
private FrmPiz InternalPanel;
//parent frame data
private FrmPrincipalDesk fr;
//data necessary to render contexts
private boolean[] SelectedNodeNumbers;
private final int FrameID;
public FrmInternalFrame(String title, boolean isUpdate, int oldx, int oldy, FrmPrincipalDesk fr) {
//Change: set every option to false, originally all true
// super(title, false, // resizable
// false, // closable
// false, // maximizable
// false); ;// iconifiable (lower left-hand corner minimize)
super(title, true, // resizable
true, // closable
true, // maximizable
true);// iconifiable (lower left-hand corner minimize)
//turn off default look and feel for internal frame [not working]
//JFrame.setDefaultLookAndFeelDecorated(false);
//connect to parent
this.fr = fr;
this.FrameID = fr.getInternalFrameID();
String tit;
tit = title;
if (title.equals("SINGLE_LINKAGE")) {
tit = "Single Linkage";
} else if (title.equals("COMPLETE_LINKAGE")) {
tit = "Complete Linkage";
} else if (title.equals("UNWEIGHTED_AVERAGE")) {
tit = "Unweighted Average";
} else if (title.equals("WEIGHTED_AVERAGE")) {
tit = "Weighted Average";
} else if (title.equals("UNWEIGHTED_CENTROID")) {
tit = "Unweighted Centroid";
} else if (title.equals("WEIGHTED_CENTROID")) {
tit = "Weighted Centroid";
} else if (title.equals("JOINT_BETWEEN_WITHIN")) {
tit = "Joint Between-Within";
}
setTitle(tit);
if (isUpdate) {
setLocation(oldx, oldy);
} else {
//manage location based on offset.
setLocation(xOffset * openFrameCount, yOffset * openFrameCount);
//setLocation(1000 * openFrameCount, 1000 * openFrameCount);
}
openFrameCount++;
// JScrollPane scrollPane3 = new JScrollPane(this);
// scrollPane3.setPreferredSize(this.getSize());
// scrollPane3.setVisible(true);
// this.add(scrollPane3);
// this.add(new JScrollBar());
this.addInternalFrameListener(this);
}
public static void decreaseOpenFrameCount() {
openFrameCount--;
}
public void setInternalFrameData(final InternalFrameData ifd) {
this.ifd = ifd;
}
public InternalFrameData getInternalFrameData() {
return ifd;
}
public boolean[] getSelectedNodeNumbers() {
return SelectedNodeNumbers;
}
public void setSelectedNodeNumbers(boolean[] selectedNodeNumbers) {
SelectedNodeNumbers = selectedNodeNumbers;
}
public FrmPiz getInternalPanel() {
return InternalPanel;
}
public void setInternalPanel(FrmPiz internalPanel) {
InternalPanel = internalPanel;
}
@Override
public void internalFrameActivated(InternalFrameEvent e) {
//update current internal frame
if (e.getSource().equals(this)){
this.fr.setCurrentFrame(this);
//System.out.println("Selected Frame: " + this.FrameID);
}
}
@Override
public void internalFrameClosed(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameClosing(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameDeactivated(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameDeiconified(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameIconified(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameOpened(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
}