GDCT: Java Source Files

Below are all of the Java Source Files for the Graphical Database for Category Theory. To download all of the Java source files go to the GDCT Download page located at http://mathcs.mta.ca/research/rosebrugh/gdct/downloadv30.htm. Below is a complete alphabetical listing of all of the Java source files.

Java File Name Description
AddDataFrame.java This class implements a frame displayed when the user selects the "Add Object", "Add Arrow", or "Add Relation" menu option in the main window. It displays a list of objects in categories that are presently in memory. The user can select a category file(*.CAT) and chose add an object, arrow, or relation. [494 lines]
AngleControl.java A class that allows control of a 3D viewpoint angle in polar coordinates (phi, theta). [319 lines]
AngleControlPanel.java An AngleControl, along with a label that allows the user to manipulate the 3D viewpoint. Also includes buttons for viewing a category in the XY plane, YZ plane, XZ plane. [91 lines]
Category.java This class stores all information relevant to a category and has many functions available to operate within the category. [668 lines]
CategoryFilter.java This class extends the FileFilter class to allow the user to filter in an open file dialog. [33 lines]
CategoryModified.java This class remembers whether a category was was modified, and if so, how it was modified. Used to confirm closing of unsaved categories. [83 lines]
CategoryInternalFrame.java Displays a category using VGJ Graph, GraphCanvas, AngleControlPanel, ViewportScroller, ScrolledPanel and LPanel. The constructor takes a Category as a parameter, the New/Open/Load category displays are indistinguishable. [1182 lines]
CatFunctor.java This class is equivalent to a struct in C/C++. It contains all of the information that is needed to create a functor node. [17 lines]
CoequalizerFrame.java This class implements a frame which allows the user to run the category tool "Coequalizer" on the current category. [268 lines]
ConeList.java A list class for storing cones used in the Limit and LimitFrame class. [82 lines]
ConeNode.java A node class for storing cones used in the limit and LimitFrame class. [87 lines]
CreateCategoryDialog.java Displays an internal frame to prompt the user for new category information. Then stores the information in a new category sends it back to the calling program. [527 lines]
CreateFunctorDialog.java Displays an internal frame to prompt the user for new functor information. Then stores the information in a new functor and somehow sends it back to the calling program. [499 lines]
DDimension.java A class for holding a real dimension of the visual display in the graph class canvas. [53 lines]
DDimension3.java A class for holding a real 3D dimension of the visual display in the graph class canvas. [40 lines]
DPoint.java A class for holding a real position. [66 lines]
DPoint3.java A class for holding a real 3D position. [84 lines]
DragFix.java Drag fix queues events and eliminates repeated mouse drag events and scrollbar events (most annoying on Win95). Be sure the Component doesn't post an event to itself every mouse drag or scrollbar event, or this will do no good. I suggest getParent().postEvent() instead. [192 lines]
DRect.java A class for holding a real rectangle. [23 lines]
Edge.java This file is a heavily modified version of the original developed at Auburn University for the VGJ (Visualizing Graphs with Java) applet. This class draws an edge of a graph(category). [1069 lines]
Epi.java This class contains the tools to run Epi checks on a category. [231 lines]
EpiFrame.java This class implements a frame which allows the user to run the category tool "Epimorphism" on the current category. [136 lines]
EqualityComposites.java This class contains tools that test paths in a given category for equality. [35 lines]
EqualityCompositesFrame.java This class implements a frame that tests paths in a given category for equality. [120 lines]
Equalizer.java This class contains the algorithms to run the category tool "Equalizer" on a category. [340 lines]
EqualizerFrame.java This class implements a frame which allows the user to run the category tool "Equalizer" on the current category. [274 lines]
FunctorFilter.java This class extends the FileFilter class to allow the user to filter in an open file dialog. [33 lines]
FunctorInternalFrame.java Displays a functor using two category displays. The constructor takes a functor as a parameter, [618 lines]
FunctorNode.java This class contains the information about a functor that is later stored in a linked list. [45 lines]
GDCT.java This file creates the application GDCT and displays the intro graphic frame (GDCTIntro.java) and displays the main frame (MainWindow.java). [43 lines]
GDCTIntro.java This frame displays an intro image for GDCT as a "splash screen" when the application is first opened. [39 lines]
GMLEditor.java This is a class that allows for the addition and removal of objects, arrows, and relations to a given gml representation of a category. [488 lines]
GMLlexer.java A GML lexer. No distinction is made between Integer and Real (all numbers are real). [224 lines]
GMLobject.java A GML object that does nothing but create itself and write itself. [497 lines]
Graph.java A class for representing a graph abstractly. [1050 lines]
GraphCanvas.java A window class for editing and displaying Graphs. [2103 lines]
GraphEdit.java Graph File Viewer & Editing Utility. GraphEdit is a text editing window for Graphs. It can be accessed in GDCT through the "View GML" menu option in the "Edit Category" submenu of the "Categories" menu. [384 lines]
HelpFrame.java This file is displayed when the user selects the "Help Topics" menu option in the main window. It displays a list help files that are available in text format(as .DAT files). [303 lines]
HomNode.java A node for the HomTree class [17 lines]
HomTree.java This class implements a HomTree, used for constructing groups of paths in algorithms such as "Sum" and "Isomorphism" [407 lines]
IniFile.java A generic initialization file class which reads and writes settings to a *.ini file. [419 lines]
IniFileNode.java A set of items to be stored under one header inside an initialization file. This class is used only by the IniFile class. [176 lines]
IniSettings.java In effect a wrapper class that uses the IniFile class and provides specific functions for various settings in the GDCT Program. [1447 lines]
InitialObject.java This file contains the algorithms to test a given category for initial and terminal objects; -- when an initial object is to be tested for, the category is passed in regularly, and the calling method uses the setObjectType() method to set it as an INITIAL_OBJECT (the default). Then the algorithm is performed, and the calling method gets the output via the getOutput() method. -- when a terminal object is to be tested for, the category must first be dualized (i.e. call the makeDual() method), then passed to the InitialObject constructor. Then the calling method uses the setObjectType() method to set it as a TERMINAL_OBJECT. Then the algorithm (the exact same algorithm as performed on an INITIAL_OBJECT) is performed, and the calling method gets the output via the getOutput() method. [244 lines]
InitialObjectFrame.java Called when the user selects the "Initial Object" menu option. The user can choose to check if one or all of the objects are initial. The information on each object tested will be displayed in the text area. [120 lines]
InputCheck.java Class that checks input for special characters. [69 lines]
Iso.java This class contains the algorithms to perform the isomorphism test on a given category. It is used only by the IsoFrame class. [377 lines]
IsoFrame.java This class implements a frame which allows the user to run the category tool "Isomorphism" on the current category. [199 lines]
LPanel.java A panel class with convenience functions for dealing with the VGJ (Graphing panel) attributes. [242 lines]
MainWindow2.java This class contains the main window that is displayed when the GDCT application is opened. It contains the GUI for the text-based and graphical manipulation of categories and functors as well as an extensive menu system that allows the user to easily access all of the tools and options available. [696 lines]
MakeConfluent.java This file contains the algorithms to make a given category confluent. It is used by the MakeConfluentFrame class (inside CategoryInternalFrame). [409 lines]
Matrix44.java A 4x4 Matrix class used in the visual display side of GDCT. [65 lines]
Mono.java This class contains the code to test a given category for monomorphisms. It is used only by the MonoFrame class. [236 lines]
MonoFrame.java This class implements a frame which allows the user to run the category tool "Monomorphism" on the current category. [131 lines]
Node.java This file is a modified version of the original developed at Auburn University for the VGJ (Visualizing Graphs with Java) applet. This class draws a node of a graph(object of a category). [1534 lines]
NodeList.java A NodeList class for use in a Graph. [266 lines]
OffsetCanvas.java This abstract class is used inside a ScrolledPanel, and implements the required functionality to communicate with it. [60 lines]
OpenCategory.java This file will be used for opening a category. It will open a JFileChooser and allow the user to select a file. [267 lines]
OpenFunctor.java This file will be used for opening a functor. It will open a JFileChooser and allow the user to select a file. This class should have a method of returning a functorNode. This file will be used by FunctorInternalFrame [605 lines]
ParseError.java A parse error Exception. [19 lines]
PartialOrder.java This class implements a frame which allows the user to run the category tool "PartialOrder" on the current category. [214 lines]
ProductCategory.java This class implements a frame which allows the user to run the category tool "ProductCategory" on the current category. [205 lines]
ProductFrame.java This class implements a frame which allows the user to run the category tool "Product" on the current category. [177 lines]
Pullback.java This class contains the algorithms to run the category tool "Pullback" on the current category. [814 lines]
PullbackFrame.java This class implements a frame which allows the user to run the category tool "Pullback" on the current category. [246 lines]
PushoutFrame.java This class implements a frame which allows the user to run the category tool "Pushout" on the current category. [252 lines]
Queue.java Class to implement a simple queue of integers. [43 lines]
Relation.java This class is equivalent to a struct in C/C++ and stores the lhs and rhs of the relations of a category. [17 lines]
RemoveDataFrame.java This class is called when the user selects the "Remove Data" menu option in the "Edit Category" menu of the main window. It allows the user to remove objects, arrows, and relations from the current category. [620 lines]
SaveFileWriter.java Class that allows the saving of categories and functors. [173 lines]
ScrolledPanel.java This is a panel that contains an OffsetCanvas, a Label, and two Scrollbars. When the OffsetCanvas is resized, the Scrollbars will adjust so that the image can be completely viewed, and no more (you can scroll just to the edge of the image). If the OffsetCanvas is larger than the image, the image gets centered inside it. the Label displays the current cursor location in the OffsetCanvas, relative to the contents of the OffsetCanvas. [305 lines]
Set.java This class is similar to Java's BitSet class. It is used to represent an ordered set of non-negative integers. The set automatically grows as more spaces are needed. [442 lines]
SettingsServer.java This class displays a frame which allows the user to change the default server, default server category directory, and the default server functor directory, which are used in the loading of files. [213 lines]
Spring.java Class to implement Kamada and Kawai's spring algorithm (with modifications). [609 lines]
Sum.java This class contains the algorithms to test a category for sums. It is used only by the SumFrame class. [355 lines]
SumFrame.java This class implements a frame which allows the user to run the category tool "Sum" on the current category. [192 lines]
TerminalObjectFrame.java This class implements a frame which allows the user to run the category tool "Terminal Object" on the current category. The user can choose to check if one or all of the objects are terminal. The information on each object tested will be displayed in the text area. [149 lines]
Utils.java Utils.java is a 1.4 example used by FileChooserDemo2.java. Created by Sun Microsystems. [44 lines]
ViewportScroller.java A ViewportScroller is a window used to scroll a window through a larger area of content. The content is shown as a white rectangle, with the window being represented by a black rectangle outline within it. A SCROLL event is sent when the user drags the "window" with the mouse. [362 lines]
83 Files Total Lines of Code Total 27907

| Documentation Page | Main Page |



Page Design by Jeremy Bradbury
Last Modified: July 30, 2004 by Jesse Tweedle