📄 basicpluginconfigimpl.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: 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 + -