📄 abstractwizardpage.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: AbstractWizardPage.java
package org.gudy.azureus2.ui.swt.shells;
import java.util.LinkedHashMap;
import java.util.Map;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.ui.swt.mainwindow.Colors;
// Referenced classes of package org.gudy.azureus2.ui.swt.shells:
// IWizardPage, MultipageWizard
public abstract class AbstractWizardPage
implements IWizardPage
{
public static final String BUTTON_OK = "button.ok";
public static final String BUTTON_CANCEL = "button.cancel";
public static final String BUTTON_NEXT = "button.next";
public static final String BUTTON_BACK = "button.back";
private MultipageWizard wizard;
private Composite pageControl;
private Composite contentPanel;
private Composite toolbarPanel;
private Map buttons;
protected SelectionListener defaultButtonListener;
private int buttonExtraMargin;
public AbstractWizardPage(MultipageWizard wizard)
{
buttons = new LinkedHashMap();
buttonExtraMargin = 50;
this.wizard = wizard;
}
public Composite createControls(Composite parent)
{
pageControl = new Composite(parent, 0);
pageControl.setBackground(Colors.red);
GridLayout gLayout = new GridLayout();
gLayout.marginHeight = 0;
gLayout.marginWidth = 0;
gLayout.verticalSpacing = 0;
pageControl.setLayout(gLayout);
contentPanel = new Composite(pageControl, 0);
contentPanel.setLayoutData(new GridData(4, 4, true, true));
Label separator2 = new Label(pageControl, 258);
separator2.setLayoutData(new GridData(4, 0x1000000, true, false));
toolbarPanel = new Composite(pageControl, 0);
toolbarPanel.setLayoutData(new GridData(4, 1024, true, false));
GridLayout gLayout2 = new GridLayout(3, false);
gLayout2.marginHeight = 16;
gLayout2.marginWidth = 16;
toolbarPanel.setLayout(gLayout2);
defaultButtonListener = new SelectionListener() {
final AbstractWizardPage this$0;
public void widgetSelected(SelectionEvent e)
{
if ("button.ok".equals(e.widget.getData("button.id")))
performOK();
else
if ("button.cancel".equals(e.widget.getData("button.id")))
performCancel();
else
if ("button.next".equals(e.widget.getData("button.id")))
performNext();
else
if ("button.back".equals(e.widget.getData("button.id")))
performBack();
}
public void widgetDefaultSelected(SelectionEvent e)
{
widgetSelected(e);
}
{
this$0 = AbstractWizardPage.this;
Object();
}
};
Label dummy = new Label(toolbarPanel, 0);
dummy.setLayoutData(new GridData(4, 4, true, false));
createButtons(toolbarPanel);
return contentPanel;
}
public void fullScreen(boolean isFullScreen)
{
toolbarPanel.setVisible(!isFullScreen);
((GridData)toolbarPanel.getLayoutData()).exclude = isFullScreen;
pageControl.layout(true, true);
getWizard().fullScreen(isFullScreen);
}
protected void createButtons(Composite buttonPanel)
{
createButton("button.cancel", MessageText.getString("Button.cancel"), defaultButtonListener);
createButton("button.back", MessageText.getString("wizard.previous"), defaultButtonListener);
createButton("button.next", MessageText.getString("wizard.next"), defaultButtonListener);
createButton("button.ok", MessageText.getString("wizard.finish"), defaultButtonListener);
}
protected Button createButton(String buttonID, String buttonText, SelectionListener listener)
{
if (null == buttonID)
throw new IllegalArgumentException("A button requires a non-null ID");
if (buttons.containsKey(buttonID))
{
Debug.out((new StringBuilder()).append("AbstractWizardPage:: a button with this same ID already exists ID:").append(buttonID).toString());
return (Button)buttons.get(buttonID);
}
Button button = new Button(toolbarPanel, 8);
GridData gData = new GridData(0x1000008, 1024, false, false);
gData.widthHint = button.computeSize(-1, -1).y + buttonExtraMargin;
button.setLayoutData(gData);
if (null != listener)
button.addSelectionListener(listener);
button.setText(buttonText);
button.setData("button.id", buttonID);
buttons.put(buttonID, button);
adjustToolbar();
return button;
}
protected void enableButton(String buttonID, boolean value)
{
if (!buttons.containsKey(buttonID))
{
Debug.out((new StringBuilder()).append("AbstractWizardPage:: a button with this ID is not found ID:").append(buttonID).toString());
return;
} else
{
((Button)buttons.get(buttonID)).setEnabled(value);
toolbarPanel.layout(true);
return;
}
}
protected void showButton(String buttonID, boolean value)
{
if (!buttons.containsKey(buttonID))
{
Debug.out((new StringBuilder()).append("AbstractWizardPage:: a button with this ID is not found ID:").append(buttonID).toString());
return;
}
Button button = (Button)buttons.get(buttonID);
button.setVisible(value);
if (value)
{
GridData gData = (GridData)button.getLayoutData();
gData.exclude = false;
gData.widthHint = button.computeSize(-1, -1).y + buttonExtraMargin;
} else
{
GridData gData = (GridData)button.getLayoutData();
gData.exclude = true;
gData.widthHint = 0;
}
toolbarPanel.layout(true);
}
protected Button getButton(String buttonID)
{
if (!buttons.containsKey(buttonID))
return null;
else
return (Button)buttons.get(buttonID);
}
public void performOK()
{
}
public void performCancel()
{
getWizard().performCancel();
}
public void performNext()
{
getWizard().performNext();
}
public void performBack()
{
getWizard().performBack();
}
private void adjustToolbar()
{
((GridLayout)toolbarPanel.getLayout()).numColumns = buttons.size() + 1;
toolbarPanel.layout(true);
}
public Control getControl()
{
return pageControl;
}
public MultipageWizard getWizard()
{
return wizard;
}
public String getDesciption()
{
return null;
}
public String getTitle()
{
return null;
}
public String getWindowTitle()
{
return null;
}
public boolean isComplete()
{
return false;
}
public void performDispose()
{
}
public void performFinish()
{
}
public boolean setComplete()
{
return true;
}
public void performAboutToBeHidden()
{
}
public void performAboutToBeShown()
{
if (null != getButton("button.next"))
enableButton("button.next", !getWizard().isLastPage(getPageID()));
if (null != getButton("button.back"))
enableButton("button.back", !getWizard().isFirstPage(getPageID()));
}
public boolean isInitOnStartup()
{
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -