43
43
44
44
import net .certiv .tools .indentguide .adaptors .PartAdaptor ;
45
45
import net .certiv .tools .indentguide .adaptors .WindowAdaptor ;
46
- import net .certiv .tools .indentguide .preferences .Settings ;
47
- import net .certiv .tools .indentguide .util .Prefs ;
46
+ import net .certiv .tools .indentguide .preferences .Pref ;
48
47
import net .certiv .tools .indentguide .util .Utils ;
48
+ import net .certiv .tools .indentguide .util .Utils .Delta ;
49
49
50
50
public class Starter implements IStartup {
51
51
@@ -58,7 +58,8 @@ public class Starter implements IStartup {
58
58
private static final String SOURCE_VIEWER = "getSourceViewer" ; // $NON-NLS-1$
59
59
60
60
private IPreferenceStore store ;
61
- private Set <String > contentTypes ;
61
+ // excluded content types
62
+ private Set <String > excludedTypeIds ;
62
63
63
64
// row=window; col=page/editor; val=painter
64
65
private HashMap <IWorkbenchPart , HashMap <ISourceViewer , IndentGuidePainter >> paintMap = new HashMap <>();
@@ -92,7 +93,7 @@ private void initWorkbenchWindow(IWorkbenchWindow window) {
92
93
IWorkbenchPage page = window .getActivePage ();
93
94
if (page != null ) {
94
95
IWorkbenchPart part = page .getActivePart ();
95
- Activator .log ("workbench page '%s' " , name (part ));
96
+ Activator .log ("workbench page [%s] " , name (part ));
96
97
97
98
if (part instanceof MultiPageEditorPart ) {
98
99
IEditorPart editor = activeEditor ((MultiPageEditorPart ) part );
@@ -108,8 +109,8 @@ private void initWorkbenchWindow(IWorkbenchWindow window) {
108
109
}
109
110
110
111
private void installPainter (IEditorPart part , IWorkbenchPart window ) {
111
- if (!store .getBoolean (Settings .ENABLED )) return ;
112
- Activator .log ("inspecting editor '%s' " , name (part ));
112
+ if (!store .getBoolean (Pref .ENABLED )) return ;
113
+ Activator .log ("inspecting editor [%s] " , name (part ));
113
114
114
115
if (part instanceof AbstractTextEditor ) {
115
116
AbstractTextEditor editor = (AbstractTextEditor ) part ;
@@ -175,7 +176,7 @@ private boolean validType(AbstractTextEditor editor) {
175
176
Activator .log ("painter disallowed for '%s' [%s]" , srcname , UNKNOWN );
176
177
return false ;
177
178
}
178
- if (contentTypes .contains (type .getId ())) {
179
+ if (! excludedTypeIds .contains (type .getId ())) {
179
180
Activator .log ("installing painter on '%s' [%s]" , srcname , type .getName ());
180
181
return true ;
181
182
}
@@ -185,7 +186,7 @@ private boolean validType(AbstractTextEditor editor) {
185
186
}
186
187
187
188
private void updateContentTypes () {
188
- contentTypes = Prefs . asLinkedSet (store .getString (Settings .CONTENT_TYPES ));
189
+ excludedTypeIds = Utils . undelimit (store .getString (Pref .CONTENT_TYPES ));
189
190
}
190
191
191
192
private String name (IWorkbenchPart part ) {
@@ -249,19 +250,16 @@ private class StoreWatcher implements IPropertyChangeListener {
249
250
250
251
@ Override
251
252
public void propertyChange (PropertyChangeEvent evt ) {
252
- if (evt .getProperty ().startsWith (Settings .KEY )) {
253
+ if (evt .getProperty ().startsWith (Pref .KEY )) {
253
254
String property = evt .getProperty ();
254
255
Object old = evt .getOldValue ();
255
256
Object now = evt .getNewValue ();
256
- if (property .equals (Settings .CONTENT_TYPES )) {
257
+ if (property .equals (Pref .CONTENT_TYPES )) {
257
258
updateContentTypes ();
258
259
259
- Set <String > prev = Prefs .asLinkedSet ((String ) old );
260
- Set <String > pres = Prefs .asLinkedSet ((String ) now );
261
- Set <String > rmved = Utils .subtract (prev , pres );
262
- Set <String > added = Utils .subtract (pres , prev );
263
- if (!rmved .isEmpty ()) Activator .log ("property change '%s' removed %s" , property , rmved );
264
- if (!added .isEmpty ()) Activator .log ("property change '%s' added %s" , property , added );
260
+ Delta <String > delta = Utils .delta (Utils .undelimit ((String ) old ), Utils .undelimit ((String ) now ));
261
+ if (!delta .rmved .isEmpty ()) Activator .log ("property change '%s' removed %s" , property , delta .rmved );
262
+ if (!delta .added .isEmpty ()) Activator .log ("property change '%s' added %s" , property , delta .added );
265
263
266
264
} else {
267
265
Activator .log ("property change '%s' [%s] => [%s]" , property , old , now );
0 commit comments