⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringlistparameter.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   StringListParameter.java

package org.gudy.azureus2.ui.swt.config;

import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Listener;
import org.gudy.azureus2.core3.config.COConfigurationManager;
import org.gudy.azureus2.core3.util.AERunnable;
import org.gudy.azureus2.ui.swt.Utils;

// Referenced classes of package org.gudy.azureus2.ui.swt.config:
//			Parameter, ParameterChangeListener

public class StringListParameter extends Parameter
{

	Control list;
	final String name;
	final String default_value;
	private final String values[];
	private final boolean useCombo;

	public StringListParameter(Composite composite, String _name, String labels[], String values[], boolean bUseCombo)
	{
		this(composite, _name, COConfigurationManager.getStringParameter(_name), labels, values, bUseCombo);
	}

	public StringListParameter(Composite composite, String _name, String labels[], String values[])
	{
		this(composite, _name, COConfigurationManager.getStringParameter(_name), labels, values, true);
	}

	public StringListParameter(Composite composite, String _name, String defaultValue, String labels[], String values[])
	{
		this(composite, _name, defaultValue, labels, values, true);
	}

	public StringListParameter(Composite composite, String _name, String defaultValue, String labels[], String values[], final boolean bUseCombo)
	{
		super(_name);
		name = _name;
		default_value = defaultValue;
		this.values = values;
		useCombo = bUseCombo;
		if (labels.length != values.length)
			return;
		String value = COConfigurationManager.getStringParameter(name, defaultValue);
		int index = findIndex(value, values);
		if (bUseCombo)
			list = new Combo(composite, 12);
		else
			list = new List(composite, 2820) {

				final StringListParameter this$0;

				public void checkSubclass()
				{
				}

				public Point computeSize(int wHint, int hHint, boolean changed)
				{
					Point pt = super.computeSize(wHint, hHint, changed);
					if (hHint == -1)
					{
						Object ld = getLayoutData();
						if ((ld instanceof GridData) && ((GridData)ld).grabExcessVerticalSpace)
							pt.y = 20;
					}
					return pt;
				}

			
			{
				this$0 = StringListParameter.this;
				super(x0, x1);
			}
			};
		for (int i = 0; i < labels.length; i++)
			if (bUseCombo)
				((Combo)list).add(labels[i]);
			else
				((List)list).add(labels[i]);

		setIndex(index);
		list.addListener(13, new Listener() {

			final boolean val$bUseCombo;
			final StringListParameter this$0;

			public void handleEvent(Event e)
			{
				int index;
				if (bUseCombo)
					index = ((Combo)list).getSelectionIndex();
				else
					index = ((List)list).getSelectionIndex();
				setIndex(index);
				if (change_listeners != null)
				{
					for (int i = 0; i < change_listeners.size(); i++)
						((ParameterChangeListener)change_listeners.get(i)).parameterChanged(StringListParameter.this, false);

				}
			}

			
			{
				this$0 = StringListParameter.this;
				bUseCombo = flag;
				super();
			}
		});
	}

	private int findIndex(String value, String values[])
	{
		for (int i = 0; i < values.length; i++)
			if (values[i].equals(value))
				return i;

		return -1;
	}

	protected void setIndex(final int index)
	{
		if (index < 0)
		{
			COConfigurationManager.removeParameter(name);
			String defValue = COConfigurationManager.getStringParameter(name);
			int i = findIndex(defValue, values);
			if (i >= 0)
				setIndex(i);
			else
				Utils.execSWTThread(new AERunnable() {

					final StringListParameter this$0;

					public void runSupport()
					{
						if (list == null || list.isDisposed())
							return;
						if (useCombo)
							((Combo)list).deselectAll();
						else
							((List)list).deselectAll();
					}

			
			{
				this$0 = StringListParameter.this;
				super();
			}
				});
			return;
		}
		String selected_value = values[index];
		Utils.execSWTThread(new AERunnable() {

			final int val$index;
			final StringListParameter this$0;

			public void runSupport()
			{
				if (list == null || list.isDisposed())
					return;
				if (useCombo)
				{
					if (((Combo)list).getSelectionIndex() != index)
						((Combo)list).select(index);
				} else
				if (((List)list).getSelectionIndex() != index)
					((List)list).select(index);
			}

			
			{
				this$0 = StringListParameter.this;
				index = i;
				super();
			}
		});
		if (!COConfigurationManager.getStringParameter(name).equals(selected_value))
			COConfigurationManager.setParameter(name, selected_value);
	}

	public void setLayoutData(Object layoutData)
	{
		list.setLayoutData(layoutData);
	}

	public Control getControl()
	{
		return list;
	}

	public String getValue()
	{
		return COConfigurationManager.getStringParameter(name, default_value);
	}

	public void setValue(Object value)
	{
		if (value instanceof String)
		{
			String s = (String)value;
			setIndex(findIndex(s, values));
		}
	}

	public Object getValueObject()
	{
		return getValue();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -