com.laex.cg2d.screeneditor.prefs.PreferenceInitializer.java Source code

Java tutorial

Introduction

Here is the source code for com.laex.cg2d.screeneditor.prefs.PreferenceInitializer.java

Source

/*
 * 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;
    }

}