DynamicProductTypeNamePage.java :  » ERP-CRM-Financial » JFire-1.0.1 » org » nightlabs » jfire » dynamictrade » admin » ui » createproducttype » Java Open Source

Java Open Source » ERP CRM Financial » JFire 1.0.1 
JFire 1.0.1 » org » nightlabs » jfire » dynamictrade » admin » ui » createproducttype » DynamicProductTypeNamePage.java
/* *****************************************************************************
 * JFire - it's hot - Free ERP System - http://jfire.org                       *
 * Copyright (C) 2004-2005 NightLabs - http://NightLabs.org                    *
 *                                                                             *
 * This library is free software; you can redistribute it and/or               *
 * modify it under the terms of the GNU Lesser General Public                  *
 * License as published by the Free Software Foundation; either                *
 * version 2.1 of the License, or (at your option) any later version.          *
 *                                                                             *
 * This library 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 GNU           *
 * Lesser General Public License for more details.                             *
 *                                                                             *
 * You should have received a copy of the GNU Lesser General Public            *
 * License along with this library; if not, write to the                       *
 *     Free Software Foundation, Inc.,                                         *
 *     51 Franklin St, Fifth Floor,                                            *
 *     Boston, MA  02110-1301  USA                                             *
 *                                                                             *
 * Or get it online :                                                          *
 *     http://opensource.org/licenses/lgpl-license.php                         *
 *                                                                             *
 *                                                                             *
 ******************************************************************************/

package org.nightlabs.jfire.dynamictrade.admin.ui.createproducttype;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.nightlabs.base.ui.composite.XComposite;
import org.nightlabs.base.ui.composite.XComposite.LayoutMode;
import org.nightlabs.base.ui.language.I18nTextEditorTable;
import org.nightlabs.base.ui.language.II18nTextEditor;
import org.nightlabs.base.ui.resource.SharedImages;
import org.nightlabs.base.ui.wizard.DynamicPathWizardPage;
import org.nightlabs.i18n.I18nTextBuffer;
import org.nightlabs.jfire.dynamictrade.admin.ui.DynamicTradeAdminPlugin;
import org.nightlabs.jfire.dynamictrade.admin.ui.resource.Messages;
import org.nightlabs.jfire.store.ProductType;
import org.nightlabs.jfire.store.id.ProductTypeID;

/**
 * @author Marco Schulze - marco at nightlabs dot de
 */
public class DynamicProductTypeNamePage extends DynamicPathWizardPage
{
//  private ProductTypeID parentDynamicProductTypeID;
  private Combo inheritanceNatureCombo;

  private I18nTextBuffer dynamicProductTypeNameBuffer;
  private II18nTextEditor dynamicProductTypeNameEditor;

  public DynamicProductTypeNamePage(ProductTypeID parentDynamicProductTypeID)
  {
    super(DynamicProductTypeNamePage.class.getName(),
        Messages.getString("org.nightlabs.jfire.dynamictrade.admin.ui.createproducttype.DynamicProductTypeNamePage.title"), //$NON-NLS-1$
        SharedImages.getWizardPageImageDescriptor(DynamicTradeAdminPlugin.getDefault(), DynamicProductTypeNamePage.class));
    this.setDescription(Messages.getString("org.nightlabs.jfire.dynamictrade.admin.ui.createproducttype.DynamicProductTypeNamePage.description")); //$NON-NLS-1$
//    this.parentDynamicProductTypeID = parentDynamicProductTypeID;
  }

  @Override
  public Control createPageContents(Composite parent)
  {
    XComposite page = new XComposite(parent, SWT.NONE, LayoutMode.TIGHT_WRAPPER);

    XComposite comp0 = new XComposite(page, SWT.NONE, LayoutMode.TIGHT_WRAPPER);
    comp0.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    comp0.getGridLayout().numColumns = 2;
    inheritanceNatureCombo = new Combo(comp0, SWT.READ_ONLY);
    inheritanceNatureCombo.add(Messages.getString("org.nightlabs.jfire.dynamictrade.admin.ui.createproducttype.DynamicProductTypeNamePage.inheritanceNatureCombo.item_node")); //$NON-NLS-1$
    inheritanceNatureCombo.add(Messages.getString("org.nightlabs.jfire.dynamictrade.admin.ui.createproducttype.DynamicProductTypeNamePage.inheritanceNatureCombo.item_leaf")); //$NON-NLS-1$
    inheritanceNatureCombo.select(0);
    inheritanceNatureCombo.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e)
      {
        inheritanceNatureCombo_selectionChanged();
      }
    });
    inheritanceNatureCombo_selectionChanged();

    new Label(page, SWT.NONE).setText(Messages.getString("org.nightlabs.jfire.dynamictrade.admin.ui.createproducttype.DynamicProductTypeNamePage.nameLabel.text")); //$NON-NLS-1$
    dynamicProductTypeNameBuffer = new I18nTextBuffer();
    dynamicProductTypeNameEditor = new I18nTextEditorTable(page);
    dynamicProductTypeNameEditor.setI18nText(dynamicProductTypeNameBuffer);
    dynamicProductTypeNameEditor.addModifyListener(new ModifyListener() {
      public void modifyText(ModifyEvent arg0)
      {
        getWizard().getContainer().updateButtons();
      }
    });

    return page;
  }

  private byte inheritanceNature;

  private void inheritanceNatureCombo_selectionChanged()
  {
    switch (inheritanceNatureCombo.getSelectionIndex()) {
      case 0:
        inheritanceNature = ProductType.INHERITANCE_NATURE_BRANCH;
        break;
      case 1:
        inheritanceNature = ProductType.INHERITANCE_NATURE_LEAF;
        break;
      default:
        throw new IllegalStateException("Unknown inheritanceNatureCombo.selectionIndex!"); //$NON-NLS-1$
    }
  }

  public byte getInheritanceNature()
  {
    return inheritanceNature;
  }

  private byte packageNature = ProductType.PACKAGE_NATURE_OUTER; // it's always this, right?!

  public byte getPackageNature()
  {
    return packageNature;
  }

  /**
   * @return Returns the dynamicProductTypeNameEditor.
   */
  public II18nTextEditor getDynamicProductTypeNameEditor()
  {
    return dynamicProductTypeNameEditor;
  }
  /**
   * @return Returns the dynamicProductTypeNameBuffer.
   */
  public I18nTextBuffer getDynamicProductTypeNameBuffer()
  {
    return dynamicProductTypeNameBuffer;
  }

  @Override
  public boolean isPageComplete()
  {
    return dynamicProductTypeNameBuffer != null && !dynamicProductTypeNameBuffer.isEmpty();
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.