From: <dal...@us...> - 2010-11-17 01:04:35
|
Revision: 18982 http://jedit.svn.sourceforge.net/jedit/?rev=18982&view=rev Author: daleanson Date: 2010-11-17 01:04:29 +0000 (Wed, 17 Nov 2010) Log Message: ----------- Initial commit. Added Paths: ----------- plugins/Substance/trunk/SubstanceLookAndFeel.props plugins/Substance/trunk/build.xml plugins/Substance/trunk/description.html plugins/Substance/trunk/index.html plugins/Substance/trunk/lib/ plugins/Substance/trunk/lib/substance.jar plugins/Substance/trunk/lib/trident.jar plugins/Substance/trunk/lookandfeel/ plugins/Substance/trunk/lookandfeel/SubstanceLnfInstaller.java plugins/Substance/trunk/lookandfeel/SubstanceLookAndFeelPlugin.java plugins/Substance/trunk/services.xml Added: plugins/Substance/trunk/SubstanceLookAndFeel.props =================================================================== --- plugins/Substance/trunk/SubstanceLookAndFeel.props (rev 0) +++ plugins/Substance/trunk/SubstanceLookAndFeel.props 2010-11-17 01:04:29 UTC (rev 18982) @@ -0,0 +1,12 @@ +plugin.lookandfeel.SubstanceLookAndFeelPlugin.name=SubstanceLookAndFeel +plugin.lookandfeel.SubstanceLookAndFeelPlugin.author=Dale Anson +plugin.lookandfeel.SubstanceLookAndFeelPlugin.version=6.1 +plugin.lookandfeel.SubstanceLookAndFeelPlugin.docs=index.html +plugin.lookandfeel.SubstanceLookAndFeelPlugin.activate=defer +plugin.lookandfeel.SubstanceLookAndFeelPlugin.depend.0=jdk 1.6 +plugin.lookandfeel.SubstanceLookAndFeelPlugin.depend.1=jedit 04.03.99.00 +plugin.lookandfeel.SubstanceLookAndFeelPlugin.depend.2=plugin lookandfeel.LookAndFeelPlugin 1.5.0 +plugin.lookandfeel.SubstanceLookAndFeelPlugin.jars=substance.jar trident.jar +plugin.lookandfeel.SubstanceLookAndFeelPlugin.description=The Substance Look and Feel plugin provides the Substance Look and Feel to jEdit. + +substance.theme.label=Theme \ No newline at end of file Added: plugins/Substance/trunk/build.xml =================================================================== --- plugins/Substance/trunk/build.xml (rev 0) +++ plugins/Substance/trunk/build.xml 2010-11-17 01:04:29 UTC (rev 18982) @@ -0,0 +1,98 @@ +<?xml version="1.0"?> + +<!-- + + This is the standard build.xml file for building a jEdit plugin. + + The 'dist' target compiles the plugin, generates documentation, and creates + the JAR file. Before running the 'dist' target, you will need to choose + whether to generate the documentation using one of these two targets: + + - 'docs-xsltproc': Creates documentation using the xsltproc tool from + libxslt, available at http://xmlsoft.org/XSLT + - 'docs-xalan': Creates documentation using the Xalan XSLT processor, + available at http://xml.apache.org/ + + The default processor is xsltproc. You can change the processor to Xalan by + setting the 'docs-proc.target' property to xalan. This can be done on the + command line by adding '-Ddocs-proc.target=xalan' or in any of the + build.properties files that are imported. If you do not have any + documentation, set the 'build-docs.not-required' property to any value and + the 'docs' target will be skipped. + + To use this template for building your own plugin, make these changes: + + - Change 'name' property for the <project> to the name of your plugin + - Change definition of 'jedit.install.dir' to point to the directory + containing jedit.jar + - If necessary, add any dependencies to the 'project.class.path' definition + - If necessary, change the list of files in the 'dist' target + + All properties specified in this build.xml can be overridden by properties + file in the following locations: + + - ${base.dir}/build.properties : Specify properties that are to affect this + project only. + - ../build.properties : If building from CVS, this file comes in handy + because it allows you to specify properties that affect all plugins. + - ${user.home}/.build.properties : Allows you to specify global properties + that are to be shared across all Ant projects. This file is hidden by + unix file standard. + - ${user.home}/.build.properties : Allows you to specify global properties + that are to be shared across all Ant projects. + + When the same property is specified across the different properties file, + the following precendence order applies - ${base.dir}/bulid.properties -> + ../build.properties -> ${user.home}/.build.properties -> + ${user.home}/build.properties. + +--> + +<project name="SubstanceLookAndFeel" default="build" basedir="."> + <!-- Properties --> + <property file="build.properties"/> + <property file="../build.properties"/> + <property file="${user.home}/.build.properties"/> + <property file="${user.home}/build.properties"/> + <property name="src.dir" value="lookandfeel"/> + + <import file="${build.support}/plugin-build.xml" /> + + <property name="build.dir" value="build"/> + <property name="lib.dir" value="lib"/> + + <!-- Patterns --> + <!-- + Put patterns here that should be included in the plugin jar from + the source directory. + --> + <selector id="extraFiles"> + <and> + <or> + <filename name="**/services.xml" /> + <filename name="**/*.props" /> + <filename name="**/index.html"/> + </or> + </and> + </selector> + <fileset dir="${lib.dir}" id="libraries"> + <patternset> + <include name="*.jar"/> + </patternset> + </fileset> + + <!-- Paths --> + <path id="project.class.path"> + <pathelement location="${jedit.install.dir}/jedit.jar"/> + <pathelement location="${install.dir}/LookAndFeel.jar"/> + <fileset refid="libraries" /> + <pathelement location="${src.dir}"/> + </path> + + <target name="build.post"> + <copy todir="${install.dir}"> + <fileset refid="libraries" /> + </copy> + </target> + +</project> Added: plugins/Substance/trunk/description.html =================================================================== --- plugins/Substance/trunk/description.html (rev 0) +++ plugins/Substance/trunk/description.html 2010-11-17 01:04:29 UTC (rev 18982) @@ -0,0 +1,6 @@ +<html> +<body> +The Substance Look and Feel plugin provides the Substance Look and Feel +to jEdit. +</body> +</html> Added: plugins/Substance/trunk/index.html =================================================================== --- plugins/Substance/trunk/index.html (rev 0) +++ plugins/Substance/trunk/index.html 2010-11-17 01:04:29 UTC (rev 18982) @@ -0,0 +1,46 @@ +<html> +<body> + <h2>Substance Look and Feel</h2> + <p> + This plugin provides the Substance Look and Feel to jEdit. + </p> + <p> + The website for Substance is + <a href="https://substance.dev.java.net/">https://substance.dev.java.net/</a>. + </p> + <h3>License</h3> + <p> + Substance has a BSD license: + </p> + <p> + <pre> +Copyright (c) 2005-2008 Substance, Kirill Grouchnikov. + +All Rights Reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the names of Kirill Grouchnikov nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + </pre> + </p> +</body> +</html> \ No newline at end of file Added: plugins/Substance/trunk/lib/substance.jar =================================================================== (Binary files differ) Property changes on: plugins/Substance/trunk/lib/substance.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: plugins/Substance/trunk/lib/trident.jar =================================================================== (Binary files differ) Property changes on: plugins/Substance/trunk/lib/trident.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: plugins/Substance/trunk/lookandfeel/SubstanceLnfInstaller.java =================================================================== --- plugins/Substance/trunk/lookandfeel/SubstanceLnfInstaller.java (rev 0) +++ plugins/Substance/trunk/lookandfeel/SubstanceLnfInstaller.java 2010-11-17 01:04:29 UTC (rev 18982) @@ -0,0 +1,119 @@ +package lookandfeel; + +import javax.swing.*; +import org.gjt.sp.jedit.AbstractOptionPane; +import org.gjt.sp.jedit.jEdit; + +public class SubstanceLnfInstaller implements LookAndFeelInstaller { + + public final static String SUBSTANCE_THEME_PROP = "substance.theme"; + + private static final String[] themeNames = { + "Autumn", + "Business", + "BusinessBlackSteel", + "BusinessBlueSteel", + "ChallengerDeep", + "Creme", + "CremeCoffee", + "Dust", + "DustCoffee", + "EmeraldDusk", + "Gemini", + "Graphite", + "GraphiteAqua", + "GraphiteGlassLookAndFeel", + "Magellan", + //"Magma", // removed in 6.0 + "Mariner", // added in 6.1 + "MistAqua", + "MistSilver", + "Moderate", + "Nebula", + "NebulaBrickWall", + "OfficeBlack2007", // added in 6.1 + "OfficeBlue2007", + "OfficeSilver2007", + "Raven", + //"RavenGraphite", // removed in 6.0 + //"RavenGraphiteGlass", // removed in 6.0 + "Sahara", + "Twilight" + }; + + public String getName() { + return "Substance"; + } + + public void install() throws UnsupportedLookAndFeelException { + String theme = jEdit.getProperty( SUBSTANCE_THEME_PROP ); + if ( theme == null ) { + theme = "Business"; + } + + try { + Class c = Class.forName( "org.pushingpixels.substance.api.skin.Substance" + theme + "LookAndFeel" ); + UIManager.setLookAndFeel( (javax.swing.LookAndFeel)c.newInstance() ); + UIManager.put( "ClassLoader", c.getClassLoader() ); + } + catch(Exception e) { + throw new UnsupportedLookAndFeelException(e.getMessage()); + } + } + + /** + * Returns a component used to configure the look and feel. + */ + public AbstractOptionPane getOptionPane() { + return new OptionComponent(); + } + + /** + * The configuration component. + */ + class OptionComponent extends AbstractOptionPane { + JComboBox theme_choices; + + /** + * Create a new <code>OptionComponent</code>. + */ + public OptionComponent() { + super( "Substance" ); + init(); + } + + /** + * Layout this component. + */ + public void _init() { + theme_choices = new JComboBox( themeNames ); + theme_choices.setEditable( false ); + addComponent( jEdit.getProperty( SUBSTANCE_THEME_PROP + ".label", "Theme" ), theme_choices ); + + String theme = jEdit.getProperty( SUBSTANCE_THEME_PROP ); + if ( theme == null ) { + theme = "Business"; + } + theme_choices.setSelectedItem( theme ); + } + + /** + * Save this configuration. + */ + public void _save() { + String theme_setting = ( String ) theme_choices.getSelectedItem(); + if ( theme_setting == null ) { + jEdit.unsetProperty( SUBSTANCE_THEME_PROP ); + } + else { + jEdit.setProperty( SUBSTANCE_THEME_PROP, theme_setting ); + } + try { + SubstanceLnfInstaller.this.install(); + } + catch ( Exception e ) { + e.printStackTrace(); + } + } + } +} \ No newline at end of file Added: plugins/Substance/trunk/lookandfeel/SubstanceLookAndFeelPlugin.java =================================================================== --- plugins/Substance/trunk/lookandfeel/SubstanceLookAndFeelPlugin.java (rev 0) +++ plugins/Substance/trunk/lookandfeel/SubstanceLookAndFeelPlugin.java 2010-11-17 01:04:29 UTC (rev 18982) @@ -0,0 +1,7 @@ +package lookandfeel; + +import org.gjt.sp.jedit.EditPlugin; + +public class SubstanceLookAndFeelPlugin extends EditPlugin { + +} \ No newline at end of file Added: plugins/Substance/trunk/services.xml =================================================================== --- plugins/Substance/trunk/services.xml (rev 0) +++ plugins/Substance/trunk/services.xml 2010-11-17 01:04:29 UTC (rev 18982) @@ -0,0 +1,7 @@ +<?xml version="1.0"?> +<!DOCTYPE SERVICES SYSTEM "services.dtd"> +<SERVICES> + <SERVICE CLASS="lookandfeel.LookAndFeelInstaller" NAME="Substance"> + new lookandfeel.SubstanceLnfInstaller(); + </SERVICE> +</SERVICES> Property changes on: plugins/Substance/trunk/services.xml ___________________________________________________________________ Added: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |