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

📄 messages.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:   Messages.java

package org.gudy.azureus2.ui.swt;

import java.io.PrintStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.*;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.util.Constants;
import org.gudy.azureus2.core3.util.Debug;

// Referenced classes of package org.gudy.azureus2.ui.swt:
//			KeyBindings

public class Messages
{

	private static final Pattern HIG_ELLIP_EXP = Pattern.compile("([\\.]{3})");

	private Messages()
	{
	}

	public static void updateLanguageForControl(Widget widget)
	{
		if (widget == null || widget.isDisposed())
			return;
		updateLanguageFromData(widget, null);
		updateToolTipFromData(widget);
		if (widget instanceof CTabFolder)
		{
			CTabFolder folder = (CTabFolder)widget;
			CTabItem items[] = folder.getItems();
			for (int i = 0; i < items.length; i++)
			{
				updateLanguageForControl(((Widget) (items[i])));
				updateLanguageForControl(((Widget) (items[i].getControl())));
			}

		} else
		if (widget instanceof TabFolder)
		{
			TabFolder folder = (TabFolder)widget;
			TabItem items[] = folder.getItems();
			for (int i = 0; i < items.length; i++)
			{
				updateLanguageForControl(((Widget) (items[i])));
				updateLanguageForControl(((Widget) (items[i].getControl())));
			}

		} else
		if (widget instanceof CoolBar)
		{
			CoolItem items[] = ((CoolBar)widget).getItems();
			for (int i = 0; i < items.length; i++)
			{
				Control control = items[i].getControl();
				updateLanguageForControl(((Widget) (control)));
			}

		} else
		if (widget instanceof ToolBar)
		{
			ToolItem items[] = ((ToolBar)widget).getItems();
			for (int i = 0; i < items.length; i++)
				updateLanguageForControl(((Widget) (items[i])));

		} else
		if (widget instanceof Composite)
		{
			Composite group = (Composite)widget;
			Control controls[] = group.getChildren();
			for (int i = 0; i < controls.length; i++)
				updateLanguageForControl(((Widget) (controls[i])));

			if (widget instanceof Table)
			{
				Table table = (Table)widget;
				TableColumn columns[] = table.getColumns();
				for (int i = 0; i < columns.length; i++)
					updateLanguageFromData(columns[i], null);

				updateLanguageForControl(((Widget) (table.getMenu())));
				if (SWT.getVersion() > 3200)
				{
					Event event = new Event();
					event.type = 39;
					event.widget = widget;
					widget.notifyListeners(39, event);
				}
			} else
			if (widget instanceof Tree)
			{
				Tree tree = (Tree)widget;
				TreeItem treeitems[] = tree.getItems();
				for (int i = 0; i < treeitems.length; i++)
					updateLanguageForControl(((Widget) (treeitems[i])));

			} else
			if (widget instanceof TreeItem)
			{
				TreeItem treeItem = (TreeItem)widget;
				TreeItem treeitems[] = treeItem.getItems();
				for (int i = 0; i < treeitems.length; i++)
					updateLanguageForControl(((Widget) (treeitems[i])));

			}
			group.layout();
		} else
		if (widget instanceof MenuItem)
		{
			MenuItem menuItem = (MenuItem)widget;
			updateLanguageForControl(((Widget) (menuItem.getMenu())));
		} else
		if (widget instanceof Menu)
		{
			Menu menu = (Menu)widget;
			if (menu.getStyle() == 8)
				System.out.println("POP_UP");
			MenuItem items[] = menu.getItems();
			for (int i = 0; i < items.length; i++)
				updateLanguageForControl(((Widget) (items[i])));

		} else
		if (widget instanceof TreeItem)
		{
			TreeItem treeitem = (TreeItem)widget;
			TreeItem treeitems[] = treeitem.getItems();
			for (int i = 0; i < treeitems.length; i++)
				updateLanguageFromData(treeitems[i], null);

		}
	}

	public static void setLanguageText(Widget widget, String key)
	{
		setLanguageText(widget, key, false);
	}

	public static void setLanguageText(Widget widget, String key, String params[])
	{
		setLanguageText(widget, key, params, false);
	}

	public static void setLanguageText(Widget widget, String key, boolean setTooltipOnly)
	{
		setLanguageText(widget, key, null, setTooltipOnly);
	}

	private static void setLanguageText(Widget widget, String key, String params[], boolean setTooltipOnly)
	{
		widget.setData(key);
		if (!setTooltipOnly)
			updateLanguageFromData(widget, params);
		updateToolTipFromData(widget);
	}

