/* * Copyright (c) 2012, 2013 Hemanta Sapkota. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Hemanta Sapkota (laex.pearl@gmail.com) */ package com.laex.cg2d.screeneditor.prefs; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.jface.preference.IPreferenceStore; import com.laex.cg2d.model.ScreenModel.CGColor; import com.laex.cg2d.model.ScreenModel.CGScreenPreferences; import com.laex.cg2d.model.ScreenModel.CGScreenPreferences.CGCardPreferences; import com.laex.cg2d.model.ScreenModel.CGScreenPreferences.CGDebugDrawPreferences; import com.laex.cg2d.model.ScreenModel.CGScreenPreferences.CGWorldPreferences; import com.laex.cg2d.model.adapter.PreferenceConstants; import com.laex.cg2d.screeneditor.Activator; import com.laex.cg2d.screeneditor.editparts.CardEditPart; /** * Class used to initialize default preference values. */ public class PreferenceInitializer extends AbstractPreferenceInitializer { /* * (non-Javadoc) * * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer# * initializeDefaultPreferences() */ public void initializeDefaultPreferences() { IPreferenceStore store = Activator.getDefault().getPreferenceStore(); store.setDefault(PreferenceConstants.RUNNER, ""); store.setDefault(PreferenceConstants.DRAW_BODIES, defaultBodiesFlag()); store.setDefault(PreferenceConstants.DRAW_JOINT, defaultJointsFlag()); store.setDefault(PreferenceConstants.DRAW_DEBUG_DATA, defaultDebugDataFlag()); store.setDefault(PreferenceConstants.DRAW_ENTITIES, defaultEntitiesFlag()); store.setDefault(PreferenceConstants.INSTALL_MOUSE_JOINT, defaultMouseJoint()); store.setDefault(PreferenceConstants.DRAW_AABB, defaultAABBFlag()); store.setDefault(PreferenceConstants.DRAW_INACTIVE_BODIES, defaultInactiveBodiesFlag()); store.setDefault(PreferenceConstants.PTM_RATIO, defaultPTMRatio()); store.setDefault(PreferenceConstants.GRAVITY_X, defaultGravityX()); store.setDefault(PreferenceConstants.GRAVITY_Y, defaultGravityY()); store.setDefault(PreferenceConstants.VELOCITY_ITERATIONS, defaultVelocityIterations()); store.setDefault(PreferenceConstants.POSITION_ITERATIONS, defaultPositionIterations()); store.setDefault(PreferenceConstants.TIMESTEP, defaultTimeStep()); store.setDefault(PreferenceConstants.CARD_WIDTH, defaultCardWidth()); store.setDefault(PreferenceConstants.CARD_HEIGHT, defaultCardHeight()); store.setDefault(PreferenceConstants.CARD_NO_X, defaultCardNoX()); store.setDefault(PreferenceConstants.CARD_NO_Y, defaultCardNoY()); } /** * Default screen prefs. * * @return the cG screen preferences */ public static CGScreenPreferences defaultScreenPrefs() { CGCardPreferences.Builder cardBuildr = CGCardPreferences.newBuilder().setCardHeight(defaultCardHeight()) .setCardWidth(defaultCardWidth()).setCardNoX(defaultCardNoX()).setCardNoY(defaultCardNoY()); CGWorldPreferences.Builder worldBuildr = CGWorldPreferences.newBuilder().setGravityX(defaultGravityX()) .setGravityY(defaultGravityY()).setPtmRatio(defaultPTMRatio()) .setPositionIterations(defaultPositionIterations()).setTimeStep(defaultTimeStep()) .setVelocityIterations(defaultVelocityIterations()); CGDebugDrawPreferences.Builder dbgBuildr = CGDebugDrawPreferences.newBuilder().setDrawAABB(defaultAABBFlag()) .setDrawBodies(defaultBodiesFlag()).setDrawDebugData(defaultDebugDataFlag()) .setDrawEntities(defaultEntitiesFlag()).setDrawInactiveBodies(defaultInactiveBodiesFlag()) .setDrawJoints(defaultJointsFlag()).setInstallMouseJoint(defaultMouseJoint()); int r = CardEditPart.DEFAULT_BG_COLOR.getRGB().red; int g = CardEditPart.DEFAULT_BG_COLOR.getRGB().green; int b = CardEditPart.DEFAULT_BG_COLOR.getRGB().blue; return CGScreenPreferences.newBuilder().setCardPrefs(cardBuildr.build()).setDebugDrawPrefs(dbgBuildr.build()) .setWorldPrefs(worldBuildr.build()).setBackgroundColor(CGColor.newBuilder().setR(r).setG(g).setB(b).build()) .build(); } /** * Default card width. * * @return the integer */ public static Integer defaultCardWidth() { return 480; } /** * Default card height. * * @return the integer */ public static Integer defaultCardHeight() { return 320; } /** * Default card no x. * * @return the integer */ public static Integer defaultCardNoX() { return 1; } /** * Default card no y. * * @return the integer */ public static Integer defaultCardNoY() { return 1; } /** * Default ptm ratio. * * @return the integer */ public static Integer defaultPTMRatio() { return 16; } /** * Default gravity x. * * @return the float */ public static Float defaultGravityX() { return 0.0f; } /** * Default gravity y. * * @return the float */ public static Float defaultGravityY() { return -9.0f; } /** * Default velocity iterations. * * @return the integer */ public static Integer defaultVelocityIterations() { return 200; } /** * Default time step. * * @return the float */ public static Float defaultTimeStep() { return 60.0f; } /** * Default position iterations. * * @return the integer */ public static Integer defaultPositionIterations() { return 100; } /** * Dedfault time step. * * @return the float */ public static Float dedfaultTimeStep() { return 60.0f; } /** * Default bodies flag. * * @return the boolean */ public static Boolean defaultBodiesFlag() { return true; } /** * Default joints flag. * * @return the boolean */ public static Boolean defaultJointsFlag() { return true; } /** * Default entities flag. * * @return the boolean */ public static Boolean defaultEntitiesFlag() { return true; } /** * Default debug data flag. * * @return the boolean */ public static Boolean defaultDebugDataFlag() { return true; } /** * Default mouse joint. * * @return the boolean */ public static Boolean defaultMouseJoint() { return true; } /** * Default aabb flag. * * @return the boolean */ public static Boolean defaultAABBFlag() { return false; } /** * Default inactive bodies flag. * * @return the boolean */ public static Boolean defaultInactiveBodiesFlag() { return true; } }