KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > armedbear > j > ImageMode


1 /*
2  * ImageMode.java
3  *
4  * Copyright (C) 2000-2002 Peter Graves
5  * $Id: ImageMode.java,v 1.1.1.1 2002/09/24 16:08:07 piso Exp $
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20  */

21
22 package org.armedbear.j;
23
24 import java.awt.Color JavaDoc;
25
26 public final class ImageMode extends AbstractMode implements Constants, Mode
27 {
28     private static final String JavaDoc MENU_NAME = "ImageMode";
29     private static final ImageMode mode = new ImageMode();
30
31     private ImageMode()
32     {
33         super(IMAGE_MODE, IMAGE_MODE_NAME);
34         setProperty(Property.VERTICAL_RULE, 0);
35     }
36
37     public static final ImageMode getMode()
38     {
39         return mode;
40     }
41
42     protected void setKeyMapDefaults(KeyMap km)
43     {
44         km.mapKey('c', "imageCycleBackground");
45         km.mapKey('f', "imageFit");
46         km.mapKey('r', "imageRestore");
47         km.mapKey('=', "imageZoomIn");
48         km.mapKey('-', "imageZoomOut");
49     }
50
51     public String JavaDoc getMenuName()
52     {
53         return MENU_NAME;
54     }
55
56     public MenuBar createMenuBar(Frame frame)
57     {
58         MenuBar menuBar = new MenuBar(MENU_NAME);
59         menuBar.add(new Menu("File", 'F'));
60         menuBar.add(new Menu("View", 'V'));
61         menuBar.add(new Menu("Image", 'I'));
62         menuBar.add(new Menu("Help", 'H'));
63         return menuBar;
64     }
65
66     public void populateMenu(Editor editor, Menu menu)
67     {
68         final String JavaDoc text = menu.getText();
69         if (text == "File") {
70             menu.add(editor, "New", 'N', "newBuffer");
71             menu.add(editor, "Open...", 'O', "openFile");
72             menu.add(editor, "Save All", 'A', "saveAll");
73             menu.add(editor, "Close", 'C', "killBuffer");
74             menu.add(editor, "Close All", 'L', "closeAll");
75             menu.add(editor, "Close Others", 'H', "closeOthers");
76             menu.add(editor, "Reload", 'R', "revertBuffer");
77             menu.addSeparator();
78             menu.add(editor, "Next Buffer", 'T', "nextBuffer");
79             menu.add(editor, "Previous Buffer", 'R', "prevBuffer");
80             menu.addSeparator();
81             menu.add(editor, "New Frame", 'M', "newFrame");
82             menu.add(editor, "Execute Command...", 'D', "executeCommand");
83             menu.addSeparator();
84             menu.add(editor, "Save All/Exit", '/', "saveAllExit");
85             menu.add(editor, "Exit", 'X', "quit");
86         } else if (text == "Image") {
87             menu.add(editor, "Zoom In", 'I', "imageZoomIn");
88             menu.add(editor, "Zoom Out", 'O', "imageZoomOut");
89             menu.add(editor, "Scale to Fit Display", 'F', "imageFit");
90             menu.add(editor, "Restore Original Size", 'R', "imageRestore");
91             menu.add(editor, "Change Background Color", 'C', "imageCycleBackground");
92         } else
93             super.populateMenu(editor, menu);
94     }
95
96     public Formatter getFormatter(Buffer buffer)
97     {
98         return null;
99     }
100
101     public static void imageCycleBackground()
102     {
103         final Buffer buffer = Editor.currentEditor().getBuffer();
104         if (buffer instanceof ImageBuffer) {
105             ((ImageBuffer)buffer).cycleBackground();
106             for (EditorIterator it = new EditorIterator(); it.hasNext();) {
107                 Editor ed = it.nextEditor();
108                 if (ed.getBuffer() == buffer)
109                     ed.getDisplay().repaint();
110             }
111         }
112     }
113
114     public static void imageZoomIn()
115     {
116         final Buffer buffer = Editor.currentEditor().getBuffer();
117         if (buffer instanceof ImageBuffer)
118             ((ImageBuffer)buffer).zoomIn();
119     }
120
121     public static void imageZoomOut()
122     {
123         final Buffer buffer = Editor.currentEditor().getBuffer();
124         if (buffer instanceof ImageBuffer)
125             ((ImageBuffer)buffer).zoomOut();
126     }
127
128     public static void imageFit()
129     {
130         final Buffer buffer = Editor.currentEditor().getBuffer();
131         if (buffer instanceof ImageBuffer)
132             ((ImageBuffer)buffer).fit();
133     }
134
135     public static void imageRestore()
136     {
137         final Buffer buffer = Editor.currentEditor().getBuffer();
138         if (buffer instanceof ImageBuffer)
139             ((ImageBuffer)buffer).restore();
140     }
141 }
142
Popular Tags