lib/browser/GraphBrowser/Vertex.java
author blanchet
Wed, 04 Aug 2010 23:27:27 +0200
changeset 38195 a8cef06e0480
parent 37738 7bf3ec9e7b0c
child 50473 ca4088bf8365
permissions -rw-r--r--
Cycle breaking in the bounds takes care of singly recursive datatypes, so we don't need to do it again; the effect of removing the constraint varies on problem to problem, but it tends to be overwhelmingly negative in conjuction with the new datatype sym breaking stuff at high cardinalities
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
}