01: package org.acm.seguin.completer.popup;
02:
03: import org.acm.seguin.completer.Config;
04: import org.acm.seguin.ide.jedit.Navigator;
05: import org.acm.seguin.completer.Completer;
06: import org.acm.seguin.completer.info.*;
07: import javax.swing.ImageIcon;
08: import java.lang.reflect.*;
09:
10: //import anthelper.utils.ReflectUtils;
11:
12: /**
13: * Description of the Class
14: *
15: * @author btateyama@yahoo.com
16: * @created December 11, 2002
17: */
18: public class MemberPopupItem extends PopupItem {
19: static final Navigator.NavigatorLogger logger = Completer
20: .getLogger(MemberPopupItem.class);
21:
22: public MemberPopupItem(MemberInfo argMemberInfo) {
23: _objDataSource = argMemberInfo;
24: if (argMemberInfo instanceof MethodInfo) {
25: initMethod((MethodInfo) argMemberInfo);
26: } else if (argMemberInfo instanceof FieldInfo) {
27: initField((FieldInfo) argMemberInfo);
28: } else if (argMemberInfo instanceof ClassInfo) {
29: initClass((ClassInfo) argMemberInfo);
30: }
31: // formatting extras
32: initFormatForMods(argMemberInfo.getModifiers());
33: if (!Config.SHOW_RETURN_TYPES.getAsBoolean()) {
34: _strLeftText = "";
35: }
36: }
37:
38: void initClass(ClassInfo argClassInfo) {
39: _strData = argClassInfo.getName();
40: _strLeftText = " <inner> "; //getPlainName(argClassInfo.getType());
41: _strBeforeCaret = _strData;
42: _strAfterCaret = "";
43: _icon = PopupUtils.ICON_INNER;
44: _iIconWidth = PopupUtils.ICON_WIDTH;
45: }
46:
47: void initField(FieldInfo argFieldInfo) {
48: _strData = argFieldInfo.getName();
49: _strLeftText = " " + getPlainName(argFieldInfo.getType()) + " ";
50: _strBeforeCaret = argFieldInfo.getName();
51: _strAfterCaret = "";
52: _icon = PopupUtils.ICON_FIELD;
53: _iIconWidth = PopupUtils.ICON_WIDTH;
54: }
55:
56: void initMethod(MethodInfo argMethodInfo) {
57: StringBuffer sb = new StringBuffer();
58: sb.append(argMethodInfo.getName());
59: if (Config.SHOW_PARAMS.getAsBoolean()) {
60: sb.append(getParamsDesc(argMethodInfo.getParameterTypes()));
61: } else {
62: sb.append("()");
63: }
64: _strData = sb.toString();
65: _strLeftText = " "
66: + getPlainName(argMethodInfo.getReturnType()) + " ";
67:
68: StringBuffer sbBefore = new StringBuffer();
69: sbBefore.append(argMethodInfo.getName());
70: if (argMethodInfo.getParameterTypes().length == 0) {
71: sbBefore.append("()");
72: } else {
73: sbBefore.append("(");
74: _strAfterCaret = ")";
75: }
76: _strBeforeCaret = sbBefore.toString();
77:
78: _icon = PopupUtils.ICON_METHOD;
79: _iIconWidth = PopupUtils.ICON_WIDTH;
80: }
81: }
|