tn5250j/src/org/tn5250j Gui5250Frame.java,1.24,1.25
"Kenneth J. Pouncey" <[email protected]> Mon, 26 Jul 2004 19:31:41 +0000
| Newsgroups | gmane.comp.java.tn5250j.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/tn5250j/tn5250j/src/org/tn5250j
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13654/src/org/tn5250j
Modified Files:
Gui5250Frame.java
Log Message:
Added tn5250 package to framework to start work on the interfaces
Index: Gui5250Frame.java
===================================================================
RCS file: /cvsroot/tn5250j/tn5250j/src/org/tn5250j/Gui5250Frame.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** Gui5250Frame.java 22 Jul 2004 05:49:47 -0000 1.24
--- Gui5250Frame.java 26 Jul 2004 19:31:39 -0000 1.25
***************
*** 1,476 ****
! /**
! * Title: tn5250J
! * Copyright: Copyright (c) 2001-2003
! * Company:
! * @author Kenneth J. Pouncey
! * @version 0.4
! *
! * Description:
! *
! * This program 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, or (at your option)
! * any later version.
! *
! * This program 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 software; see the file COPYING. If not, write to
! * the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
! * Boston, MA 02111-1307 USA
! *
! */
! package org.tn5250j;
!
! import java.awt.*;
! import java.awt.event.*;
! import javax.swing.*;
! import java.util.*;
!
! import javax.swing.event.ChangeListener;
! import javax.swing.event.ChangeEvent;
!
! import org.tn5250j.tools.logging.*;
! import org.tn5250j.event.SessionJumpListener;
! import org.tn5250j.event.SessionJumpEvent;
! import org.tn5250j.event.SessionListener;
! import org.tn5250j.event.SessionChangeEvent;
! import org.tn5250j.event.TabClosedListener;
! import org.tn5250j.interfaces.GUIViewInterface;
! import org.tn5250j.interfaces.ConfigureFactory;
! import org.tn5250j.gui.TN5250jTabbedPane;
!
! public class Gui5250Frame extends GUIViewInterface implements
! ChangeListener,
! TN5250jConstants,
! SessionListener,
! TabClosedListener,
! SessionJumpListener {
!
! BorderLayout borderLayout1 = new BorderLayout();
! //JTabbedPane sessionPane = new JTabbedPane();
! TN5250jTabbedPane sessionPane = new TN5250jTabbedPane();
! private int selectedIndex = 0;
! private boolean embedded = false;
! private boolean hideTabBar = false;
! public static int count = 0;
! private TN5250jLogger log = TN5250jLogFactory.getLogger (this.getClass());
!
!
! //Construct the frame
! public Gui5250Frame(My5250 m) {
! super(m);
! enableEvents(AWTEvent.WINDOW_EVENT_MASK);
! try {
! jbInit();
! }
! catch(Exception e) {
! e.printStackTrace();
! }
! }
!
! //Component initialization
! private void jbInit() throws Exception {
!
! this.getContentPane().setLayout(borderLayout1);
!
! // update the frame sequences
! frameSeq = sequence++;
!
! sessionPane.setBorder(BorderFactory.createEtchedBorder());
! sessionPane.setBounds(new Rectangle(78, 57, 5, 5));
! sessionPane.setOpaque(true);
! sessionPane.setRequestFocusEnabled(false);
! sessionPane.setDoubleBuffered(false);
!
! sessionPane.addChangeListener(this);
! sessionPane.addtabCloseListener(this);
!
! Properties props = ConfigureFactory.getInstance().
! getProperties(ConfigureFactory.SESSIONS);
!
! if (props.getProperty("emul.hideTabBar","no").equals("yes"))
! hideTabBar = true;
!
! if (!hideTabBar) {
! this.getContentPane().add(sessionPane, BorderLayout.CENTER);
! }
!
! if (count == 0) setSessionTitle();
!
! if (packFrame)
! pack();
! else
! validate();
!
!
! }
!
! public void centerFrame() {
!
! if (packFrame)
! pack();
! else
! validate();
!
! //Center the window
! Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
! Dimension frameSize = getSize();
! if (frameSize.height > screenSize.height)
! frameSize.height = screenSize.height;
! if (frameSize.width > screenSize.width)
! frameSize.width = screenSize.width;
!
! setLocation((screenSize.width - frameSize.width) / 2,
! (screenSize.height - frameSize.height) / 2);
!
!
! }
!
! public int getFrameSequence() {
!
! return frameSeq;
! }
!
! //Overridden so we can exit on System Close
! protected void processWindowEvent(WindowEvent e) {
! super.processWindowEvent(e);
! if(e.getID() == WindowEvent.WINDOW_CLOSING) {
! me.closingDown(this);
! }
! }
!
!
! public void update(Graphics g) {
! paint(g);
! }
!
! public void onSessionJump(SessionJumpEvent jumpEvent) {
!
! switch (jumpEvent.getJumpDirection()) {
!
! case JUMP_PREVIOUS:
! prevSession();
! break;
! case JUMP_NEXT:
! nextSession();
! break;
! }
! }
!
! private void nextSession() {
!
! final int index = sessionPane.getSelectedIndex();
! sessionPane.setForegroundAt(index,Color.black);
! sessionPane.setIconAt(index,unfocused);
!
!
! SwingUtilities.invokeLater(new Runnable() {
! public void run() {
! int index1 = index;
! if (index1 < sessionPane.getTabCount() - 1) {
! sessionPane.setSelectedIndex(++index1);
! sessionPane.setForegroundAt(index1,Color.blue);
! sessionPane.setIconAt(index1,focused);
!
! }
! else {
! sessionPane.setSelectedIndex(0);
! sessionPane.setForegroundAt(0,Color.blue);
! sessionPane.setIconAt(0,focused);
!
! }
!
! ((SessionGUI)sessionPane.getComponent(sessionPane.getSelectedIndex())).grabFocus();
!
! setSessionTitle();
! }
! });
!
! }
!
! private void prevSession() {
!
! final int index = sessionPane.getSelectedIndex();
! sessionPane.setForegroundAt(index,Color.black);
! sessionPane.setIconAt(index,unfocused);
!
! SwingUtilities.invokeLater(new Runnable() {
! public void run() {
! int index1 = index;
! if (index1 == 0) {
! sessionPane.setSelectedIndex(sessionPane.getTabCount() - 1);
! sessionPane.setForegroundAt(sessionPane.getSelectedIndex(),Color.blue);
! sessionPane.setIconAt(sessionPane.getSelectedIndex(),focused);
!
! }
! else {
! sessionPane.setSelectedIndex(--index1);
! sessionPane.setForegroundAt(index1,Color.blue);
! sessionPane.setIconAt(index1,focused);
!
! }
!
! ((SessionGUI)sessionPane.getComponent(sessionPane.getSelectedIndex())).grabFocus();
! setSessionTitle();
! }
! });
! }
!
! public void stateChanged(ChangeEvent e) {
!
! JTabbedPane p = (JTabbedPane)e.getSource();
!
! p.setForegroundAt(selectedIndex,Color.black);
! p.setIconAt(selectedIndex,unfocused);
!
! SessionGUI sg = (SessionGUI)p.getComponentAt(selectedIndex);
! sg.setVisible(false);
!
! sg = (SessionGUI)p.getSelectedComponent();
!
! if (sg == null)
! return;
!
! sg.setVisible(true);
! sg.grabFocus();
!
! selectedIndex = p.getSelectedIndex();
! p.setForegroundAt(selectedIndex,Color.blue);
! p.setIconAt(selectedIndex,focused);
!
! setSessionTitle();
!
! }
!
! private void setSessionTitle() {
!
! SessionGUI ses = getSessionAt(selectedIndex);
!
! if (ses != null && ses.getAllocDeviceName() != null && ses.isConnected()) {
! if (sequence - 1 > 0)
! setTitle(ses.getAllocDeviceName() + " - tn5250j <" + sequence + "> - " + tn5250jRelease + tn5250jVersion + tn5250jSubVer);
! else
! setTitle(ses.getAllocDeviceName() + " - tn5250j - " + tn5250jRelease + tn5250jVersion + tn5250jSubVer);
! }
! else {
!
! if (sequence - 1 > 0)
! setTitle("tn5250j <" + sequence + "> - " + tn5250jRelease + tn5250jVersion + tn5250jSubVer);
! else
! setTitle("tn5250j - " + tn5250jRelease + tn5250jVersion + tn5250jSubVer);
! }
!
! count +=1;
!
! }
!
! public void addSessionView(String tabText,SessionGUI sessionView) {
!
! final SessionGUI session = sessionView;
!
! if (hideTabBar && sessionPane.getTabCount() == 0 && !embedded) {
!
! this.getContentPane().add(session, BorderLayout.CENTER);
! session.addSessionListener(this);
!
! session.resizeMe();
! repaint();
! if (packFrame)
! pack();
! else
! validate();
! embedded = true;
! session.grabFocus();
! setSessionTitle();
! }
! else {
!
! if (hideTabBar && sessionPane.getTabCount() == 0 ) {
! SessionGUI ses = null;
! for (int x=0; x < this.getContentPane().getComponentCount(); x++) {
!
! if (this.getContentPane().getComponent(x) instanceof SessionGUI) {
! ses = (SessionGUI)(this.getContentPane().getComponent(x));
! this.getContentPane().remove(x);
! break;
! }
! }
!
! //ses = (Session)(this.getContentPane().getComponent(0));
! sessionPane.addTab(tabText,focused,ses);
!
! final SessionGUI finalSession = ses;
!
! SwingUtilities.invokeLater(new Runnable() {
! public void run() {
! finalSession.resizeMe();
! finalSession.repaint();
! }
! });
!
!
! if (ses.getAllocDeviceName() != null)
! sessionPane.setTitleAt(0,ses.getAllocDeviceName());
! else
! sessionPane.setTitleAt(0,ses.getSessionName());
!
! ses.addSessionListener(this);
! ses.addSessionJumpListener(this);
!
! this.getContentPane().add(sessionPane, BorderLayout.CENTER);
! SwingUtilities.invokeLater(new Runnable() {
! public void run() {
! repaint();
! finalSession.grabFocus();
! }
! });
! }
!
! sessionPane.addTab(tabText,focused,session);
!
! sessionPane.setForegroundAt(sessionPane.getSelectedIndex(),Color.black);
! sessionPane.setIconAt(sessionPane.getSelectedIndex(),unfocused);
!
! sessionPane.setSelectedIndex(sessionPane.getTabCount()-1);
! sessionPane.setForegroundAt(sessionPane.getSelectedIndex(),Color.blue);
! sessionPane.setIconAt(sessionPane.getSelectedIndex(),focused);
!
! session.addSessionListener(this);
! session.addSessionJumpListener(this);
!
! SwingUtilities.invokeLater(new Runnable() {
! public void run() {
! session.resizeMe();
! session.repaint();
! session.grabFocus();
! }
! });
! }
! }
!
! public void tabClosed(int tabToBeClosed){
!
! me.closeSession(this.getSessionAt(tabToBeClosed));
! }
!
! public void removeSessionView(SessionGUI targetSession) {
!
! if (hideTabBar && sessionPane.getTabCount() == 0) {
! for (int x=0; x < getContentPane().getComponentCount(); x++) {
!
! if (getContentPane().getComponent(x) instanceof SessionGUI) {
! getContentPane().remove(x);
! }
! }
! }
! else {
!
! int index = sessionPane.indexOfComponent(targetSession);
! log.info("session found and closing down " + index);
! targetSession.removeSessionListener(this);
! targetSession.removeSessionJumpListener(this);
! int tabs = sessionPane.getTabCount();
! sessionPane.remove(index);
! tabs--;
!
!
! if (index < tabs) {
! sessionPane.setSelectedIndex(index);
! sessionPane.setForegroundAt(index,Color.blue);
! sessionPane.setIconAt(index,focused);
! ((SessionGUI)sessionPane.getComponentAt(index)).requestFocus();
! }
! else {
!
! if (tabs > 0) {
! sessionPane.setSelectedIndex(0);
! sessionPane.setForegroundAt(0,Color.blue);
! sessionPane.setIconAt(0,focused);
! ((SessionGUI)sessionPane.getComponentAt(0)).requestFocus();
! }
!
! }
! }
! }
!
! public int getSessionViewCount() {
!
! if (hideTabBar && sessionPane.getTabCount() == 0) {
! for (int x=0; x < this.getContentPane().getComponentCount(); x++) {
!
! if (this.getContentPane().getComponent(x) instanceof SessionGUI) {
! return 1;
! }
! }
! return 0;
! }
! else
! return sessionPane.getTabCount();
! }
!
! public SessionGUI getSessionAt( int index) {
!
! if (hideTabBar && sessionPane.getTabCount() == 0) {
! for (int x=0; x < this.getContentPane().getComponentCount(); x++) {
!
! if (this.getContentPane().getComponent(x) instanceof SessionGUI) {
! return (SessionGUI)getContentPane().getComponent(x);
! }
! }
! return null;
! }
! else {
! if (sessionPane.getTabCount() <= 0)
! return null;
! return (SessionGUI)sessionPane.getComponentAt(index);
! }
! }
!
! public void onSessionChanged(SessionChangeEvent changeEvent) {
!
! Session5250 ses5250 = (Session5250)changeEvent.getSource();
! SessionGUI ses = ses5250.getGUI();
!
! switch (changeEvent.getState()) {
! case STATE_CONNECTED:
!
! final String d = ses.getAllocDeviceName();
! if (d != null) {
! System.out.println(changeEvent.getState() + " " + d);
! final int index = sessionPane.indexOfComponent(ses);
! if (index >= 0) {
! Runnable tc = new Runnable () {
! public void run() {
! sessionPane.setTitleAt(index,d);
! }
! };
! SwingUtilities.invokeLater(tc);
! }
! setSessionTitle();
!
! }
! break;
! }
! }
!
! public boolean containsSession(SessionGUI session) {
!
! if (hideTabBar && sessionPane.getTabCount() == 0) {
! for (int x=0; x < this.getContentPane().getComponentCount(); x++) {
!
! if (this.getContentPane().getComponent(x) instanceof SessionGUI) {
! return ((SessionGUI)getContentPane().getComponent(x)).equals(session);
! }
! }
! return false;
! }
! else
! return (sessionPane.indexOfComponent(session) >= 0);
!
! }
!
! }
--- 1,490 ----
! /**
! * Title: tn5250J
! * Copyright: Copyright (c) 2001-2003
! * Company:
! * @author Kenneth J. Pouncey
! * @version 0.4
! *
! * Description:
! *
! * This program 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, or (at your option)
! * any later version.
! *
! * This program 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 software; see the file COPYING. If not, write to
! * the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
! * Boston, MA 02111-1307 USA
! *
! */
! package org.tn5250j;
!
! import java.awt.*;
! import java.awt.event.*;
! import javax.swing.*;
! import java.util.*;
!
! import javax.swing.event.ChangeListener;
! import javax.swing.event.ChangeEvent;
!
! import org.tn5250j.tools.logging.*;
! import org.tn5250j.event.SessionJumpListener;
! import org.tn5250j.event.SessionJumpEvent;
! import org.tn5250j.event.SessionListener;
! import org.tn5250j.event.SessionChangeEvent;
! import org.tn5250j.event.TabClosedListener;
! import org.tn5250j.interfaces.GUIViewInterface;
! import org.tn5250j.interfaces.ConfigureFactory;
! import org.tn5250j.gui.TN5250jTabbedPane;
!
! public class Gui5250Frame extends GUIViewInterface implements
! ChangeListener,
! TN5250jConstants,
! SessionListener,
! TabClosedListener,
! SessionJumpListener {
!
! BorderLayout borderLayout1 = new BorderLayout();
! //JTabbedPane sessionPane = new JTabbedPane();
! TN5250jTabbedPane sessionPane = new TN5250jTabbedPane();
! private int selectedIndex = 0;
! private boolean embedded = false;
! private boolean hideTabBar = false;
! public static int count = 0;
! private TN5250jLogger log = TN5250jLogFactory.getLogger (this.getClass());
!
!
! //Construct the frame
! public Gui5250Frame(My5250 m) {
! super(m);
! enableEvents(AWTEvent.WINDOW_EVENT_MASK);
! try {
! jbInit();
! }
! catch(Exception e) {
! e.printStackTrace();
! }
! }
!
! //Component initialization
! private void jbInit() throws Exception {
!
! this.getContentPane().setLayout(borderLayout1);
!
! // update the frame sequences
! frameSeq = sequence++;
!
! sessionPane.setBorder(BorderFactory.createEtchedBorder());
! sessionPane.setBounds(new Rectangle(78, 57, 5, 5));
! sessionPane.setOpaque(true);
! sessionPane.setRequestFocusEnabled(false);
! sessionPane.setDoubleBuffered(false);
!
! sessionPane.addChangeListener(this);
! sessionPane.addtabCloseListener(this);
!
! Properties props = ConfigureFactory.getInstance().
! getProperties(ConfigureFactory.SESSIONS);
!
! if (props.getProperty("emul.hideTabBar","no").equals("yes"))
! hideTabBar = true;
!
! if (!hideTabBar) {
! this.getContentPane().add(sessionPane, BorderLayout.CENTER);
! }
!
! if (count == 0) setSessionTitle();
!
! if (packFrame)
! pack();
! else
! validate();
!
!
! }
!
! public void centerFrame() {
!
! if (packFrame)
! pack();
! else
! validate();
!
! //Center the window
! Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
! Dimension frameSize = getSize();
! if (frameSize.height > screenSize.height)
! frameSize.height = screenSize.height;
! if (frameSize.width > screenSize.width)
! frameSize.width = screenSize.width;
!
! setLocation((screenSize.width - frameSize.width) / 2,
! (screenSize.height - frameSize.height) / 2);
!
!
! }
!
! public int getFrameSequence() {
!
! return frameSeq;
! }
!
! //Overridden so we can exit on System Close
! protected void processWindowEvent(WindowEvent e) {
! super.processWindowEvent(e);
! if(e.getID() == WindowEvent.WINDOW_CLOSING) {
! me.closingDown(this);
! }
! }
!
!
! public void update(Graphics g) {
! paint(g);
! }
!
! public void onSessionJump(SessionJumpEvent jumpEvent) {
!
! switch (jumpEvent.getJumpDirection()) {
!
! case JUMP_PREVIOUS:
! prevSession();
! break;
! case JUMP_NEXT:
! nextSession();
! break;
! }
! }
!
! private void nextSession() {
!
! final int index = sessionPane.getSelectedIndex();
! sessionPane.setForegroundAt(index,Color.black);
! // sessionPane.setIconAt(index,unfocused);
! sessionPane.setIconAt(unfocused,index);
!
!
! SwingUtilities.invokeLater(new Runnable() {
! public void run() {
! int index1 = index;
! if (index1 < sessionPane.getTabCount() - 1) {
! sessionPane.setSelectedIndex(++index1);
! sessionPane.setForegroundAt(index1,Color.blue);
! // sessionPane.setIconAt(index1,focused);
! sessionPane.setIconAt(focused,index1);
!
! }
! else {
! sessionPane.setSelectedIndex(0);
! sessionPane.setForegroundAt(0,Color.blue);
! // sessionPane.setIconAt(0,focused);
! sessionPane.setIconAt(focused,0);
!
! }
!
! ((SessionGUI)sessionPane.getComponent(sessionPane.getSelectedIndex())).grabFocus();
!
! setSessionTitle();
! }
! });
!
! }
!
! private void prevSession() {
!
! final int index = sessionPane.getSelectedIndex();
! sessionPane.setForegroundAt(index,Color.black);
! // sessionPane.setIconAt(index,unfocused);
! sessionPane.setIconAt(unfocused,index);
!
! SwingUtilities.invokeLater(new Runnable() {
! public void run() {
! int index1 = index;
! if (index1 == 0) {
! sessionPane.setSelectedIndex(sessionPane.getTabCount() - 1);
! sessionPane.setForegroundAt(sessionPane.getSelectedIndex(),Color.blue);
! // sessionPane.setIconAt(sessionPane.getSelectedIndex(),focused);
! sessionPane.setIconAt(sessionPane.getSelectedIndex(),focused);
!
! }
! else {
! sessionPane.setSelectedIndex(--index1);
! sessionPane.setForegroundAt(index1,Color.blue);
! // sessionPane.setIconAt(index1,focused);
! sessionPane.setIconAt(focused,index1);
!
! }
!
! ((SessionGUI)sessionPane.getComponent(sessionPane.getSelectedIndex())).grabFocus();
! setSessionTitle();
! }
! });
! }
!
! public void stateChanged(ChangeEvent e) {
!
! // JTabbedPane p = (JTabbedPane)e.getSource();
! TN5250jTabbedPane p = (TN5250jTabbedPane)e.getSource();
!
! p.setForegroundAt(selectedIndex,Color.black);
! // p.setIconAt(selectedIndex,unfocused);
! p.setIconAt(unfocused,selectedIndex);
!
! SessionGUI sg = (SessionGUI)p.getComponentAt(selectedIndex);
! sg.setVisible(false);
!
! sg = (SessionGUI)p.getSelectedComponent();
!
! if (sg == null)
! return;
!
! sg.setVisible(true);
! sg.grabFocus();
!
! selectedIndex = p.getSelectedIndex();
! p.setForegroundAt(selectedIndex,Color.blue);
! // p.setIconAt(selectedIndex,focused);
! p.setIconAt(focused,selectedIndex);
!
! setSessionTitle();
!
! }
!
! private void setSessionTitle() {
!
! SessionGUI ses = getSessionAt(selectedIndex);
!
! if (ses != null && ses.getAllocDeviceName() != null && ses.isConnected()) {
! if (sequence - 1 > 0)
! setTitle(ses.getAllocDeviceName() + " - tn5250j <" + sequence + "> - " + tn5250jRelease + tn5250jVersion + tn5250jSubVer);
! else
! setTitle(ses.getAllocDeviceName() + " - tn5250j - " + tn5250jRelease + tn5250jVersion + tn5250jSubVer);
! }
! else {
!
! if (sequence - 1 > 0)
! setTitle("tn5250j <" + sequence + "> - " + tn5250jRelease + tn5250jVersion + tn5250jSubVer);
! else
! setTitle("tn5250j - " + tn5250jRelease + tn5250jVersion + tn5250jSubVer);
! }
!
! count +=1;
!
! }
!
! public void addSessionView(String tabText,SessionGUI sessionView) {
!
! final SessionGUI session = sessionView;
!
! if (hideTabBar && sessionPane.getTabCount() == 0 && !embedded) {
!
! this.getContentPane().add(session, BorderLayout.CENTER);
! session.addSessionListener(this);
!
! session.resizeMe();
! repaint();
! if (packFrame)
! pack();
! else
! validate();
! embedded = true;
! session.grabFocus();
! setSessionTitle();
! }
! else {
!
! if (hideTabBar && sessionPane.getTabCount() == 0 ) {
! SessionGUI ses = null;
! for (int x=0; x < this.getContentPane().getComponentCount(); x++) {
!
! if (this.getContentPane().getComponent(x) instanceof SessionGUI) {
! ses = (SessionGUI)(this.getContentPane().getComponent(x));
! this.getContentPane().remove(x);
! break;
! }
! }
!
! //ses = (Session)(this.getContentPane().getComponent(0));
! // sessionPane.addTab(tabText,focused,ses);
! sessionPane.addTab(tabText,ses,focused);
! final SessionGUI finalSession = ses;
!
! SwingUtilities.invokeLater(new Runnable() {
! public void run() {
! finalSession.resizeMe();
! finalSession.repaint();
! }
! });
!
!
! if (ses.getAllocDeviceName() != null)
! sessionPane.setTitleAt(0,ses.getAllocDeviceName());
! else
! sessionPane.setTitleAt(0,ses.getSessionName());
!
! ses.addSessionListener(this);
! ses.addSessionJumpListener(this);
!
! this.getContentPane().add(sessionPane, BorderLayout.CENTER);
! SwingUtilities.invokeLater(new Runnable() {
! public void run() {
! repaint();
! finalSession.grabFocus();
! }
! });
! }
!
! // sessionPane.addTab(tabText,focused,session);
! sessionPane.addTab(tabText,session,focused);
!
! sessionPane.setForegroundAt(sessionPane.getSelectedIndex(),Color.black);
! // sessionPane.setIconAt(sessionPane.getSelectedIndex(),unfocused);
! sessionPane.setIconAt(unfocused,sessionPane.getSelectedIndex());
!
! sessionPane.setSelectedIndex(sessionPane.getTabCount()-1);
! sessionPane.setForegroundAt(sessionPane.getSelectedIndex(),Color.blue);
! // sessionPane.setIconAt(sessionPane.getSelectedIndex(),focused);
! sessionPane.setIconAt(focused,sessionPane.getSelectedIndex());
!
! session.addSessionListener(this);
! session.addSessionJumpListener(this);
!
! SwingUtilities.invokeLater(new Runnable() {
! public void run() {
! session.resizeMe();
! session.repaint();
! session.grabFocus();
! }
! });
! }
! }
!
! public void tabClosed(int tabToBeClosed){
!
! me.closeSession(this.getSessionAt(tabToBeClosed));
! }
!
! public void removeSessionView(SessionGUI targetSession) {
!
! if (hideTabBar && sessionPane.getTabCount() == 0) {
! for (int x=0; x < getContentPane().getComponentCount(); x++) {
!
! if (getContentPane().getComponent(x) instanceof SessionGUI) {
! getContentPane().remove(x);
! }
! }
! }
! else {
!
! int index = sessionPane.indexOfComponent(targetSession);
! log.info("session found and closing down " + index);
! targetSession.removeSessionListener(this);
! targetSession.removeSessionJumpListener(this);
! int tabs = sessionPane.getTabCount();
! sessionPane.remove(index);
! tabs--;
!
!
! if (index < tabs) {
! sessionPane.setSelectedIndex(index);
! sessionPane.setForegroundAt(index,Color.blue);
! // sessionPane.setIconAt(index,focused);
! sessionPane.setIconAt(focused,index);
! ((SessionGUI)sessionPane.getComponentAt(index)).requestFocus();
! }
! else {
!
! if (tabs > 0) {
! sessionPane.setSelectedIndex(0);
! sessionPane.setForegroundAt(0,Color.blue);
! // sessionPane.setIconAt(0,focused);
! sessionPane.setIconAt(focused,0);
! ((SessionGUI)sessionPane.getComponentAt(0)).requestFocus();
! }
!
! }
! }
! }
!
! public int getSessionViewCount() {
!
! if (hideTabBar && sessionPane.getTabCount() == 0) {
! for (int x=0; x < this.getContentPane().getComponentCount(); x++) {
!
! if (this.getContentPane().getComponent(x) instanceof SessionGUI) {
! return 1;
! }
! }
! return 0;
! }
! else
! return sessionPane.getTabCount();
! }
!
! public SessionGUI getSessionAt( int index) {
!
! if (hideTabBar && sessionPane.getTabCount() == 0) {
! for (int x=0; x < this.getContentPane().getComponentCount(); x++) {
!
! if (this.getContentPane().getComponent(x) instanceof SessionGUI) {
! return (SessionGUI)getContentPane().getComponent(x);
! }
! }
! return null;
! }
! else {
! if (sessionPane.getTabCount() <= 0)
! return null;
! return (SessionGUI)sessionPane.getComponentAt(index);
! }
! }
!
! public void onSessionChanged(SessionChangeEvent changeEvent) {
!
! Session5250 ses5250 = (Session5250)changeEvent.getSource();
! SessionGUI ses = ses5250.getGUI();
!
! switch (changeEvent.getState()) {
! case STATE_CONNECTED:
!
! final String d = ses.getAllocDeviceName();
! if (d != null) {
! System.out.println(changeEvent.getState() + " " + d);
! final int index = sessionPane.indexOfComponent(ses);
! if (index >= 0) {
! Runnable tc = new Runnable () {
! public void run() {
! sessionPane.setTitleAt(index,d);
! }
! };
! SwingUtilities.invokeLater(tc);
! }
! setSessionTitle();
!
! }
! break;
! }
! }
!
! public boolean containsSession(SessionGUI session) {
!
! if (hideTabBar && sessionPane.getTabCount() == 0) {
! for (int x=0; x < this.getContentPane().getComponentCount(); x++) {
!
! if (this.getContentPane().getComponent(x) instanceof SessionGUI) {
! return ((SessionGUI)getContentPane().getComponent(x)).equals(session);
! }
! }
! return false;
! }
! else
! return (sessionPane.indexOfComponent(session) >= 0);
!
! }
!
! }
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click