import java.io.*;
import java.net.*;
import java.awt.event.*;
import java.util.Hashtable;


import javax.swing.*;
import javax.swing.border.*;
import javax.swing.text.*;
import javax.swing.text.html.*;

/**
* The main application class.
* Mozart is a multi-document, WYSIWYG editor that will be
* capable of opening and saving files from remote locations
* (via FTP). You can find out more about the application by
* reading the <a href="../projectdoc.html">Project Document</a>.
*
* <br><a href="../source/Mozart.java">View Source File</a>
*/

public class Mozart {
  Mozart mozart;
  MozartFrame mainFrame;
  MozartActions actions;
  MozartUndoManager undoManager;

  public LocationDialog locationDialog;

  /** Initializes the main application. Creates the application
  *  frame (MozartFrame), etc.
  */
  public Mozart() {
    mozart = this;
    undoManager = new MozartUndoManager();
    actions = new MozartActions(this);

    //ORDER IS IMPORTANT!!
    mainFrame = new MozartFrame(this);
    locationDialog = new LocationDialog(this);
  }

  /** Get the application frame. */ 
  public JFrame getFrame() {
    return mainFrame;
  }

  /** Returns the currently active frame. */
  public JInternalFrame getTopFrame() {
    return null;
  }
  
  /** Returns the associated undoManager for Mozart */
  public MozartUndoManager getUndoManager() {
    return undoManager;
  }

  public MozartActions getActions() {
    return actions;
  }

  /** Quit Mozart */
  public void quit() {
    System.exit(0);
  }

  /** The main part */
  public static void main(String args[]) {
    new Mozart();
  }
}


