/machinelearning/5.0.x/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java
https://github.com/droolsjbpm/droolsjbpm-contributed-experiments · Java · 120 lines · 49 code · 14 blank · 57 comment · 0 complexity · b1b6a7050e1f03e036cd9d49fc0c8952 MD5 · raw file
- package org.drools.eclipse.flow.ruleflow.editor;
- /*
- * Copyright 2005 JBoss Inc
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- import java.util.ArrayList;
- import java.util.List;
-
- import org.drools.eclipse.DroolsEclipsePlugin;
- import org.drools.eclipse.flow.ruleflow.skin.SkinManager;
- import org.drools.eclipse.flow.ruleflow.skin.SkinProvider;
- import org.drools.eclipse.preferences.IDroolsConstants;
- import org.eclipse.gef.palette.MarqueeToolEntry;
- import org.eclipse.gef.palette.PaletteContainer;
- import org.eclipse.gef.palette.PaletteDrawer;
- import org.eclipse.gef.palette.PaletteEntry;
- import org.eclipse.gef.palette.PaletteGroup;
- import org.eclipse.gef.palette.PaletteRoot;
- import org.eclipse.gef.palette.SelectionToolEntry;
- import org.eclipse.gef.palette.ToolEntry;
-
- /**
- * Factory for creating a RuleFlow palette.
- *
- * @author <a href="mailto:kris_verlaenen@hotmail.com">Kris Verlaenen</a>
- */
- public class RuleFlowPaletteFactory {
-
- public static PaletteRoot createPalette() {
- PaletteRoot flowPalette = new PaletteRoot();
- flowPalette.addAll(createCategories(flowPalette));
- return flowPalette;
- }
-
- private static List<PaletteEntry> createCategories(PaletteRoot root) {
- List<PaletteEntry> categories = new ArrayList<PaletteEntry>();
- categories.add(createControlGroup(root));
- String skin = DroolsEclipsePlugin.getDefault().getPreferenceStore().getString(IDroolsConstants.SKIN);
- SkinProvider skinProvider = SkinManager.getInstance().getSkinProvider(skin);
- categories.add(skinProvider.createComponentsDrawer());
- categories.add(createWorkNodesDrawer());
- return categories;
- }
-
- private static PaletteContainer createWorkNodesDrawer() {
-
- PaletteDrawer drawer = new PaletteDrawer("Work Items", null);
-
- // List entries = new ArrayList();
- //
- // for (Iterator iterator = WorkItemDefinitions.getWorkDefinitions().iterator(); iterator.hasNext(); ) {
- // final WorkDefinition workDefinition = (WorkDefinition) iterator.next();
- // final String label;
- // String description = workDefinition.getName();
- // String icon = null;
- // if (workDefinition instanceof WorkDefinitionExtension) {
- // WorkDefinitionExtension extension = (WorkDefinitionExtension) workDefinition;
- // label = extension.getDisplayName();
- // description = extension.getExplanationText();
- // icon = extension.getIcon();
- // } else {
- // label = workDefinition.getName();
- // }
- //
- // CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry(
- // label,
- // description,
- // WorkItemWrapper.class,
- // new SimpleFactory(WorkItemWrapper.class) {
- // public Object getNewObject() {
- // WorkItemWrapper taskWrapper = (WorkItemWrapper) super.getNewObject();
- // taskWrapper.setName(label);
- // taskWrapper.getWorkItemNode().setName(label);
- // taskWrapper.getWorkItemNode().setWork(new WorkImpl());
- // taskWrapper.getWorkItemNode().getWork().setName(workDefinition.getName());
- // return taskWrapper;
- // }
- // },
- // ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry(icon == null? "icons/action.gif" : icon)),
- // ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry(icon == null? "icons/action.gif" : icon))
- // );
- // entries.add(combined);
- // }
- //
- // drawer.addAll(entries);
- return drawer;
- }
-
- private static PaletteContainer createControlGroup(PaletteRoot root) {
- PaletteGroup controlGroup = new PaletteGroup("Control Group");
-
- List<PaletteEntry> entries = new ArrayList<PaletteEntry>();
-
- ToolEntry tool = new SelectionToolEntry();
- entries.add(tool);
- root.setDefaultEntry(tool);
-
- tool = new MarqueeToolEntry();
- entries.add(tool);
-
- String skin = DroolsEclipsePlugin.getDefault().getPreferenceStore().getString(IDroolsConstants.SKIN);
- SkinProvider skinProvider = SkinManager.getInstance().getSkinProvider(skin);
- entries.add(skinProvider.createConnectionEntry());
-
- controlGroup.addAll(entries);
- return controlGroup;
- }
- }