Revision 2427

tmp/org.txm.rcp/src/main/java/org/txm/rcp/adapters/TXMResultAdapter.java (revision 2427)
24 24
 *
25 25
 */
26 26
public abstract class TXMResultAdapter extends WorkbenchAdapter {
27

  
27
	
28 28
	/**
29
	 * Default constructor. 
29
	 * Default constructor.
30 30
	 */
31 31
	public TXMResultAdapter() {
32 32
		// TODO Auto-generated constructor stub
33 33
	}
34

  
34
	
35 35
	@Override
36 36
	public Object[] getChildren(Object result) {
37 37
		if (!(result instanceof TXMResult)) {
......
39 39
		}
40 40
		return ((TXMResult) result).getChildren(!TBXPreferences.getInstance().getBoolean(TBXPreferences.SHOW_ALL_RESULT_NODES)).toArray();
41 41
	}
42

  
42
	
43 43
	@Override
44 44
	public String getLabel(Object result) {
45 45
		if (!(result instanceof TXMResult)) {
46 46
			return result.toString();
47 47
		}
48 48
		String label = ((TXMResult) result).getCurrentName();
49

  
49
		
50 50
		// FIXME: SJ: doesn't work if a result has more than one editor opened
51 51
		IEditorPart editor = SWTEditorsUtils.getEditor((TXMResult) result);
52
		if(editor != null && editor.isDirty())	{
52
		if (editor != null && editor.isDirty()) {
53 53
			label += " *"; //$NON-NLS-1$
54 54
		}
55 55
		
56 56
		return label;
57 57
	}
58

  
58
	
59 59
	@Override
60 60
	public Object getParent(Object result) {
61 61
		if (result instanceof TXMResult) {
62 62
			return ((TXMResult) result).getParent();
63
		} else {
63
		}
64
		else {
64 65
			return null;
65 66
		}
66 67
	}
67

  
68
	
68 69
	@Override
69 70
	public FontData getFont(Object element) {
70 71
		
71 72
		FontData fontData = null;
72 73
		
73
		if(element instanceof TXMResult)	{
74

  
74
		if (element instanceof TXMResult) {
75
			
75 76
			fontData = Display.getCurrent().getSystemFont().getFontData()[0];
76 77
			
77 78
			// highlight the node label of the current active editor
78
			if(element == BaseAbstractHandler.getActiveEditorResult(null))	{
79
			if (element == BaseAbstractHandler.getActiveEditorResult(null)) {
79 80
				fontData.setStyle(SWT.BOLD);
80 81
			}
81 82
			
82 83
			// display non-persisted result with italic font if the autosave result preference is disabled
83
			if(!TBXPreferences.getInstance().getBoolean(TBXPreferences.AUTO_PERSISTENCE_ENABLED) && !((TXMResult)element).isUserPersistable() && !((TXMResult)element).isInternalPersistable())	{
84
			if (!TBXPreferences.getInstance().getBoolean(TBXPreferences.AUTO_PERSISTENCE_ENABLED) && !((TXMResult) element).isUserPersistable() && !((TXMResult) element).isInternalPersistable()) {
84 85
				fontData.setStyle(fontData.getStyle() | SWT.ITALIC);
85 86
			}
86

  
87
			
87 88
		}
88 89
		
89 90
		return fontData;
90 91
	}
91

  
92
	
92 93
	@Override
93
    public RGB getForeground(Object element) {
94
	public RGB getForeground(Object element) {
94 95
		// debug/advanced mode
95
		if(TBXPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER) && element instanceof TXMResult && !((TXMResult)element).hasBeenComputedOnce())	{
96
			// highlight results that has not yet been computed
96
		if (TBXPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER) && element instanceof TXMResult && !((TXMResult) element).hasBeenComputedOnce()) {
97
			// set as gray results that has not yet been computed
97 98
			Display display = Display.getCurrent();
98
		    Color color = display.getSystemColor(SWT.COLOR_DARK_GRAY);
99
		    return color.getRGB();
99
			Color color = display.getSystemColor(SWT.COLOR_DARK_GRAY);
100
			return color.getRGB();
100 101
		}
101 102
		// FIXME: DEbug
102
//		else if(element instanceof TXMResult && ((TXMResult)element).isDirty())	{
103
//	    	Display display = Display.getCurrent();
104
//	    	Color color = display.getSystemColor(SWT.COLOR_YELLOW);
105
//	    	return color.getRGB();
106
//		}
107

  
103
		// else if(element instanceof TXMResult && ((TXMResult)element).isDirty()) {
104
		// Display display = Display.getCurrent();
105
		// Color color = display.getSystemColor(SWT.COLOR_YELLOW);
106
		// return color.getRGB();
107
		// }
108
		
108 109
		return null;
109
    }
110

  
110
	}
111
	
111 112
	@Override
112
    public RGB getBackground(Object element) {
113
	public RGB getBackground(Object element) {
113 114
		
114 115
		// debug/advanced mode
115
		if(TBXPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER) && element instanceof TXMResult && !((TXMResult)element).isVisible())	{
116
			// highlight results that are not visible
116
		if (TBXPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER) && element instanceof TXMResult && !((TXMResult) element).isVisible()) {
117
			// add a gray background to results that are not visible
117 118
			Display display = Display.getCurrent();
118
		    //Color color = display.getSystemColor(SWT.COLOR_GRAY);
119
			// Color color = display.getSystemColor(SWT.COLOR_GRAY);
119 120
			Color color = new Color(display, 240, 240, 240);
120
		    return color.getRGB();
121
			return color.getRGB();
121 122
		}
122

  
123 123
		
124
		
124 125
		// FIXME: SJ: tests
125
//		if(element instanceof TXMResult && ((TXMResult)element).isUserPersistable())	{
126
//	    	Display display = Display.getCurrent();
127
//	    	Color color = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
128
//
129
//	    	// FIXME: random color tests
130
////	    	Random rnd = new Random();
131
////	    	int r = rnd.nextInt(128) + 128; // 128 ... 255
132
////	    	int g = rnd.nextInt(128) + 128; // 128 ... 255
133
////	    	int b = rnd.nextInt(128) + 128; // 128 ... 255
134
////	    	Color blue = new Color(display, r, g, b);
135
//	    	
136
//	    	return color.getRGB();
137
//		}
126
		// if(element instanceof TXMResult && ((TXMResult)element).isUserPersistable()) {
127
		// Display display = Display.getCurrent();
128
		// Color color = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
129
		//
130
		// // FIXME: random color tests
131
		//// Random rnd = new Random();
132
		//// int r = rnd.nextInt(128) + 128; // 128 ... 255
133
		//// int g = rnd.nextInt(128) + 128; // 128 ... 255
134
		//// int b = rnd.nextInt(128) + 128; // 128 ... 255
135
		//// Color blue = new Color(display, r, g, b);
136
		//
137
		// return color.getRGB();
138
		// }
138 139
		return null;
139
    }
140

  
140
	}
141
	
141 142
}

Also available in: Unified diff