	private static void updateToolTipFromData(Widget widget)
	{
		if (widget instanceof Control)
		{
			String key = (String)widget.getData();
			if (key != null)
			{
				if (!key.endsWith(".tooltip"))
					key = (new StringBuilder()).append(key).append(".tooltip").toString();
				String toolTip = MessageText.getString(key);
				if (!toolTip.equals((new StringBuilder()).append('!').append(key).append('!').toString()))
					((Control)widget).setToolTipText(toolTip);
			}
		} else
		if (widget instanceof ToolItem)
		{
			String key = (String)widget.getData();
			if (key != null)
			{
				if (!key.endsWith(".tooltip"))
					key = (new StringBuilder()).append(key).append(".tooltip").toString();
				String toolTip = MessageText.getString(key);
				if (!toolTip.equals((new StringBuilder()).append('!').append(key).append('!').toString()))
					((ToolItem)widget).setToolTipText(toolTip.replaceAll("Meta\\+", Constants.isOSX ? "Cmd+" : "Ctrl+"));
			}
		} else
		if (widget instanceof TableColumn)
		{
			String key = (String)widget.getData();
			if (key != null)
			{
				if (!key.endsWith(".info"))
					key = (new StringBuilder()).append(key).append(".info").toString();
				String toolTip = MessageText.getString(key, (String)null);
				if (toolTip == null)
					toolTip = MessageText.getString(key.substring(0, key.length() - 5), (String)null);
				if (toolTip != null)
					try
					{
						((TableColumn)widget).setToolTipText(toolTip);
					}
					catch (NoSuchMethodError e) { }
			}
		}
	}

	private static void updateLanguageFromData(Widget widget, String params[])
	{
		if (widget == null || widget.isDisposed())
			return;
		if (widget.getData() != null)
		{
			String key = null;
			try
			{
				key = (String)widget.getData();
			}
			catch (ClassCastException e) { }
			if (key == null)
				return;
			if (key.endsWith(".tooltip"))
				return;
			String message;
			if (params == null)
				message = MessageText.getString((String)widget.getData());
			else
				message = MessageText.getString((String)widget.getData(), params);
			if (widget instanceof MenuItem)
			{
				MenuItem menuItem = (MenuItem)widget;
				boolean indent = menuItem.getData("IndentItem") != null;
				if (Constants.isOSX)
					message = HIG_ELLIP_EXP.matcher(message).replaceAll("…");
				menuItem.setText(indent ? (new StringBuilder()).append("  ").append(message).toString() : message);
				if (menuItem.getAccelerator() != 0)
					KeyBindings.setAccelerator(menuItem, (String)menuItem.getData());
			} else
			if (widget instanceof TableColumn)
			{
				TableColumn tc = (TableColumn)widget;
				tc.setText(message);
			} else
			if (widget instanceof Label)
				((Label)widget).setText(message.replaceAll("& ", "&& "));
			else
			if (widget instanceof CLabel)
				((CLabel)widget).setText(message.replaceAll("& ", "&& "));
			else
			if (widget instanceof Group)
				((Group)widget).setText(message);
			else
			if (widget instanceof Button)
				((Button)widget).setText(message);
			else
			if (widget instanceof CTabItem)
				((CTabItem)widget).setText(message);
			else
			if (widget instanceof TabItem)
				((TabItem)widget).setText(message);
			else
			if (widget instanceof TreeItem)
				((TreeItem)widget).setText(message);
			else
			if (widget instanceof Shell)
				((Shell)widget).setText(message);
			else
			if (widget instanceof ToolItem)
				((ToolItem)widget).setText(message);
			else
			if (widget instanceof Text)
				((Text)widget).setText(message);
			else
				Debug.out((new StringBuilder()).append("No cast for ").append(widget.getClass().getName()).toString());
		}
	}

	public static void setLanguageTooltip(Widget widget, String key)
	{
		if (widget == null || widget.isDisposed())
		{
			return;
		} else
		{
			widget.setData(key);
			updateTooltipLanguageFromData(widget);
			return;
		}
	}

	public static void updateTooltipLanguageFromData(Widget widget)
	{
		if (widget == null || widget.isDisposed())
			return;
		if (widget.getData() != null)
		{
			String sToolTip = MessageText.getString((String)widget.getData());
			if (widget instanceof CLabel)
				((CLabel)widget).setToolTipText(sToolTip);
			else
			if (widget instanceof Label)
				((Label)widget).setToolTipText(sToolTip);
			else
			if (widget instanceof Text)
				((Text)widget).setToolTipText(sToolTip);
			else
				System.out.println((new StringBuilder()).append("No cast for ").append(widget.getClass().getName()).toString());
		}
	}

}

⌨️ 快捷键说明

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