Commit fbee6082 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ fix for initialisation from stored settings in UI

parent efa10a33
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -3,7 +3,11 @@
 */
package de.ugoe.cs.swe.ui;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.xtext.builder.IXtextBuilderParticipant;
import org.eclipse.xtext.builder.nature.NatureAddingEditorCallback;
@@ -17,6 +21,10 @@ import com.google.common.base.Predicate;
import com.google.inject.Binder;
import com.google.inject.name.Names;

import de.ugoe.cs.swe.TTCN3.ui.internal.TTCN3Activator;
import de.ugoe.cs.swe.TTCN3Configuration.QualityCheckProfile;
import de.ugoe.cs.swe.common.ConfigTools;
import de.ugoe.cs.swe.ui.preferences.TTCN3PreferenceInitializer;
import de.ugoe.cs.swe.ui.preferences.TTCN3RootPreferencePage;
import de.ugoe.cs.swe.ui.syntaxcoloring.TTCN3HighlightingCalculator;
import de.ugoe.cs.swe.ui.syntaxcoloring.TTCN3HighlightingConfiguration;
@@ -59,6 +67,23 @@ public class TTCN3UiModule extends de.ugoe.cs.swe.ui.AbstractTTCN3UiModule {
                return false;
            }
        });
        //TODO: duplicated from TTCN3RootPreferencePage -> factor out!
		final IPreferenceStore store = TTCN3Activator.getInstance().getPreferenceStore();
		final QualityCheckProfile activeProfile = (QualityCheckProfile) ConfigTools.getInstance().getSelectedProfile();
		String[] booleans = TTCN3PreferenceInitializer.getBooleans();
		//Update profile from stored settings
		for (String s : booleans) {
			try {
				boolean v = store.getBoolean(s);
				Method method = activeProfile.getClass().getDeclaredMethod("set"+(""+s.charAt(0)).toUpperCase()+s.substring(1), Boolean.TYPE);
				method.invoke(activeProfile, v);
			} catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			//store.setDefault("checkNoUninitialisedVariables", activeProfile.isCheckNoUninitialisedVariables());
		}

    }
    
	public Class<? extends IXtextEditorCallback> bindIXtextEditorCallback() {