This commit is contained in:
Erik Trimble 2008-08-10 21:31:42 -07:00
commit 8242ae771a
178 changed files with 8963 additions and 1135 deletions

View File

@ -32,6 +32,12 @@ else
include $(GAMMADIR)/make/defs.make
endif
ifeq "x$(HOTSPOT_BUILD_VERSION)" "x"
SA_BUILD_VERSION=$(HOTSPOT_RELEASE_VERSION)
else
SA_BUILD_VERSION=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
endif
PKGLIST = \
sun.jvm.hotspot \
sun.jvm.hotspot.asm \
@ -117,7 +123,9 @@ sun.jvm.hotspot.ui.tree \
sun.jvm.hotspot.ui.treetable \
sun.jvm.hotspot.utilities \
sun.jvm.hotspot.utilities.memo \
sun.jvm.hotspot.utilities.soql
sun.jvm.hotspot.utilities.soql \
com.sun.java.swing.action \
com.sun.java.swing.ui
#END PKGLIST
# Generated using the build-filelist script
@ -198,7 +206,9 @@ sun/jvm/hotspot/ui/tree/*.java \
sun/jvm/hotspot/ui/treetable/*.java \
sun/jvm/hotspot/utilities/*.java \
sun/jvm/hotspot/utilities/memo/*.java \
sun/jvm/hotspot/utilities/soql/*.java
sun/jvm/hotspot/utilities/soql/*.java \
com/sun/java/swing/action/*.java \
com/sun/java/swing/ui/*.java
#END FILELIST
ifneq "x$(ALT_BOOTDIR)" "x"
@ -220,8 +230,6 @@ else
endif
SRC_DIR = ../src/share/classes
LIB_DIR = ../src/share/lib
CLOSED_LIB_DIR = ../closed/src/share/lib
BUILD_DIR = ../build
OUTPUT_DIR = $(BUILD_DIR)/classes
DOC_DIR = $(BUILD_DIR)/doc
@ -231,9 +239,9 @@ DOC_DIR = $(BUILD_DIR)/doc
ALLFILES := $(patsubst %,$(SRC_DIR)/%,$(FILELIST))
ALLFILES := $(shell /bin/ls $(ALLFILES))
# tools.jar is used by the sa-jdi binding
CLASSPATH = $(JDK_HOME)/lib/tools.jar
# tools.jar is needed by the JDI - SA binding
CLASSPATH = $(LIB_DIR)/maf-1_0.jar$(CPS)$(JDK_HOME)/lib/tools.jar
CLASSPATH := $(subst \,/,$(CLASSPATH))
# FIXME: autogenerate call to rmic
@ -241,24 +249,36 @@ CLASSPATH := $(subst \,/,$(CLASSPATH))
SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)"
SA_PROPERTIES = $(OUTPUT_DIR)/sa.properties
JAVAC = $(JDK_HOME)/bin/javac
JAVADOC = $(JDK_HOME)/bin/javadoc
RMIC = $(JDK_HOME)/bin/rmic
# Tagging it on because there's no reason not to run it
all: filelist
@mkdir -p $(OUTPUT_DIR)
@echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
@${JDK_HOME}/bin/javac -source 1.4 -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
@${JDK_HOME}/bin/rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
$(JAVAC) -source 1.4 -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
$(RMIC) -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/*
cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/
cp -r $(SRC_DIR)/images/* $(OUTPUT_DIR)/
allprof: filelist
@mkdir -p $(OUTPUT_DIR)
@echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
@${JDK_HOME}/bin/javac -source 1.4 -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
@${JDK_HOME}/bin/rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
$(JAVAC) -source 1.4 -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
$(RMIC) -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/*
cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/
cp -r $(SRC_DIR)/images/* $(OUTPUT_DIR)/
.PHONY: filelist
filelist: $(ALLFILES)
@if [ ! -f $(JDK_HOME)/lib/tools.jar ] ; then \
echo "Missing $(JDK_HOME)/lib/tools.jar file. Use 1.6.0 or later version jdk to build SA."; \
@ -274,36 +294,23 @@ natives:
.PHONY: sa-jdi.jar
sa-jdi.jar:
if [ ! -f $(JDK_HOME)/lib/tools.jar ] ; then \
echo "Missing $(JDK_HOME)/lib/tools.jar file. Use 1.6.0 or later version jdk to build SA.";\
exit 1; \
fi
rm -f $(BUILD_DIR)/sa-jdi.jar
rm -f $(OUTPUT_DIR)/jdi_class_files
javac -source 1.4 ClosureFinder.java -d $(OUTPUT_DIR)
cd $(OUTPUT_DIR) ; find sun/jvm/hotspot/jdi -name "*.class" > jdi_class_files
cd $(OUTPUT_DIR) ; jar cvf ../sa-jdi.jar `java ClosureFinder jdi_class_files .`
cd $(BUILD_DIR) ; jar uvf sa-jdi.jar -C $(SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
cd $(BUILD_DIR) ; jar uvf sa-jdi.jar -C $(OUTPUT_DIR) sa.properties
rm -f $(OUTPUT_DIR)/ClosureFinder.class
rm -f $(OUTPUT_DIR)/jdi_class_files
echo "sa-jdi.jar is built by a hotspot build."
docs:
@javadoc -private -classpath $(CLASSPATH) -sourcepath $(SRC_DIR) -d $(DOC_DIR) $(PKGLIST)
@$(JAVADOC) -private -classpath $(CLASSPATH) -sourcepath $(SRC_DIR) -d $(DOC_DIR) $(PKGLIST)
sizes: $(ALLFILES)
wc -l $(ALLFILES)
cscope: $(ALLFILES)
rm -f java.files
echo $(ALLFILES) > java.files
cscope -b -i java.files -f java.out
rm -f java.files
.PHONY: sa.jar
sa.jar:
rm -f $(BUILD_DIR)/sa.jar
mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/*
cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/
cd $(OUTPUT_DIR) ; jar cvf ../sa.jar *
clean::

View File

@ -22,4 +22,4 @@ REM have any questions.
REM
REM
java -showversion -cp ..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar sun.jvm.hotspot.bugspot.Main
java -showversion -cp ..\build\classes;..\src\share\lib\js.jar;.\sa.jar;lib\js.jar sun.jvm.hotspot.bugspot.Main

View File

@ -42,7 +42,6 @@
<property name="app.name" value="sa"/>
<property name="dist.jar" value="${app.name}.jar"/>
<property name="libs" value="../src/share/lib"/>
<property name="classes" value="../build/classes"/>
<!-- The "prepare" target is used to construct the deployment home
@ -83,11 +82,6 @@
home directory structure will be created if needed the first time.
-->
<path id="javac.classpath">
<pathelement path="${libs}/maf-1_0.jar" />
<pathelement path="${libs}/jlfgr-1_0.jar" />
</path>
<target name="compile" depends="prepare" description="Compiles the sources">
<javac srcdir="../src/share/classes"
destdir="${classes}"
@ -110,6 +104,18 @@
<copy todir="${classes}/sun/jvm/hotspot/ui/resources">
<fileset dir="../src/share/classes/sun/jvm/hotspot/ui/resources" includes="*.png" />
</copy>
<copy todir="${classes}/toolbarButtonGraphics/development/">
<fileset dir="../src/share/classes/images/toolbarButtonGraphics/development/" includes="*.gif" />
</copy>
<copy todir="${classes}/toolbarButtonGraphics/general/">
<fileset dir="../src/share/classes/images/toolbarButtonGraphics/general/" includes="*.gif" />
</copy>
<copy todir="${classes}/toolbarButtonGraphics/navigation/">
<fileset dir="../src/share/classes/images/toolbarButtonGraphics/navigation/" includes="*.gif" />
</copy>
<copy todir="${classes}/toolbarButtonGraphics/text/">
<fileset dir="../src/share/classes/images/toolbarButtonGraphics/text/" includes="*.gif" />
</copy>
<jar jarfile="${classes}/${dist.jar}"
basedir="${classes}"/>

View File

@ -22,4 +22,4 @@ REM have any questions.
REM
REM
java -showversion -cp ..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar sun.jvm.hotspot.HSDB %1 %2
java -showversion -cp ..\build\classes;..\src\share\lib\js.jar;.\sa.jar;lib\js.jar sun.jvm.hotspot.HSDB %1 %2

View File

@ -29,4 +29,4 @@ if [ "x$SA_JAVA" = "x" ]; then
SA_JAVA=java
fi
$SA_JAVA -showversion -cp $STARTDIR/../build/classes:$STARTDIR/../src/share/lib/maf-1_0.jar:$STARTDIR/../src/share/lib/jlfgr-1_0.jar:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/maf-1_0.jar:$STARTDIR/lib/jlfgr-1_0.jar:$STARTDIR/lib/js.jar sun.jvm.hotspot.HSDB $*
$SA_JAVA -showversion -cp $STARTDIR/../build/classes:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/js.jar sun.jvm.hotspot.HSDB $*

View File

@ -39,7 +39,7 @@ set SA_JAVA=java
:sa_java_set
set SA_CLASSPATH=..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar
set SA_CLASSPATH=..\build\classes;..\src\share\lib\js.jar;sa.jar;lib\js.jar
set SA_LIBPATH=..\src\os\win32\windbg\i386;.\win32\i386

View File

@ -58,7 +58,7 @@ if [ "x$SA_DISABLE_VERS_CHK" != "x" ]; then
fi
SA_CLASSPATH=$STARTDIR/../build/classes:$STARTDIR/../src/share/lib/maf-1_0.jar:$STARTDIR/../src/share/lib/jlfgr-1_0.jar:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/maf-1_0.jar:$STARTDIR/lib/jlfgr-1_0.jar:$STARTDIR/lib/js.jar
SA_CLASSPATH=$STARTDIR/../build/classes:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/js.jar
OPTIONS="-Djava.system.class.loader=sun.jvm.hotspot.SALauncherLoader ${OPTIONS}"

View File

@ -43,7 +43,7 @@ set SA_JAVA=java
:sa_java_set
set SA_CLASSPATH=..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar
set SA_CLASSPATH=..\build\classes;..\src\share\lib\js.jar;sa.jar;lib\js.jar
REM For now, only AMD-64, IA-64 stack walking is not working anyway
set SA_LIBPATH=.\src\os\win32\windbg\amd64;.\win32\amd64

View File

@ -55,7 +55,7 @@ if [ "x$SA_DISABLE_VERS_CHK" != "x" ]; then
OPTIONS="-Dsun.jvm.hotspot.runtime.VM.disableVersionCheck ${OPTIONS}"
fi
SA_CLASSPATH=$STARTDIR/../build/classes:$STARTDIR/../src/share/lib/maf-1_0.jar:$STARTDIR/../src/share/lib/jlfgr-1_0.jar:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/maf-1_0.jar:$STARTDIR/lib/jlfgr-1_0.jar:$STARTDIR/lib/js.jar
SA_CLASSPATH=$STARTDIR/../build/classes:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar::$STARTDIR/lib/js.jar
OPTIONS="-Djava.system.class.loader=sun.jvm.hotspot.SALauncherLoader ${OPTIONS}"

View File

@ -0,0 +1,57 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class AboutAction extends DelegateAction
{
public AboutAction()
{
this("general/About16.gif");
}
public AboutAction(String iconPath)
{
super("About...", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "about-command");
putValue("ShortDescription", "About...");
putValue("LongDescription", "System information and version of the application.");
putValue("MnemonicKey", VALUE_MNEMONIC);
}
public static final String VALUE_COMMAND = "about-command";
public static final String VALUE_NAME = "About...";
public static final String VALUE_SMALL_ICON = "general/About16.gif";
public static final String VALUE_LARGE_ICON = "general/About24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(65);
public static final String VALUE_SHORT_DESCRIPTION = "About...";
public static final String VALUE_LONG_DESCRIPTION = "System information and version of the application.";
}

View File

@ -0,0 +1,95 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.util.HashMap;
import javax.swing.Action;
import javax.swing.ImageIcon;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, StateChangeAction, ActionUtilities
public abstract class ActionManager
{
protected ActionManager()
{
actions = new HashMap();
addActions();
}
public static ActionManager getInstance()
{
return manager;
}
protected abstract void addActions();
protected void addAction(String cmdname, Action action)
{
actions.put(cmdname, action);
}
public Action getAction(String key)
{
return (Action)actions.get(key);
}
public DelegateAction getDelegateAction(String name)
{
Action a = getAction(name);
if(a instanceof DelegateAction)
return (DelegateAction)a;
else
return null;
}
public StateChangeAction getStateChangeAction(String name)
{
Action a = getAction(name);
if(a instanceof StateChangeAction)
return (StateChangeAction)a;
else
return null;
}
public static ImageIcon getIcon(String name)
{
return utilities.getIcon(name);
}
public void setActionEnabled(String name, boolean enabled)
{
Action action = getAction(name);
if(action != null)
action.setEnabled(enabled);
}
private HashMap actions;
private static ActionUtilities utilities = new ActionUtilities();
protected static ActionManager manager;
}

View File

@ -0,0 +1,49 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.ImageIcon;
class ActionUtilities
{
ActionUtilities()
{
}
public ImageIcon getIcon(String name)
{
String imagePath = "/toolbarButtonGraphics/" + name;
java.net.URL url = getClass().getResource(imagePath);
if(url != null)
return new ImageIcon(url);
else
return null;
}
public static final String IMAGE_DIR = "/toolbarButtonGraphics/";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// StateChangeAction, ActionManager
public class AlignCenterAction extends StateChangeAction
{
public AlignCenterAction()
{
this("text/AlignCenter16.gif");
}
public AlignCenterAction(String iconPath)
{
super("Center", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "align-center-command");
putValue("ShortDescription", "Center");
putValue("LongDescription", "Adjust the placement of text to the center of the line");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "align-center-command";
public static final String VALUE_NAME = "Center";
public static final String VALUE_SMALL_ICON = "text/AlignCenter16.gif";
public static final String VALUE_LARGE_ICON = "text/AlignCenter24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(78);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(69, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Center";
public static final String VALUE_LONG_DESCRIPTION = "Adjust the placement of text to the center of the line";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// StateChangeAction, ActionManager
public class AlignLeftAction extends StateChangeAction
{
public AlignLeftAction()
{
this("text/AlignLeft16.gif");
}
public AlignLeftAction(String iconPath)
{
super("Left Align", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "align-left-command");
putValue("ShortDescription", "Left Align");
putValue("LongDescription", "Adjust the placement of text along the left edge");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "align-left-command";
public static final String VALUE_NAME = "Left Align";
public static final String VALUE_SMALL_ICON = "text/AlignLeft16.gif";
public static final String VALUE_LARGE_ICON = "text/AlignLeft24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(76);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(76, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Left Align";
public static final String VALUE_LONG_DESCRIPTION = "Adjust the placement of text along the left edge";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// StateChangeAction, ActionManager
public class AlignRightAction extends StateChangeAction
{
public AlignRightAction()
{
this("text/AlignRight16.gif");
}
public AlignRightAction(String iconPath)
{
super("Right Align", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "align-right-command");
putValue("ShortDescription", "Right Align");
putValue("LongDescription", "Adjust the placement of text along the right edge");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "align-right-command";
public static final String VALUE_NAME = "Right Align";
public static final String VALUE_SMALL_ICON = "text/AlignRight16.gif";
public static final String VALUE_LARGE_ICON = "text/AlignRight24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(82);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(82, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Right Align";
public static final String VALUE_LONG_DESCRIPTION = "Adjust the placement of text along the right edge";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class ApplyAction extends DelegateAction
{
public ApplyAction()
{
this(VALUE_SMALL_ICON);
}
public ApplyAction(String iconPath)
{
super("Apply", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "apply-command");
putValue("ShortDescription", "Apply the activity");
putValue("LongDescription", "Apply the activity");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "apply-command";
public static final String VALUE_NAME = "Apply";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(65);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Apply the activity";
public static final String VALUE_LONG_DESCRIPTION = "Apply the activity";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class BackAction extends DelegateAction
{
public BackAction()
{
this(VALUE_SMALL_ICON);
}
public BackAction(String iconPath)
{
super("< Back", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "back-command");
putValue("ShortDescription", "Select previous item");
putValue("LongDescription", "Select previous item");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "back-command";
public static final String VALUE_NAME = "< Back";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(66);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Select previous item";
public static final String VALUE_LONG_DESCRIPTION = "Select previous item";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class CancelAction extends DelegateAction
{
public CancelAction()
{
this(VALUE_SMALL_ICON);
}
public CancelAction(String iconPath)
{
super("Cancel", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "cancel-command");
putValue("ShortDescription", "Cancels the action");
putValue("LongDescription", "Cancels the action");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "cancel-command";
public static final String VALUE_NAME = "Cancel";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(67);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Cancels the action";
public static final String VALUE_LONG_DESCRIPTION = "Cancels the action";
}

View File

@ -0,0 +1,65 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractAction;
import javax.swing.Icon;
public abstract class DelegateAction extends AbstractAction
{
public DelegateAction(String name, Icon icon)
{
super(name, icon);
}
public void addActionListener(ActionListener listener)
{
this.listener = listener;
}
public void removeActionListener(ActionListener listener)
{
this.listener = null;
}
public ActionListener[] getActionListeners()
{
return (new ActionListener[] {
listener
});
}
public void actionPerformed(ActionEvent evt)
{
if(listener != null)
listener.actionPerformed(evt);
}
private ActionListener listener;
}

View File

@ -0,0 +1,55 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class ExitAction extends DelegateAction
{
public ExitAction()
{
super("Exit", ActionManager.getIcon(VALUE_SMALL_ICON));
putValue("ActionCommandKey", "exit-command");
putValue("ShortDescription", "Exits the application");
putValue("LongDescription", "Exits the application");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "exit-command";
public static final String VALUE_NAME = "Exit";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(88);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Exits the application";
public static final String VALUE_LONG_DESCRIPTION = "Exits the application";
}

View File

@ -0,0 +1,53 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
public class FileMenu extends AbstractAction
{
public FileMenu()
{
super("File");
putValue("ActionCommandKey", "file-menu-command");
putValue("ShortDescription", "File operations");
putValue("LongDescription", "File operations");
putValue("MnemonicKey", VALUE_MNEMONIC);
}
public void actionPerformed(ActionEvent actionevent)
{
}
public static final String VALUE_COMMAND = "file-menu-command";
public static final String VALUE_NAME = "File";
public static final Integer VALUE_MNEMONIC = new Integer(70);
public static final String VALUE_SHORT_DESCRIPTION = "File operations";
public static final String VALUE_LONG_DESCRIPTION = "File operations";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class FinishAction extends DelegateAction
{
public FinishAction()
{
this(VALUE_SMALL_ICON);
}
public FinishAction(String iconPath)
{
super("Finish", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "finish-command");
putValue("ShortDescription", "Finish the activity");
putValue("LongDescription", "Finish the activity");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "finish-command";
public static final String VALUE_NAME = "Finish";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(70);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Finish the activity";
public static final String VALUE_LONG_DESCRIPTION = "Finish the activity";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class HelpAction extends DelegateAction
{
public HelpAction()
{
this("general/Help16.gif");
}
public HelpAction(String iconPath)
{
super("Help", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "help-command");
putValue("ShortDescription", "Help...");
putValue("LongDescription", "Provide information which may aid the user.");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "help-command";
public static final String VALUE_NAME = "Help";
public static final String VALUE_SMALL_ICON = "general/Help16.gif";
public static final String VALUE_LARGE_ICON = "general/Help24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(72);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(112, 0);
public static final String VALUE_SHORT_DESCRIPTION = "Help...";
public static final String VALUE_LONG_DESCRIPTION = "Provide information which may aid the user.";
}

View File

@ -0,0 +1,53 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
public class HelpMenu extends AbstractAction
{
public HelpMenu()
{
super("Help");
putValue("ActionCommandKey", "help-menu-command");
putValue("ShortDescription", "Help operations");
putValue("LongDescription", "Help operations");
putValue("MnemonicKey", VALUE_MNEMONIC);
}
public void actionPerformed(ActionEvent actionevent)
{
}
public static final String VALUE_COMMAND = "help-menu-command";
public static final String VALUE_NAME = "Help";
public static final Integer VALUE_MNEMONIC = new Integer(72);
public static final String VALUE_SHORT_DESCRIPTION = "Help operations";
public static final String VALUE_LONG_DESCRIPTION = "Help operations";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class NewAction extends DelegateAction
{
public NewAction()
{
this("general/New16.gif");
}
public NewAction(String iconPath)
{
super("New", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "new-command");
putValue("ShortDescription", "Create a new object.");
putValue("LongDescription", "Create a new object.");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "new-command";
public static final String VALUE_NAME = "New";
public static final String VALUE_SMALL_ICON = "general/New16.gif";
public static final String VALUE_LARGE_ICON = "general/New24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(78);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(78, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Create a new object.";
public static final String VALUE_LONG_DESCRIPTION = "Create a new object.";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class NextAction extends DelegateAction
{
public NextAction()
{
this(VALUE_SMALL_ICON);
}
public NextAction(String iconPath)
{
super("Next >", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "next-command");
putValue("ShortDescription", "Select next item");
putValue("LongDescription", "Select next item");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "next-command";
public static final String VALUE_NAME = "Next >";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(78);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Select next item";
public static final String VALUE_LONG_DESCRIPTION = "Select next item";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class OkAction extends DelegateAction
{
public OkAction()
{
this(VALUE_SMALL_ICON);
}
public OkAction(String iconPath)
{
super("OK", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "ok-command");
putValue("ShortDescription", "Acknowleges the action");
putValue("LongDescription", "Acknowleges the action");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "ok-command";
public static final String VALUE_NAME = "OK";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(79);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Acknowleges the action";
public static final String VALUE_LONG_DESCRIPTION = "Acknowleges the action";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class OpenAction extends DelegateAction
{
public OpenAction()
{
this("general/Open16.gif");
}
public OpenAction(String iconPath)
{
super("Open...", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "open-command");
putValue("ShortDescription", "Open the specified object.");
putValue("LongDescription", "Open the specified object.");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "open-command";
public static final String VALUE_NAME = "Open...";
public static final String VALUE_SMALL_ICON = "general/Open16.gif";
public static final String VALUE_LARGE_ICON = "general/Open24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(79);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(79, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Open the specified object.";
public static final String VALUE_LONG_DESCRIPTION = "Open the specified object.";
}

View File

@ -0,0 +1,60 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class SaveAction extends DelegateAction
{
public SaveAction()
{
this("general/Save16.gif");
}
public SaveAction(String iconPath)
{
super("Save", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "save-command");
putValue("ShortDescription", "Commit changes to a permanent storage area");
putValue("LongDescription", "Commit changes to a permanent storage area");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "save-command";
public static final String VALUE_NAME = "Save";
public static final String VALUE_SMALL_ICON = "general/Save16.gif";
public static final String VALUE_LARGE_ICON = "general/Save24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(83);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(83, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Commit changes to a permanent storage area";
public static final String VALUE_LONG_DESCRIPTION = "Commit changes to a permanent storage area";
}

View File

@ -0,0 +1,57 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class SaveAsAction extends DelegateAction
{
public SaveAsAction()
{
this("general/SaveAs16.gif");
}
public SaveAsAction(String iconPath)
{
super("Save As", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "save-as-command");
putValue("ShortDescription", "Save as a new file");
putValue("LongDescription", "Saves the current object as another object");
putValue("MnemonicKey", VALUE_MNEMONIC);
}
public static final String VALUE_COMMAND = "save-as-command";
public static final String VALUE_NAME = "Save As";
public static final String VALUE_SMALL_ICON = "general/SaveAs16.gif";
public static final String VALUE_LARGE_ICON = "general/SaveAs24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(65);
public static final String VALUE_SHORT_DESCRIPTION = "Save as a new file";
public static final String VALUE_LONG_DESCRIPTION = "Saves the current object as another object";
}

View File

@ -0,0 +1,88 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.Icon;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction
public abstract class StateChangeAction extends DelegateAction
implements ItemListener
{
public StateChangeAction(String name)
{
super(name, null);
selected = false;
}
public StateChangeAction(String name, Icon icon)
{
super(name, icon);
selected = false;
}
public boolean isSelected()
{
return selected;
}
public synchronized void setSelected(boolean newValue)
{
boolean oldValue = selected;
if(oldValue != newValue)
{
selected = newValue;
firePropertyChange("selected", Boolean.valueOf(oldValue), Boolean.valueOf(newValue));
}
}
public void setItemListener(ItemListener listener)
{
this.listener = listener;
}
public ItemListener getItemListener()
{
return listener;
}
public void itemStateChanged(ItemEvent evt)
{
if(evt.getStateChange() == 1)
setSelected(true);
else
setSelected(false);
if(listener != null)
listener.itemStateChanged(evt);
}
protected boolean selected;
private ItemListener listener;
}

View File

@ -0,0 +1,53 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
public class ViewMenu extends AbstractAction
{
public ViewMenu()
{
super("View");
putValue("ActionCommandKey", "view-menu-command");
putValue("ShortDescription", "View operations");
putValue("LongDescription", "View operations");
putValue("MnemonicKey", VALUE_MNEMONIC);
}
public void actionPerformed(ActionEvent actionevent)
{
}
public static final String VALUE_COMMAND = "view-menu-command";
public static final String VALUE_NAME = "View";
public static final Integer VALUE_MNEMONIC = new Integer(86);
public static final String VALUE_SHORT_DESCRIPTION = "View operations";
public static final String VALUE_LONG_DESCRIPTION = "View operations";
}

View File

@ -0,0 +1,108 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import com.sun.java.swing.action.ActionManager;
import com.sun.java.swing.action.StateChangeAction;
import javax.swing.*;
// Referenced classes of package com.sun.java.swing.ui:
// ToggleActionPropertyChangeListener, StatusBar
public abstract class CommonMenuBar extends JMenuBar
{
protected CommonMenuBar(ActionManager manager)
{
this(manager, StatusBar.getInstance());
}
protected CommonMenuBar(ActionManager manager, StatusBar status)
{
this.manager = manager;
statusBar = status;
configureMenu();
}
protected abstract void configureMenu();
protected void configureToggleMenuItem(JMenuItem menuItem, Action action)
{
configureMenuItem(menuItem, action);
action.addPropertyChangeListener(new ToggleActionPropertyChangeListener(menuItem));
}
protected void configureMenuItem(JMenuItem menuItem, Action action)
{
menuItem.addMouseListener(statusBar);
}
protected JMenu createMenu(String name, char mnemonic)
{
JMenu menu = new JMenu(name);
menu.setMnemonic(mnemonic);
return menu;
}
protected void addMenuItem(JMenu menu, Action action)
{
JMenuItem menuItem = menu.add(action);
configureMenuItem(menuItem, action);
}
protected void addCheckBoxMenuItem(JMenu menu, StateChangeAction a)
{
addCheckBoxMenuItem(menu, a, false);
}
protected void addCheckBoxMenuItem(JMenu menu, StateChangeAction a, boolean selected)
{
JCheckBoxMenuItem mi = new JCheckBoxMenuItem(a);
mi.addItemListener(a);
mi.setSelected(selected);
menu.add(mi);
configureToggleMenuItem(mi, a);
}
protected void addRadioButtonMenuItem(JMenu menu, ButtonGroup group, StateChangeAction a)
{
addRadioButtonMenuItem(menu, group, a, false);
}
protected void addRadioButtonMenuItem(JMenu menu, ButtonGroup group, StateChangeAction a, boolean selected)
{
JRadioButtonMenuItem mi = new JRadioButtonMenuItem(a);
mi.addItemListener(a);
mi.setSelected(selected);
menu.add(mi);
if(group != null)
group.add(mi);
configureToggleMenuItem(mi, a);
}
protected ActionManager manager;
private StatusBar statusBar;
}

View File

@ -0,0 +1,95 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import com.sun.java.swing.action.ActionManager;
import com.sun.java.swing.action.StateChangeAction;
import java.awt.Dimension;
import java.awt.Insets;
import javax.swing.*;
// Referenced classes of package com.sun.java.swing.ui:
// ToggleActionPropertyChangeListener, StatusBar, CommonUI
public abstract class CommonToolBar extends JToolBar
{
protected CommonToolBar(ActionManager manager)
{
this(manager, StatusBar.getInstance());
}
protected CommonToolBar(ActionManager manager, StatusBar status)
{
this.manager = manager;
statusBar = status;
buttonSize = new Dimension(CommonUI.buttconPrefSize);
buttonInsets = new Insets(0, 0, 0, 0);
addComponents();
}
protected abstract void addComponents();
protected void addButton(Action action)
{
javax.swing.JButton button = add(action);
configureButton(button, action);
}
protected void addToggleButton(StateChangeAction a)
{
addToggleButton(a, null);
}
protected void addToggleButton(StateChangeAction a, ButtonGroup group)
{
JToggleButton button = new JToggleButton(a);
button.addItemListener(a);
button.setSelected(a.isSelected());
if(group != null)
group.add(button);
add(button);
configureToggleButton(button, a);
}
protected void configureToggleButton(JToggleButton button, Action action)
{
configureButton(button, action);
action.addPropertyChangeListener(new ToggleActionPropertyChangeListener(button));
}
protected void configureButton(AbstractButton button, Action action)
{
button.setToolTipText((String)action.getValue("Name"));
button.setText("");
button.addMouseListener(statusBar);
}
protected ActionManager manager;
private Dimension buttonSize;
private Insets buttonInsets;
private StatusBar statusBar;
}

View File

@ -0,0 +1,392 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import java.util.StringTokenizer;
import java.util.Vector;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.text.*;
public class CommonUI
{
private static class NumberDocument extends PlainDocument
{
public void insertString(int offs, String str, AttributeSet atts)
throws BadLocationException
{
if(!Character.isDigit(str.charAt(0)))
{
return;
} else
{
super.insertString(offs, str, atts);
return;
}
}
private NumberDocument()
{
}
}
public CommonUI()
{
}
public static JLabel createLabel(String text, int mnemonic, Component comp)
{
JLabel label = new JLabel(" " + text);
label.setMinimumSize(labelPrefSize);
if(mnemonic != -1)
label.setDisplayedMnemonic(mnemonic);
if(comp != null)
label.setLabelFor(comp);
if(text.length() == 0)
label.setPreferredSize(labelPrefSize);
return label;
}
public static JLabel createLabel(String text)
{
return createLabel(text, -1, null);
}
public static JTextField createTextField(String text, KeyListener listener, boolean numbers)
{
JTextField field = new JTextField(text);
field.setMinimumSize(textPrefSize);
if(text.length() == 0)
field.setPreferredSize(textPrefSize);
if(listener != null)
field.addKeyListener(listener);
if(numbers)
field.setDocument(new NumberDocument());
return field;
}
public static JTextField createTextField(String text, boolean numbers)
{
return createTextField(text, null, numbers);
}
public static JTextField createTextField(String text, KeyListener listener)
{
return createTextField(text, listener, false);
}
public static JTextField createTextField(String text)
{
return createTextField(text, null, false);
}
public static JRadioButton createRadioButton(String text, int mnemonic, ActionListener listener, boolean selected)
{
JRadioButton button = new JRadioButton(text);
button.setMnemonic(mnemonic);
button.setSelected(selected);
button.setMinimumSize(labelPrefSize);
if(listener != null)
button.addActionListener(listener);
if(text.length() == 0)
button.setPreferredSize(labelPrefSize);
return button;
}
public static JRadioButton createRadioButton(String text, int mnemonic, boolean selected)
{
return createRadioButton(text, mnemonic, null, selected);
}
public static JRadioButton createRadioButton(String text, int mnemonic, ActionListener listener)
{
return createRadioButton(text, mnemonic, listener, false);
}
public static JRadioButton createRadioButton(String text, int mnemonic)
{
return createRadioButton(text, mnemonic, null, false);
}
public static JRadioButton createRadioButton(String text)
{
return createRadioButton(text, -1, null, false);
}
public static JCheckBox createCheckBox(String text, int mnemonic, ActionListener listener, boolean selected)
{
JCheckBox checkbox = new JCheckBox(text);
checkbox.setMinimumSize(labelPrefSize);
if(mnemonic != -1)
checkbox.setMnemonic(mnemonic);
checkbox.setSelected(selected);
if(text.length() == 0)
checkbox.setPreferredSize(labelPrefSize);
if(listener != null)
checkbox.addActionListener(listener);
return checkbox;
}
public static JCheckBox createCheckBox(String text, int mnemonic, ActionListener listener)
{
return createCheckBox(text, mnemonic, listener, false);
}
public static JCheckBox createCheckBox(String text, int mnemonic, boolean selected)
{
return createCheckBox(text, mnemonic, null, selected);
}
public static JCheckBox createCheckBox(String text, int mnemonic)
{
return createCheckBox(text, mnemonic, null, false);
}
public static JCheckBox createCheckBox(String text)
{
return createCheckBox(text, -1, null, false);
}
public static JComboBox createComboBox(Object items[], ActionListener listener, boolean editable)
{
JComboBox comboBox = new JComboBox(items);
if(listener != null)
comboBox.addActionListener(listener);
comboBox.setEditable(editable);
return comboBox;
}
public static JComboBox createComboBox(Object items[], boolean editable)
{
return createComboBox(items, null, editable);
}
public static JComboBox createComboBox(Vector items, ActionListener listener, boolean editable)
{
JComboBox comboBox = new JComboBox(items);
if(listener != null)
comboBox.addActionListener(listener);
comboBox.setEditable(editable);
return comboBox;
}
public static JComboBox createComboBox(Vector items, boolean editable)
{
return createComboBox(items, null, editable);
}
public static JButton createButton(Action action)
{
JButton button = new JButton(action);
setButtonSize(button, buttonPrefSize);
return button;
}
public static JButton createButton(String text, ActionListener listener, int mnemonic)
{
JButton button = new JButton(text);
if(listener != null)
button.addActionListener(listener);
if(mnemonic != -1)
button.setMnemonic(mnemonic);
setButtonSize(button, buttonPrefSize);
return button;
}
private static void setButtonSize(JButton button, Dimension size)
{
String text = button.getText();
button.setMinimumSize(size);
if(text.length() == 0)
{
button.setPreferredSize(size);
} else
{
Dimension psize = button.getPreferredSize();
if(psize.width < size.width)
button.setPreferredSize(size);
}
}
public static JButton createButton(String text, ActionListener listener)
{
return createButton(text, listener, -1);
}
public static JButton createSmallButton(String text, ActionListener listener, int mnemonic)
{
JButton button = createButton(text, listener, mnemonic);
setButtonSize(button, smbuttonPrefSize);
return button;
}
public static JButton createSmallButton(String text, ActionListener listener)
{
return createSmallButton(text, listener, -1);
}
public static Border createBorder(String text)
{
Border border = BorderFactory.createEtchedBorder();
return BorderFactory.createTitledBorder(border, text, 0, 2);
}
public static Border createBorder()
{
return BorderFactory.createEmptyBorder(4, 4, 4, 4);
}
public static JScrollPane createListPane(JList list, String text)
{
JScrollPane pane = new JScrollPane(list);
pane.setBorder(BorderFactory.createCompoundBorder(createBorder(text), BorderFactory.createLoweredBevelBorder()));
return pane;
}
public static void centerComponent(Component source, Component parent)
{
Dimension dim = source.getSize();
Rectangle rect;
if(parent != null)
{
rect = parent.getBounds();
} else
{
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
rect = new Rectangle(0, 0, d.width, d.height);
}
int x = rect.x + (rect.width - dim.width) / 2;
int y = rect.y + (rect.height - dim.height) / 2;
source.setLocation(x, y);
}
public static void centerComponent(Component source)
{
centerComponent(source, null);
}
public static JFrame getParentFrame(Component source)
{
Container parent;
for(parent = source.getParent(); parent != null; parent = parent.getParent())
if(parent instanceof JFrame)
break;
if(parent == null)
return null;
else
return (JFrame)parent;
}
public static Integer msToSec(Integer ms)
{
int value = ms.intValue();
value /= 1000;
return new Integer(value);
}
public static Integer secToMs(Integer sec)
{
int value = sec.intValue();
value *= 1000;
return new Integer(value);
}
public static String stringFromStringArray(String strings[], String delim)
{
String string = "";
String separator;
if(delim == null || delim.equals(""))
separator = " ";
else
separator = delim;
for(int i = 0; i < strings.length; i++)
{
string = string + strings[i];
string = string + separator;
}
return string;
}
public static String stringFromStringArray(String strings[])
{
return stringFromStringArray(strings, "");
}
public static String[] stringArrayFromString(String string, String delim)
{
StringTokenizer st;
if(delim == null || delim.equals(""))
st = new StringTokenizer(string);
else
st = new StringTokenizer(string, delim);
int numTokens = st.countTokens();
String strings[] = new String[numTokens];
int index = 0;
while(st.hasMoreTokens())
strings[index++] = st.nextToken();
return strings;
}
public static String[] stringArrayFromString(String string)
{
return stringArrayFromString(string, "");
}
public static void setWaitCursor(Component comp)
{
comp.setCursor(Cursor.getPredefinedCursor(3));
}
public static void setDefaultCursor(Component comp)
{
comp.setCursor(Cursor.getPredefinedCursor(0));
}
public static final int BUTTON_WIDTH = 100;
public static final int BUTTON_HEIGHT = 26;
public static final int BUTTCON_WIDTH = 28;
public static final int BUTTCON_HEIGHT = 28;
public static final int SM_BUTTON_WIDTH = 72;
public static final int SM_BUTTON_HEIGHT = 26;
public static final int LABEL_WIDTH = 100;
public static final int LABEL_HEIGHT = 20;
public static final int TEXT_WIDTH = 150;
public static final int TEXT_HEIGHT = 20;
public static Dimension buttonPrefSize = new Dimension(100, 26);
public static Dimension buttconPrefSize = new Dimension(28, 28);
public static Dimension smbuttonPrefSize = new Dimension(72, 26);
public static Dimension labelPrefSize = new Dimension(100, 20);
public static Dimension textPrefSize = new Dimension(150, 20);
}

View File

@ -0,0 +1,51 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import com.sun.java.swing.action.*;
import java.awt.event.ActionListener;
import javax.swing.JPanel;
// Referenced classes of package com.sun.java.swing.ui:
// CommonUI
public class OkCancelButtonPanel extends JPanel
{
public OkCancelButtonPanel(ActionListener listener)
{
DelegateAction okAction = new OkAction();
okAction.addActionListener(listener);
DelegateAction cancelAction = new CancelAction();
cancelAction.addActionListener(listener);
add(CommonUI.createButton(okAction));
add(CommonUI.createButton(cancelAction));
}
public static final String OK_COMMAND = "ok-command";
public static final String CANCEL_COMMAND = "cancel-command";
}

View File

@ -0,0 +1,82 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
import javax.swing.JPanel;
// Referenced classes of package com.sun.java.swing.ui:
// OkCancelButtonPanel, CommonUI
public class OkCancelDialog extends JDialog
implements ActionListener
{
public OkCancelDialog(String title, JPanel panel)
{
this(title, panel, true);
}
public OkCancelDialog(String title, JPanel panel, boolean modal)
{
setTitle(title);
setModal(modal);
Container pane = getContentPane();
pane.setLayout(new BorderLayout());
pane.add(panel, "Center");
pane.add(new OkCancelButtonPanel(this), "South");
pack();
CommonUI.centerComponent(this);
}
public boolean isOk()
{
return okPressed;
}
public void actionPerformed(ActionEvent evt)
{
String command = evt.getActionCommand();
if(command.equals("ok-command"))
{
okPressed = true;
setVisible(false);
dispose();
} else
if(command.equals("cancel-command"))
{
okPressed = false;
setVisible(false);
dispose();
}
}
private boolean okPressed;
}

View File

@ -0,0 +1,85 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import java.awt.*;
import javax.swing.ImageIcon;
public class SplashScreen extends Window
{
public SplashScreen(Frame f)
{
super(f);
setBackground(Color.white);
java.net.URL url = getClass().getResource("/images/SplashScreen.jpg");
if(url != null)
{
screen = new ImageIcon(url);
MediaTracker mt = new MediaTracker(this);
mt.addImage(screen.getImage(), 0);
try
{
mt.waitForAll();
}
catch(Exception ex) { }
}
}
public void setVisible(boolean val)
{
if(screen == null)
return;
if(val)
{
setSize(screen.getIconWidth(), screen.getIconHeight());
setLocation(-500, -500);
super.setVisible(true);
Dimension d = getToolkit().getScreenSize();
Insets i = getInsets();
int w = screen.getIconWidth() + i.left + i.right;
int h = screen.getIconHeight() + i.top + i.bottom;
setSize(w, h);
setLocation(d.width / 2 - w / 2, d.height / 2 - h / 2);
} else
{
super.setVisible(false);
}
}
public void paint(Graphics g)
{
if(screen != null)
{
Dimension d = getSize();
g.setColor(Color.black);
g.drawRect(0, 0, d.width - 1, d.height - 1);
g.drawImage(screen.getImage(), 1, 1, this);
}
}
private ImageIcon screen;
}

View File

@ -0,0 +1,178 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class StatusBar extends JPanel
implements ActionListener, MouseListener
{
public StatusBar()
{
setLayout(new FlowLayout(0));
setBorder(BorderFactory.createEtchedBorder());
progressBar = new JProgressBar(0, 0, 100);
progressBar.setPreferredSize(new Dimension(60, progressBar.getPreferredSize().height + 2));
progressBar.setVisible(false);
label = new JLabel(" ");
preferredSize = new Dimension(getWidth(label.getText()), 2 * getFontHeight());
add(progressBar);
add(label);
}
public static StatusBar getInstance()
{
if(statusBar == null)
statusBar = new StatusBar();
return statusBar;
}
public static void setInstance(StatusBar sb)
{
statusBar = sb;
}
protected int getWidth(String s)
{
FontMetrics fm = getFontMetrics(getFont());
if(fm == null)
return 0;
else
return fm.stringWidth(s);
}
protected int getFontHeight()
{
FontMetrics fm = getFontMetrics(getFont());
if(fm == null)
return 0;
else
return fm.getHeight();
}
public Dimension getPreferredSize()
{
return preferredSize;
}
public void setMessage(String message)
{
label.setText(message);
label.repaint();
}
public void startBusyBar()
{
forward = true;
if(timer == null)
{
setMessage("");
progressBar.setVisible(true);
timer = new Timer(15, this);
timer.start();
}
}
public void stopBusyBar()
{
if(timer != null)
{
timer.stop();
timer = null;
}
setMessage("");
progressBar.setVisible(false);
progressBar.setValue(0);
}
public void actionPerformed(ActionEvent evt)
{
int value = progressBar.getValue();
if(forward)
{
if(value < 100)
{
progressBar.setValue(value + 1);
} else
{
forward = false;
progressBar.setValue(value - 1);
}
} else
if(value > 0)
{
progressBar.setValue(value - 1);
} else
{
forward = true;
progressBar.setValue(value + 1);
}
}
public void mouseClicked(MouseEvent mouseevent)
{
}
public void mousePressed(MouseEvent mouseevent)
{
}
public void mouseReleased(MouseEvent mouseevent)
{
}
public void mouseExited(MouseEvent evt)
{
setMessage("");
}
public void mouseEntered(MouseEvent evt)
{
if(evt.getSource() instanceof AbstractButton)
{
AbstractButton button = (AbstractButton)evt.getSource();
Action action = button.getAction();
if(action != null)
{
String message = (String)action.getValue("LongDescription");
setMessage(message);
}
}
}
private static final int PROGRESS_MAX = 100;
private static final int PROGRESS_MIN = 0;
private JLabel label;
private Dimension preferredSize;
private JProgressBar progressBar;
private Timer timer;
private boolean forward;
private static StatusBar statusBar;
}

View File

@ -0,0 +1,221 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import com.sun.java.swing.action.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.*;
// Referenced classes of package com.sun.java.swing.ui:
// CommonUI
public class TabsDlg extends JDialog
{
private class ApplyListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(applyListener != null)
{
applyListener.actionPerformed(evt);
enableApplyButton(false);
}
}
private ApplyListener()
{
}
}
private class CancelListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(cancelListener != null)
cancelListener.actionPerformed(evt);
setVisible(false);
}
private CancelListener()
{
}
}
private class OkListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(okListener != null)
okListener.actionPerformed(evt);
setVisible(false);
}
private OkListener()
{
}
}
public TabsDlg(String title, Vector panels)
{
super(new JFrame(), title, true);
okListener = null;
cancelListener = null;
applyListener = null;
Container pane = getContentPane();
pane.setLayout(new BorderLayout());
tabsPanel = new JTabbedPane();
int numPanels = panels.size();
for(int i = 0; i < numPanels; i++)
{
JPanel panel = (JPanel)panels.elementAt(i);
tabsPanel.addTab(panel.getName(), panel);
}
pane.add(tabsPanel, "Center");
pane.add(createButtonPanel(), "South");
pack();
CommonUI.centerComponent(this);
}
public static void main(String args[])
{
JPanel p1 = new JPanel();
p1.add(new JButton("One"));
p1.setName("One");
JPanel p2 = new JPanel();
p2.add(new JButton("Two"));
p2.setName("Two");
JPanel p3 = new JPanel();
p3.add(new JButton("Three"));
p3.setName("Three");
JPanel p4 = new JPanel();
p4.add(new JButton("Four"));
p4.setName("Four");
Vector panels = new Vector();
panels.addElement(p1);
panels.addElement(p2);
panels.addElement(p3);
panels.addElement(p4);
tabsDlg = new TabsDlg("Test Dialog", panels);
tabsDlg.addOkListener(new ActionListener() {
public void actionPerformed(ActionEvent evt)
{
System.exit(0);
}
}
);
tabsDlg.addCancelListener(new ActionListener() {
public void actionPerformed(ActionEvent evt)
{
System.exit(0);
}
}
);
tabsDlg.setVisible(true);
}
private JPanel createButtonPanel()
{
JPanel panel = new JPanel();
okAction = new OkAction();
cancelAction = new CancelAction();
applyAction = new ApplyAction();
okAction.addActionListener(new OkListener());
cancelAction.addActionListener(new CancelListener());
applyAction.addActionListener(new ApplyListener());
panel.add(CommonUI.createButton(okAction));
panel.add(CommonUI.createButton(cancelAction));
panel.add(CommonUI.createButton(applyAction));
JPanel p2 = new JPanel(new BorderLayout());
p2.add(panel, "Center");
p2.add(new JSeparator(), "North");
return p2;
}
public void enableApplyButton(boolean enabled)
{
applyAction.setEnabled(enabled);
}
public synchronized void addOkListener(ActionListener l)
{
okListener = AWTEventMulticaster.add(okListener, l);
}
public synchronized void removeOkListener(ActionListener l)
{
okListener = AWTEventMulticaster.remove(okListener, l);
}
public synchronized void addCancelListener(ActionListener l)
{
cancelListener = AWTEventMulticaster.add(cancelListener, l);
}
public synchronized void removeCancelListener(ActionListener l)
{
cancelListener = AWTEventMulticaster.remove(cancelListener, l);
}
public synchronized void addApplyListener(ActionListener l)
{
applyListener = AWTEventMulticaster.add(applyListener, l);
}
public synchronized void removeApplyListener(ActionListener l)
{
applyListener = AWTEventMulticaster.remove(applyListener, l);
}
private JTabbedPane tabsPanel;
private DelegateAction okAction;
private DelegateAction cancelAction;
private DelegateAction applyAction;
private ActionListener okListener;
private ActionListener cancelListener;
private ActionListener applyListener;
private static TabsDlg tabsDlg;
}

View File

@ -0,0 +1,52 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.AbstractButton;
public class ToggleActionPropertyChangeListener
implements PropertyChangeListener
{
public ToggleActionPropertyChangeListener(AbstractButton button)
{
this.button = button;
}
public void propertyChange(PropertyChangeEvent evt)
{
String propertyName = evt.getPropertyName();
if(propertyName.equals("selected"))
{
Boolean selected = (Boolean)evt.getNewValue();
button.setSelected(selected.booleanValue());
}
}
private AbstractButton button;
}

View File

@ -0,0 +1,336 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import com.sun.java.swing.action.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.*;
// Referenced classes of package com.sun.java.swing.ui:
// CommonUI
public class WizardDlg extends JDialog
{
private class CancelListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(cancelListener != null)
cancelListener.actionPerformed(evt);
setVisible(false);
}
private CancelListener()
{
}
}
private class FinishListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(finishListener != null)
finishListener.actionPerformed(evt);
setVisible(false);
}
private FinishListener()
{
}
}
private class NextListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
cardShowing++;
if(cardShowing > numCards)
cardShowing = numCards;
else
panesLayout.next(panesPanel);
if(nextListener != null)
nextListener.actionPerformed(evt);
enableBackNextButtons();
}
private NextListener()
{
}
}
private class BackListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
cardShowing--;
if(cardShowing < 1)
cardShowing = 1;
else
panesLayout.previous(panesPanel);
if(backListener != null)
backListener.actionPerformed(evt);
enableBackNextButtons();
}
private BackListener()
{
}
}
public WizardDlg(JFrame frame, String title, Vector panels, Vector images)
{
super(frame, title, true);
this.title = title;
this.images = images;
Container pane = getContentPane();
pane.setLayout(new BorderLayout());
panesLayout = new CardLayout();
panesPanel = new JPanel(panesLayout);
pane.add(panesPanel, "Center");
pane.add(createButtonPanel(), "South");
setPanels(panels);
pack();
CommonUI.centerComponent(this);
}
public WizardDlg(JFrame frame, String title, Vector panels)
{
this(frame, title, panels, null);
}
public WizardDlg(String title, Vector panels)
{
this(new JFrame(), title, panels, null);
}
public void setPanels(Vector panels)
{
numCards = panels.size();
cardShowing = 1;
this.panels = panels;
panesPanel.removeAll();
for(int i = 0; i < numCards; i++)
panesPanel.add((JPanel)panels.elementAt(i), (new Integer(i)).toString());
validate();
enableBackNextButtons();
}
public void reset()
{
cardShowing = 1;
panesLayout.first(panesPanel);
enableBackNextButtons();
}
public void setWestPanel(JPanel panel)
{
Container pane = getContentPane();
pane.add(panel, "West");
}
public static void main(String args[])
{
JPanel p1 = new JPanel();
p1.add(new JButton("One"));
JPanel p2 = new JPanel();
p2.add(new JButton("Two"));
JPanel p3 = new JPanel();
p3.add(new JButton("Three"));
JPanel p4 = new JPanel();
p4.add(new JButton("Four"));
Vector panels = new Vector();
panels.addElement(p1);
panels.addElement(p2);
panels.addElement(p3);
panels.addElement(p4);
wizardDlg = new WizardDlg("Test Dialog", panels);
wizardDlg.addFinishListener(new ActionListener() {
public void actionPerformed(ActionEvent evt)
{
System.exit(0);
}
}
);
wizardDlg.addCancelListener(new ActionListener() {
public void actionPerformed(ActionEvent evt)
{
System.exit(0);
}
}
);
wizardDlg.setVisible(true);
}
private JPanel createButtonPanel()
{
JPanel panel = new JPanel();
backAction = new BackAction();
nextAction = new NextAction();
finishAction = new FinishAction();
cancelAction = new CancelAction();
backAction.setEnabled(false);
finishAction.setEnabled(false);
backAction.addActionListener(new BackListener());
nextAction.addActionListener(new NextListener());
finishAction.addActionListener(new FinishListener());
cancelAction.addActionListener(new CancelListener());
panel.add(CommonUI.createButton(backAction));
panel.add(CommonUI.createButton(nextAction));
panel.add(CommonUI.createButton(finishAction));
panel.add(CommonUI.createButton(cancelAction));
JPanel p2 = new JPanel(new BorderLayout());
p2.add(panel, "Center");
p2.add(new JSeparator(), "North");
return p2;
}
private void enableBackNextButtons()
{
if(cardShowing == 1)
{
backAction.setEnabled(false);
finishAction.setEnabled(false);
if(numCards > 1)
{
nextAction.setEnabled(true);
} else
{
finishAction.setEnabled(true);
nextAction.setEnabled(false);
}
} else
if(cardShowing == numCards)
{
nextAction.setEnabled(false);
finishAction.setEnabled(true);
if(numCards > 1)
backAction.setEnabled(true);
else
backAction.setEnabled(false);
} else
{
backAction.setEnabled(true);
nextAction.setEnabled(true);
finishAction.setEnabled(false);
}
setTitle();
}
private void setTitle()
{
JPanel panel = (JPanel)panels.elementAt(cardShowing - 1);
String newTitle = title;
String panelTitle = panel.getName();
if(panelTitle != null && panelTitle.equals(""))
{
newTitle = newTitle + " - ";
newTitle = newTitle + panelTitle;
}
super.setTitle(newTitle);
}
public synchronized void addFinishListener(ActionListener l)
{
finishListener = AWTEventMulticaster.add(finishListener, l);
}
public synchronized void removeFinishListener(ActionListener l)
{
finishListener = AWTEventMulticaster.remove(finishListener, l);
}
public synchronized void addCancelListener(ActionListener l)
{
cancelListener = AWTEventMulticaster.add(cancelListener, l);
}
public synchronized void removeCancelListener(ActionListener l)
{
cancelListener = AWTEventMulticaster.remove(cancelListener, l);
}
public synchronized void addNextListener(ActionListener l)
{
nextListener = AWTEventMulticaster.add(nextListener, l);
}
public synchronized void removeNextListener(ActionListener l)
{
nextListener = AWTEventMulticaster.remove(nextListener, l);
}
public synchronized void addBackListener(ActionListener l)
{
backListener = AWTEventMulticaster.add(backListener, l);
}
public synchronized void removeBackListener(ActionListener l)
{
backListener = AWTEventMulticaster.remove(backListener, l);
}
private CardLayout panesLayout;
private JPanel panesPanel;
private DelegateAction backAction;
private DelegateAction nextAction;
private DelegateAction finishAction;
private DelegateAction cancelAction;
private ActionListener finishListener;
private ActionListener cancelListener;
private ActionListener nextListener;
private ActionListener backListener;
private int numCards;
private int cardShowing;
private String title;
private Vector panels;
private Vector images;
private static WizardDlg wizardDlg;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 677 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 778 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

View File

@ -266,46 +266,52 @@ public class PermStat extends Tool {
out.println();
}
private static long objectSize(Oop oop) {
return oop == null ? 0L : oop.getObjectSize();
}
// Don't count the shared empty arrays
private static long arraySize(Array arr) {
return arr.getLength() != 0L ? arr.getObjectSize() : 0L;
}
private long computeSize(InstanceKlass k) {
long size = 0L;
// InstanceKlass object size
// the InstanceKlass object itself
size += k.getObjectSize();
// add ConstantPool size
size += k.getConstants().getObjectSize();
// Constant pool
ConstantPool cp = k.getConstants();
size += cp.getObjectSize();
size += objectSize(cp.getCache());
size += objectSize(cp.getTags());
// add ConstantPoolCache, if any
ConstantPoolCache cpCache = k.getConstants().getCache();
if (cpCache != null) {
size += cpCache.getObjectSize();
}
// Interfaces
size += arraySize(k.getLocalInterfaces());
size += arraySize(k.getTransitiveInterfaces());
// add interfaces size
ObjArray interfaces = k.getLocalInterfaces();
size += (interfaces.getLength() != 0L)? interfaces.getObjectSize() : 0L;
ObjArray transitiveInterfaces = k.getTransitiveInterfaces();
size += (transitiveInterfaces.getLength() != 0L)? transitiveInterfaces.getObjectSize() : 0L;
// Inner classes
size += objectSize(k.getInnerClasses());
// add inner classes size
TypeArray innerClasses = k.getInnerClasses();
size += innerClasses.getObjectSize();
// Fields
size += objectSize(k.getFields());
// add fields size
size += k.getFields().getObjectSize();
// add methods size
// Methods
ObjArray methods = k.getMethods();
size += (methods.getLength() != 0L)? methods.getObjectSize() : 0L;
TypeArray methodOrdering = k.getMethodOrdering();
size += (methodOrdering.getLength() != 0L)? methodOrdering.getObjectSize() : 0;
// add each method's size
int numMethods = (int) methods.getLength();
for (int i = 0; i < numMethods; i++) {
Method m = (Method) methods.getObjAt(i);
size += m.getObjectSize();
int nmethods = (int) methods.getLength();
if (nmethods != 0L) {
size += methods.getObjectSize();
for (int i = 0; i < nmethods; ++i) {
Method m = (Method) methods.getObjAt(i);
size += m.getObjectSize();
size += objectSize(m.getConstMethod());
}
}
// MethodOrdering - an int array that records the original
// ordering of methods in the class file
size += arraySize(k.getMethodOrdering());
return size;
}
}

View File

@ -38,6 +38,8 @@ OPT_CFLAGS/SLOWER = -xO2
# Problem with SS12 compiler, dtrace doesn't like the .o files (bug 6693876)
ifeq ($(COMPILER_REV), 5.9)
# To avoid jvm98 crash
OPT_CFLAGS/instanceKlass.o = $(OPT_CFLAGS/SLOWER)
# Not clear this workaround could be skipped in some cases.
OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER)
OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER)

View File

@ -107,7 +107,7 @@ ifeq ($(USING_CYGWIN), true)
ABS_OUTPUTDIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(OUTPUTDIR)"))
ABS_BOOTDIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(BOOTDIR)"))
ABS_GAMMADIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(GAMMADIR)"))
ABS_OS_MAKEFILE := $(shell /bin/cygpath -m -a "$(HS_BUILD_DIR)/$(OSNAME)")/build.make
ABS_OS_MAKEFILE := $(shell /bin/cygpath -m -a "$(HS_MAKE_DIR)/$(OSNAME)")/build.make
else
ABS_OUTPUTDIR := $(subst /,\\,$(shell $(CD) $(OUTPUTDIR);$(PWD)))
ABS_BOOTDIR := $(subst /,\\,$(shell $(CD) $(BOOTDIR);$(PWD)))

View File

@ -779,9 +779,9 @@ class StubGenerator: public StubCodeGenerator {
__ shrl(end, CardTableModRefBS::card_shift);
__ subl(end, start); // end --> count
__ BIND(L_loop);
ExternalAddress base((address)ct->byte_map_base);
Address index(start, count, Address::times_1, 0);
__ movbyte(ArrayAddress(base, index), 0);
intptr_t disp = (intptr_t) ct->byte_map_base;
Address cardtable(start, count, Address::times_1, disp);
__ movb(cardtable, 0);
__ decrement(count);
__ jcc(Assembler::greaterEqual, L_loop);
}

View File

@ -1222,8 +1222,16 @@ class StubGenerator: public StubCodeGenerator {
__ shrq(end, CardTableModRefBS::card_shift);
__ subq(end, start); // number of bytes to copy
intptr_t disp = (intptr_t) ct->byte_map_base;
if (__ is_simm32(disp)) {
Address cardtable(noreg, noreg, Address::no_scale, disp);
__ lea(scratch, cardtable);
} else {
ExternalAddress cardtable((address)disp);
__ lea(scratch, cardtable);
}
const Register count = end; // 'end' register contains bytes count now
__ lea(scratch, ExternalAddress((address)ct->byte_map_base));
__ addq(start, scratch);
__ BIND(L_loop);
__ movb(Address(start, count, Address::times_1), 0);

View File

@ -94,6 +94,9 @@ static pid_t _initial_pid = 0;
static int SR_signum = SIGUSR2;
sigset_t SR_sigset;
/* Used to protect dlsym() calls */
static pthread_mutex_t dl_mutex;
////////////////////////////////////////////////////////////////////////////////
// utility functions
@ -1493,6 +1496,24 @@ const char* os::dll_file_extension() { return ".so"; }
const char* os::get_temp_directory() { return "/tmp/"; }
void os::dll_build_name(
char* buffer, size_t buflen, const char* pname, const char* fname) {
// copied from libhpi
const size_t pnamelen = pname ? strlen(pname) : 0;
/* Quietly truncate on buffer overflow. Should be an error. */
if (pnamelen + strlen(fname) + 10 > (size_t) buflen) {
*buffer = '\0';
return;
}
if (pnamelen == 0) {
sprintf(buffer, "lib%s.so", fname);
} else {
sprintf(buffer, "%s/lib%s.so", pname, fname);
}
}
const char* os::get_current_directory(char *buf, int buflen) {
return getcwd(buf, buflen);
}
@ -1742,7 +1763,17 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen)
return NULL;
}
/*
* glibc-2.0 libdl is not MT safe. If you are building with any glibc,
* chances are you might want to run the generated bits against glibc-2.0
* libdl.so, so always use locking for any version of glibc.
*/
void* os::dll_lookup(void* handle, const char* name) {
pthread_mutex_lock(&dl_mutex);
void* res = dlsym(handle, name);
pthread_mutex_unlock(&dl_mutex);
return res;
}
bool _print_ascii_file(const char* filename, outputStream* st) {
@ -2278,7 +2309,7 @@ void os::Linux::libnuma_init() {
dlsym(RTLD_DEFAULT, "sched_getcpu")));
if (sched_getcpu() != -1) { // Does it work?
void *handle = dlopen("libnuma.so", RTLD_LAZY);
void *handle = dlopen("libnuma.so.1", RTLD_LAZY);
if (handle != NULL) {
set_numa_node_to_cpus(CAST_TO_FN_PTR(numa_node_to_cpus_func_t,
dlsym(handle, "numa_node_to_cpus")));
@ -3581,6 +3612,7 @@ void os::init(void) {
Linux::clock_init();
initial_time_count = os::elapsed_counter();
pthread_mutex_init(&dl_mutex, NULL);
}
// To install functions for atexit system call

View File

@ -69,15 +69,15 @@ void OSThread::pd_destroy() {
static intptr_t compare_and_exchange_current_callback (
intptr_t callback, intptr_t *addr, intptr_t compare_value, Mutex *sync) {
if (VM_Version::supports_compare_and_exchange()) {
return Atomic::cmpxchg_ptr(callback, addr, compare_value);
return Atomic::cmpxchg_ptr(callback, addr, compare_value);
} else {
MutexLockerEx(sync, Mutex::_no_safepoint_check_flag);
if (*addr == compare_value) {
*addr = callback;
return compare_value;
} else {
return callback;
}
MutexLockerEx ml(sync, Mutex::_no_safepoint_check_flag);
if (*addr == compare_value) {
*addr = callback;
return compare_value;
} else {
return callback;
}
}
}
@ -86,7 +86,7 @@ static intptr_t exchange_current_callback(intptr_t callback, intptr_t *addr, Mut
if (VM_Version::supports_compare_and_exchange()) {
return Atomic::xchg_ptr(callback, addr);
} else {
MutexLockerEx(sync, Mutex::_no_safepoint_check_flag);
MutexLockerEx ml(sync, Mutex::_no_safepoint_check_flag);
intptr_t cb = *addr;
*addr = callback;
return cb;

View File

@ -1783,6 +1783,24 @@ const char* os::dll_file_extension() { return ".so"; }
const char* os::get_temp_directory() { return "/tmp/"; }
void os::dll_build_name(
char* buffer, size_t buflen, const char* pname, const char* fname) {
// copied from libhpi
const size_t pnamelen = pname ? strlen(pname) : 0;
/* Quietly truncate on buffer overflow. Should be an error. */
if (pnamelen + strlen(fname) + 10 > (size_t) buflen) {
*buffer = '\0';
return;
}
if (pnamelen == 0) {
sprintf(buffer, "lib%s.so", fname);
} else {
sprintf(buffer, "%s/lib%s.so", pname, fname);
}
}
const char* os::get_current_directory(char *buf, int buflen) {
return getcwd(buf, buflen);
}
@ -2034,6 +2052,9 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen)
return NULL;
}
void* os::dll_lookup(void* handle, const char* name) {
return dlsym(handle, name);
}
bool _print_ascii_file(const char* filename, outputStream* st) {
@ -2658,6 +2679,12 @@ size_t os::numa_get_leaf_groups(int *ids, size_t size) {
top += r;
cur++;
}
if (bottom == 0) {
// Handle a situation, when the OS reports no memory available.
// Assume UMA architecture.
ids[0] = 0;
return 1;
}
return bottom;
}
@ -4581,7 +4608,7 @@ void os::Solaris::synchronization_init() {
}
void os::Solaris::liblgrp_init() {
void *handle = dlopen("liblgrp.so", RTLD_LAZY);
void *handle = dlopen("liblgrp.so.1", RTLD_LAZY);
if (handle != NULL) {
os::Solaris::set_lgrp_home(CAST_TO_FN_PTR(lgrp_home_func_t, dlsym(handle, "lgrp_home")));
os::Solaris::set_lgrp_init(CAST_TO_FN_PTR(lgrp_init_func_t, dlsym(handle, "lgrp_init")));

View File

@ -985,6 +985,28 @@ const char * os::get_temp_directory()
}
}
void os::dll_build_name(char *holder, size_t holderlen,
const char* pname, const char* fname)
{
// copied from libhpi
const size_t pnamelen = pname ? strlen(pname) : 0;
const char c = (pnamelen > 0) ? pname[pnamelen-1] : 0;
/* Quietly truncates on buffer overflow. Should be an error. */
if (pnamelen + strlen(fname) + 10 > holderlen) {
*holder = '\0';
return;
}
if (pnamelen == 0) {
sprintf(holder, "%s.dll", fname);
} else if (c == ':' || c == '\\') {
sprintf(holder, "%s%s.dll", pname, fname);
} else {
sprintf(holder, "%s\\%s.dll", pname, fname);
}
}
// Needs to be in os specific directory because windows requires another
// header file <direct.h>
const char* os::get_current_directory(char *buf, int buflen) {
@ -1248,6 +1270,10 @@ bool os::dll_address_to_function_name(address addr, char *buf,
return false;
}
void* os::dll_lookup(void* handle, const char* name) {
return GetProcAddress((HMODULE)handle, name);
}
// save the start and end address of jvm.dll into param[0] and param[1]
static int _locate_jvm_dll(int pid, char* mod_fname, address base_addr,
unsigned size, void * param) {
@ -1421,44 +1447,78 @@ void os::print_dll_info(outputStream *st) {
enumerate_modules(pid, _print_module, (void *)st);
}
// function pointer to Windows API "GetNativeSystemInfo".
typedef void (WINAPI *GetNativeSystemInfo_func_type)(LPSYSTEM_INFO);
static GetNativeSystemInfo_func_type _GetNativeSystemInfo;
void os::print_os_info(outputStream* st) {
st->print("OS:");
st->print("OS:");
OSVERSIONINFOEX osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
OSVERSIONINFOEX osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if (!GetVersionEx((OSVERSIONINFO *)&osvi)) {
st->print_cr("N/A");
return;
}
if (!GetVersionEx((OSVERSIONINFO *)&osvi)) {
st->print_cr("N/A");
return;
}
int os_vers = osvi.dwMajorVersion * 1000 + osvi.dwMinorVersion;
if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) {
switch (os_vers) {
case 3051: st->print(" Windows NT 3.51"); break;
case 4000: st->print(" Windows NT 4.0"); break;
case 5000: st->print(" Windows 2000"); break;
case 5001: st->print(" Windows XP"); break;
case 5002: st->print(" Windows Server 2003 family"); break;
case 6000: st->print(" Windows Vista"); break;
default: // future windows, print out its major and minor versions
st->print(" Windows NT %d.%d", osvi.dwMajorVersion, osvi.dwMinorVersion);
}
} else {
switch (os_vers) {
case 4000: st->print(" Windows 95"); break;
case 4010: st->print(" Windows 98"); break;
case 4090: st->print(" Windows Me"); break;
default: // future windows, print out its major and minor versions
st->print(" Windows %d.%d", osvi.dwMajorVersion, osvi.dwMinorVersion);
}
}
st->print(" Build %d", osvi.dwBuildNumber);
st->print(" %s", osvi.szCSDVersion); // service pack
st->cr();
int os_vers = osvi.dwMajorVersion * 1000 + osvi.dwMinorVersion;
if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) {
switch (os_vers) {
case 3051: st->print(" Windows NT 3.51"); break;
case 4000: st->print(" Windows NT 4.0"); break;
case 5000: st->print(" Windows 2000"); break;
case 5001: st->print(" Windows XP"); break;
case 5002:
case 6000: {
// Retrieve SYSTEM_INFO from GetNativeSystemInfo call so that we could
// find out whether we are running on 64 bit processor or not.
SYSTEM_INFO si;
ZeroMemory(&si, sizeof(SYSTEM_INFO));
// Check to see if _GetNativeSystemInfo has been initialized.
if (_GetNativeSystemInfo == NULL) {
HMODULE hKernel32 = GetModuleHandle(TEXT("kernel32.dll"));
_GetNativeSystemInfo =
CAST_TO_FN_PTR(GetNativeSystemInfo_func_type,
GetProcAddress(hKernel32,
"GetNativeSystemInfo"));
if (_GetNativeSystemInfo == NULL)
GetSystemInfo(&si);
} else {
_GetNativeSystemInfo(&si);
}
if (os_vers == 5002) {
if (osvi.wProductType == VER_NT_WORKSTATION &&
si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
st->print(" Windows XP x64 Edition");
else
st->print(" Windows Server 2003 family");
} else { // os_vers == 6000
if (osvi.wProductType == VER_NT_WORKSTATION)
st->print(" Windows Vista");
else
st->print(" Windows Server 2008");
if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
st->print(" , 64 bit");
}
break;
}
default: // future windows, print out its major and minor versions
st->print(" Windows NT %d.%d", osvi.dwMajorVersion, osvi.dwMinorVersion);
}
} else {
switch (os_vers) {
case 4000: st->print(" Windows 95"); break;
case 4010: st->print(" Windows 98"); break;
case 4090: st->print(" Windows Me"); break;
default: // future windows, print out its major and minor versions
st->print(" Windows %d.%d", osvi.dwMajorVersion, osvi.dwMinorVersion);
}
}
st->print(" Build %d", osvi.dwBuildNumber);
st->print(" %s", osvi.szCSDVersion); // service pack
st->cr();
}
void os::print_memory_info(outputStream* st) {

View File

@ -3825,6 +3825,8 @@ int MatchRule::is_expensive() const {
strcmp(opType,"ConvL2D")==0 ||
strcmp(opType,"ConvL2F")==0 ||
strcmp(opType,"ConvL2I")==0 ||
strcmp(opType,"DecodeN")==0 ||
strcmp(opType,"EncodeP")==0 ||
strcmp(opType,"RoundDouble")==0 ||
strcmp(opType,"RoundFloat")==0 ||
strcmp(opType,"ReverseBytesI")==0 ||

View File

@ -351,7 +351,7 @@ void ciBlock::set_exception_range(int start_bci, int limit_bci) {
}
#ifndef PRODUCT
static char *flagnames[] = {
static const char *flagnames[] = {
"Processed",
"Handler",
"MayThrow",

View File

@ -649,8 +649,8 @@ jlong java_lang_Thread::thread_id(oop java_thread) {
}
oop java_lang_Thread::park_blocker(oop java_thread) {
assert(JDK_Version::supports_thread_park_blocker() && _park_blocker_offset != 0,
"Must support parkBlocker field");
assert(JDK_Version::current().supports_thread_park_blocker() &&
_park_blocker_offset != 0, "Must support parkBlocker field");
if (_park_blocker_offset > 0) {
return java_thread->obj_field(_park_blocker_offset);

View File

@ -188,10 +188,6 @@ void OopMap::set_derived_oop(VMReg reg, VMReg derived_from_local_register ) {
}
}
void OopMap::set_stack_obj(VMReg reg) {
set_xxx(reg, OopMapValue::stack_obj, VMRegImpl::Bad());
}
// OopMapSet
OopMapSet::OopMapSet() {
@ -399,8 +395,7 @@ void OopMapSet::all_do(const frame *fr, const RegisterMap *reg_map,
if ( loc != NULL ) {
if ( omv.type() == OopMapValue::oop_value ) {
#ifdef ASSERT
if (COMPILER2_PRESENT(!DoEscapeAnalysis &&)
(((uintptr_t)loc & (sizeof(*loc)-1)) != 0) ||
if ((((uintptr_t)loc & (sizeof(*loc)-1)) != 0) ||
!Universe::heap()->is_in_or_null(*loc)) {
tty->print_cr("# Found non oop pointer. Dumping state at failure");
// try to dump out some helpful debugging information
@ -431,17 +426,6 @@ void OopMapSet::all_do(const frame *fr, const RegisterMap *reg_map,
}
}
}
#ifdef COMPILER2
if (DoEscapeAnalysis) {
for (OopMapStream oms(map, OopMapValue::stack_obj); !oms.is_done(); oms.next()) {
omv = oms.current();
assert(omv.is_stack_loc(), "should refer to stack location");
oop loc = (oop) fr->oopmapreg_to_location(omv.reg(),reg_map);
oop_fn->do_oop(&loc);
}
}
#endif // COMPILER2
}
@ -540,9 +524,6 @@ void print_register_type(OopMapValue::oop_types x, VMReg optional,
st->print("Derived_oop_" );
optional->print_on(st);
break;
case OopMapValue::stack_obj:
st->print("Stack");
break;
default:
ShouldNotReachHere();
}

View File

@ -46,7 +46,7 @@ private:
public:
// Constants
enum { type_bits = 6,
enum { type_bits = 5,
register_bits = BitsPerShort - type_bits };
enum { type_shift = 0,
@ -63,8 +63,7 @@ public:
value_value = 2,
narrowoop_value = 4,
callee_saved_value = 8,
derived_oop_value= 16,
stack_obj = 32 };
derived_oop_value= 16 };
// Constructors
OopMapValue () { set_value(0); set_content_reg(VMRegImpl::Bad()); }
@ -93,14 +92,12 @@ public:
bool is_narrowoop() { return mask_bits(value(), type_mask_in_place) == narrowoop_value; }
bool is_callee_saved() { return mask_bits(value(), type_mask_in_place) == callee_saved_value; }
bool is_derived_oop() { return mask_bits(value(), type_mask_in_place) == derived_oop_value; }
bool is_stack_obj() { return mask_bits(value(), type_mask_in_place) == stack_obj; }
void set_oop() { set_value((value() & register_mask_in_place) | oop_value); }
void set_value() { set_value((value() & register_mask_in_place) | value_value); }
void set_narrowoop() { set_value((value() & register_mask_in_place) | narrowoop_value); }
void set_callee_saved() { set_value((value() & register_mask_in_place) | callee_saved_value); }
void set_derived_oop() { set_value((value() & register_mask_in_place) | derived_oop_value); }
void set_stack_obj() { set_value((value() & register_mask_in_place) | stack_obj); }
VMReg reg() const { return VMRegImpl::as_VMReg(mask_bits(value(), register_mask_in_place) >> register_shift); }
oop_types type() const { return (oop_types)mask_bits(value(), type_mask_in_place); }
@ -180,7 +177,6 @@ class OopMap: public ResourceObj {
void set_dead ( VMReg local);
void set_callee_saved( VMReg local, VMReg caller_machine_register );
void set_derived_oop ( VMReg local, VMReg derived_from_local_register );
void set_stack_obj( VMReg local);
void set_xxx(VMReg reg, OopMapValue::oop_types x, VMReg optional);
int heap_size() const;

View File

@ -71,8 +71,15 @@ TreeList* TreeList::as_TreeList(TreeChunk* tc) {
TreeList* TreeList::as_TreeList(HeapWord* addr, size_t size) {
TreeChunk* tc = (TreeChunk*) addr;
assert(size >= sizeof(TreeChunk), "Chunk is too small for a TreeChunk");
assert(tc->size() == 0 && tc->prev() == NULL && tc->next() == NULL,
"Space should be clear");
// The space in the heap will have been mangled initially but
// is not remangled when a free chunk is returned to the free list
// (since it is used to maintain the chunk on the free list).
assert((ZapUnusedHeapArea &&
SpaceMangler::is_mangled((HeapWord*) tc->size_addr()) &&
SpaceMangler::is_mangled((HeapWord*) tc->prev_addr()) &&
SpaceMangler::is_mangled((HeapWord*) tc->next_addr())) ||
(tc->size() == 0 && tc->prev() == NULL && tc->next() == NULL),
"Space should be clear or mangled");
tc->setSize(size);
tc->linkPrev(NULL);
tc->linkNext(NULL);

View File

@ -54,7 +54,7 @@ CompactibleFreeListSpace::CompactibleFreeListSpace(BlockOffsetSharedArray* bs,
_collector(NULL)
{
_bt.set_space(this);
initialize(mr, true);
initialize(mr, SpaceDecorator::Clear, SpaceDecorator::Mangle);
// We have all of "mr", all of which we place in the dictionary
// as one big chunk. We'll need to decide here which of several
// possible alternative dictionary implementations to use. For

View File

@ -3195,31 +3195,16 @@ ConcurrentMarkSweepGeneration::expand_and_allocate(size_t word_size,
// YSR: All of this generation expansion/shrinking stuff is an exact copy of
// OneContigSpaceCardGeneration, which makes me wonder if we should move this
// to CardGeneration and share it...
bool ConcurrentMarkSweepGeneration::expand(size_t bytes, size_t expand_bytes) {
return CardGeneration::expand(bytes, expand_bytes);
}
void ConcurrentMarkSweepGeneration::expand(size_t bytes, size_t expand_bytes,
CMSExpansionCause::Cause cause)
{
assert_locked_or_safepoint(Heap_lock);
size_t aligned_bytes = ReservedSpace::page_align_size_up(bytes);
size_t aligned_expand_bytes = ReservedSpace::page_align_size_up(expand_bytes);
bool success = false;
if (aligned_expand_bytes > aligned_bytes) {
success = grow_by(aligned_expand_bytes);
}
if (!success) {
success = grow_by(aligned_bytes);
}
if (!success) {
size_t remaining_bytes = _virtual_space.uncommitted_size();
if (remaining_bytes > 0) {
success = grow_by(remaining_bytes);
}
}
if (GC_locker::is_active()) {
if (PrintGC && Verbose) {
gclog_or_tty->print_cr("Garbage collection disabled, expanded heap instead");
}
}
bool success = expand(bytes, expand_bytes);
// remember why we expanded; this information is used
// by shouldConcurrentCollect() when making decisions on whether to start
// a new CMS cycle.

View File

@ -1048,10 +1048,6 @@ class ConcurrentMarkSweepGeneration: public CardGeneration {
double _initiating_occupancy;
protected:
// Grow generation by specified size (returns false if unable to grow)
bool grow_by(size_t bytes);
// Grow generation to reserved size.
bool grow_to_reserved();
// Shrink generation by specified size (returns false if unable to shrink)
virtual void shrink_by(size_t bytes);
@ -1103,6 +1099,11 @@ class ConcurrentMarkSweepGeneration: public CardGeneration {
// Override
virtual void ref_processor_init();
// Grow generation by specified size (returns false if unable to grow)
bool grow_by(size_t bytes);
// Grow generation to reserved size.
bool grow_to_reserved();
void clear_expansion_cause() { _expansion_cause = CMSExpansionCause::_no_expansion; }
// Space enquiries
@ -1193,6 +1194,7 @@ class ConcurrentMarkSweepGeneration: public CardGeneration {
// Allocation failure
void expand(size_t bytes, size_t expand_bytes,
CMSExpansionCause::Cause cause);
virtual bool expand(size_t bytes, size_t expand_bytes);
void shrink(size_t bytes);
HeapWord* expand_and_par_lab_allocate(CMSParGCThreadState* ps, size_t word_sz);
bool expand_and_ensure_spooling_space(PromotionInfo* promo);

View File

@ -22,7 +22,6 @@
*
*/
// A FreeBlockDictionary is an abstract superclass that will allow
// a number of alternative implementations in the future.
class FreeBlockDictionary: public CHeapObj {

View File

@ -85,6 +85,8 @@ class FreeChunk VALUE_OBJ_CLASS_SPEC {
}
debug_only(void* prev_addr() const { return (void*)&_prev; })
debug_only(void* next_addr() const { return (void*)&_next; })
debug_only(void* size_addr() const { return (void*)&_size; })
size_t size() const volatile {
LP64_ONLY(if (UseCompressedOops) return mark()->get_size(); else )

View File

@ -28,6 +28,7 @@ binaryTreeDictionary.cpp allocationStats.hpp
binaryTreeDictionary.cpp binaryTreeDictionary.hpp
binaryTreeDictionary.cpp globals.hpp
binaryTreeDictionary.cpp ostream.hpp
binaryTreeDictionary.cpp spaceDecorator.hpp
binaryTreeDictionary.hpp freeBlockDictionary.hpp
binaryTreeDictionary.hpp freeList.hpp
@ -114,6 +115,7 @@ compactibleFreeListSpace.cpp java.hpp
compactibleFreeListSpace.cpp liveRange.hpp
compactibleFreeListSpace.cpp oop.inline.hpp
compactibleFreeListSpace.cpp resourceArea.hpp
compactibleFreeListSpace.cpp spaceDecorator.hpp
compactibleFreeListSpace.cpp universe.inline.hpp
compactibleFreeListSpace.cpp vmThread.hpp

View File

@ -22,16 +22,17 @@
//
//
asParNewGeneration.hpp adaptiveSizePolicy.hpp
asParNewGeneration.hpp parNewGeneration.hpp
asParNewGeneration.hpp adaptiveSizePolicy.hpp
asParNewGeneration.hpp parNewGeneration.hpp
asParNewGeneration.cpp asParNewGeneration.hpp
asParNewGeneration.cpp cmsAdaptiveSizePolicy.hpp
asParNewGeneration.cpp asParNewGeneration.hpp
asParNewGeneration.cpp cmsAdaptiveSizePolicy.hpp
asParNewGeneration.cpp cmsGCAdaptivePolicyCounters.hpp
asParNewGeneration.cpp defNewGeneration.inline.hpp
asParNewGeneration.cpp oop.pcgc.inline.hpp
asParNewGeneration.cpp parNewGeneration.hpp
asParNewGeneration.cpp defNewGeneration.inline.hpp
asParNewGeneration.cpp oop.pcgc.inline.hpp
asParNewGeneration.cpp parNewGeneration.hpp
asParNewGeneration.cpp referencePolicy.hpp
asParNewGeneration.cpp spaceDecorator.hpp
parCardTableModRefBS.cpp allocation.inline.hpp
parCardTableModRefBS.cpp cardTableModRefBS.hpp
@ -75,6 +76,7 @@ parNewGeneration.cpp referencePolicy.hpp
parNewGeneration.cpp resourceArea.hpp
parNewGeneration.cpp sharedHeap.hpp
parNewGeneration.cpp space.hpp
parNewGeneration.cpp spaceDecorator.hpp
parNewGeneration.cpp workgroup.hpp
parNewGeneration.hpp defNewGeneration.hpp

View File

@ -53,14 +53,15 @@ asPSOldGen.cpp java.hpp
asPSOldGen.cpp oop.inline.hpp
asPSOldGen.cpp parallelScavengeHeap.hpp
asPSOldGen.cpp psMarkSweepDecorator.hpp
asPSOldGen.cpp asPSOldGen.hpp
asPSOldGen.cpp asPSOldGen.hpp
asPSYoungGen.hpp generationCounters.hpp
asPSYoungGen.hpp mutableSpace.hpp
asPSYoungGen.hpp objectStartArray.hpp
asPSYoungGen.hpp spaceCounters.hpp
asPSYoungGen.hpp psVirtualspace.hpp
asPSYoungGen.hpp psYoungGen.hpp
asPSYoungGen.hpp psYoungGen.hpp
asPSYoungGen.hpp spaceDecorator.hpp
asPSYoungGen.cpp gcUtil.hpp
asPSYoungGen.cpp java.hpp
@ -68,8 +69,9 @@ asPSYoungGen.cpp oop.inline.hpp
asPSYoungGen.cpp parallelScavengeHeap.hpp
asPSYoungGen.cpp psMarkSweepDecorator.hpp
asPSYoungGen.cpp psScavenge.hpp
asPSYoungGen.cpp asPSYoungGen.hpp
asPSYoungGen.cpp psYoungGen.hpp
asPSYoungGen.cpp asPSYoungGen.hpp
asPSYoungGen.cpp psYoungGen.hpp
asPSYoungGen.cpp spaceDecorator.hpp
cardTableExtension.cpp cardTableExtension.hpp
cardTableExtension.cpp gcTaskManager.hpp
@ -225,6 +227,7 @@ psMarkSweep.cpp psYoungGen.hpp
psMarkSweep.cpp referencePolicy.hpp
psMarkSweep.cpp referenceProcessor.hpp
psMarkSweep.cpp safepoint.hpp
psMarkSweep.cpp spaceDecorator.hpp
psMarkSweep.cpp symbolTable.hpp
psMarkSweep.cpp systemDictionary.hpp
psMarkSweep.cpp vmThread.hpp
@ -239,6 +242,7 @@ psMarkSweepDecorator.cpp oop.inline.hpp
psMarkSweepDecorator.cpp parallelScavengeHeap.hpp
psMarkSweepDecorator.cpp psMarkSweep.hpp
psMarkSweepDecorator.cpp psMarkSweepDecorator.hpp
psMarkSweepDecorator.cpp spaceDecorator.hpp
psMarkSweepDecorator.cpp systemDictionary.hpp
psMarkSweepDecorator.hpp mutableSpace.hpp
@ -290,6 +294,7 @@ psOldGen.cpp oop.inline.hpp
psOldGen.cpp parallelScavengeHeap.hpp
psOldGen.cpp psMarkSweepDecorator.hpp
psOldGen.cpp psOldGen.hpp
psOldGen.cpp spaceDecorator.hpp
psOldGen.hpp psGenerationCounters.hpp
psOldGen.hpp mutableSpace.hpp
@ -351,6 +356,7 @@ psScavenge.cpp psTasks.hpp
psScavenge.cpp referencePolicy.hpp
psScavenge.cpp referenceProcessor.hpp
psScavenge.cpp resourceArea.hpp
psScavenge.cpp spaceDecorator.hpp
psScavenge.cpp threadCritical.hpp
psScavenge.cpp vmThread.hpp
psScavenge.cpp vm_operations.hpp
@ -409,8 +415,8 @@ psVirtualspace.hpp virtualspace.hpp
psVirtualspace.cpp os.hpp
psVirtualspace.cpp os_<os_family>.inline.hpp
psVirtualspace.cpp psVirtualspace.hpp
psVirtualspace.cpp virtualspace.hpp
psVirtualspace.cpp psVirtualspace.hpp
psVirtualspace.cpp virtualspace.hpp
psYoungGen.cpp gcUtil.hpp
psYoungGen.cpp java.hpp
@ -419,7 +425,8 @@ psYoungGen.cpp parallelScavengeHeap.hpp
psYoungGen.cpp psMarkSweepDecorator.hpp
psYoungGen.cpp psScavenge.hpp
psYoungGen.cpp psYoungGen.hpp
psYoungGen.cpp mutableNUMASpace.hpp
psYoungGen.cpp mutableNUMASpace.hpp
psYoungGen.cpp spaceDecorator.hpp
psYoungGen.hpp psGenerationCounters.hpp
psYoungGen.hpp mutableSpace.hpp

View File

@ -56,6 +56,7 @@ markSweep.inline.hpp psParallelCompact.hpp
mutableNUMASpace.cpp mutableNUMASpace.hpp
mutableNUMASpace.cpp oop.inline.hpp
mutableNUMASpace.cpp sharedHeap.hpp
mutableNUMASpace.cpp spaceDecorator.hpp
mutableNUMASpace.cpp thread_<os_family>.inline.hpp
mutableNUMASpace.hpp mutableSpace.hpp
@ -64,6 +65,7 @@ mutableNUMASpace.hpp gcUtil.hpp
mutableSpace.cpp mutableSpace.hpp
mutableSpace.cpp oop.inline.hpp
mutableSpace.cpp safepoint.hpp
mutableSpace.cpp spaceDecorator.hpp
mutableSpace.cpp thread.hpp
spaceCounters.cpp resourceArea.hpp

Some files were not shown because too many files have changed in this diff Show More