/***************************************************************** JADE - Java Agent DEvelopment Framework is a framework to develop multi-agent systems in compliance with the FIPA specifications. Copyright (C) 2000 CSELT S.p.A. GNU Lesser General Public License 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, version 2.1 of the License. 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *****************************************************************/ package jade.tools.sniffer; import java.awt.BorderLayout; import javax.swing.JPanel; import java.awt.Font; import jade.gui.AgentTree; import javax.swing.JSplitPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; import java.awt.Color; /*#DOTNET_INCLUDE_BEGIN import System.Windows.Forms.*; import System.Drawing.*; #DOTNET_INCLUDE_END*/ /** Javadoc documentation for the file @author Francisco Regi, Andrea Soracchi - Universita` di Parma <Br> <a href="mailto:a_soracchi@libero.it"> Andrea Soracchi(e-mail) </a> @version $Date: 2005-11-03 10:14:43 +0100 (gio, 03 nov 2005) $ $Revision: 5809 $ */ /** * Sets the tree and the two canvas inside the MainWindow * @see jade.tools.sniffer.PanelCanvas */ public class MainPanel //#DOTNET_EXCLUDE_BEGIN extends JPanel //#DOTNET_EXCLUDE_END /*#DOTNET_INCLUDE_BEGIN extends Panel #DOTNET_INCLUDE_END*/ { protected AgentTree treeAgent; //#DOTNET_EXCLUDE_BEGIN protected PanelCanvas panelcan; private JSplitPane pane; private PopupMouser popM; public JTextArea textArea; private Font font = new Font("Helvetica",Font.ITALIC,12); //#DOTNET_EXCLUDE_END /*#DOTNET_INCLUDE_BEGIN private System.Drawing.Font font = new System.Drawing.Font("Helvetica",12, FontStyle.Italic); protected PanelCanvas panelcan; public TextBox textArea; private Panel myPanel; #DOTNET_INCLUDE_END*/ int pos; public MainPanel(Sniffer mySniffer,MainWindow mwnd) { //#DOTNET_EXCLUDE_BEGIN Font f; f = new Font("SanSerif",Font.PLAIN,14); setFont(f); setLayout(new BorderLayout(10,10)); //#DOTNET_EXCLUDE_END /*#DOTNET_INCLUDE_BEGIN super(); System.Drawing.Font f; f = new System.Drawing.Font("SanSerif", 14, FontStyle.Regular, GraphicsUnit.Pixel); #DOTNET_INCLUDE_END*/ treeAgent = new AgentTree(f); panelcan = new PanelCanvas(mwnd,this,mySniffer); // Slight edit to this by R. Kessler. We use a Scrollpane's ability to have // a column header by setting the columnheaderview to be the canvAgent. Now, // when you get too long, the agents are still available on the top. //#DOTNET_EXCLUDE_BEGIN JScrollPane pc = new JScrollPane(); pc.setColumnHeaderView(panelcan.canvAgent); pc.setViewportView(panelcan); pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JScrollPane(treeAgent.tree),pc); pane.setContinuousLayout(true); add(pane); textArea=new JTextArea(); textArea.setBackground(Color.lightGray); textArea.setFont(font); textArea.setRows(1); textArea.setText(" No Message"); textArea.setEditable(false); add(textArea,"South"); //popM=new PopupMouser(treeAgent.tree,treeAgent); //treeAgent.tree.addMouseListener(popM); //#DOTNET_EXCLUDE_END } /*#DOTNET_INCLUDE_BEGIN public void setPanel(Panel p) { myPanel = p; } public Panel getPanel() { return myPanel; } #DOTNET_INCLUDE_END*/ public void adjustDividerLocation() { //#DOTNET_EXCLUDE_BEGIN pane.setDividerLocation(0.3); //#DOTNET_EXCLUDE_END } }