Package org.jmule.ui.swt.maintabs.serverlist

Source Code of org.jmule.ui.swt.maintabs.serverlist.ConnectionInfo

/*
*  JMule - Java file sharing client
*  Copyright (C) 2007-2008 JMule team ( jmule@jmule.org / http://jmule.org )
*
*  Any parts of this program derived from other projects, or contributed
*  by third-party developers are copyrighted by their respective authors.
*
*  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_label 2
*  of the License, or (at your option) any later version_label.
*
*  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 program; if not, write to the Free Software
*  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*
*/
package org.jmule.ui.swt.maintabs.serverlist;

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.jmule.core.JMRunnable;
import org.jmule.core.JMuleCore;
import org.jmule.core.configmanager.ConfigurationAdapter;
import org.jmule.core.configmanager.ConfigurationManagerException;
import org.jmule.core.servermanager.Server;
import org.jmule.core.utils.Convert;
import org.jmule.ui.JMuleUIManager;
import org.jmule.ui.localizer.Localizer;
import org.jmule.ui.swt.Refreshable;
import org.jmule.ui.swt.SWTThread;
import org.jmule.ui.swt.skin.SWTSkin;

/**
*
* @author binary256
* @version $$Revision: 1.6 $$
* Last changed by $$Author: binary255 $$ on $$Date: 2009/09/20 09:05:14 $$
*/
public class ConnectionInfo extends CTabFolder implements Refreshable {

  private Label my_info_status,my_info_client_id,my_info_nickname,
          my_info_user_ip,my_info_sharedcount;
  private Label server_address,server_name,server_desc,server_users,
          server_files,server_ping,server_hard_limit,server_soft_limit,server_version;
  private CTabItem my_info,server_info;
 
  private JMuleCore _core;
 
