Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/Tools/GraphBrowser/graphbrowser/   (Beweissystem Isabelle Version 2025-1©)  Datei vom 16.11.2025 mit Größe 2 kB image not shown  

Quelle  TreeBrowser.java   Sprache: JAVA

 
/***************************************************************************
  Title:      graphbrowser/TreeBrowser.java
  Author:     Stefan Berghofer, TU Muenchen
  Options:    :tabSize=4:

  This class defines the browser window which is used to display directory
  trees. It contains methods for handling events.
***************************************************************************/


package isabelle.graphbrowser;

import java.awt.*;
import java.awt.event.*;
import java.util.*;


public class TreeBrowser extends Canvas implements MouseListener
{
 TreeNode t;
 TreeNode selected;
 GraphView gv;
 long timestamp;
 Dimension size;
 boolean parent_needs_layout;
 Font font;

 public TreeBrowser(TreeNode tn, GraphView gr, Font f) {
  t = tn; gv = gr; font = f;
  size = new Dimension(0, 0);
  parent_needs_layout = true;
  addMouseListener(this);
 }

 public Dimension getPreferredSize() {
  return size;
 }

 public void mouseEntered(MouseEvent evt) {}

 public void mouseExited(MouseEvent evt) {}

 public void mouseReleased(MouseEvent evt) {}

 public void mousePressed(MouseEvent evt) {}

 public void mouseClicked(MouseEvent e)
 {
  TreeNode l=t.lookup(e.getY());

  if (l!=null)
  {
   if (l.select()) {
    Vector v=new Vector(10,10);
    t.collapsedDirectories(v);
    gv.collapseDir(v);
    gv.relayout();
   } else {
    Vertex vx=gv.getGraph().getVertexByNum(l.getNumber());
    gv.focusToVertex(l.getNumber());
    vx=gv.getOriginalGraph().getVertexByNum(l.getNumber());
    if (e.getWhen()-timestamp < 400 && !(vx.getPath().equals("")))
     gv.getBrowser().viewFile(vx.getPath());
    timestamp=e.getWhen();

   }
   selected=l;
   parent_needs_layout = true;
   repaint();
  }
 }

 public void selectNode(TreeNode nd) {
  Vector v=new Vector(10,10);
  nd.select();
  t.collapsedDirectories(v);
  gv.collapseDir(v);
  gv.relayout();
  selected=nd;
  parent_needs_layout = true;
  repaint();
 }

 public void paint(Graphics g)
 {
  g.setFont(font);
  Dimension d = t.draw(g,5,5,selected);
  if (parent_needs_layout) {
   size = new Dimension(5+d.width, 5+d.height);
   parent_needs_layout = false;
   getParent().doLayout();
  }
 }
}

100%


¤ Dauer der Verarbeitung: 0.17 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.