Package research

Examples of research.DrawingView


        protected transient Rectangle rect = null;

        public boolean isEnabled() {
            if (!super.isEnabled()) return false;

            DrawingView currentView = editorArea.getCurrentView();
            if (currentView == null) return false;

            Vector selection = currentView.getSelection();

            if (selection == null) return false;
            if (selection.size() < 2) return false;

            //AlignAction����connectionFigure��Ч�����Ҫ�жϵ�ǰѡ���ͼԪ�з�connectionFigure����Ŀ�Ƿ����2
View Full Code Here


        protected transient Rectangle rect = null;

        public boolean isEnabled() {
            if (!super.isEnabled()) return false;

            DrawingView currentView = editorArea.getCurrentView();
            if (currentView == null) return false;

            Vector selection = currentView.getSelection();

            if (selection == null) return false;
            if (selection.size() < 3) return false;

            //DistAction����connectionFigure��Ч�����Ҫ�жϵ�ǰѡ���ͼԪ�з�connectionFigure����Ŀ�Ƿ����3
View Full Code Here

        }

        public void actionPerformed(ActionEvent e) {
            if (!isEnabled()) return;

            DrawingView view = editorArea.getCurrentView();
            FigureEnumeration fe = view.getDrawing().getFigures();
            while (fe.hasMoreElements()) {
                Figure f = fe.nextFigure();
                view.toggleSelection(f);
            }

            view.repairDamage();
        }
View Full Code Here

        }

        public void actionPerformed(ActionEvent e) {
            if (!isEnabled()) return;

            DrawingView view = editorArea.getCurrentView();
            view.addToSelectionAll(view.getDrawing().getFigures());
            view.repairDamage();
        }
View Full Code Here

        }

        public void actionPerformed(ActionEvent e) {
            if (!isEnabled()) return;

            DrawingView view = editorArea.getCurrentView();
            FigureEnumeration fe = new ReverseFigureEnumerator(view.getSelectionZOrdered());

            while (fe.hasMoreElements()) {
                view.getDrawing().sendToBack(fe.nextFigure());
            }
            view.checkDamage();
        }
View Full Code Here

        }

        public void actionPerformed(ActionEvent e) {
            if (!isEnabled()) return;

            DrawingView view = editorArea.getCurrentView();
            FigureEnumeration fe = new ReverseFigureEnumerator(view.getSelectionZOrdered());

            while (fe.hasMoreElements()) {
                view.getDrawing().bringToFront(fe.nextFigure());
            }
            view.checkDamage();
        }
