Methods Summary |
---|
public void | actionPerformed(java.awt.event.ActionEvent e)handles menu actions
Object source = e.getSource();
try {
if (source == quitItem) doQuit();
else if (source == openItem) doOpen();
else if (source == closeItem) doClose();
else if (source == saveItem) doSave();
else if (source == newItem) doNew();
else if (source == copyItem) doCopy();
else if (source == cutItem) doCut();
else if (source == pasteItem) doPaste();
else if (source == undoItem) doUndo();
else if (source == redoItem) doRedo();
} catch (QTException qte) {
qte.printStackTrace();
}
|
public void | doClose()
setVisible(false);
dispose();
// quit if no windows now showing
if (--windowCount == 0)
doQuit();
|
public void | doCopy()
Movie copied = movie.copySelection();
copied.putOnScrap(0);
controller.movieChanged();
|
public void | doCut()
MovieEditState oldState = movie.newEditState();
Movie cut = movie.cutSelection();
MovieEditState newState = movie.newEditState();
QTEdit edit = new QTEdit (oldState, newState, "Cut");
undoManager.addEdit (edit);
cut.putOnScrap(0);
controller.movieChanged();
|
private void | doMyLayout()gets component from controller, makes menus
// add movie component
QTComponent qtc =
QTFactory.makeQTComponent (controller);
comp = qtc.asComponent();
add (comp, BorderLayout.CENTER);
// file menu
fileMenu = new Menu ("File");
newItem = new MenuItem ("New Movie");
newItem.addActionListener (this);
fileMenu.add (newItem);
openItem = new MenuItem ("Open Movie...");
openItem.addActionListener (this);
fileMenu.add (openItem);
closeItem = new MenuItem ("Close");
closeItem.addActionListener (this);
fileMenu.add (closeItem);
saveItem = new MenuItem ("Save");
saveItem.addActionListener (this);
fileMenu.add (saveItem);
fileMenu.addSeparator();
quitItem = new MenuItem ("Quit");
quitItem.addActionListener (this);
fileMenu.add(quitItem);
// edit menu
editMenu = new Menu ("Edit");
undoItem = new MenuItem ("Undo");
undoItem.addActionListener(this);
editMenu.add(undoItem);
redoItem = new MenuItem ("Redo");
redoItem.addActionListener(this);
editMenu.add(redoItem);
editMenu.addSeparator();
copyItem = new MenuItem ("Copy");
copyItem.addActionListener(this);
editMenu.add(copyItem);
cutItem = new MenuItem ("Cut");
cutItem.addActionListener(this);
editMenu.add(cutItem);
pasteItem = new MenuItem ("Paste");
pasteItem.addActionListener(this);
editMenu.add(pasteItem);
// make menu bar
MenuBar bar = new MenuBar();
bar.add (fileMenu);
bar.add (editMenu);
setMenuBar (bar);
// add close-button handling
addWindowListener (new WindowAdapter() {
public void windowClosing (WindowEvent e) {
doClose();
}
});
|
public void | doNew()
makeNewAndShow();
|
public void | doOpen()
QTFile file =
QTFile.standardGetFilePreview (QTFile.kStandardQTFileTypes);
Frame f = new SaveableQTEditor (file);
f.pack();
if (newFrameX >= 0)
f.setLocation (newFrameX+=16, newFrameY+=16);
f.setVisible(true);
windowCount++;
|
public void | doPaste()
MovieEditState oldState = movie.newEditState();
Movie pasted = Movie.fromScrap(0);
movie.pasteSelection (pasted);
MovieEditState newState = movie.newEditState();
QTEdit edit = new QTEdit (oldState, newState, "Paste");
undoManager.addEdit (edit);
controller.movieChanged();
pack();
|
public void | doQuit()
System.exit(0);
|
public void | doRedo()
if (! undoManager.canRedo()) {
System.out.println ("can't redo");
return;
}
System.out.println ("doRedo() - " +
undoManager.getRedoPresentationName());
undoManager.redo();
|
public void | doSave()
// if no home file, then prompt for one
if (file == null) {
// TODO: quicktime.std.StdQTException[QTJava:6.1.0g1],-194=addResFailed,QT.vers:6518000
file = new QTFile (new File ("simplemovie.mov"));
/* doesn't help
movie.createMovieFile (file,
StdQTConstants.kMoviePlayer,
0);
*/
}
int flags = StdQTConstants.createMovieFileDeleteCurFile |
StdQTConstants.createMovieFileDontCreateResFile |
StdQTConstants.showUserSettingsDialog;
movie.convertToFile (file, // file
StdQTConstants.kQTFileTypeMovie, // filetype,
StdQTConstants.kMoviePlayer, // creator
IOConstants.smSystemScript, // scriptTag
flags);
|
public void | doUndo()
if (! undoManager.canUndo()) {
System.out.println ("can't undo");
return;
}
System.out.println ("doUndo() - " +
undoManager.getUndoPresentationName());
undoManager.undo();
|
public java.awt.Dimension | getPreferredSize()Force frame's size to respect movie size
if (controller == null)
return new Dimension (0,0);
try {
QDRect contRect = controller.getBounds();
Dimension compDim = comp.getPreferredSize();
if (contRect.getHeight() > compDim.height) {
return new Dimension (contRect.getWidth() +
getInsets().left +
getInsets().right,
contRect.getHeight() +
getInsets().top +
getInsets().bottom);
} else {
return new Dimension (compDim.width +
getInsets().left +
getInsets().right,
compDim.height +
getInsets().top +
getInsets().bottom);
}
} catch (QTException qte) {
return new Dimension (0,0);
}
|
public static void | main(java.lang.String[] args)opens a single new movie window
try {
Frame f = makeNewAndShow();
// note its x, y for future calls
newFrameX = f.getLocation().x;
newFrameY = f.getLocation().y;
} catch (Exception e) {
e.printStackTrace();
}
|
private static java.awt.Frame | makeNewAndShow()creates "new" movie frame, packs and shows.
used by main() and "new"
Frame f = new SaveableQTEditor();
f.pack();
if (newFrameX >= 0)
f.setLocation (newFrameX+=16, newFrameY+=16);
f.setVisible(true);
windowCount++;
return f;
|