| /******************************************************************************* |
| * Copyright (c) 2001, 2008 Oracle Corporation and others. |
| * 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: |
| * Oracle Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jst.jsf.ui.internal.tagregistry; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IComponentTagElement; |
| import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IConverterTagElement; |
| import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IValidatorTagElement; |
| import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace; |
| import org.eclipse.jst.jsf.common.ui.internal.form.AbstractDetailsForm; |
| import org.eclipse.jst.jsf.common.ui.internal.form.AbstractMasterDetailBlock; |
| import org.eclipse.jst.jsf.common.ui.internal.form.AbstractMasterForm; |
| import org.eclipse.jst.jsf.common.ui.internal.form.AbstractXMLSectionsDetailsForm; |
| import org.eclipse.jst.jsf.ui.internal.tagregistry.TaglibContentProvider.TagRegistryInstance; |
| import org.eclipse.ui.forms.widgets.FormToolkit; |
| |
| /** |
| * A master-detail block for selecting items in a tag registry and examining |
| * their details. |
| * |
| * @author cbateman |
| * |
| */ |
| public class TagRegistryMasterDetailBlock extends AbstractMasterDetailBlock |
| { |
| ComponentDetailSubForm _componentDetails; |
| TagRegistryDetailsForm _tagRegistryDetails; |
| NamespaceDetailsForm _namespaceDetails; |
| ConverterDetailsForm _converterDetails; |
| ValidatorDetailsForm _validatorDetails; |
| |
| |
| @Override |
| protected AbstractMasterForm createMasterPart(final FormToolkit toolkit) |
| { |
| return new TagRegistryMasterForm(toolkit); |
| } |
| |
| |
| @Override |
| protected final List<AbstractDetailsForm> createDetailPages() |
| { |
| final List<AbstractDetailsForm> detailForms = new ArrayList<AbstractDetailsForm>(); |
| _componentDetails = new ComponentDetailSubForm(); |
| detailForms.add(_componentDetails); |
| |
| _tagRegistryDetails = new TagRegistryDetailsForm(); |
| detailForms.add(_tagRegistryDetails); |
| |
| _namespaceDetails = new NamespaceDetailsForm(); |
| detailForms.add(_namespaceDetails); |
| |
| _converterDetails = new ConverterDetailsForm(); |
| detailForms.add(_converterDetails); |
| |
| _validatorDetails = new ValidatorDetailsForm(); |
| detailForms.add(_validatorDetails); |
| |
| return detailForms; |
| } |
| |
| |
| @Override |
| protected AbstractXMLSectionsDetailsForm doSelectPage(final Object forModel) |
| { |
| if (forModel instanceof IComponentTagElement) |
| { |
| return _componentDetails; |
| } |
| else if (forModel instanceof IConverterTagElement) |
| { |
| return _converterDetails; |
| } |
| else if (forModel instanceof IValidatorTagElement) |
| { |
| return _validatorDetails; |
| } |
| else if (forModel instanceof TagRegistryInstance) |
| { |
| return _tagRegistryDetails; |
| } |
| else if (forModel instanceof Namespace) |
| { |
| return _namespaceDetails; |
| } |
| return null; |
| } |
| |
| } |