📄 messages.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 + -