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

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


  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


       
        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

     * This method needs to be called by Swing event thread.
     *
     * @param workflow
     */
    public void selectOrCreateGraphCanvas(Workflow workflow) {
        GraphCanvas graphCanvas = null;
        for (GraphCanvas canvas : this.graphCanvases) {
            if (workflow == canvas.getWorkflow()) {
                graphCanvas = canvas;
            }
        }
        if (graphCanvas == null) {
            graphCanvas = newGraphCanvas(true);
            graphCanvas.setWorkflow(workflow);
        } else {
            setFocus(graphCanvas);
        }
    }
View Full Code Here

//      newGraphCanvas(true);
    }
   
  private void removeGraphCanvasFromIndex(int index) {
    if ((graphTabbedPane.getTabCount()>0) && (index<this.graphTabbedPane.getTabCount())){
      GraphCanvas graphCanvas = graphCanvases.get(index);
      if (graphCanvas.isWorkflowChanged()){
        int result = JOptionPane.showConfirmDialog(frame, "'"+graphCanvas.getWorkflow().getName()+"' has been modified. Save changes?", "Save Workflow", JOptionPane.YES_NO_CANCEL_OPTION);
        try {
          if (result==JOptionPane.YES_OPTION){
            graphFiler.saveWorkflow(graphCanvas);
            if (graphCanvas.isWorkflowChanged()){
              //if cancelled while trying to save
              return;
            }
          }else if (result!=JOptionPane.NO_OPTION){
            //if cancel clicked
View Full Code Here

        });
        this.frame.setIconImage(SwingUtil.createImage("airavata-2.png"));
    }

    private void activeTabChanged() {
        GraphCanvas graphPanel = getGraphCanvas();

        if (graphPanel!=null) {
      // Reset the port viewers.
      Port inputPort = graphPanel.getSelectedInputPort();
      Port outputPort = graphPanel.getSelectedOutputPort();
      this.portViewer.setInputPort(inputPort);
      this.portViewer.setOutputPort(outputPort);
      // Reset component viewer.
      Node node = graphPanel.getSelectedNode();
      Component component;
      if (node != null) {
        component = node.getComponent();
      } else {
        component = this.componentSelector.getSelectedComponent();
      }
      this.componentViewer.setComponent(component);
      String name = graphPanel.getWorkflow().getName();
      setFrameName(name);
    }else{
      //TODO what to do when no tabs are present???
    }
    }
View Full Code Here

        RegistrySearchResult result = this.list.getSelectedValue();
        hide();

        try {
            Workflow workflow = new RegistryAccesser(this.engine).getWorkflow(result.getResourceName());
            GraphCanvas newGraphCanvas = engine.getGUI().newGraphCanvas(true);
            newGraphCanvas.setWorkflow(workflow);
            //this.engine.setWorkflow(workflow);
            engine.getGUI().getGraphCanvas().setWorkflowFile(null);
//            RegistryLoaderWindow.this.engine.setWorkflow(workflow);
        } catch (Exception e) {
            RegistryLoaderWindow.this.engine.getGUI().getErrorWindow().error(e);
View Full Code Here

        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

        // 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

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.