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