Examples of GraphCanvas


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

                    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

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

     * @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

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

     * 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

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

    }
   
  private boolean removeGraphCanvasFromIndex(int index) {
    boolean actionSuccess=true;
    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
              actionSuccess=false;
            }
          }else if (result==JOptionPane.CANCEL_OPTION){
            actionSuccess=false;
View Full Code Here

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

        });
        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

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

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

       
        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

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

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

       
        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

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
TOP
Copyright © 2018 www.massapi.com. 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.