view com.redhat.thermostat.tools.eclipse.plugin/src/com/redhat/thermostat/tools/eclipse/plugin/editor/ExtensionsMasterDetailsBlock.java @ 90:8f2dd0dbdb87

Externalize strings
author Omair Majid <omajid@redhat.com>
date Tue, 21 Jan 2014 19:51:04 -0500
parents b788a26c0d4d
children 1c835942f3c2
line wrap: on
line source

package com.redhat.thermostat.tools.eclipse.plugin.editor;

import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.forms.DetailsPart;

import com.redhat.thermostat.tools.eclipse.plugin.Messages;
import com.redhat.thermostat.tools.eclipse.plugin.model.Extension;
import com.redhat.thermostat.tools.eclipse.plugin.model.Plugin;

public class ExtensionsMasterDetailsBlock extends BaseMasterDetailsBlock {

    private ExtensionEditPage editPage;

    public ExtensionsMasterDetailsBlock(ExtensionsPage extensionsPage) {
        editPage = new ExtensionEditPage(extensionsPage);
    }

    public void setModel(Plugin model) {
        super.setModel(model);

        editPage.setModel(model);
    }

    @Override
    protected void registerPages(DetailsPart detailsPart) {
        detailsPart.registerPage(String.class, editPage);
    }

    @Override
    String getSectionTitle() {
        return Messages.ExtensionsMasterDetailsBlock_title;
    }

    @Override
    Object[] getListViewModel() {
        return model.getExtensionNames().toArray();
    }

    @Override
    void addButtonSelected(Shell shell) {
        NewNameDialog dialog = new NewNameDialog(shell);
        dialog.create();
        if (dialog.open() == Window.OK) {
            Extension newExtension = new Extension();
            newExtension.setName(dialog.getName());
            model.addExtension(newExtension);
        }
    }

    @Override
    void removeButtonSelected(Object selectedItem) {
        if (selectedItem == null) {
            return;
        }

        model.removeExtension((String) selectedItem);
    };

}