com.sun.electric.tool.user
Class UserInterfaceMain

java.lang.Object
  extended by com.sun.electric.tool.Client
      extended by com.sun.electric.tool.AbstractUserInterface
          extended by com.sun.electric.tool.user.UserInterfaceMain
All Implemented Interfaces:
UserInterface

public class UserInterfaceMain
extends AbstractUserInterface

Class to build the UserInterface for the main GUI version of the user interface.


Nested Class Summary
static class UserInterfaceMain.Mode
          Describe the windowing mode.
 
Nested classes/interfaces inherited from class com.sun.electric.tool.Client
Client.BeepEvent, Client.EJobEvent, Client.JobQueueEvent, Client.OS, Client.PrintEvent, Client.ProgressNoteEvent, Client.ProgressValueEvent, Client.SavePrintEvent, Client.ServerEvent, Client.ShowMessageEvent, Client.StartProgressDialogEvent, Client.StopProgressDialogEvent, Client.TermLoggingEvent
 
Field Summary
protected static Progress progress
          The progress during input.
 
Constructor Summary
UserInterfaceMain(java.util.List<java.lang.String> argsList, UserInterfaceMain.Mode mode, boolean showSplash)
           
 
Method Summary
static void addDatabaseChangeListener(DatabaseChangeListener l)
          Add a DatabaseChangeListener.
 void addEvent(Client.ServerEvent serverEvent)
           
 void adjustReferencePoint(Cell theCell, double cX, double cY)
          Method to adjust reference point in WindowFrame containing the cell
 void appendString(java.lang.String str)
           
 int askForChoice(java.lang.String message, java.lang.String title, java.lang.String[] choices, java.lang.String defaultChoice)
          Method to ask for a choice among possibilities.
 java.lang.String askForInput(java.lang.Object message, java.lang.String title, java.lang.String def)
          Method to ask for a line of text.
 void beep()
          Method to beep.
 boolean confirmMessage(java.lang.Object message)
          Method to show a message and ask for confirmation.
 EditWindow_ displayCell(Cell cell)
          Method to request that a Cell be displayed in a new window.
 void finishInitialization()
          Method is called when initialization was finished.
static void fireDatabaseChangeEvent(DatabaseChangeEvent e)
          Fire DatabaseChangeEvent to DatabaseChangeListeners.
 Cell getCurrentCell()
          Method to return the current Cell in the current Library.
 EditWindow_ getCurrentEditWindow_()
          Method to return the current "EditWindow_" object.
 EDatabase getDatabase()
          Method to return the current database object.
 int getDefaultTextSize()
          Method to return the height of default text (in points).
static EditingPreferences getEditingPreferences()
           
static GraphicsPreferences getGraphicsPreferences()
           
 java.lang.String getProgressNote()
          Method to get text message in the progress dialog.
static boolean getRedoEnabled()
          Method to tell whether redo can be done.
static boolean getUndoEnabled()
          Method to tell whether undo can be done.
static void importPrefs(java.net.URL fileURL)
          For Pref
 Cell needCurrentCell()
          Method to demand the current Cell.
 EditWindow_ needCurrentEditWindow_()
          Method to demand the current "EditWindow_" object.
 void printMessage(java.lang.String message, boolean newLine)
          Method print a message.
static void removeDatabaseChangeListener(DatabaseChangeListener l)
          Remove a DatabaseChangeListener.
 void repaintAllWindows()
          Method to request that all windows be redisplayed including palettes.
 java.lang.String reportLog(ErrorLogger.MessageLog log, boolean showhigh, Geometric[] gPair, int position)
          Method to return the error message associated with the current error.
 void restoreHighlights(int highlightsId)
          Restore state of highlights by its ID.
 int saveHighlights()
          Save current state of highlights and return its ID.
 void saveMessages(java.lang.String filePath)
          Method to start saving messages.
static void setEditingPreferences(EditingPreferences newEp)
           
static void setGraphicsPreferences(GraphicsPreferences gp)
           
 void setProgressNote(java.lang.String message)
          Method to set a text message in the progress dialog.
 void setProgressValue(int pct)
          Method to update the progress bar
 void showErrorMessage(java.lang.String message, java.lang.String title)
          Method to show an error message.
 void showInformationMessage(java.lang.String message, java.lang.String title)
          Method to show an informational message.
protected  void showJobQueue(Job.Inform[] jobQueue)
           
 void showSnapshot(Snapshot newSnapshot, boolean undoRedo)
          Show new database snapshot.saveh
 void showUndoRedoStatus(boolean newUndoEnabled, boolean newRedoEnabled)
          Show status of undo/redo buttons
 void startProgressDialog(java.lang.String msg, java.lang.String filePath)
          Method to start the display of a progress dialog.
 void stopProgressDialog()
          Method to stop the progress bar
