lib/browser/GraphBrowser/Vertex.java
author wenzelm
Wed, 29 Aug 2012 21:20:46 +0200
changeset 49004 3a324a3f4aea
parent 37738 7bf3ec9e7b0c
child 50473 ca4088bf8365
permissions -rw-r--r--
more formal isabelle makedist from repository;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
     1
/***************************************************************************
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
     2
  Title:      GraphBrowser/Vertex.java
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
     3
  Author:     Stefan Berghofer, TU Muenchen
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
     4
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
     5
  This class contains attributes and methods common to all kinds of
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
     6
  vertices (e.g. coordinates, successors, predecessors).
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
     7
***************************************************************************/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
     8
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
     9
package GraphBrowser;
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    10
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    11
import java.util.*;
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    12
import java.awt.*;
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    13
import java.io.*;
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    14
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    15
abstract class Vertex {
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    16
	Vector children=new Vector(10,10);
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    17
	Vector parents=new Vector(10,10);
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    18
	int degree=0;
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    19
	int number=-1;
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    20
	double weight=0;
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    21
	int x,y;
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    22
	Graph gra;
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    23
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    24
	public abstract Object clone();
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    25
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    26
	public void setGraph(Graph g) { gra=g; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    27
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    28
	public int countChildren() { return children.size(); }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    29
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    30
	/** getInflate returns a vector of vertices which get **/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    31
	/** inflated again if the user clicks on this vertex  **/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    32
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    33
	public void setInflate(Vector v) {}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    34
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    35
	public Vector getInflate() { return null; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    36
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    37
	/** getUp returns a vector of vertices which get inflated   **/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    38
	/** again, if the user clicks on this vertex's upward arrow **/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    39
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    40
	public Vector getUp() { return null; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    41
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    42
	public void setUp(Vector v) {}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    43
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    44
	/** getUp returns a vector of vertices which get inflated     **/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    45
	/** again, if the user clicks on this vertex's downward arrow **/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    46
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    47
	public Vector getDown() { return null; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    48
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    49
	public void setDown(Vector v) {}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    50
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    51
	/** internal number, for decoding / encoding etc. **/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    52
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    53
	public int getNumber() { return number; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    54
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    55
	public void setNumber(int n) { number=n; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    56
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    57
	public String getLabel() {return "";}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    58
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    59
	public void setLabel(String s) {}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    60
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    61
	/** unique identifier **/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    62
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    63
	public String getID() {return "";}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    64
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    65
	public void setID(String s) {}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    66
13968
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents: 11872
diff changeset
    67
	public Box getLabelSize(Graphics g) {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents: 11872
diff changeset
    68
		AbstractFontMetrics fm = g == null ? 
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents: 11872
diff changeset
    69
      (AbstractFontMetrics) new DefaultFontMetrics(12) : 
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents: 11872
diff changeset
    70
      (AbstractFontMetrics) new AWTFontMetrics(g.getFontMetrics(g.getFont()));
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    71
		
13968
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents: 11872
diff changeset
    72
		return new Box(Math.max(fm.stringWidth("[. . . .]"),
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents: 11872
diff changeset
    73
                            fm.stringWidth(getLabel())),
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents: 11872
diff changeset
    74
                   fm.getAscent()+fm.getDescent());
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    75
	}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    76
		
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    77
	public String getPath() { return "";}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    78
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    79
	public void setPath(String p) {}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    80
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    81
	public String getDir() { return ""; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    82
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    83
	public void setDir(String d) {}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    84
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    85
	public void setWeight(double w) {weight=w;}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    86
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    87
	public double getWeight() {return weight;}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    88
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    89
	public void setDegree(int d) { degree=d; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    90
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    91
	public int getDegree() { return degree; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    92
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    93
	public boolean isDummy() { return false; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    94
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    95
	public Enumeration getChildren() {
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    96
		return ((Vector)(children.clone())).elements();
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    97
	}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    98
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
    99
	public void addChild(Vertex v) {
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   100
		children.addElement(v);
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   101
		v.parents.addElement(this);
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   102
	}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   103
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   104
	public void removeChild(Vertex v) {
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   105
		children.removeElement(v);
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   106
		v.parents.removeElement(this);
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   107
	}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   108
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   109
	public boolean isChild(Vertex v) {
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   110
		return children.indexOf(v)>=0;
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   111
	}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   112
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   113
	public boolean isParent(Vertex v) {
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   114
		return parents.indexOf(v)>=0;
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   115
	}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   116
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   117
	public Enumeration getParents() {
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   118
		return ((Vector)(parents.clone())).elements();
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   119
	}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   120
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   121
	public void addParent(Vertex v) {
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   122
		parents.addElement(v);
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   123
		v.children.addElement(this);
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   124
	}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   125
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   126
	public void removeParent(Vertex v) {
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   127
		parents.removeElement(v);
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   128
		v.children.removeElement(this);
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   129
	}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   130
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   131
	/********************************************************************/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   132
	/*                   get all predecessor vertices                   */
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   133
	/********************************************************************/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   134
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   135
	public Vector getPreds() {
17771
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   136
	    Vector preds=new Vector(10,10);
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   137
	    Vector todo=(Vector)(parents.clone());
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   138
	    Vertex vx1,vx2;
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   139
	    Enumeration e;
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   140
17771
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   141
	    while (!todo.isEmpty()) {
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   142
		vx1=(Vertex)(todo.lastElement());
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   143
		todo.removeElementAt(todo.size()-1);
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   144
		preds.addElement(vx1);
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   145
		e=vx1.parents.elements();
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   146
		while (e.hasMoreElements()) {
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   147
		    vx2=(Vertex)(e.nextElement());
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   148
		    if (preds.indexOf(vx2)<0 && todo.indexOf(vx2)<0)
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   149
			todo.addElement(vx2);
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   150
		}
17771
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   151
	    }
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   152
17771
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   153
	    return preds;
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   154
	}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   155
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   156
	/********************************************************************/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   157
	/*                     get all successor vertices                   */
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   158
	/********************************************************************/
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   159
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   160
	public Vector getSuccs() {
17771
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   161
	    Vector succs=new Vector(10,10);
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   162
	    Vector todo=(Vector)(children.clone());
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   163
	    Vertex vx1,vx2;
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   164
	    Enumeration e;
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   165
17771
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   166
	    while (!todo.isEmpty()) {
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   167
		vx1=(Vertex)(todo.lastElement());
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   168
		todo.removeElementAt(todo.size()-1);
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   169
		succs.addElement(vx1);
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   170
		e=vx1.children.elements();
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   171
		while (e.hasMoreElements()) {
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   172
		    vx2=(Vertex)(e.nextElement());
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   173
		    if (succs.indexOf(vx2)<0 && todo.indexOf(vx2)<0)
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   174
			todo.addElement(vx2);
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   175
		}
17771
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   176
	    }
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   177
17771
1e07f6ab3118 Optimized getPreds and getSuccs.
berghofe
parents: 14981
diff changeset
   178
	    return succs;
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   179
	}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   180
37738
7bf3ec9e7b0c Boxes may now have different widths.
berghofe
parents: 33686
diff changeset
   181
	public int box_width() { return getLabelSize(gra.gfx).width+8; }
7bf3ec9e7b0c Boxes may now have different widths.
berghofe
parents: 33686
diff changeset
   182
7bf3ec9e7b0c Boxes may now have different widths.
berghofe
parents: 33686
diff changeset
   183
	public int box_width2() { return box_width()/2; }
7bf3ec9e7b0c Boxes may now have different widths.
berghofe
parents: 33686
diff changeset
   184
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   185
	public void setX(int x) {this.x=x;}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   186
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   187
	public void setY(int y) {this.y=y;}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   188
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   189
	public int getX() {return x;}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   190
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   191
	public int getY() {return y;}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   192
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   193
	public abstract int leftX();
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   194
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   195
	public abstract int rightX();
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   196
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   197
	public abstract void draw(Graphics g);
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   198
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   199
	public void drawButtons(Graphics g) {}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   200
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   201
	public void drawBox(Graphics g,Color boxColor) {}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   202
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   203
	public void removeButtons(Graphics g) {}
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   204
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   205
	public boolean contains(int x,int y) { return false; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   206
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   207
	public boolean leftButton(int x,int y) { return false; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   208
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   209
	public boolean rightButton(int x,int y) { return false; }
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   210
6541
d3ac35b2bfbf Updated to JDK 1.1.x
berghofe
parents: 3599
diff changeset
   211
	public void PS(PrintWriter p) {}
3599
89cbba12863d Source files for Isabelle theory graph browser.
berghofe
parents:
diff changeset
   212
}