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

📄 basicpluginconfigimpl.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// 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:   BasicPluginConfigImpl.java

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

import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.gudy.azureus2.core3.config.COConfigurationManager;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.util.AERunnable;
import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.plugins.ui.config.EnablerParameter;
import org.gudy.azureus2.plugins.ui.config.ParameterListener;
import org.gudy.azureus2.plugins.ui.model.BasicPluginConfigModel;
import org.gudy.azureus2.pluginsimpl.local.ui.config.ActionParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.BooleanParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.ColorParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.DirectoryParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.FileParameter;
import org.gudy.azureus2.pluginsimpl.local.ui.config.HyperlinkParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.InfoParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.IntParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.LabelParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.ParameterGroupImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.ParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.ParameterImplListener;
import org.gudy.azureus2.pluginsimpl.local.ui.config.PasswordParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.StringListParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.StringParameterImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.UIParameterImpl;
import org.gudy.azureus2.ui.swt.Messages;
import org.gudy.azureus2.ui.swt.Utils;
import org.gudy.azureus2.ui.swt.components.LinkLabel;
import org.gudy.azureus2.ui.swt.config.BooleanParameter;
import org.gudy.azureus2.ui.swt.config.ButtonParameter;
import org.gudy.azureus2.ui.swt.config.ColorParameter;
import org.gudy.azureus2.ui.swt.config.DirectoryParameter;
import org.gudy.azureus2.ui.swt.config.DualChangeSelectionActionPerformer;
import org.gudy.azureus2.ui.swt.config.InfoParameter;
import org.gudy.azureus2.ui.swt.config.IntParameter;
import org.gudy.azureus2.ui.swt.config.LinkParameter;
import org.gudy.azureus2.ui.swt.config.Parameter;
import org.gudy.azureus2.ui.swt.config.ParameterChangeAdapter;
import org.gudy.azureus2.ui.swt.config.PasswordParameter;
import org.gudy.azureus2.ui.swt.config.StringListParameter;
import org.gudy.azureus2.ui.swt.config.StringParameter;
import org.gudy.azureus2.ui.swt.config.UISWTParameter;
import org.gudy.azureus2.ui.swt.plugins.UISWTConfigSection;
import org.gudy.azureus2.ui.swt.plugins.UISWTParameterContext;