protected  void terminateJob(EJob ejob)
           
 void termLogging(ErrorLogger log, boolean explain, boolean terminate)
           
 void updateIncrementalDRCErrors(Cell cell, java.util.List<ErrorLogger.MessageLog> newErrors, java.util.List<ErrorLogger.MessageLog> delErrors)
           
 void updateNetworkErrors(Cell cell, java.util.List<ErrorLogger.MessageLog> errors)
           
static void userCommandIssued()
          Method to report that the user issued a new command (click, keystroke, pulldown menu).
 
Methods inherited from class com.sun.electric.tool.AbstractUserInterface
getCurrentLibrary, getCurrentLibraryId, getCurrentTechId, getCurrentTechnology, getJobKey, setClientThread, setCurrentLibrary, setCurrentTechnology
 
Methods inherited from class com.sun.electric.tool.Client
getOperatingSystem, isOSMac, isOSWindows, newJobId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

progress

protected static Progress progress
The progress during input.

Constructor Detail

UserInterfaceMain

public UserInterfaceMain(java.util.List<java.lang.String> argsList,
                         UserInterfaceMain.Mode mode,
                         boolean showSplash)
Method Detail

terminateJob

protected void terminateJob(EJob ejob)
Specified by:
terminateJob in class AbstractUserInterface

showJobQueue

protected void showJobQueue(Job.Inform[] jobQueue)
Specified by:
showJobQueue in class AbstractUserInterface

addEvent

public void addEvent(Client.ServerEvent serverEvent)
Specified by:
addEvent in class AbstractUserInterface

finishInitialization

public void finishInitialization()
Method is called when initialization was finished.

Overrides:
finishInitialization in class AbstractUserInterface

getDatabase

public EDatabase getDatabase()
Description copied from interface: UserInterface
Method to return the current database object.

Specified by:
getDatabase in interface UserInterface
Overrides:
getDatabase in class AbstractUserInterface
Returns:
the current database (null if none).

getCurrentEditWindow_

public EditWindow_ getCurrentEditWindow_()
Description copied from interface: UserInterface
Method to return the current "EditWindow_" object.

Returns:
the current "EditWindow_" object (null if none).

needCurrentEditWindow_

public EditWindow_ needCurrentEditWindow_()
Description copied from interface: UserInterface
Method to demand the current "EditWindow_" object. If none exists, an error message is displayed.

Returns:
the current "EditWindow_" object (null if none).

getCurrentCell

public Cell getCurrentCell()
Description copied from interface: UserInterface
Method to return the current Cell in the current Library.

Returns:
the current Cell (null if none).

needCurrentCell

public Cell needCurrentCell()
Description copied from interface: UserInterface
Method to demand the current Cell. If none exists, an error message is displayed.

Returns:
the current Cell (null if none).

adjustReferencePoint

public void adjustReferencePoint(Cell theCell,
                                 double cX,
                                 double cY)
Method to adjust reference point in WindowFrame containing the cell


repaintAllWindows

public void repaintAllWindows()
Description copied from interface: UserInterface
Method to request that all windows be redisplayed including palettes.


getDefaultTextSize

public int getDefaultTextSize()
Description copied from interface: UserInterface
Method to return the height of default text (in points).

Returns:
the height of default text (in points).

displayCell

public EditWindow_ displayCell(Cell cell)
Description copied from interface: UserInterface
Method to request that a Cell be displayed in a new window.

Parameters:
cell - the Cell to be displayed.
Returns:
the EditWindow_ object created to show the Cell.

termLogging

public void termLogging(ErrorLogger log,
                        boolean explain,
                        boolean terminate)

updateNetworkErrors

public void updateNetworkErrors(Cell cell,
                                java.util.List<ErrorLogger.MessageLog> errors)
Overrides:
updateNetworkErrors in class AbstractUserInterface

updateIncrementalDRCErrors

public void updateIncrementalDRCErrors(Cell cell,
                                       java.util.List<ErrorLogger.MessageLog> newErrors,
                                       java.util.List<ErrorLogger.MessageLog> delErrors)
Overrides:
updateIncrementalDRCErrors in class AbstractUserInterface

reportLog

public java.lang.String reportLog(ErrorLogger.MessageLog log,
                                  boolean showhigh,
                                  Geometric[] gPair,
                                  int position)
Method to return the error message associated with the current error. Highlights associated graphics if "showhigh" is nonzero. Fills "g1" and "g2" with associated geometry modules (if nonzero).


showErrorMessage

public void showErrorMessage(java.lang.String message,
                             java.lang.String title)
Method to show an error message.

Parameters:
message - the error message to show.
title - the title of a dialog with the error message.

showInformationMessage