View Full Code Here

        }

        public void actionPerformed(ActionEvent e) {
            if (!isEnabled()) return;

            DrawingView view = editorArea.getCurrentView();

            JComponent comp = (JComponent) view;

            File imageFile = (File) this.getValue(ConstantDefinition.FILE);

            String imageType = (String) this.getValue(ConstantDefinition.IMAGE_TYPE);

            Image image = null;
            Graphics2D g2d = null;

            //get image information
            if (imageType.equalsIgnoreCase("gif")) {
                Rectangle rect = GlobalFunction.checkMinimumViewport(view);
                Dimension size = new Dimension(rect.width + 10, rect.height + 10);

                image = comp.createImage(size.width, size.height);

                g2d = (Graphics2D) image.getGraphics();
                g2d.setColor(new Color(TRANSPARENT_BG_COLOR));
                g2d.fillRect(0, 0, (int) size.getWidth(), (int) size.getHeight());

                g2d.translate(-rect.x + 5, -rect.y + 5);

                view.drawDrawing(g2d);

            } else if (imageType.equalsIgnoreCase("svg")) {
                // Get a DOMImplementation
                DOMImplementation domImpl = GenericDOMImplementation.getDOMImplementation();

                // Create an instance of org.w3c.dom.Document
                Document document = domImpl.createDocument(null, "svg", null);

                SVGGeneratorContext ctx = SVGGeneratorContext.createDefault(document);

                //ctx.setEmbeddedFontsOn(true);
                // Create an instance of the SVG Generator
                g2d = new SVGGraphics2D(ctx, false);

                Rectangle rect = GlobalFunction.checkMinimumViewport(view);
                Dimension size = new Dimension(rect.width + 10, rect.height + 10);

                g2d.translate(-rect.x + 5, -rect.y + 5);
                ((SVGGraphics2D) g2d).setSVGCanvasSize(size);

                view.drawDrawing(g2d);

            } else if (imageType.equalsIgnoreCase("emf")) {

            }

            //write image into file
            try {

                if (imageType.equalsIgnoreCase("gif")) {
                    FileOutputStream out = new FileOutputStream(imageFile);
                    FilteredImageSource fis =
                            new FilteredImageSource(image.getSource(),
                                    new TransFilter(TRANSPARENT_BG_COLOR));
                    GifEncoder ge = new GifEncoder(fis, out);
                    ge.encode();
                    out.flush();
                    out.close();
                } else if (imageType.equalsIgnoreCase("svg")) {
                    FileOutputStream out = new FileOutputStream(imageFile);
                    boolean useCSS = true; // we want to use CSS style attribute
                    //Writer outer = new OutputStreamWriter(out, "iso8859-1");
                    Writer outer = new OutputStreamWriter(out, "UTF-8");
                    ((SVGGraphics2D) g2d).stream(outer, useCSS);
                    outer.flush();
                    outer.close();
                } else {
                    //version 2
                    Rectangle rect = GlobalFunction.checkMinimumViewport(view);
                    Dimension size = new Dimension((rect.x + rect.width) * 2 + 5, (rect.y + rect.height) * 2 + 5);

                    Dimension oldSize = view.getSize();
                    ((SaturnDrawingView) view).setSizeTemp(size);

                    /**
                     SaveAsDialog saveAs = new SaveAsDialog();
                     saveAs.addAllExportFileTypes();
                     saveAs.showExportDialog((Component) getValue(de.FeatureModellingTool.GraphicalEditor.ConstantDefinition.UI_FRAME),
                     "����ͼ���ʽ", (Component) view, view.getDrawing().getTitle());
                     **/

                    exportDialog.showExportDialog((Component) getValue(de.FeatureModellingTool.GraphicalEditor.ConstantDefinition.UI_FRAME), "Export view as ...", (Component) view, view.getDrawing().getTitle());

                    ((SaturnDrawingView) view).setSizeTemp(oldSize);
                }
            } catch (IOException ioe) {
                System.out.println(ioe);
View Full Code Here

                        fig.invalidate();
                    }
                }
            }

            DrawingView view = editorArea.getCurrentView();
            if (view != null)
                view.repairDamage();
        }
View Full Code Here

   
    this.container = container;
   
    this.patternBase = patternBase;
   
    DrawingView view = new SaturnDrawingView(1600, 5000);
    view.setDrawing(new SaturnDrawing());
    this.editorArea.add(view);
  }