public class BasicPluginConfigImpl
	implements UISWTConfigSection
{

	protected WeakReference model_ref;
	protected String parent_section;
	protected String section;

	public BasicPluginConfigImpl(WeakReference _model_ref)
	{
		model_ref = _model_ref;
		BasicPluginConfigModel model = (BasicPluginConfigModel)model_ref.get();
		parent_section = model.getParentSection();
		section = model.getSection();
	}

	public String configSectionGetParentSection()
	{
		if (parent_section == null || parent_section.length() == 0)
			return "root";
		else
			return parent_section;
	}

	public String configSectionGetName()
	{
		return section;
	}

	public void configSectionSave()
	{
	}

	public void configSectionDelete()
	{
	}

	public int maxUserMode()
	{
		BasicPluginConfigModel model = (BasicPluginConfigModel)model_ref.get();
		org.gudy.azureus2.plugins.ui.config.Parameter parameters[] = model.getParameters();
		int max_mode = 0;
		for (int i = 0; i < parameters.length; i++)
		{
			ParameterImpl param = (ParameterImpl)parameters[i];
			if (param.getMinimumRequiredUserMode() > max_mode)
				max_mode = param.getMinimumRequiredUserMode();
		}

		return max_mode;
	}

	public Composite configSectionCreate(Composite parent)
	{
		int userMode = COConfigurationManager.getIntParameter("User Mode");
		Composite main_tab = new Composite(parent, 0);
		GridData main_gridData = new GridData(272);
		main_tab.setLayoutData(main_gridData);
		GridLayout layout = new GridLayout();
		layout.numColumns = 2;
		layout.marginHeight = 0;
		main_tab.setLayout(layout);
		final Map comp_map = new HashMap();
		ParameterGroupImpl current_group = null;
		Composite current_composite = main_tab;
		BasicPluginConfigModel model = (BasicPluginConfigModel)model_ref.get();
		org.gudy.azureus2.plugins.ui.config.Parameter parameters[] = model.getParameters();
		for (int i = 0; i < parameters.length; i++)
		{
			final ParameterImpl param = (ParameterImpl)parameters[i];
			if (param.getMinimumRequiredUserMode() > userMode)
				continue;
			ParameterGroupImpl pg = param.getGroup();
			if (pg == null)
				current_composite = main_tab;
			else
			if (pg != current_group)
			{
				current_group = pg;
				current_composite = new Group(main_tab, 0);
				Messages.setLanguageText(current_composite, current_group.getResourceName());
				GridData gridData = new GridData(272);
				gridData.horizontalSpan = 2;
				current_composite.setLayoutData(gridData);
				layout = new GridLayout();
				layout.numColumns = 2;
				current_composite.setLayout(layout);
			}
			Label label = null;
			String label_key = param.getLabelKey();
			String label_text = label_key != null ? MessageText.getString(label_key) : param.getLabelText();
			if (label_text.indexOf('\n') != -1 || label_text.indexOf('\t') != -1 || !(param instanceof BooleanParameterImpl))
			{
				String hyperlink = null;
				if (param instanceof HyperlinkParameterImpl)
					hyperlink = ((HyperlinkParameterImpl)param).getHyperlink();
				label = new Label(current_composite, (param instanceof LabelParameterImpl) ? 64 : 0);
				if (label_key == null)
					label.setText(param.getLabelText());
				else
					Messages.setLanguageText(label, label_key);
				if (hyperlink != null)
					LinkLabel.makeLinkedLabel(label, hyperlink);
			}
			final String key = param.getKey();
			final Parameter swt_param;
			if (param instanceof BooleanParameterImpl)
			{
				if (label == null)
					swt_param = new BooleanParameter(current_composite, key, ((BooleanParameterImpl)param).getDefaultValue(), param.getLabelKey());
				else
					swt_param = new BooleanParameter(current_composite, key, ((BooleanParameterImpl)param).getDefaultValue());
				GridData data = new GridData();
				data.horizontalSpan = label != null ? 1 : 2;
				swt_param.setLayoutData(data);
				param.addListener(new ParameterListener() {

					final Parameter val$swt_param;
					final ParameterImpl val$param;
					final BasicPluginConfigImpl this$0;

					public void parameterChanged(org.gudy.azureus2.plugins.ui.config.Parameter p)
					{
						if (swt_param.getControls()[0].isDisposed())
							param.removeListener(this);
						else
							((BooleanParameter)swt_param).setSelected(((BooleanParameterImpl)param).getValue());
					}

			
			{
				this$0 = BasicPluginConfigImpl.this;
				swt_param = parameter;
				param = parameterimpl;
				super();
			}
				});
			} else
			if (param instanceof IntParameterImpl)
			{
				IntParameterImpl int_param = (IntParameterImpl)param;
				swt_param = new IntParameter(current_composite, key, int_param.getDefaultValue());
				if (int_param.isLimited())
				{
					((IntParameter)swt_param).setMinimumValue(int_param.getMinValue());
					((IntParameter)swt_param).setMaximumValue(int_param.getMaxValue());
				}
				param.addListener(new ParameterListener() {

					final Parameter val$swt_param;
					final ParameterImpl val$param;
					final BasicPluginConfigImpl this$0;

					public void parameterChanged(org.gudy.azureus2.plugins.ui.config.Parameter p)
					{
						if (swt_param.getControls()[0].isDisposed())
							param.removeListener(this);
						else
							((IntParameter)swt_param).setValue(((IntParameterImpl)param).getValue());
					}

			
			{
				this$0 = BasicPluginConfigImpl.this;
				swt_param = parameter;
				param = parameterimpl;
				super();
			}
				});
				GridData gridData = new GridData();
				gridData.widthHint = 100;
				swt_param.setLayoutData(gridData);
			} else
			if (param instanceof ColorParameterImpl)
			{
				final Composite area = new Composite(current_composite, 0);
				GridData gridData = new GridData();
				area.setLayoutData(gridData);
				layout = new GridLayout();
				layout.numColumns = 2;
				layout.marginHeight = 0;
				layout.marginWidth = 0;
				area.setLayout(layout);
				final ButtonParameter reset_button_holder[] = new ButtonParameter[1];
				final ColorParameterImpl color_param = (ColorParameterImpl)param;
				swt_param = new ColorParameter(color_param.getRedValue(), color_param.getGreenValue(), color_param.getBlueValue(), color_param, reset_button_holder) {

					final ColorParameterImpl val$color_param;
					final ButtonParameter val$reset_button_holder[];
					final BasicPluginConfigImpl this$0;

					public void newColorSet()
					{
						color_param.reloadParamDataFromConfig(true);
						if (reset_button_holder[0] == null)
						{
							return;
						} else
						{
							reset_button_holder[0].getControl().setEnabled(true);
							return;
						}
					}

			
			{
				this$0 = BasicPluginConfigImpl.this;
				color_param = colorparameterimpl;
				reset_button_holder = abuttonparameter;
				super(x0, x1, x2, x3, x4);
			}
				};
				reset_button_holder[0] = new ButtonParameter(area, "ConfigView.section.style.colorOverrides.reset");
				reset_button_holder[0].getControl().setEnabled(color_param.isOverridden());
				reset_button_holder[0].getControl().addListener(13, new Listener() {

					final ButtonParameter val$reset_button_holder[];
					final ColorParameterImpl val$color_param;
					final BasicPluginConfigImpl this$0;

					public void handleEvent(Event event)
					{
						reset_button_holder[0].getControl().setEnabled(false);
						color_param.resetToDefault();
						color_param.reloadParamDataFromConfig(false);
					}

			
			{
				this$0 = BasicPluginConfigImpl.this;
				reset_button_holder = abuttonparameter;
				color_param = colorparameterimpl;
				super();
			}
				});
				gridData = new GridData();
				gridData.widthHint = 50;
				swt_param.setLayoutData(gridData);
			} else
			if (param instanceof StringParameterImpl)
			{
				GridData gridData = new GridData(768);
				gridData.widthHint = 150;
				StringParameterImpl s_param = (StringParameterImpl)param;
				swt_param = new StringParameter(current_composite, key, s_param.getDefaultValue(), s_param.getGenerateIntermediateEvents());
				swt_param.setLayoutData(gridData);
			} else
			if (param instanceof InfoParameterImpl)
			{

⌨️ 快捷键说明

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