public void showInformationMessage(java.lang.String message,
                                   java.lang.String title)
Method to show an informational message.

Parameters:
message - the message to show.
title - the title of a dialog with the message.

printMessage

public void printMessage(java.lang.String message,
                         boolean newLine)
Method print a message.

Parameters:
message - the message to show.
newLine - add new line after the message

saveMessages

public void saveMessages(java.lang.String filePath)
Method to start saving messages.

Parameters:
filePath - file to save

userCommandIssued

public static void userCommandIssued()
Method to report that the user issued a new command (click, keystroke, pulldown menu). The messages window separates output by command so that each command's results can be distinguished from others.


appendString

public void appendString(java.lang.String str)

confirmMessage

public boolean confirmMessage(java.lang.Object message)
Method to show a message and ask for confirmation.

Parameters:
message - the message to show.
Returns:
true if "yes" was selected, false if "no" was selected.

askForChoice

public int askForChoice(java.lang.String message,
                        java.lang.String title,
                        java.lang.String[] choices,
                        java.lang.String defaultChoice)
Method to ask for a choice among possibilities.

Parameters:
message - the message to show.
title - the title of the dialog with the query.
choices - an array of choices to present, each in a button.
defaultChoice - the default choice.
Returns:
the index into the choices array that was selected.

askForInput

public java.lang.String askForInput(java.lang.Object message,
                                    java.lang.String title,
                                    java.lang.String def)
Method to ask for a line of text.

Parameters:
message - the prompt message.
title - the title of a dialog with the message.
def - the default response.
Returns:
the string (null if cancelled).

importPrefs

public static void importPrefs(java.net.URL fileURL)
For Pref


saveHighlights

public int saveHighlights()
Save current state of highlights and return its ID.

Overrides:
saveHighlights in class AbstractUserInterface

restoreHighlights

public void restoreHighlights(int highlightsId)
Restore state of highlights by its ID.

Overrides:
restoreHighlights in class AbstractUserInterface
Parameters:
highlightsId - id of saved highlights.

showUndoRedoStatus

public void showUndoRedoStatus(boolean newUndoEnabled,
                               boolean newRedoEnabled)
Show status of undo/redo buttons

Overrides:
showUndoRedoStatus in class AbstractUserInterface
Parameters:
newUndoEnabled - new status of undo button.
newRedoEnabled - new status of redo button.

showSnapshot

public void showSnapshot(Snapshot newSnapshot,
                         boolean undoRedo)
Show new database snapshot.saveh

Overrides:
showSnapshot in class AbstractUserInterface
Parameters:
newSnapshot - new snapshot.

beep

public void beep()
Description copied from interface: UserInterface
Method to beep.

Specified by:
beep in interface UserInterface
Overrides:
beep in class AbstractUserInterface

getUndoEnabled

public static boolean getUndoEnabled()
Method to tell whether undo can be done. This is used by the tool bar to determine whether the undo button should be available.

Returns:
true if undo can be done.

getRedoEnabled

public static boolean getRedoEnabled()
Method to tell whether redo can be done. This is used by the tool bar to determine whether the undo button should be available.

Returns:
true if redo can be done.

addDatabaseChangeListener

public static void addDatabaseChangeListener(DatabaseChangeListener l)
Add a DatabaseChangeListener. It will be notified when state of the database changes.

Parameters:
l - the listener

removeDatabaseChangeListener

public static void removeDatabaseChangeListener(DatabaseChangeListener l)
Remove a DatabaseChangeListener.


fireDatabaseChangeEvent

public static void fireDatabaseChangeEvent(DatabaseChangeEvent e)
Fire DatabaseChangeEvent to DatabaseChangeListeners.

Parameters:
e - DatabaseChangeEvent.

getEditingPreferences

public static EditingPreferences getEditingPreferences()

setEditingPreferences

public static void setEditingPreferences(EditingPreferences newEp)

getGraphicsPreferences

public static GraphicsPreferences getGraphicsPreferences()

setGraphicsPreferences

public static void setGraphicsPreferences(GraphicsPreferences gp)

startProgressDialog

public void startProgressDialog(java.lang.String msg,
                                java.lang.String filePath)
Method to start the display of a progress dialog.

Parameters:
msg - the message to show in the progress dialog.
filePath - the file being read (null if not reading a file).

stopProgressDialog

public void stopProgressDialog()
Method to stop the progress bar


setProgressValue

public void setProgressValue(int pct)
Method to update the progress bar

Parameters:
pct - the percentage done (from 0 to 100).

setProgressNote

public void setProgressNote(java.lang.String message)
Method to set a text message in the progress dialog.

Parameters:
message - the new progress message.

getProgressNote

public java.lang.String getProgressNote()
Method to get text message in the progress dialog.

Returns:
text message in the progress dialog.