Package com.dubture.composer.ui.wizard.project.template

Source Code of com.dubture.composer.ui.wizard.project.template.PackageProjectWizardFirstPage

package com.dubture.composer.ui.wizard.project.template;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.window.IShellProvider;
import org.eclipse.php.internal.ui.wizards.CompositeData;
import org.eclipse.php.internal.ui.wizards.NameGroup;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.eclipse.ui.PlatformUI;

import com.dubture.composer.ui.ComposerUIPlugin;
import com.dubture.composer.ui.converter.String2KeywordsConverter;
import com.dubture.composer.ui.wizard.LocationGroup;
import com.dubture.composer.ui.wizard.project.BasicSettingsGroup;
import com.dubture.composer.ui.wizard.project.ComposerProjectWizardFirstPage;
import com.dubture.composer.ui.wizard.project.VersionGroup;
import com.dubture.getcomposer.core.ComposerPackage;

/**
* @author Robert Gruendler <r.gruendler@gmail.com>
*/
@SuppressWarnings("restriction")
public class PackageProjectWizardFirstPage extends ComposerProjectWizardFirstPage implements IShellProvider {

  private Validator projectTemplateValidator;
 
  private Button overrideComposer;
  private boolean doesOverride = false;
 
  public PackageProjectWizardFirstPage() {
    super();
    setPageComplete(false);
    setTitle("Basic Composer Configuration");
    setDescription("Create a new project from existing package");
  }
 
  @Override
  public void createControl(Composite parent) {

    final Composite composite = new Composite(parent, SWT.NULL);
    composite.setFont(parent.getFont());
    composite.setLayout(initGridLayout(new GridLayout(1, false), false));
    composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));

    initialName = "";
    // create UI elements
    nameGroup = new NameGroup(composite, initialName, getShell());
    nameGroup.addObserver(this);
    PHPLocationGroup = new LocationGroup(composite, nameGroup, getShell());
   
    overrideComposer = new Button(composite, SWT.CHECK);
    overrideComposer.setText("Override composer.json from target package");
    overrideComposer.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        doesOverride = overrideComposer.getSelection();
        settingsGroup.setEnabled(overrideComposer.getSelection());
      }
    });
   
    final Group group = new Group(composite, SWT.None);
    group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    group.setLayout(new GridLayout(3, false));
    group.setText("");
   
    settingsGroup = new BasicSettingsGroup(group, getShell());
    settingsGroup.setEnabled(false);
    settingsGroup.addObserver(this);

    CompositeData data = new CompositeData();
    data.setParetnt(composite);
    data.setSettings(getDialogSettings());
    data.setObserver(PHPLocationGroup);

    versionGroup = new VersionGroup(this, composite);
    nameGroup.addObserver(PHPLocationGroup);

    // initialize all elements
    nameGroup.notifyObservers();
    // create and connect validator
    projectTemplateValidator = new Validator(this);
    nameGroup.addObserver(projectTemplateValidator);
    PHPLocationGroup.addObserver(projectTemplateValidator);

    Dialog.applyDialogFont(composite);
   
    setControl(composite);
    composerPackage = new ComposerPackage();
    keywordConverter = new String2KeywordsConverter(composerPackage);
    setHelpContext(composite);
  }
 
  @Override
  public void performFinish(final IProgressMonitor monitor) {
   

  }
 
  @Override
  protected void setHelpContext(Control container) {
    PlatformUI.getWorkbench().getHelpSystem().setHelp(container, ComposerUIPlugin.PLUGIN_ID + "." + "help_context_wizard_template_firstpage");
  }
 
  public boolean doesOverrideComposer() {
    return doesOverride;
  }
}
TOP

Related Classes of com.dubture.composer.ui.wizard.project.template.PackageProjectWizardFirstPage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.