View Full Code Here

  {
    return super.editorArea;   
  }

  protected void refreshFigures() {
    DrawingView dv = this.getEditorArea().view();

    // remove all figures
    Collection<Figure> figures = new ArrayList<Figure>();
    FigureEnumeration fe = dv.getDrawing().getFigures();
    while (fe.hasMoreElements())
      figures.add(fe.nextFigure());
    for (Iterator<Figure> itFigure = figures.iterator() ; itFigure.hasNext() ; )
      dv.remove(itFigure.next());
   
    super.idToFigureMap.clear();
   
    if (this.featureModel==null || featureModel.getAllFeature().values().size()==0) {
      return;
    }
   
    // add new figures
    Hashtable<String , Figure> htFigures = new Hashtable<String , Figure>();
    AutoLayout featureLayout = new AutoLayout();
   
    for (Iterator itFeature = this.featureModel.getAllFeature().values().iterator() ; itFeature.hasNext() ; )
    {
      Feature feature = (Feature)itFeature.next();
      PatternFeatureFigure figure = new PatternFeatureFigure();
      figure.setText(feature.getName());
      figure.setAttribute("id" , feature.getID());
      figure.setAttribute(FeatureProperties.VARIABILITY , feature.getVariability().getName());
      figure.setAttribute(de.FeatureModellingTool.Pattern.ConstantDefinition.FEATURE_ATTRIBUTE_COUNT , Integer.toString(this.template.getParameters().getFeatureNum(feature.getID())));

      dv.add(figure);
      htFigures.put(feature.getID() , figure);
      super.idToFigureMap.add(feature.getID() , figure);
     
      featureLayout.addFeature(feature , figure.size().width , figure.size().height);
    }
   
    featureLayout.caculateLayout();
   
    for (Iterator itFeature = this.featureModel.getAllFeature().values().iterator() ; itFeature.hasNext() ; )
    {
      Feature feature = (Feature)itFeature.next();
      AutoLayout.FeatureLayout fl = featureLayout.getFeatureLayout(feature);
      Figure figure = htFigures.get(feature.getID());
      figure.moveBy(30 + fl.x, 30 + fl.y);
//      figure.setDisplayBox(new Rectangle(fl.x , fl.y));
    }
   
    if (this.featureModel.getAllFeatureRelation()!=null)
      for (Iterator itRelation = this.featureModel.getAllFeatureRelation().values().iterator() ; itRelation.hasNext() ; )
      {
        FeatureRelation featureRelation = (FeatureRelation)itRelation.next();
        ConnectionFigure cf = null;
        if (FeatureRelation.ATTRIBUTE.equals(featureRelation.getName())) {
          AttributeConnection dvc = new AttributeConnection();
          cf = dvc;
        } else if (FeatureRelation.DECOMPOSE.equals(featureRelation.getName())) {
          DecomposeConnection ic = new DecomposeConnection();
          cf = ic;
        } else if (FeatureRelation.REQUIRE.equals(featureRelation.getName())) {
          ConstraintConnection cc = new ConstraintConnection(FeatureRelation.REQUIRE);
              cc.setEndDecoration(new ArrowTip());
          cf = cc;
        } else if (FeatureRelation.EXCLUDE.equals(featureRelation.getName())) {
          ConstraintConnection cc = new ConstraintConnection(FeatureRelation.EXCLUDE);
              cc.setMidDecoration(new CrossDecoration(5));
          cf = cc;
        }
       
        if (cf!=null) {
          cf.setAttribute("id" , featureRelation.getID());
          cf.startPoint(htFigures.get(featureRelation.getStartFeature().getID()).center().x , htFigures.get(featureRelation.getStartFeature().getID()).center().y);
          cf.endPoint(htFigures.get(featureRelation.getEndFeature().getID()).center().x , htFigures.get(featureRelation.getEndFeature().getID()).center().y);
          if (de.FeatureModellingTool.Pattern.ConstantDefinition.isStructRelation(featureRelation)) {
            cf.connectStart(htFigures.get(featureRelation.getStartFeature().getID()).getConnectors()[2]);
            cf.connectEnd(htFigures.get(featureRelation.getEndFeature().getID()).getConnectors()[1]);
          } else {
            cf.connectStart(htFigures.get(featureRelation.getStartFeature().getID()).getConnectors()[0]);
            cf.connectEnd(htFigures.get(featureRelation.getEndFeature().getID()).getConnectors()[0]);
          }
          dv.add(cf);
          cf.updateConnection();
         
          htFigures.put(featureRelation.getID() , cf);
          super.idToFigureMap.add(featureRelation.getID() , cf);
        }
View Full Code Here

TOP

Related Classes of research.DrawingView

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.