Package org.apache.airavata.xbaya.ui.graph

Examples of org.apache.airavata.xbaya.ui.graph.GraphCanvas


        if (action.equals(DeleteAction.ID)) {
            deleteHostDescription(tree);
            return true;
        } else if (action.equals(ImportAction.ID)) {
          Workflow workflow = new RegistryAccesser(getXBayaEngine()).getWorkflow(getXbayaWorkflow().getWorkflowName());
            GraphCanvas newGraphCanvas = getXBayaEngine().getGUI().newGraphCanvas(true);
            newGraphCanvas.setWorkflow(workflow);
            getXBayaEngine().getGUI().getGraphCanvas().setWorkflowFile(null);
            return true;
        }
        return super.triggerAction(tree, action);
    }
View Full Code Here


                    workflow = Workflow.graphToWorkflow(graph);
                } else {
                    XmlElement workflowElement = XMLUtil.loadXML(file);
                    workflow = new Workflow(workflowElement);
                }
                GraphCanvas newGraphCanvas = engine.getGUI().newGraphCanvas(true);
                newGraphCanvas.setWorkflow(workflow);
                //this.engine.setWorkflow(workflow);
                engine.getGUI().getGraphCanvas().setWorkflowFile(file);
            } catch (IOException e) {
                this.engine.getGUI().getErrorWindow().error(ErrorMessages.OPEN_FILE_ERROR, e);
            } catch (GraphException e) {
View Full Code Here

    public void saveWorkflow() {
    saveWorkflow(engine.getGUI().getGraphCanvas());
    }

    public void saveAsWorkflow() {
    GraphCanvas graphCanvas = engine.getGUI().getGraphCanvas();
    File saveAsWorkflowFile = saveAsWorkflow(graphCanvas);
    if (saveAsWorkflowFile!=null){
          graphCanvas.setWorkflowFile(saveAsWorkflowFile);
    }
    }
View Full Code Here

                    importedWorkflow = Workflow.graphToWorkflow(importedGraph);
                } else {
                    XmlElement importedWorkflowElement = XMLUtil.loadXML(file);
                    importedWorkflow = new Workflow(importedWorkflowElement);
                }
                GraphCanvas newGraphCanvas = engine.getGUI().newGraphCanvas(true);
                newGraphCanvas.setWorkflow(importedWorkflow);
                this.engine.getGUI().setWorkflow(importedWorkflow);
                engine.getGUI().getGraphCanvas().setWorkflowFile(file);

            } catch (IOException e) {
                this.engine.getGUI().getErrorWindow().error(ErrorMessages.OPEN_FILE_ERROR, e);
View Full Code Here

        // Create a diff workflow
        WorkflowModifier modifier = new WorkflowModifier(workflow, eventData);
        Workflow diffWorkflow = modifier.createDifference();

        if (this.gui) {
            GraphCanvas canvas = this.engine.getGUI().newGraphCanvas(true);
            canvas.setWorkflow(diffWorkflow);
            repaintAndWait(5);
        }

        File diffWorkflowFile = new File(this.temporalDirectory, "complex-math-diff.xwf");
        XMLUtil.saveXML(diffWorkflow.toXML(), diffWorkflowFile);
View Full Code Here

    /**
     * @see org.apache.airavata.xbaya.ui.graph.GraphCanvasListener#graphCanvasChanged(org.apache.airavata.xbaya.ui.graph.GraphCanvasEvent)
     */
    public void graphCanvasChanged(GraphCanvasEvent event) {
        GraphCanvasEventType type = event.getType();
        GraphCanvas graphCanvas = event.getGraphCanvas();
        switch (type) {
        case NODE_SELECTED:
            Node node = graphCanvas.getSelectedNode();
            if (node == null) {
                setComponent(null);
            } else {
                setComponent(node.getComponent());
            }
View Full Code Here

    /**
     * @see org.apache.airavata.xbaya.ui.graph.GraphCanvasListener#graphCanvasChanged(org.apache.airavata.xbaya.ui.graph.GraphCanvasEvent)
     */
    public void graphCanvasChanged(GraphCanvasEvent event) {
        GraphCanvasEventType type = event.getType();
        GraphCanvas graphCanvas = event.getGraphCanvas();
        switch (type) {
        case INPUT_PORT_SELECTED:
            Port inputPort = graphCanvas.getSelectedInputPort();
            setInputPort(inputPort);
            break;
        case OUTPUT_PORT_SELECTED:
            Port outputPort = graphCanvas.getSelectedOutputPort();
            setOutputPort(outputPort);
            break;
        case GRAPH_LOADED:
        case NAME_CHANGED:
        case NODE_SELECTED:
View Full Code Here

       
        xbayaMenuItem.addMenuListener(new MenuListener() {
     
      @Override
      public void menuSelected(MenuEvent e) {
        GraphCanvas graphCanvas = engine.getGUI().getGraphCanvas();
        saveAsWorkflowItem.setEnabled(isWorkflowTabPresent() && graphCanvas.getWorkflowFile()!=null);
        saveWorkflowItem.setEnabled(isSaveShouldBeActive());
        saveAllWorkflowItem.setEnabled(engine.getGUI().getGraphCanvases().size()>0);
        saveWorkflowtoRegistryItem.setEnabled(isWorkflowTabPresent());
        exportJythonItem.setEnabled(isWorkflowTabPresent());
        exportBpelItem.setEnabled(isWorkflowTabPresent());
View Full Code Here

  public void setToolBar(XBayaToolBar toolBar) {
    this.toolBar = toolBar;
  }

  private boolean isSaveShouldBeActive() {
    GraphCanvas graphCanvas = engine.getGUI().getGraphCanvas();
    return isWorkflowTabPresent() && (graphCanvas.getWorkflowFile()==null || graphCanvas.isWorkflowChanged());
  }
View Full Code Here

     * @param focus
     *
     * @return The graph canvas created
     */
    public GraphCanvas newGraphCanvas(boolean focus, boolean withID) {
        GraphCanvas newGraphCanvas = new GraphCanvas(this.engine);
        this.graphCanvases.add(newGraphCanvas);
        this.graphTabbedPane.addTab(newGraphCanvas.getWorkflow().getName(), newGraphCanvas.getSwingComponent());
        final int index = graphTabbedPane.getTabCount()-1;
    TabLabelButton tabLabelButton = new TabLabelButton(graphTabbedPane,"Close this workflow");
    graphTabbedPane.setTabComponentAt(index, tabLabelButton);
    tabLabelButton.setCloseButtonListener(new ActionListener(){
      @Override
      public void actionPerformed(ActionEvent e) {
        removeGraphCanvasFromIndex(index);       
      }
    });
        graphTabbedPane.addContainerListener(new ContainerListener(){

      @Override
      public void componentAdded(ContainerEvent event) {
      }

      @Override
      public void componentRemoved(ContainerEvent event) {
        List<GraphCanvas> graphCanvases = engine.getGUI().getGraphCanvases();
        for (GraphCanvas graphCanvas : graphCanvases) {
          if (graphCanvas.getSwingComponent()==event.getComponent()){
            if (graphCanvas.isWorkflowChanged()){
              setFocus(graphCanvas);
              if (JOptionPane.showConfirmDialog(null, "The workflow '"+graphCanvas.getWorkflow().getName()+"' has been modified. Save changes?", "Save Workflow", JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){
                graphFiler.saveWorkflow(graphCanvas);
              }
            }
            break;
          }
        }
      }
         
        });
        if (focus) {
            setFocus(newGraphCanvas);
        }
        newGraphCanvas.addGraphCanvasListener(this.componentViewer);
        newGraphCanvas.addGraphCanvasListener(this.portViewer);
        newGraphCanvas.addGraphCanvasListener(new GraphCanvasListener() {

            public void graphCanvasChanged(GraphCanvasEvent event) {
                GraphCanvasEventType type = event.getType();
                final GraphCanvas graphCanvas = event.getGraphCanvas();
                final Workflow workflow = event.getWorkflow();
                switch (type) {
                case GRAPH_LOADED:
                case NAME_CHANGED:
                    SwingUtilities.invokeLater(new Runnable() {
                        public void run() {
                            String name = workflow.getName();

                            // Change the name of the tab.
                            updateTabTitle(graphCanvas, workflow);

                            // Change the name of the frame.
                            setFrameName(name);
                        }

           
                    });
                    break;
                case NODE_SELECTED:
                case INPUT_PORT_SELECTED:
                case OUTPUT_PORT_SELECTED:
                    // Do nothing
                case WORKFLOW_CHANGED:
                  updateTabTitle(graphCanvas,graphCanvas.getWorkflow());
                  setFrameName(workflow.getName());
                  for (ChangeListener listener:tabChangeListeners){
                    try{
                      listener.stateChanged(null);
                    }catch(Exception e){
                      e.printStackTrace();
                    }
                  }
                }
            }
            private void updateTabTitle(
          final GraphCanvas graphCanvas,
          final Workflow workflow) {
        int index = XBayaGUI.this.graphTabbedPane.indexOfComponent(graphCanvas.getSwingComponent());
                String newTitle = workflow.getName();
                if (graphCanvas.isWorkflowChanged()){
                  newTitle="*"+newTitle;
                }
        XBayaGUI.this.graphTabbedPane.setTitleAt(index, newTitle);
      }
        });
View Full Code Here

TOP

Related Classes of org.apache.airavata.xbaya.ui.graph.GraphCanvas

Copyright © 2018 www.massapicom. 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.