/** * Creates or finds a main component of the producer for a document. * @param document the docuemnt * @return created or found non-null main component */ protected DesignComponent createMainComponent (DesignDocument document) { return document.createComponent (getMainComponentTypeID ()); }
public boolean checkValidity (DesignDocument document, ComponentProducer producer) { return MidpJavaSupport.checkValidity(document, producer.getMainComponentTypeID ()); }
private static AddActionItem create(final DesignComponent component, final ComponentProducer producer) { return new AddActionItem(producer.getMainComponentTypeID (), component, producer) { private WeakReference<DesignComponent> component;
/** * Returns component producers for given type. * @param document the document * @param typeID type of searched producers * @return the producers */ public static Collection<ComponentProducer> getComponentProducers(DesignDocument document, TypeID typeID) { Collection<ComponentProducer> producers = new HashSet<ComponentProducer>(); DescriptorRegistry registry = document.getDescriptorRegistry (); for (ComponentProducer producer : registry.getComponentProducers()) { if (registry.isInHierarchy (typeID, producer.getMainComponentTypeID ())) producers.add(producer); } return producers; }
@Override public boolean isAcceptable (ComponentProducer producer, AcceptSuggestion suggestion) { DescriptorRegistry registry = getComponent().getDocument().getDescriptorRegistry(); for (TypeID type : typesMap.keySet()) { if (registry.isInHierarchy(type, producer.getMainComponentTypeID ())) { currentType = type; return true; } } return false; }
@Override public boolean isAcceptable (ComponentProducer producer, AcceptSuggestion suggestion) { DescriptorRegistry registry = getComponent ().getDocument ().getDescriptorRegistry (); return registry.isInHierarchy (CommandCD.TYPEID, producer.getMainComponentTypeID ()); }
@Override public final boolean isAcceptable(ComponentProducer producer, AcceptSuggestion suggestion) { DescriptorRegistry registry = getComponent().getDocument().getDescriptorRegistry(); TypeID producerTypeID = producer.getMainComponentTypeID (); return registry.isInHierarchy(typeID, producerTypeID) ; }
public final boolean isAcceptable (ComponentProducer producer, AcceptSuggestion suggestion) { DescriptorRegistry registry = getComponent().getDocument().getDescriptorRegistry(); TypeID producerTypeID = producer.getMainComponentTypeID (); return registry.isInHierarchy(typeID, producerTypeID) && notifyAccepting (producerTypeID); }
@Override public boolean isAcceptable (ComponentProducer producer, AcceptSuggestion suggestion) { if (getComponent().getComponentDescriptor().getPropertyDescriptor(DisplayableCD.PROP_COMMANDS).isReadOnly()) return false; DescriptorRegistry registry = getComponent().getDocument().getDescriptorRegistry(); return registry.isInHierarchy(CommandCD.TYPEID, producer.getMainComponentTypeID ()); }
public AddActionItem[] getAddActionItems() { List<Action> actions = new ArrayList<Action>(); DesignDocument document = getComponent().getDocument(); for (TypeID type : types) { for (ComponentDescriptor descriptor : document.getDescriptorRegistry().getComponentDescriptors()){ if (getComponent().getDocument().getDescriptorRegistry().isInHierarchy(type, descriptor.getTypeDescriptor().getThisType())) { for (ComponentProducer producer : document.getDescriptorRegistry().getComponentProducers()) { if (producer.getMainComponentTypeID ().equals(descriptor.getTypeDescriptor().getThisType()) && AcceptSupport.isAcceptable(getComponent(), producer, null)) { Boolean isValid = producer.checkValidity(document, true); if (isValid != null && isValid) actions.add(AddActionItem.getInstance(getComponent(), producer)); } } } } } Collections.sort(actions, ACTIONS_COMPARATOR); return actions.toArray( new AddActionItem[actions.size()]); }
@Override public void destroy() throws IOException { super.destroy(); DesignDocument document = ActiveDocumentSupport.getDefault().getActiveDocument(); if (document != null) { DataObjectContext context = ProjectUtils.getDataObjectContextForDocument(document); if (context != null) { final ComponentProducer[] producer = new ComponentProducer[1]; final DescriptorRegistry registry = DescriptorRegistry.getDescriptorRegistry(context.getProjectType(), context.getProjectID()); registry.readAccess(new Runnable() { public void run() { List<ComponentProducer> producers = registry.getComponentProducers(); for (ComponentProducer p : producers) { if (p.getProducerID().equals(obj.getProducerID())) { producer[0] = p; break; } } } }); if (producer[0] != null) { registry.removeComponentDescriptor(producer[0].getMainComponentTypeID()); } } } }