com.mobilesorcery.sdk.ui.internal.actions.ManageBuildConfigsAction.java Source code

Java tutorial

Introduction

Here is the source code for com.mobilesorcery.sdk.ui.internal.actions.ManageBuildConfigsAction.java

Source

/*  Copyright (C) 2010 Mobile Sorcery AB
    
This program is free software; you can redistribute it and/or modify it
under the terms of the Eclipse Public License v1.0.
    
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the Eclipse Public License v1.0 for
more details.
    
You should have received a copy of the Eclipse Public License v1.0 along
with this program. It is also available at http://www.eclipse.org/legal/epl-v10.html
 */
package com.mobilesorcery.sdk.ui.internal.actions;

import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.preference.PreferenceDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.dialogs.PreferencesUtil;

import com.mobilesorcery.sdk.core.CoreMoSyncPlugin;
import com.mobilesorcery.sdk.core.MoSyncProject;

public class ManageBuildConfigsAction extends Action implements IObjectActionDelegate {

    private static final String BUILD_CONFIG_SETTINGS_ID = "com.mobilesorcery.sdk.ui.properties.buildconfigs";
    private static final String BUILD_SETTINGS_ID = "com.mobilesorcery.sdk.ui.properties.buildsettings";

    private MoSyncProject project;
    private IWorkbenchPart targetPart;

    public ManageBuildConfigsAction() {
    }

    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
        this.targetPart = targetPart;
    }

    public void run() {
        run(this);
    }

    public void run(IAction action) {
        PreferenceDialog dialog = PreferencesUtil.createPropertyDialogOn(
                targetPart.getSite().getWorkbenchWindow().getShell(), project.getWrappedProject(),
                BUILD_CONFIG_SETTINGS_ID, new String[] { BUILD_CONFIG_SETTINGS_ID, BUILD_SETTINGS_ID }, null,
                PreferencesUtil.OPTION_FILTER_LOCKED);

        dialog.open();
    }

    public void selectionChanged(IAction action, ISelection selection) {
        IStructuredSelection ssel = (IStructuredSelection) selection;
        project = CoreMoSyncPlugin.getDefault().extractProject(ssel.toList());
    }

}