package jas2.swingstudio;
import jas2.util.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Frame;
import java.awt.Component;
import jas2.hist.*;
public class WindowMenu extends JMenu
{
public WindowMenu()
{
super();
}
private void buildMenu()
{
removeAll();
final int n = m_winMan.getWindowCount();
final boolean areWindows = (n > 0);
WindowMenuItem temp;
add(temp = new WindowMenuItem("Close", WindowManager.CLOSE));
temp.setEnabled(areWindows && m_winMan.getSelectedWindow() >= 0);
temp.setMnemonic('C');
add(temp = new WindowMenuItem("Close All", WindowManager.CLOSE_ALL));
temp.setEnabled(areWindows);
temp.setMnemonic('A');
addSeparator();
add(new JASMenuItem("Full Screen",'F'));
addSeparator();
boolean showRearrangeOptions = (m_winMan instanceof InternalFramesWindowManager && areWindows);
add(temp = new WindowMenuItem("Cascade", InternalFramesWindowManager.CASCADE));
temp.setEnabled(showRearrangeOptions);
temp.setMnemonic('S');
add(temp = new WindowMenuItem("Tile Horizontally", InternalFramesWindowManager.TILE_HORIZONTALLY));
temp.setEnabled(showRearrangeOptions);
temp.setMnemonic('H');
add(temp = new WindowMenuItem("Tile Vertically", InternalFramesWindowManager.TILE_VERTICALLY));
temp.setEnabled(showRearrangeOptions);
temp.setMnemonic('V');
if (areWindows)
{
addSeparator();
for (int i=0; i < n; i++)
{
add(new WindowMenuItem(m_winMan.getWindowName(i), i));
}
}
}
protected void fireMenuSelected()
{
m_winMan = JavaAnalysisStudio.getApp().getWindowManager();
buildMenu();
super.fireMenuSelected();
}
private class WindowMenuItem extends JMenuItem
{
WindowMenuItem(String name, int i)
{
super((i >= 0) ? String.valueOf(i + 1) +" "+ name : name);
index = i;
if (i >= 0)
setMnemonic('0' + (char) (i + 1));
}
protected void fireActionPerformed(ActionEvent evt)
{
if (index == WindowManager.CLOSE_ALL) m_winMan.closeAllWindows();
else if (index == WindowManager.CLOSE) m_winMan.closeWindow(m_winMan.getSelectedWindow());
else if (index < 0) ((InternalFramesWindowManager) m_winMan).arrange(index);
else m_winMan.selectWindow(index);
}
private int index;
}
private WindowManager m_winMan;
}
Ads help maintain this website.