  public ConnectionInfo(Composite parent,JMuleCore core) {
    super(parent,SWT.BORDER);
    _core = core;
    SWTServerListWrapper.getInstance().setConnectionInfo(this);
    SWTSkin skin = null;
    try {
     
        skin = (SWTSkin) JMuleUIManager.getJMuleUI().getSkin();
   
    }catch(Throwable t) {
    }
   
    setSimple(false);
   
    my_info = new CTabItem(this, SWT.NONE);
    my_info.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.myinfo"));
   
    server_info = new CTabItem(this, SWT.NONE);
    server_info.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.serverinfo"));
   
    setSelection(my_info);

    Composite my_info_content = new Composite(this,SWT.NONE);
    my_info.setControl(my_info_content);
    my_info_content.setLayout(new GridLayout(2,false));
   
    Label label;
    label = new Label(my_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.myinfo.status")+" : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    my_info_status = new Label(my_info_content,SWT.NONE);
    my_info_status.setFont(skin.getLabelFont());
    my_info_status.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label = new Label(my_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.myinfo.id")+ " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    my_info_client_id = new Label(my_info_content,SWT.NONE);
    my_info_client_id.setFont(skin.getLabelFont());
    my_info_client_id.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label = new Label(my_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.myinfo.ip") + " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    my_info_user_ip = new Label(my_info_content,SWT.NONE);
    my_info_user_ip.setFont(skin.getLabelFont());
    my_info_user_ip.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label = new Label(my_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.myinfo.nickname") + " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    my_info_nickname = new Label(my_info_content,SWT.NONE);
    my_info_nickname.setFont(skin.getLabelFont());
    my_info_nickname.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    try {
      my_info_nickname.setText(_core.getConfigurationManager().getNickName());
    } catch (ConfigurationManagerException e) {
      e.printStackTrace();
    }
    _core.getConfigurationManager().addConfigurationListener(new ConfigurationAdapter() {
      public void nickNameChanged(String nickName) {
        SWTThread.getDisplay().asyncExec(new JMRunnable() {
          public void JMRun() {
            try {
              my_info_nickname.setText(_core.getConfigurationManager().getNickName());
            } catch (ConfigurationManagerException e) {
              e.printStackTrace();
            }
          }
        });
      }
    });
   
    label = new Label(my_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.myinfo.sharedfiles") + " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    my_info_sharedcount = new Label(my_info_content,SWT.NONE);
    my_info_sharedcount.setFont(skin.getLabelFont());
    my_info_sharedcount.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    my_info_sharedcount.setText(_core.getSharingManager().getFileCount()+"");
    //my_info_scroll.setContent(my_info_content);
   
    //ScrolledContent server_info_scroll = new ScrolledContent(this);
    //server_info.setControl(server_info_scroll);

    Composite server_info_content = new Composite(this,SWT.NONE);
    server_info_content.setLayout(new GridLayout(2,false));
    server_info.setControl(server_info_content);
    label = new Label(server_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.serverinfo.address")+" : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    server_address = new Label(server_info_content,SWT.NONE);
    server_address.setFont(skin.getLabelFont());
    server_address.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label = new Label(server_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.serverinfo.name") + " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    server_name = new Label(server_info_content,SWT.NONE);
    server_name.setFont(skin.getLabelFont());
    server_name.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label = new Label(server_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.serverinfo.desc") + " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    server_desc = new Label(server_info_content,SWT.NONE);
    server_desc.setFont(skin.getLabelFont());
    server_desc.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label = new Label(server_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.serverinfo.users") + " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    server_users = new Label(server_info_content,SWT.NONE);
    server_users.setFont(skin.getLabelFont());
    server_users.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label = new Label(server_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.serverinfo.files") + " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    server_files = new Label(server_info_content,SWT.NONE);
    server_files.setFont(skin.getLabelFont());
    server_files.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label = new Label(server_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.serverinfo.ping") + " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    server_ping = new Label(server_info_content,SWT.NONE);
    server_ping.setFont(skin.getLabelFont());
    server_ping.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label = new Label(server_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.serverinfo.hardlimit") + " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    server_hard_limit = new Label(server_info_content,SWT.NONE);
    server_hard_limit.setFont(skin.getLabelFont());
    server_hard_limit.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label = new Label(server_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.serverinfo.softlimit") + " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    server_soft_limit = new Label(server_info_content,SWT.NONE);
    server_soft_limit.setFont(skin.getLabelFont());
    server_soft_limit.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label = new Label(server_info_content,SWT.NONE);
    label.setFont(skin.getLabelFont());
    label.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.serverinfo.version") + " : ");
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    server_version = new Label(server_info_content,SWT.NONE);
    server_version.setFont(skin.getLabelFont());
    server_version.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
   
    //server_info_scroll.setContent(server_info_content);
   
    setStatusDisconnected();

  }
 
  public void setStatusDisconnected() {
    my_info_status.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.myinfo.disconnected"));
        my_info_client_id.setText("");
        my_info_client_id.setToolTipText("");
        my_info_user_ip.setText("");
       
        server_address.setText("");
        server_ping.setText("");
        server_desc.setText("");
        server_name.setText("");
        server_users.setText("");
        server_files.setText("");
        server_hard_limit.setText("");
        server_soft_limit.setText("");
        server_version.setText("");
       
  }
 
  public void setStatusConnecting(Server server) {
    my_info_status.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.myinfo.connecting"));
        my_info_client_id.setText("");
        my_info_client_id.setToolTipText("");
        my_info_user_ip.setText("");
       
        if (server!=null)
          server_address.setText(server.getAddress()+" : "+server.getPort());
        else
          server_address.setText("");
        server_ping.setText("");
        server_desc.setText("");
        server_name.setText("");
        server_users.setText("");
        server_files.setText("");
        server_hard_limit.setText("");
        server_soft_limit.setText("");
        server_version.setText("");
   
  }
 
  public void setStatusConnected( Server server) {
    my_info_status.setText(Localizer._("mainwindow.serverlisttab.connectioninfo.myinfo.connected"));
    long client_id = Convert.intToLong(server.getClientID().hashCode());
        my_info_client_id.setText(client_id + " " + (server.getClientID().isHighID() ? Localizer._("mainwindow.serverlisttab.connectioninfo.myinfo.high_id") : Localizer._("mainwindow.serverlisttab.connectioninfo.myinfo.low_id") ));
        my_info_client_id.setToolTipText("");
        my_info_user_ip.setText(server.getClientID().getAsString() + "");
       
        server_address.setText(server.getAddress() + ":" + server.getPort());
        server_name.setText(server.getName());
        server_desc.setText(server.getDesc());
        server_ping.setText(server.getPing() + "");
        server_users.setText(server.getNumUsers()+"");
        server_files.setText(server.getNumFiles()+"");
        server_hard_limit.setText(server.getNumUsers()+"");
        server_soft_limit.setText(server.getSoftLimit()+"");
        server_version.setText(server.getVersion()+"");
   
  }
 
 
  protected void checkSubclass() {}

  public void refresh() {
    if (isDisposed()) return ;
    my_info_sharedcount.setText(_core.getSharingManager().getFileCount()+"");
  }

 
}
TOP

Related Classes of org.jmule.ui.swt.maintabs.serverlist.ConnectionInfo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.