Giancarlo Panichi 9 years ago
parent f77cd9c810
commit c5a526e535

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry including="**/*.java" kind="src" output="target/classes" path="src">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>accounting-manager-theme</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
</projectDescription>

@ -0,0 +1,3 @@
eclipse.preferences.version=1
entryPointModules=com.sencha.gxt.theme.neptune.Theme
filesCopiedToWebInfLib=

@ -0,0 +1,3 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
encoding/src=UTF-8

@ -0,0 +1,12 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.7

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="accounting-manager-theme">
<wb-resource deploy-path="/" source-path="/src"/>
</wb-module>
</project-modules>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<installed facet="java" version="1.7"/>
<installed facet="jst.utility" version="1.0"/>
</faceted-project>

@ -0,0 +1,2 @@
disabled=06target
eclipse.preferences.version=1

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<Resource>
<ID></ID>
<Type>Library</Type>
<Profile>
<Description>accounting-manager-theme is the theme of accounting-manager</Description>
<Class>PortletsAdmin</Class>
<Name>accounting-manager-theme</Name>
<Version>0.0.1-SNAPSHOT</Version>
<Packages>
<Software>
<Description>accounting-manager-theme is the theme of accounting-manager</Description>
<Name>accounting-manager-theme</Name>
<Version>0.0.1-SNAPSHOT</Version>
<MavenCoordinates>
<groupId>org.gcube.portlets.admin</groupId>
<artifactId>accounting-manager-theme</artifactId>
<version>0.0.1-SNAPSHOT</version>
</MavenCoordinates>
<Type>webapplication</Type>
<Files>
<File>accounting-manager-theme-0.0.1-SNAPSHOT.jar</File>
</Files>
</Software>
</Packages>
</Profile>
</Resource>

@ -0,0 +1,6 @@
gCube System - License
------------------------------------------------------------
The gCube/gCore software is licensed as Free Open Source software conveying to the EUPL (http://ec.europa.eu/idabc/eupl).
The software and documentation is provided by its authors/distributors "as is" and no expressed or
implied warranty is given for its use, quality or fitness for a particular case.

@ -0,0 +1 @@
Giancarlo Panichi (giancarlo.panichi@isti.cnr.it), CNR Pisa, Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo"

@ -0,0 +1,48 @@
The gCube System - accounting-manager-theme
------------------------------------------------------------
This work has been supported by the following European projects: iMarine (FP7-INFRASTRUCTURES-2011-2)
Authors
-------
Giancarlo Panichi (giancarlo.panichi@isti.cnr.it), CNR Pisa,
Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo"
Version and Release Date
------------------------
v. 0.0.1-SNAPSHOT (2015-04-30)
Description
-----------
accounting-manager-theme is the theme of accounting-manager
Download information
--------------------
Source code is available from SVN:
https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/admin/accounting-manager-theme
Binaries can be downloaded from:
http://software.d4science.research-infrastructures.eu/
Documentation
-------------
accounting-manager-theme is the theme of accounting-manager
Documentation is available on-line from the Projects Documentation Wiki:
https://gcube.wiki.gcube-system.org/gcube/index.php/Accounting_Manager
Licensing
---------
This software is licensed under the terms you may find in the file named "LICENSE" in this directory.

@ -0,0 +1,5 @@
<ReleaseNotes>
<Changeset component="org.gcube.portlets.admin.accounting-manager-theme.0-0-1" date="2015-09-01">
<Change>First Release</Change>
</Changeset>
</ReleaseNotes>

@ -0,0 +1 @@
https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/admin/accounting-manager-theme

@ -0,0 +1,201 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>maven-parent</artifactId>
<groupId>org.gcube.tools</groupId>
<version>1.0.0</version>
<relativePath />
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.gcube.portlets.admin</groupId>
<artifactId>accounting-manager-theme</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>accounting-manager-theme</name>
<description>accounting-manager-theme is the theme of accounting-manager</description>
<scm>
<url>https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/admin/accounting-manager-theme</url>
</scm>
<developers>
<developer>
<name>Giancarlo Panichi</name>
<email>g.panichi@isti.cnr.it</email>
<organization>CNR Pisa, Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo"</organization>
<roles>
<role>architect</role>
<role>developer</role>
</roles>
</developer>
</developers>
<properties>
<distroDirectory>${project.basedir}/distro</distroDirectory>
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
<release.date>2015-04-30</release.date>
<wikiurl>https://gcube.wiki.gcube-system.org/gcube/index.php/Accounting_Manager</wikiurl>
<templatesDirectory>templates</templatesDirectory>
<distroDirectory>distro</distroDirectory>
<configDirectory>config</configDirectory>
<KEYS>${env.KEYS}</KEYS>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- GWT configuration -->
<gwtVersion>2.6.1</gwtVersion>
<gwtLogVersion>3.3.2</gwtLogVersion>
<gxtVersion>3.1.1</gxtVersion>
<gxt2Version>2.6.1</gxt2Version>
</properties>
<dependencies>
<!-- GWT -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwtVersion}</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>${gwtVersion}</version>
</dependency>
<!-- GXT 3 -->
<dependency>
<groupId>com.sencha.gxt</groupId>
<artifactId>gxt</artifactId>
<version>${gxtVersion}</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<!-- Maven -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-profile</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${configDirectory}</outputDirectory>
<resources>
<resource>
<directory>${templatesDirectory}</directory>
<includes>
<include>profile.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-distro-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${distroDirectory}</outputDirectory>
<resources>
<resource>
<directory>${templatesDirectory}</directory>
<excludes>
<exclude>profile.xml</exclude>
<exclude>descriptor.xml</exclude>
</excludes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<configuration>
<filesets>
<fileset>
<directory>${distroDirectory}</directory>
<includes>
<include>**</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
<fileset>
<directory>${configDirectory}</directory>
<includes>
<include>**</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<configuration>
<descriptors>
<descriptor>${templatesDirectory}/descriptor.xml</descriptor>
</descriptors>
<finalName>${project.build.finalName}</finalName>
</configuration>
<executions>
<execution>
<id>servicearchive</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

@ -0,0 +1,505 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Sencha GXT 3.1.1 - Sencha for GWT
Copyright(c) 2007-2014, Sencha, Inc.
licensing@sencha.com
http://www.sencha.com/products/gxt/license/
-->
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.0//EN"
"http://google-web-toolkit.googlecode.com/svn/tags/2.5.0/distro-source/core/src/gwt-module.dtd">
<module>
<inherits name="com.sencha.gxt.themebuilder.base.ThemeBase" />
<extend-property name="gxt.theme" values="neptune" />
<set-property name="gxt.theme" value="neptune" />
<!-- Constants decl - generated instance used to build theme -->
<replace-with class="com.sencha.gxt.theme.neptune.client.ThemeDetailsImpl">
<when-type-is class="com.sencha.gxt.theme.neptune.client.ThemeDetails"/>
</replace-with>
<!-- Shared appearances that are both for css3 and sliced -->
<!-- Contains constants and reusable css classes -->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.Css3ThemeAppearance">
<when-type-is class="com.sencha.gxt.core.client.resources.ThemeStyles.ThemeAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- Buttons -->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.button.Css3ButtonCellAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.ButtonCell.ButtonCellAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.button.SlicedButtonCellAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.ButtonCell.ButtonCellAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.button.Css3ButtonGroupAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.button.ButtonGroup.ButtonGroupAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- Tool icons, currently generated at compile time for css3 and sliced alike -->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.tools.Css3Tools">
<when-type-is class="com.sencha.gxt.widget.core.client.button.Tools"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- PagingToolbar appearance only deals with icons, generated at compile time -->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.toolbar.Css3PagingToolBarAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.toolbar.PagingToolBar.PagingToolBarAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- BorderLayoutContainer presently has no styles that need css3 to achieve -->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.container.Css3BorderLayoutAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.container.Css3AccordionLayoutAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.container.AccordionLayoutContainer.AccordionLayoutAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.container.SlicedAccordionLayoutAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.container.AccordionLayoutContainer.AccordionLayoutAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- CollapsePanel presently has no styles that need css3 to achieve -->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.widget.Css3CollapsePanelAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.CollapsePanel.CollapsePanelAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.container.Css3HBoxLayoutContainerAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer.HBoxLayoutContainerAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- SplitBar presently has no styles that need css3 to achieve -->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.widget.Css3SplitBarAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.SplitBar.SplitBarAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- FieldSet doesn't use any features that really need css3 -->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.fieldset.Css3FieldSetAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.form.FieldSet.FieldSetAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- StatusBox -->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.status.Css3StatusAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.Status.StatusAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.status.Css3BoxStatusAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.Status.BoxStatusAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- Appearances that are defined for either css3 or sliced -->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.tabs.Css3TabPanelAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.TabPanel.TabPanelAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.tabs.SlicedTabPanelAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.TabPanel.TabPanelAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.tabs.Css3PlainTabPanelAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.PlainTabPanel.PlainTabPanelAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.tabs.SlicedPlainTabPanelAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.PlainTabPanel.PlainTabPanelAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.tabs.Css3PlainTabPanelBottomAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.PlainTabPanel.PlainTabPanelBottomAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.tabs.SlicedPlainTabPanelBottomAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.PlainTabPanel.PlainTabPanelBottomAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.tabs.Css3TabPanelBottomAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.TabPanel.TabPanelBottomAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.tabs.SlicedTabPanelBottomAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.TabPanel.TabPanelBottomAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.toolbar.Css3ToolBarAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.toolbar.ToolBar.ToolBarAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.toolbar.SlicedToolBarAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.toolbar.ToolBar.ToolBarAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.toolbar.Css3SeparatorToolItemAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.toolbar.SeparatorToolItem.SeparatorToolItemAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.toolbar.SlicedSeparatorToolItemAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.toolbar.SeparatorToolItem.SeparatorToolItemAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.toolbar.Css3LabelToolItemAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.toolbar.LabelToolItem.LabelToolItemAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.panel.Css3ContentPanelAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.ContentPanel.ContentPanelAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.panel.SlicedContentPanelAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.ContentPanel.ContentPanelAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.panel.Css3FramedPanelAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.FramedPanel.FramedPanelAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.panel.SlicedFramedPanelAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.FramedPanel.FramedPanelAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.info.Css3InfoAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.info.Info.InfoAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.info.SlicedInfoAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.info.Info.InfoAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.info.Css3DefaultInfoConfigAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.info.DefaultInfoConfig.DefaultInfoConfigAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.window.Css3WindowAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.Window.WindowAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.window.SlicedWindowAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.Window.WindowAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.tips.Css3TipAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.tips.Tip.TipAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.tips.SlicedTipAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.tips.Tip.TipAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune"/>
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.field.Css3DualListFieldAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.form.DualListField.DualListFieldAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.field.SlicedDualListFieldAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.form.DualListField.DualListFieldAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.field.Css3ErrorTipAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.form.error.SideErrorHandler.SideErrorTooltipAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.field.SlicedErrorTipAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.form.error.SideErrorHandler.SideErrorTooltipAppearance"/>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune"/>
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.field.Css3TextFieldAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.form.TextInputCell.TextFieldAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.field.Css3TextAreaAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.form.TextAreaInputCell.TextAreaAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.field.Css3TriggerFieldAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.form.TriggerFieldCell.TriggerFieldAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.field.Css3TwinTriggerFieldAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.form.TwinTriggerFieldCell.TwinTriggerFieldAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.field.Css3DateCellAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.form.DateCell.DateCellAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.field.Css3SpinnerFieldAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.form.SpinnerFieldCell.SpinnerFieldAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.field.Css3StoreFilterFieldAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.form.StoreFilterField.StoreFilterFieldAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.field.Css3SideErrorResourcesAdapter">
<when-type-is class="com.sencha.gxt.widget.core.client.form.error.SideErrorHandler.SideErrorResources" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.grid.Css3ColumnHeaderAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.ColumnHeader.ColumnHeaderAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.grid.SlicedColumnHeaderAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.ColumnHeader.ColumnHeaderAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.grid.Css3GridAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.GridView.GridAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- <replace-with class="com.sencha.gxt.theme.neptune.client.sliced.grid.SlicedGridAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.GridView.GridAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>-->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.grid.Css3CheckBoxColumnAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.CheckBoxSelectionModel.CheckBoxColumnAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- <replace-with class="com.sencha.gxt.theme.neptune.client.sliced.grid.SlicedCheckBoxColumnAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.CheckBoxSelectionModel.CheckBoxColumnAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>-->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.grid.Css3RowNumbererAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.RowNumberer.RowNumbererAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<!-- <replace-with class="com.sencha.gxt.theme.neptune.client.sliced.grid.SlicedRowNumbererAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.RowNumberer.RowNumbererAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>-->
<replace-with class="com.sencha.gxt.theme.neptune.client.base.grid.Css3RowExpanderAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.RowExpander.RowExpanderAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.grid.Css3RowEditorAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.editing.GridRowEditing.RowEditorAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.grid.Css3GroupingViewAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.GroupingView.GroupingViewAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.grid.Css3GroupSummaryViewAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.grid.GroupSummaryView.GroupSummaryViewAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.slider.Css3HorizontalSliderAppearance">
<any>
<when-type-is class="com.sencha.gxt.cell.core.client.SliderCell.SliderAppearance" />
<when-type-is class="com.sencha.gxt.cell.core.client.SliderCell.HorizontalSliderAppearance" />
</any>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.field.SlicedHorizontalSliderAppearance">
<any>
<when-type-is class="com.sencha.gxt.cell.core.client.SliderCell.SliderAppearance" />
<when-type-is class="com.sencha.gxt.cell.core.client.SliderCell.HorizontalSliderAppearance" />
</any>
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.slider.Css3VerticalSliderAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.SliderCell.VerticalSliderAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.field.SlicedVerticalSliderAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.SliderCell.VerticalSliderAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.menu.Css3MenuAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.Menu.MenuAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.menu.SlicedMenuAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.Menu.MenuAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.menu.Css3MenuItemAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.MenuItem.MenuItemAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.menu.SlicedMenuItemAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.MenuItem.MenuItemAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.menu.Css3CheckMenuItemAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.CheckMenuItem.CheckMenuItemAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.menu.SlicedCheckMenuItemAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.CheckMenuItem.CheckMenuItemAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.menu.Css3MenuBarItemAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.MenuBarItem.MenuBarItemAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.menu.SlicedMenuBarItemAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.MenuBarItem.MenuBarItemAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.menu.Css3MenuBarAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.MenuBar.MenuBarAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.menu.SlicedMenuBarAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.MenuBar.MenuBarAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.menu.Css3SeparatorMenuItemAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.SeparatorMenuItem.SeparatorMenuItemAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.menu.Css3HeaderMenuItemAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.menu.HeaderMenuItem.HeaderMenuItemAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.listview.Css3ListViewAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.ListView.ListViewAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.listview.SlicedListViewAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.ListView.ListViewAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.mask.Css3MaskAppearance">
<when-type-is class="com.sencha.gxt.core.client.dom.Mask.MaskAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.mask.SlicedMaskAppearance">
<when-type-is class="com.sencha.gxt.core.client.dom.Mask.MaskAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.tree.Css3TreeAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.tree.Tree.TreeAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.progressbar.Css3ProgressBarAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.ProgressBarCell.ProgressBarAppearance" />
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.sliced.progressbar.SlicedProgressBarAppearance">
<when-type-is class="com.sencha.gxt.cell.core.client.ProgressBarCell.ProgressBarAppearance" />
<when-property-is name="gxt.css3.enabled" value="false"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.widget.Css3DatePickerAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.DatePicker.DatePickerAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.field.Css3FieldLabelAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.form.FieldLabel.FieldLabelAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.statusproxy.Css3StatusProxyAppearance">
<when-type-is class="com.sencha.gxt.dnd.core.client.StatusProxy.StatusProxyAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.colorpalette.Css3ColorPaletteAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.ColorPaletteCell.ColorPaletteAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
<replace-with class="com.sencha.gxt.theme.neptune.client.base.container.Css3MessageBoxAppearance">
<when-type-is class="com.sencha.gxt.widget.core.client.box.MessageBox.MessageBoxAppearance"/>
<when-property-is name="gxt.theme" value="neptune" />
</replace-with>
</module>

@ -0,0 +1,41 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface AccordionLayoutDetails extends PanelDetails {
@Override
@TypeDetails(sampleValue = "#ffffff", comment = "background color for the panel body")
String backgroundColor();
@Override
@TypeDetails(sampleValue = "util.padding(0)", comment = "entire panel padding")
EdgeDetails padding();
@Override
@TypeDetails(sampleValue = "util.padding(10)", comment = "header padding")
EdgeDetails headerPadding();
@Override
@TypeDetails(sampleValue = "#ccffff", comment = "background color to fill behind the header gradient")
String headerBackgroundColor();
@Override
@TypeDetails(sampleValue = "#ccffff, #ccffff", comment = "header gradient string")
String headerGradient();
@Override
@TypeDetails(sampleValue = "util.border('solid', '#000000', 1)", comment = "border around the contentpanel")
BorderDetails border();
@Override
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium')", comment = "panel heading text style")
FontDetails font();
}

@ -0,0 +1,22 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.DetailTemplate;
/**
*
*/
public interface BorderDetails extends EdgeDetails {
String style();
String color();
@Override
@DetailTemplate("{top}px {right}px {bottom}px {left}px")
public String toString();
}

@ -0,0 +1,18 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface BorderLayoutDetails {
@TypeDetails(sampleValue = "#DFEAF2", comment = "background for the borderlayoutcontainer, visible in margins and collapsed regions")
String panelBackgroundColor();
@TypeDetails(sampleValue = "util.border('solid', '#DFEAF2', 1)", comment = "border styling for a non-mini collapsed region")
BorderDetails collapsePanelBorder();
}

@ -0,0 +1,58 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface ButtonDetails {
@TypeDetails(sampleValue = "#ffffff", comment = "Color of the menu arrow")
String arrowColor();
@TypeDetails(sampleValue = "util.border('solid', '#c4c7c7', 1)", comment = "the buttons border")
BorderDetails border();
@TypeDetails(sampleValue = "3", comment = "border radius of the button")
int borderRadius();
@TypeDetails(sampleValue = "util.radiusMinusBorderWidth(border, borderRadius)", comment = "helper for leftover space in css3 versus sliced images")
EdgeDetails radiusMinusBorderWidth();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','12px','#FFFFFF')", comment = "the buttons text")
FontDetails font();
@TypeDetails(sampleValue = "#f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%", comment = "the normal state gradient")
String gradient();
@TypeDetails(sampleValue = "16", comment = "the large font size")
String largeFontSize();
@TypeDetails(sampleValue = "32", comment = "the large line height")
String largeLineHeight();
@TypeDetails(sampleValue = "14", comment = "the medium font size")
String mediumFontSize();
@TypeDetails(sampleValue = "24", comment = "the medium line height")
String mediumLineHeight();
@TypeDetails(sampleValue = "#4792C8, #3386C2 50%, #307FB8 51%, #3386C2", comment = "the mouseover state gradient")
String overGradient();
@TypeDetails(sampleValue = "util.padding(3)", comment = "the button's padding")
EdgeDetails padding();
@TypeDetails(sampleValue = "#2A6D9E, #276796 50%, #2A6D9E 51%, #3F7BA7", comment = "the pressed state gradient")
String pressedGradient();
@TypeDetails(sampleValue = "12", comment = "the small font size")
String smallFontSize();
@TypeDetails(sampleValue = "18", comment = "the small line height")
String smallLineHeight();
}

@ -0,0 +1,34 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface ButtonGroupDetails {
@TypeDetails(sampleValue = "#FFFFFF", comment = "the body background color")
String bodyBackgroundColor();
@TypeDetails(sampleValue = "util.padding(4)", comment = "the group's body padding")
EdgeDetails bodyPadding();
@TypeDetails(sampleValue = "util.border('solid', '#dfeaf2', 3)", comment = "the groups border")
BorderDetails border();
@TypeDetails(sampleValue = "3", comment = "border radius of the button group")
int borderRadius();
@TypeDetails(sampleValue = "util.fontStyle('helvetica, arial, verdana, sans-serif','13px','#666666')", comment = "the groups text")
FontDetails font();
@TypeDetails(sampleValue = "#1bbcca 0%, #31c2cf 50%, #5fd0d9 51%, #31c2cf", comment = "the header gradient")
String headerGradient();
@TypeDetails(sampleValue = "util.padding(2)", comment = "the group's header padding")
EdgeDetails headerPadding();
}

@ -0,0 +1,30 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface ColorPaletteDetails {
@TypeDetails(sampleValue = "14", comment = "height and width of each color swatch")
int itemSize();
@TypeDetails(sampleValue = "util.padding(3)", comment = "padding between each color swatch")
EdgeDetails itemPadding();
@TypeDetails(sampleValue = "#ffffff", comment = "background color behind all of the items")
String backgroundColor();
@TypeDetails(sampleValue = "util.border('solid', '#e1e1e1', 1)", comment = "border around each color swatch")
BorderDetails itemBorder();
@TypeDetails(sampleValue = "#e6e6e6", comment = "background to surround a selected or hovered color swatch")
String selectedBackgroundColor();
@TypeDetails(sampleValue = "util.border('solid', '#666666', 1)", comment = "border to draw around a selected or hovered color swatch")
BorderDetails selectedBorder();
}

@ -0,0 +1,107 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
/**
*
*/
public interface DatePickerDetails {
@TypeDetails(sampleValue = "util.border('solid', '#000000', 1)", comment = "DatePicker border")
BorderDetails border();
@TypeDetails(sampleValue = "#ffffff", comment = "DatePicker background color")
String backgroundColor();
@TypeDetails(sampleValue = "util.padding(8,6)", comment = "padding in the header")
EdgeDetails headerPadding();
@TypeDetails(sampleValue = "#f5f5f5", comment = "header background color")
String headerBackgroundColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', '12px', '#000000')", comment = "header font styling")
FontDetails headerText();
@TypeDetails(sampleValue = "util.padding(5)", comment = "header text padding")
EdgeDetails headerTextPadding();
@TypeDetails(sampleValue = "#ffffff", comment = "day of week header background color")
String dayOfWeekBackgroundColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', '12px', '#000000')", comment = "day of week header font style")
FontDetails dayOfWeekText();
@TypeDetails(sampleValue = "24px", comment = "day of week header line height")
String dayOfWeekLineHeight();
@TypeDetails(sampleValue = "util.padding(5)", comment = "day of week header padding")
EdgeDetails dayOfWeekPadding();
@TypeDetails(sampleValue = "util.border('solid', '#ffffff', 1)", comment = "day border")
BorderDetails dayBorder();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', '12px', '#000000')", comment = "day font style")
FontDetails dayText();
@TypeDetails(sampleValue = "24px", comment = "day line height")
String dayLineHeight();
@TypeDetails(sampleValue = "util.padding(5)", comment = "day padding")
EdgeDetails dayPadding();
@TypeDetails(sampleValue = "#e8e8e8", comment = "disabled day background color")
String dayDisabledBackgroundColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', '12px', '#000000')", comment = "disabled day font style")
FontDetails dayDisabledText();
@TypeDetails(sampleValue = "#ffffff", comment = "next month day background color")
String dayNextBackgroundColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', '12px', '#000000')", comment = "next month day font style")
FontDetails dayNextText();
@TypeDetails(sampleValue = "#ffffff", comment = "previous month day background color")
String dayPreviousBackgroundColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', '12px', '#000000')", comment = "previous month day font style")
FontDetails dayPreviousText();
@TypeDetails(sampleValue = "#000000", comment = "over text color")
String itemOverColor();
@TypeDetails(sampleValue = "#d6e8f6", comment = "over background color")
String itemOverBackgroundColor();
@TypeDetails(sampleValue = "util.border('solid', '#0000ff', 1)", comment = "selected item border")
BorderDetails itemSelectedBorder();
@TypeDetails(sampleValue = "#d6e8f6", comment = "selected item background color")
String itemSelectedBackgroundColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', '12px', '#000000')", comment = "selected item font style")
FontDetails itemSelectedText();
@TypeDetails(sampleValue = "util.border('solid', '#ff0000', 1)", comment = "current date border")
BorderDetails todayBorder();
@TypeDetails(sampleValue = "util.padding(5)", comment = "footer padding")
EdgeDetails footerPadding();
@TypeDetails(sampleValue = "#e1e1e1", comment = "footer background color")
String footerBackgroundColor();
@TypeDetails(sampleValue = "util.margin(0, 3)", comment = "button margins")
EdgeDetails buttonMargin();
@TypeDetails(sampleValue = "212px", comment = "width of the DatePicker widget")
String width();
}

@ -0,0 +1,25 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.DetailTemplate;
/**
*
*/
public interface EdgeDetails {
int top();
int right();
int bottom();
int left();
@Override
@DetailTemplate("{top}px {right}px {bottom}px {left}px")
public String toString();
}

@ -0,0 +1,80 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
/**
*
*/
public interface FieldDetails {
@TypeDetails(sampleValue = "1", comment = "border width of the field")
int borderWidth();
@TypeDetails(sampleValue = "#000000", comment = "border color of the field")
String borderColor();
@TypeDetails(sampleValue = "'solid'", comment = "border style of the field")
String borderStyle();
@TypeDetails(sampleValue = "#ffffff", comment = "background color of the inside of the field")
String backgroundColor();
@TypeDetails(sampleValue = "#cccccc", comment = "border color of the field when focused")
String focusBorderColor();
@TypeDetails(sampleValue = "#cccccc", comment = "background color of the field when invalid")
String invalidBackgroundColor();
@TypeDetails(sampleValue = "#ff0000", comment = "border color of the field when invalid")
String invalidBorderColor();
@TypeDetails(sampleValue = "1", comment = "border width of the field when invalid")
int invalidBorderWidth();
@TypeDetails(sampleValue = "18", comment = "height of textfields (other than text area")
int height();
@TypeDetails(sampleValue = "18px", comment = "line-height of textfields")
String lineHeight();
@TypeDetails(sampleValue = "util.padding(8, 12)", comment = "padding around fields")
EdgeDetails padding();
@TypeDetails(sampleValue = "#808080", comment = "color of the empty placeholder text")
String emptyTextColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', 'medium')", comment = "text styling for fields")
FontDetails text();
SliderDetails slider();
FieldLabelDetails sideLabel();
FieldLabelDetails topLabel();
public interface FieldLabelDetails {
@TypeDetails(sampleValue = "util.padding(0, 0, 5)", comment = "spacing around the entire field label")
EdgeDetails padding();
@TypeDetails(sampleValue = "util.padding(3,0,0)", comment = "spacing around the label text")
EdgeDetails labelPadding();
@TypeDetails(sampleValue = "util.padding(0)", comment = "spacing around the field within the label")
EdgeDetails fieldPadding();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', 'medium')", comment = "text styling for field labels")
FontDetails text();
@TypeDetails(sampleValue = "'left'", comment = "alignment for the label text, may be 'center', 'left', or 'right'")
String textAlign();
}
}

@ -0,0 +1,17 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface FieldSetDetails {
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','large')", comment = "text details for the fieldset's legend")
FontDetails text();
@TypeDetails(sampleValue = "util.border('solid', '#bbbbbb', 1)", comment = "border styling and colors around the fieldset")
BorderDetails border();
}

@ -0,0 +1,21 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
/**
* Details on fonts/text
*/
public interface FontDetails {
String color();
String family();
String size();
String weight();
}

@ -0,0 +1,47 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface FramedPanelDetails extends PanelDetails {
@TypeDetails(sampleValue = "1", comment = "border radius of the framed panel")
int borderRadius();
@TypeDetails(sampleValue = "util.radiusMinusBorderWidth(border, borderRadius)", comment = "helper for leftover space in css3 versus sliced images")
EdgeDetails radiusMinusBorderWidth();
@Override
@TypeDetails(sampleValue = "#ffffff", comment = "background color for the panel body")
String backgroundColor();
@Override
@TypeDetails(sampleValue = "util.padding(0)", comment = "entire panel padding")
EdgeDetails padding();
@Override
@TypeDetails(sampleValue = "util.padding(10)", comment = "header padding")
EdgeDetails headerPadding();
@Override
@TypeDetails(sampleValue = "#ccffff", comment = "background color to fill behind the header gradient")
String headerBackgroundColor();
@Override
@TypeDetails(sampleValue = "#ccffff, #ccffff", comment = "header gradient string")
String headerGradient();
@Override
@TypeDetails(sampleValue = "util.border('solid', '#000000', 1)", comment = "border around the contentpanel")
BorderDetails border();
@Override
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium')", comment = "panel heading text style")
FontDetails font();
}

@ -0,0 +1,172 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface GridDetails {
ColumnHeaderDetails columnHeader();
public interface RowEditorDetails {
@TypeDetails(sampleValue = "#DFEAF2", comment = "background color")
String backgroundColor();
@TypeDetails(sampleValue = "util.border('solid', '#e1e1e1', 1, 0)", comment = "border parameters")
BorderDetails border();
}
public interface ColumnHeaderDetails {
@TypeDetails(sampleValue = "1", comment = "width of borders between header cells")
int borderWidth();
@TypeDetails(sampleValue = "#222222", comment = "color of borders around header cells")
String borderColor();
@TypeDetails(sampleValue = "'solid'", comment = "style of borders around header cells")
String borderStyle();
@TypeDetails(sampleValue = "util.solidGradientString('#e2e7ec')", comment = "css gradient string for column headers")
String gradient();
@TypeDetails(sampleValue = "util.solidGradientString('#dddddd')", comment = "css gradient string for column header with mouseover")
String overGradient();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', '13px', '#666666', 'bold')", comment = "Styling to use for grid headers")
FontDetails text();
@TypeDetails(sampleValue = "15px", comment = "line height for grid headers")
String lineHeight();
@TypeDetails(sampleValue = "util.padding(4,3,4,5)", comment = "column header padding")
EdgeDetails padding();
@TypeDetails(sampleValue = "18", comment = "width of the menu icon")
int menuButtonWidth();
@TypeDetails(sampleValue = "util.solidGradientString('#e8e8e8')", comment = "background gradient of the menu icon")
String menuGradient();
@TypeDetails(sampleValue = "util.border('solid', '#222222', 0, 0, 0, 1)", comment = "border around the menu icon")
BorderDetails menuBorder();
@TypeDetails(sampleValue = "util.solidGradientString('#828282')", comment = "mouseover background gradient of the menu icon")
String menuHoverGradient();
@TypeDetails(sampleValue = "util.border('solid', '#222222', 0, 0, 0, 1)", comment = "mouseover border around the menu icon")
BorderDetails menuHoverBorder();
@TypeDetails(sampleValue = "util.solidGradientString('add2ed')", comment = "active background gradient of the menu icon")
String menuActiveGradient();
@TypeDetails(sampleValue = "util.border('solid', '#222222', 0, 0, 0, 1)", comment = "active border around the menu icon")
BorderDetails menuActiveBorder();
}
@TypeDetails(sampleValue = "util.padding(4,3,3,5)", comment = "cell padding")
EdgeDetails cellPadding();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', '13px')", comment = "Styling to use for grid cell text")
FontDetails cellText();
@TypeDetails(sampleValue = "15px", comment = "line height for grid cell text")
String cellLineHeight();
@TypeDetails(sampleValue = "#666666", comment = "border color between grid cells (if column lines enabled)")
String cellVBorderColor();
@TypeDetails(sampleValue = "#666666", comment = "border color between grid rows")
String cellHBorderColor();
@TypeDetails(sampleValue = "1", comment = "width of borders between grid rows (and cells, if column lines enabled)")
int cellBorderWidth();
@TypeDetails(sampleValue = "#ffffff", comment = "cell background")
String cellBackgroundColor();
@TypeDetails(sampleValue = "#cccccc", comment = "cell background for alt rows, if enabled")
String cellAltBackgroundColor();
@TypeDetails(sampleValue = "#666666", comment = "mouseover border color between grid cells (if column lines enabled)")
String cellOverVBorderColor();
@TypeDetails(sampleValue = "'solid'", comment = "mouseover border style between grid cells (if column lines enabled)")
String cellOverVBorderStyle();
@TypeDetails(sampleValue = "#666666", comment = "mouseover border color between grid rows")
String cellOverHBorderColor();
@TypeDetails(sampleValue = "'solid'", comment = "mouseover border style between grid rows")
String cellOverHBorderStyle();
@TypeDetails(sampleValue = "#ccffff", comment = "mouseover background color for grid rows")
String cellOverBackgroundColor();
@TypeDetails(sampleValue = "#666666", comment = "border color between grid cells for selected rows/columns (if column lines enabled)")
String cellSelectedVBorderColor();
@TypeDetails(sampleValue = "'solid'", comment = "border style between grid cells for selected rows/columns (if column lines enabled)")
String cellSelectedVBorderStyle();
@TypeDetails(sampleValue = "#666666", comment = "border color between grid rows for selected rows/columns")
String cellSelectedHBorderColor();
@TypeDetails(sampleValue = "'solid'", comment = "border style between grid rows for selected rows/columns")
String cellSelectedHBorderStyle();
@TypeDetails(sampleValue = "#ccccff", comment = "background color for selected rows/columns")
String cellSelectedBackgroundColor();
@TypeDetails(sampleValue = "util.solidGradientString('#e8e8e8')", comment = "gradient to use as a background for columns such as RowNumberer and CheckBoxSelectionModel")
String specialColumnGradient();
@TypeDetails(sampleValue = "util.solidGradientString('#666666')", comment = "gradient to use as a background for columns such as RowNumberer and CheckBoxSelectionModel when selected")
String specialColumnGradientSelected();
GroupDetails group();
public interface GroupDetails {
@TypeDetails(sampleValue = "#ffffff", comment = "background color for group row")
String backgroundColor();
@TypeDetails(sampleValue = "util.border('solid', '#000000', 0, 0, 1)", comment = "border around group row")
BorderDetails border();
@TypeDetails(sampleValue = "util.fontStyle('san-serif', '13px', '#000000', 'bold')", comment = "styling for group row text")
FontDetails text();
@TypeDetails(sampleValue = "util.padding(8, 4)", comment = "padding around the group row")
EdgeDetails padding();
@TypeDetails(sampleValue = "17", comment = "spacing to the side of the text to allow for the icon")
int iconSpacing();
SummaryDetails summary();
public interface SummaryDetails {
@TypeDetails(sampleValue = "util.fontStyle('san-serif', '13px', '#000000', 'bold')", comment = "styling for group summary cell text")
FontDetails text();
@TypeDetails(sampleValue = "#ffffff", comment = "background color for group summary row")
String backgroundColor();
}
}
RowNumbererDetails rowNumberer();
RowEditorDetails rowEditor();
public interface RowNumbererDetails {
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', '13px')", comment = "styling to use for row numberer text")
FontDetails text();
@TypeDetails(sampleValue = "util.padding(4,3,3,5)", comment = "row numberer text padding")
EdgeDetails padding();
}
FooterDetails footer();
public interface FooterDetails {
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', '13px')", comment = "text style to use on footer text")
FontDetails text();
@TypeDetails(sampleValue = "#ffffff", comment = "background color for footer cells")
String backgroundColor();
@TypeDetails(sampleValue = "util.border('solid', '#666666', 1, 0, 0)", comment = "border around footer cells")
BorderDetails cellBorder();
}
}

@ -0,0 +1,46 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface InfoDetails {
@TypeDetails(sampleValue="#000000", comment = "background color")
String backgroundColor();
@TypeDetails(sampleValue = "0.8", comment = "popup opacity, 0.0-1.0")
double opacity();
@TypeDetails(sampleValue = "util.padding(4)", comment = "padding")
EdgeDetails padding();
@TypeDetails(sampleValue = "6", comment = "border radius")
int borderRadius();
@TypeDetails(sampleValue = "util.border('none')", comment = "border parameters")
BorderDetails border();
@TypeDetails(sampleValue = "util.radiusMinusBorderWidth(border, borderRadius)", comment = "helper for leftover space in css3 versus sliced images")
EdgeDetails radiusMinusBorderWidth();
@TypeDetails(sampleValue = "util.margin(4,0,0,0)", comment = "margin")
EdgeDetails margin();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','large','#ffffff','bold')", comment = "info header text style")
FontDetails headerText();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium','#ffffff','normal')", comment = "info message text style")
FontDetails messageText();
@TypeDetails(sampleValue = "util.padding(4)", comment = "padding around the header text")
EdgeDetails headerPadding();
@TypeDetails(sampleValue = "util.padding(4)", comment = "padding around the message text")
EdgeDetails messagePadding();
}

@ -0,0 +1,40 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface ListViewDetails {
public interface ItemDetails {
@TypeDetails(sampleValue = "util.solidGradientString('#ffffff')", comment = "")
String gradient();
@TypeDetails(sampleValue = "util.border('none')", comment = "")
BorderDetails border();
@TypeDetails(sampleValue = "util.padding(0, 4)", comment = "")
EdgeDetails padding();
}
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', 'medium')", comment = "listview text styling")
FontDetails text();
@TypeDetails(sampleValue = "'normal'", comment = "height of text in listview")
String lineHeight();
@TypeDetails(sampleValue = "'#ffffff'", comment = "listview background color")
String backgroundColor();
@TypeDetails(sampleValue = "util.border('solid', '#444444', 1)", comment = "listview body border")
BorderDetails border();
ItemDetails item();
ItemDetails overItem();
ItemDetails selectedItem();
}

@ -0,0 +1,55 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface MaskDetails {
@TypeDetails(sampleValue = "0.5", comment = "opacity of the element that covers masked content")
double opacity();
@TypeDetails(sampleValue = "#000000", comment = "color of the element that covers masked content")
String backgroundColor();
BoxDetails box();
public interface BoxDetails {
@TypeDetails(sampleValue = "util.padding(5)", comment = "padding between the border and the content of the mask message")
EdgeDetails padding();
@TypeDetails(sampleValue = "#555555", comment = "border color for the mask's message")
String borderColor();
@TypeDetails(sampleValue = "'solid'", comment = "border style for the mask's message")
String borderStyle();
@TypeDetails(sampleValue = "2", comment = "border width for the mask's message")
int borderWidth();
@TypeDetails(sampleValue = "0", comment = "border radius for the mask's message")
int borderRadius();
@TypeDetails(sampleValue = "util.max(0, borderRadius - borderWidth)", comment = "helper for leftover space in css3 versus sliced images")
int radiusMinusBorderWidth();
@TypeDetails(sampleValue = "#dddddd", comment = "background color for the mask's message")
String backgroundColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', 'normal', '#555555')", comment = "font style for mask text")
FontDetails text();
@TypeDetails(sampleValue = "util.padding(21, 0, 0)", comment = "padding around the text, useful to provide space for loading image")
EdgeDetails textPadding();
@TypeDetails(sampleValue = "'center 0'", comment = "css background-position for the loading image, if any")
String loadingImagePosition();
}
}

@ -0,0 +1,96 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface MenuDetails {
@TypeDetails(sampleValue = "util.border('solid', '#000000', 1)", comment = "border around the menu popup")
BorderDetails border();
@TypeDetails(sampleValue = "util.padding(0)", comment = "spacing between the border and the list of contents")
EdgeDetails padding();
@TypeDetails(sampleValue = "util.solidGradientString('#ffffff')", comment = "background gradient (left to right) for the menu list")
String gradient();
@TypeDetails(sampleValue = "#ffffff", comment = "helper for sliced browsers to have a background color after the sliced image runs out for wide menus")
String lastGradientColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium')", comment = "item text styling")
FontDetails itemText();
@TypeDetails(sampleValue = "'normal'", comment = "item line height")
String itemLineHeight();
@TypeDetails(sampleValue = "util.padding(1,8)", comment = "padding around each individual menu item")
EdgeDetails itemPadding();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium')", comment = "item text styling")
FontDetails activeItemText();
@TypeDetails(sampleValue = "util.solidGradientString('#cccccc')", comment = "gradient for active items (top to bottom)")
String activeItemGradient();
@TypeDetails(sampleValue = "util.border('solid', '#333333', 1)", comment = "border for active items")
BorderDetails activeItemBorder();
MenuBarDetails bar();
public interface MenuBarDetails {
@TypeDetails(sampleValue = "util.border('none')", comment = "menu bar border")
BorderDetails border();
@TypeDetails(sampleValue = "util.padding(1, 8)", comment = "spacing between the border and the items")
EdgeDetails padding();
@TypeDetails(sampleValue = "util.solidGradientString('#ffffff')", comment = "background gradient of the menubar")
String gradient();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium')", comment = "item text styling")
FontDetails itemText();
@TypeDetails(sampleValue = "'normal'", comment = "height of each menubar item")
String itemLineHeight();
@TypeDetails(sampleValue = "util.padding(0)", comment = "menu bar item text padding")
EdgeDetails itemPadding();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium')", comment = "hovered item text styling")
FontDetails hoverItemText();
@TypeDetails(sampleValue = "util.solidGradientString('#ffffff')", comment = "hovered menu bar item background gradient")
String hoverItemGradient();
@TypeDetails(sampleValue = "util.border('none')", comment = "hovered menu bar item border")
BorderDetails hoverItemBorder();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium')", comment = "active item text styling")
FontDetails activeItemText();
@TypeDetails(sampleValue = "util.solidGradientString('#ffffff')", comment = "active menu bar item background gradient")
String activeItemGradient();
@TypeDetails(sampleValue = "util.border('none')", comment = "active menu bar item horder")
BorderDetails activeItemBorder();
}
MenuSeparatorDetails separator();
public interface MenuSeparatorDetails {
@TypeDetails(sampleValue = "1", comment = "separator height in px")
int height();
@TypeDetails(sampleValue = "util.margin(2,3)", comment = "separator margins")
EdgeDetails margin();
@TypeDetails(sampleValue = "#cccccc", comment = "separator line color")
String color();
}
HeaderItemDetails header();
public interface HeaderItemDetails {
@TypeDetails(sampleValue = "util.border('solid', '#333333', 0, 0, 1)", comment = "border around the header text")
BorderDetails border();
@TypeDetails(sampleValue = "#dddddd", comment = "background color for header text")
String backgroundColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium')", comment = "header text styling")
FontDetails itemText();
@TypeDetails(sampleValue = "'normal'", comment = "")
String itemLineHeight();
@TypeDetails(sampleValue = "util.padding(3)", comment = "padding between header text and border")
EdgeDetails itemPadding();
}
}

@ -0,0 +1,24 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface MessageBoxDetails {
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', 'normal')", comment = "style of the text in the body of the message box")
FontDetails text();
@TypeDetails(sampleValue = "util.padding(10, 10, 5)", comment = "padding around the message box")
EdgeDetails messagePadding();
@TypeDetails(sampleValue = "util.padding(5, 10, 10)", comment = "padding around the body of the message box")
EdgeDetails bodyPadding();
@TypeDetails(sampleValue = "util.padding(10)", comment = "padding around the icon")
EdgeDetails iconPadding();
}

@ -0,0 +1,34 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface PanelDetails {
@TypeDetails(sampleValue = "#ffffff", comment = "background color for the panel body")
String backgroundColor();
@TypeDetails(sampleValue = "util.padding(0)", comment = "entire panel padding")
EdgeDetails padding();
@TypeDetails(sampleValue = "util.padding(10)", comment = "header padding")
EdgeDetails headerPadding();
@TypeDetails(sampleValue = "#ccffff", comment = "background color to fill behind the header gradient")
String headerBackgroundColor();
@TypeDetails(sampleValue = "#ccffff, #ccffff", comment = "header gradient string")
String headerGradient();
@TypeDetails(sampleValue = "util.border('solid', '#000000', 1)", comment = "border around the contentpanel")
BorderDetails border();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium')", comment = "panel heading text style")
FontDetails font();
}

@ -0,0 +1,37 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface ProgressBarDetails {
@TypeDetails(sampleValue = "util.border('solid', '#000000', 1)", comment = "border around the entire progressbar")
BorderDetails border();
@TypeDetails(sampleValue = "util.solidGradientString('#ffffff')", comment = "background gradient for the empty progressbar")
String backgroundGradient();
@TypeDetails(sampleValue = "util.fontStyle(\"sans-serif\", 'medium', '#000000', 'bold')", comment = "font style for the progressbar text")
FontDetails text();
@TypeDetails(sampleValue = "'center'", comment = "alignment for the progressbar text, may be 'center', 'left', or 'right'")
String textAlign();
@TypeDetails(sampleValue = "util.padding(4, 0)", comment = "padding around the progressbar, typically with zero left/right padding to prevent offsetting the bar itself")
EdgeDetails textPadding();
@TypeDetails(sampleValue = "util.solidGradientString('#add8e6')", comment = "gradient for the progress bar as it fills")
String barGradient();
@TypeDetails(sampleValue = "util.border('solid', '#000000', 0, 1, 0, 0)", comment = "border around the progressbar as it fills")
BorderDetails barBorder();
@TypeDetails(sampleValue = "#000000", comment = "text color for the text covered by the progress bar as it fills")
String barTextColor();
}

@ -0,0 +1,44 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
/**
* Captures details for the Slider field appearance generation
*/
public interface SliderDetails {
@TypeDetails(sampleValue = "#f5f5f5", comment = "background color for slider track")
String trackBackgroundColor();
@TypeDetails(sampleValue = "util.border('solid', '#d4d4d4', 1)", comment = "border")
BorderDetails trackBorder();
@TypeDetails(sampleValue = "8", comment = "height of track, not the entire field")
int trackHeight();
@TypeDetails(sampleValue = "4", comment = "border radius for track")
int trackRadius();
@TypeDetails(sampleValue = "#f5f5f5", comment = "background color for thumb")
String thumbBackgroundColor();
@TypeDetails(sampleValue = "util.border('solid', '#777777', 1)", comment = "border")
BorderDetails thumbBorder();
@TypeDetails(sampleValue = "15", comment = "height of thumb")
int thumbHeight();
@TypeDetails(sampleValue = "8", comment = "border radius for thumb")
int thumbRadius();
@TypeDetails(sampleValue = "15", comment = "width of thumb")
int thumbWidth();
}

@ -0,0 +1,24 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface SplitBarDetails {
@TypeDetails(sampleValue = "#b4b4b4", comment = "color of split bar drag")
String dragColor();
@TypeDetails(sampleValue = "0.5", comment = "split bar drag handle opacity (0.0 to 1.0)")
double handleOpacity();
@TypeDetails(sampleValue = "8", comment = "width of the split bar handle in east/west (height of the handle on north/south)")
int handleWidth();
@TypeDetails(sampleValue = "48", comment = "height of the split bar handle in easy/west (width of the handle on east/west)")
int handleHeight();
}

@ -0,0 +1,25 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface StatusDetails {
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','small')", comment = "status box text")
FontDetails text();
@TypeDetails(sampleValue = "'normal'", comment = "line height of the status widget")
String lineHeight();
@TypeDetails(sampleValue = "util.padding(0, 2)", comment = "padding around the status text")
EdgeDetails padding();
@TypeDetails(sampleValue = "util.border('solid', '#dddddd #ffffff #ffffff #dddddd', 1)", comment = "status box border, only applies to BoxStatusAppearance")
BorderDetails border();
}

@ -0,0 +1,24 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface StatusProxyDetails {
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', 'normal')", comment = "dnd proxy test styling")
FontDetails text();
@TypeDetails(sampleValue = "util.border('solid', '#dddddd #bbbbbb #bbbbbb #dddddd', 1)", comment = "border around the dnd proxy")
BorderDetails border();
@TypeDetails(sampleValue = "#ffffff", comment = "background color for the dnd proxy")
String backgroundColor();
@TypeDetails(sampleValue = "0.85", comment = "opacity of the status proxy")
double opacity();
}

@ -0,0 +1,105 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
/**
*
*/
public interface TabDetails {
@TypeDetails(sampleValue = "3", comment = "border radius of tabs")
int borderRadius();
@TypeDetails(sampleValue = "#ffffff", comment = "background color of tab body")
String bodyBackgroundColor();
@TypeDetails(sampleValue = "#dfe5e5", comment = "border color or tab panel")
String borderColor();
@TypeDetails(sampleValue = "util.solidGradientString('#8b8b8b')", comment = "tab gradient string (top to bottom)")
String gradient();
@TypeDetails(sampleValue = "util.solidGradientString('#d5dadd')", comment = "inactive tab gradient string (top to bottom)")
String inactiveGradient();
@TypeDetails(sampleValue = "util.solidGradientString('#aeafaf')", comment = "hover tab gradient string (top to bottom)")
String hoverGradient();
@TypeDetails(sampleValue = "#8b8b8b", comment = "last color in gradient")
String lastStopColor();
@TypeDetails(sampleValue = "#d5dadd", comment = "last color in inactive gradient")
String inactiveLastStopColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium','#000000','normal')", comment = "tab heading text style")
FontDetails headingText();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium','#000000','normal')", comment = "active tab heading text style")
FontDetails activeHeadingText();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium','#000000','normal')", comment = "active tab heading text style")
FontDetails hoverHeadingText();
@TypeDetails(sampleValue = "util.solidGradientString('#f1f1f1')", comment = "tab strip background gradient string (top to bottom)")
String tabStripGradient();
@TypeDetails(sampleValue = "'none'", comment = "tab item left border")
String tabItemBorderLeft();
@TypeDetails(sampleValue = "'none'", comment = "tab item top border")
String tabItemBorderTop();
@TypeDetails(sampleValue = "'none'", comment = "tab item right border")
String tabItemBorderRight();
@TypeDetails(sampleValue = "'none'", comment = "tab bar border")
String tabBarBorder();
@TypeDetails(sampleValue = "util.padding(0)", comment = "padding")
EdgeDetails padding();
@TypeDetails(sampleValue = "util.padding(0)", comment = "padding")
EdgeDetails paddingWithIcon();
@TypeDetails(sampleValue = "6", comment = "left offset for tab icon")
int iconLeftOffset();
@TypeDetails(sampleValue = "5", comment = "top offset for tab icon")
int iconTopOffset();
@TypeDetails(sampleValue = "util.padding(0)", comment = "padding")
EdgeDetails paddingWithClosable();
@TypeDetails(sampleValue = "#ecf2f2", comment = "background color of the tab scrollers")
String scrollerBackgroundColor();
@TypeDetails(sampleValue = "18", comment = "width of scroller")
int scrollerWidth();
@TypeDetails(sampleValue = "31", comment = "height of tabs")
int tabHeight();
@TypeDetails(sampleValue = "1", comment = "spacing between tabs")
int tabSpacing();
@TypeDetails(sampleValue = "util.padding(0)", comment = "padding")
EdgeDetails tabStripPadding();
@TypeDetails(sampleValue = "4", comment = "Spacing between tab bar and body")
int tabBarBottomHeight();
@TypeDetails(sampleValue = "'none'", comment = "tab strip bottom border")
String tabStripBottomBorder();
@TypeDetails(sampleValue = "'none'", comment = "border of tab panel body")
String tabBodyBorder();
@TypeDetails(sampleValue = "util.padding(0)", comment = "padding")
EdgeDetails tabTextPadding();
}

@ -0,0 +1,84 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.google.gwt.resources.client.ResourcePrototype;
import com.google.gwt.resources.ext.ResourceGeneratorType;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
import com.sencha.gxt.themebuilder.base.rebind.DetailsResourceGenerator;
@ResourceGeneratorType(DetailsResourceGenerator.class)
public interface ThemeDetails extends ResourcePrototype {
AccordionLayoutDetails accordionLayout();
@TypeDetails(sampleValue = "#000000", comment = "Default color to use on borders in the theme")
String borderColor();
@TypeDetails(sampleValue = "#000000", comment = "Default color to use for backgrounds, usually within panels and the like")
String backgroundColor();
@TypeDetails(sampleValue = "0.6", comment = "Opactiy value to use on disabled elements/widgets")
double disabledOpacity();
@TypeDetails(sampleValue = "'gray'", comment = "Text color to use in disabled widgets. Can be left blank to not set a color and instead let widgets retain their defaults")
String disabledTextColor();
BorderLayoutDetails borderLayout();
ButtonDetails button();
ButtonGroupDetails buttonGroup();
FieldDetails field();
DatePickerDetails datePicker();
PanelDetails panel();
FramedPanelDetails framedPanel();
MenuDetails menu();
SplitBarDetails splitbar();
WindowDetails window();
TabDetails tabs();
ToolBarDetails toolbar();
ToolIconDetails tools();
InfoDetails info();
FieldSetDetails fieldset();
TipDetails tip();
TreeDetails tree();
TipDetails errortip();
GridDetails grid();
ListViewDetails listview();
StatusDetails status();
MaskDetails mask();
ProgressBarDetails progressbar();
StatusProxyDetails statusproxy();
ColorPaletteDetails colorpalette();
MessageBoxDetails messagebox();
}

@ -0,0 +1,46 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface TipDetails {
@TypeDetails(sampleValue="#ffffff", comment = "background color")
String backgroundColor();
@TypeDetails(sampleValue = "1", comment = "tooltip opacity, 0.0-1.0")
double opacity();
@TypeDetails(sampleValue = "util.padding(2)", comment = "padding")
EdgeDetails padding();
@TypeDetails(sampleValue = "6", comment = "border radius")
int borderRadius();
@TypeDetails(sampleValue = "util.border('solid', '#cccccc', 1)", comment = "border parameters")
BorderDetails border();
@TypeDetails(sampleValue = "util.radiusMinusBorderWidth(border, borderRadius)", comment = "helper for leftover space in css3 versus sliced images")
EdgeDetails radiusMinusBorderWidth();
@TypeDetails(sampleValue = "util.margin(0)", comment = "margin")
EdgeDetails margin();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium','#000000','normal')", comment = "info header text style")
FontDetails headerText();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium','#000000','normal')", comment = "info message text style")
FontDetails messageText();
@TypeDetails(sampleValue = "util.padding(0)", comment = "padding around the header text")
EdgeDetails headerPadding();
@TypeDetails(sampleValue = "util.padding(0)", comment = "padding around the message text")
EdgeDetails messagePadding();
}

@ -0,0 +1,38 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
/**
*
*/
public interface ToolBarDetails {
@TypeDetails(sampleValue = "util.solidGradientString('#ffffff')", comment = "background gradient of the toolbar")
String gradient();
@TypeDetails(sampleValue = "util.border('none')", comment = "border around the toolbar")
BorderDetails border();
@TypeDetails(sampleValue = "util.padding(2)", comment = "padding between the toolbar's border and its contents")
EdgeDetails padding();
ButtonDetails buttonOverride();
LabelToolItemDetails labelItem();
public interface LabelToolItemDetails {
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', 'medium')", comment = "LabelToolItem text styling")
FontDetails text();
@TypeDetails(sampleValue = "'medium'", comment = "LabelToolItem text styling")
String lineHeight();
@TypeDetails(sampleValue = "util.padding(2, 2, 0)", comment = "label padding")
EdgeDetails padding();
}
}

@ -0,0 +1,30 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
/**
*
*/
public interface ToolIconDetails {
@TypeDetails(sampleValue = "util.mixColors('#ffffff', '#cecece', 0.5)", comment = "primary color of icons")
String primaryColor();
@TypeDetails(sampleValue = "util.mixColors('#ffffff', '#cecece', 0.3)", comment = "icon color when hover")
String primaryOverColor();
@TypeDetails(sampleValue = "util.mixColors('#ffffff', '#cecece', 0.25)", comment = "icon color when clicked")
String primaryClickColor();
@TypeDetails(sampleValue = "#ff0000", comment = "color used for warning actions, such as exclamation icon")
String warningColor();
@TypeDetails(sampleValue = "#00ff00", comment = "color used for allowed actions, such as allowed drop zones with DnD")
String allowColor();
}

@ -0,0 +1,40 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
/**
*
*/
public interface TreeDetails {
@TypeDetails(sampleValue = "#e2eff8", comment = "tree node drag over background color")
String dragOverBackgroundColor();
@TypeDetails(sampleValue = "#e2eff8", comment = "tree node drop background color")
String dropBackgroundColor();
@TypeDetails(sampleValue = "util.margin(4, 3, 0, 2)", comment = "margins for tree element icon")
EdgeDetails iconMargin();
@TypeDetails(sampleValue = "25px", comment = "tree item height")
String itemHeight();
@TypeDetails(sampleValue = "util.padding(0, 6)", comment = "tree node padding")
EdgeDetails nodePadding();
@TypeDetails(sampleValue = "#e2eff8", comment = "tree node over background color")
String overBackgroundColor();
@TypeDetails(sampleValue = "#c1ddf1", comment = "tree node selected background color")
String selectedBackgroundColor();
@TypeDetails(sampleValue = "util.fontStyle('sans-serif', 'large','#ffffff','bold')", comment = "tree node text style")
FontDetails text();
}

@ -0,0 +1,49 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client;
import com.sencha.gxt.themebuilder.base.client.config.TypeDetails;
public interface WindowDetails extends FramedPanelDetails {
@Override
@TypeDetails(sampleValue = "1", comment = "border radius of the framed panel")
int borderRadius();
@Override
@TypeDetails(sampleValue = "util.radiusMinusBorderWidth(border, borderRadius)", comment = "helper for leftover space in css3 versus sliced images")
EdgeDetails radiusMinusBorderWidth();
@Override
@TypeDetails(sampleValue = "#ffffff", comment = "background color for the panel body")
String backgroundColor();
@Override
@TypeDetails(sampleValue = "util.padding(0)", comment = "entire panel padding")
EdgeDetails padding();
@Override
@TypeDetails(sampleValue = "util.padding(10)", comment = "header padding")
EdgeDetails headerPadding();
@Override
@TypeDetails(sampleValue = "#ccffff", comment = "background color to fill behind the header gradient")
String headerBackgroundColor();
@Override
@TypeDetails(sampleValue = "#ccffff, #ccffff", comment = "header gradient string")
String headerGradient();
@Override
@TypeDetails(sampleValue = "util.border('solid', '#000000', 1)", comment = "border around the contentpanel")
BorderDetails border();
@Override
@TypeDetails(sampleValue = "util.fontStyle('sans-serif','medium')", comment = "panel heading text style")
FontDetails font();
}

@ -0,0 +1,63 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def borderColor value('theme.borderColor');
@def disabledTextColor value('theme.disabledTextColor');
@def disabledOpacity value('theme.disabledOpacity');
@eval ieDisabledOpacity com.sencha.gxt.themebuilder.base.client.CssResourceThemeUtils.opacityToIe8Filter(theme().disabledOpacity());
@if user.agent safari {
*:focus {
outline: none !important;
}
}
.border {
border: 1px solid borderColor !important;
}
.borderLeft {
border: none;
border-left: 1px solid borderColor !important;
}
.borderRight {
border: none;
border-right: 1px solid borderColor !important;
}
.borderTop {
border: none;
border-top: 1px solid borderColor !important;
}
.borderBottom {
border: none;
border-bottom: 1px solid borderColor !important;
}
.disabled {
color: disabledTextColor !important;
cursor: default !important;
}
.disabled * {
cursor: default !important;
}
@if user.agent ie8 {
.disabled {
filter: ieDisabledOpacity;
}
} @else {
.disabled {
opacity: disabledOpacity;
}
}

@ -0,0 +1,68 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.sencha.gxt.core.client.resources.StyleInjectorHelper;
import com.sencha.gxt.core.client.resources.ThemeStyles.Styles;
import com.sencha.gxt.core.client.resources.ThemeStyles.ThemeAppearance;
import com.sencha.gxt.theme.neptune.client.ThemeDetails;
/**
*
*/
public class Css3ThemeAppearance implements ThemeAppearance {
public interface Css3ThemeResources extends ClientBundle {
@Source("Css3Theme.css")
Css3ThemeStyles style();
ThemeDetails theme();
}
public interface Css3ThemeStyles extends Styles {
}
private final Css3ThemeStyles style;
private final Css3ThemeResources resources;
public Css3ThemeAppearance() {
this(GWT.<Css3ThemeResources>create(Css3ThemeResources.class));
}
public Css3ThemeAppearance(Css3ThemeResources resources) {
this.resources = resources;
this.style = resources.style();
StyleInjectorHelper.ensureInjected(style, true);
}
@Override
public Styles style() {
return style;
}
@Override
public String borderColor() {
return resources.theme().borderColor();
}
@Override
public String borderColorLight() {
return resources.theme().borderColor();
}
@Override
public String backgroundColorLight() {
return resources.theme().backgroundColor();
}
}

@ -0,0 +1,167 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def borderRadius value('theme.button.borderRadius','px');
@def borderColor value('theme.button.border.color');
@def borderStyle value('theme.button.border.style');
@def borderWidth value('theme.button.border.toString');
@def gradient value('theme.button.gradient');
@def overGradient value('theme.button.overGradient');
@def pressedGradient value('theme.button.pressedGradient');
@def padding value('theme.button.padding.toString');
@def fontSize value('theme.button.font.size','px');
@def fontFamily value('theme.button.font.family');
@def fontWeight value('theme.button.font.weight');
@def fontColor value('theme.button.font.color');
@def smallFontSize value('theme.button.smallFontSize','px');
@def mediumFontSize value('theme.button.mediumFontSize','px');
@def largeFontSize value('theme.button.largeFontSize','px');
@def smallLineHeight value('theme.button.smallLineHeight','px');
@def mediumLineHeight value('theme.button.mediumLineHeight','px');
@def largeLineHeight value('theme.button.largeLineHeight','px');
@def css3Leftover value('theme.button.radiusMinusBorderWidth.toString');
.button {
border-radius: borderRadius;
border-width: borderWidth;
border-style: borderStyle;
border-color: borderColor;
background-color: #d0f4f7;
box-sizing: border-box;
height: 100%;
background: -webkit-linear-gradient(top, gradient); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, gradient); /* Opera 11.10+ */
background: -ms-linear-gradient(top, gradient); /* IE10+ */
background: linear-gradient(to bottom, gradient); /* W3C */
padding: css3Leftover;
cursor: pointer;
outline: none;
white-space: nowrap;
overflow: hidden;
}
.buttonInner {
padding: padding;
text-align: center;
font-size: fontSize;
color: fontColor;
font-weight: fontWeight;
font-family: fontFamily;
vertical-align: middle;
}
.over {
background: -webkit-linear-gradient(top, overGradient); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, overGradient); /* Opera 11.10+ */
background: -ms-linear-gradient(top, overGradient); /* IE10+ */
background: linear-gradient(to bottom, overGradient); /* W3C */
}
.pressed {
background: -webkit-linear-gradient(top, pressedGradient) !important; /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, pressedGradient) !important; /* Opera 11.10+ */
background: -ms-linear-gradient(top, pressedGradient) !important; /* IE10+ */
background: linear-gradient(to bottom, pressedGradient) !important; /* W3C */
}
.focused {
background: -webkit-linear-gradient(top, overGradient); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, overGradient); /* Opera 11.10+ */
background: -ms-linear-gradient(top, overGradient); /* IE10+ */
background: linear-gradient(to bottom, overGradient); /* W3C */
}
.small {
line-height: smallLineHeight;
font-size: smallFontSize;
}
.medium {
line-height: mediumLineHeight;
font-size: mediumFontSize;
}
.large {
line-height: largeLineHeight;
font-size: largeFontSize;
}
.iconLeft {
display: inline-block;
vertical-align: middle;
margin-right: 2px;
}
.iconRight {
display: inline-block;
vertical-align: middle;
margin-left: 2px;
}
.iconTop {
display: block;
margin: 0 auto;
margin-bottom: 2px;
}
.iconBottom {
display: block;
margin: 0 auto;
margin-top: 2px;
}
.noText .iconLeft {
margin-right: 0px;
}
.noText .iconRight {
margin-left: 0px;
}
@sprite .split {
gwt-image: 'split';
width: auto;
height: auto;
background-position: right center;
padding-right: 20px;
background-repeat: no-repeat;
}
@sprite .splitBottom {
gwt-image: 'splitBottom';
width: auto;
height: auto;
background-position: center bottom;
padding-bottom: 14px;
background-repeat: no-repeat;
}
@sprite .arrow {
gwt-image: 'arrow';
width: auto;
height: auto;
padding-right: 10px;
background-position: right center;
background-repeat: no-repeat;
}
@sprite .arrowBottom {
gwt-image: 'arrowBottom';
width: auto;
height: auto;
padding-bottom: 14px;
background-position: center bottom;
background-repeat: no-repeat;
}

@ -0,0 +1 @@
<div class="{style.button}"><div class="{style.buttonInner}">{value}</div></div>

@ -0,0 +1,328 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.button;
import com.google.gwt.cell.client.Cell.Context;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.resources.client.ImageResource.ImageOptions;
import com.google.gwt.resources.client.ImageResource.RepeatStyle;
import com.google.gwt.safecss.shared.SafeStylesBuilder;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import com.google.gwt.user.client.ui.AbstractImagePrototype;
import com.sencha.gxt.cell.core.client.ButtonCell;
import com.sencha.gxt.cell.core.client.ButtonCell.ButtonArrowAlign;
import com.sencha.gxt.cell.core.client.ButtonCell.ButtonCellAppearance;
import com.sencha.gxt.cell.core.client.ButtonCell.ButtonScale;
import com.sencha.gxt.cell.core.client.ButtonCell.IconAlign;
import com.sencha.gxt.cell.core.client.SplitButtonCell;
import com.sencha.gxt.core.client.XTemplates;
import com.sencha.gxt.core.client.dom.XElement;
import com.sencha.gxt.core.client.resources.StyleInjectorHelper;
import com.sencha.gxt.theme.neptune.client.ButtonDetails;
import com.sencha.gxt.theme.neptune.client.EdgeDetails;
import com.sencha.gxt.theme.neptune.client.ThemeDetails;
public class Css3ButtonCellAppearance<M> implements ButtonCellAppearance<M> {
public interface Css3ButtonResources extends ClientBundle {
@ImageOptions(repeatStyle = RepeatStyle.None)
ImageResource arrow();
@ImageOptions(repeatStyle = RepeatStyle.None)
ImageResource arrowBottom();
@ImageOptions(repeatStyle = RepeatStyle.None)
ImageResource split();
@ImageOptions(repeatStyle = RepeatStyle.None)
ImageResource splitBottom();
@Source({"Css3ButtonCell.css", "Css3ButtonCellToolBar.css"})
Css3ButtonStyle style();
ThemeDetails theme();
@ImageOptions(repeatStyle = RepeatStyle.None)
@Source("toolBarArrow.png")
ImageResource toolBarArrow();
@ImageOptions(repeatStyle = RepeatStyle.None)
@Source("toolBarArrowBottom.png")
ImageResource toolBarArrowBottom();
@ImageOptions(repeatStyle = RepeatStyle.None)
@Source("toolBarButtonSplit.png")
ImageResource toolBarSplit();
@ImageOptions(repeatStyle = RepeatStyle.None)
@Source("toolBarButtonSplitBottom.png")
ImageResource toolBarSplitBottom();
}
public interface Css3ButtonStyle extends CssResource {
String iconRight();
String iconTop();
String iconLeft();
String iconBottom();
String noText();
String split();
String button();
String buttonInner();
String over();
String pressed();
String focused();
String small();
String medium();
String large();
String arrow();
String arrowBottom();
String splitBottom();
}
public interface Css3ButtonTemplates extends XTemplates {
@XTemplate(source = "Css3ButtonCell.html")
SafeHtml render(String value, Css3ButtonStyle style);
}
private final Css3ButtonResources resources;
private final Css3ButtonStyle style;
public Css3ButtonCellAppearance() {
resources = GWT.create(Css3ButtonResources.class);
style = resources.style();
StyleInjectorHelper.ensureInjected(resources.style(), true);
}
@Override
public XElement getButtonElement(XElement parent) {
return parent.getFirstChildElement().cast();
}
@Override
public XElement getFocusElement(XElement parent) {
return parent.getFirstChildElement().cast();
}
@Override
public void onFocus(XElement parent, boolean focused) {
parent.getFirstChildElement().<XElement> cast().setClassName(style.focused(), focused);
}
@Override
public void onOver(XElement parent, boolean over) {
parent.getFirstChildElement().<XElement> cast().setClassName(style.over(), over);
}
@Override
public void onPress(XElement parent, boolean pressed) {
parent.getFirstChildElement().<XElement> cast().setClassName(style.pressed(), pressed);
}
@Override
public void onToggle(XElement parent, boolean pressed) {
parent.getFirstChildElement().<XElement> cast().setClassName(style.pressed(), pressed);
}
@Override
public void render(ButtonCell<M> cell, Context context, M value, SafeHtmlBuilder sb) {
String constantHtml = cell.getHTML();
boolean hasConstantHtml = constantHtml != null && constantHtml.length() != 0;
boolean isBoolean = value != null && value instanceof Boolean;
// is a boolean always a toggle button?
String text = hasConstantHtml ? cell.getText() : (value != null && !isBoolean)
? SafeHtmlUtils.htmlEscape(value.toString()) : "";
ImageResource icon = cell.getIcon();
IconAlign iconAlign = cell.getIconAlign();
String arrowClass = "";
String scaleClass = "";
String iconClass = "";
int width = cell.getWidth();
int height = cell.getHeight();
boolean hasIcon = cell.getIcon() != null;
boolean isSplitButton = cell instanceof SplitButtonCell;
boolean hasMenu = cell.getMenu() != null;
boolean hasWidth = width != -1;
if (cell.getMenu() != null) {
if (cell instanceof SplitButtonCell) {
switch (cell.getArrowAlign()) {
case RIGHT:
arrowClass = style.split();
break;
case BOTTOM:
arrowClass = style.splitBottom();
break;
}
} else {
switch (cell.getArrowAlign()) {
case RIGHT:
arrowClass = style.arrow();
break;
case BOTTOM:
arrowClass = style.arrowBottom();
break;
}
}
}
ButtonScale scale = cell.getScale();
switch (scale) {
case SMALL:
scaleClass = style.small();
break;
case MEDIUM:
scaleClass = style.medium();
break;
case LARGE:
scaleClass = style.large();
break;
case NONE:
break;
default:
break;
}
if (icon != null) {
switch (iconAlign) {
case TOP:
iconClass = style.iconTop();
break;
case BOTTOM:
iconClass = style.iconBottom();
break;
case LEFT:
iconClass = style.iconLeft();
break;
case RIGHT:
iconClass = style.iconRight();
break;
}
}
String buttonClass = style.button();
boolean hasText = text != null && !text.equals("");
if (!hasText) {
buttonClass += " " + style.noText();
}
// toggle button
if (value == Boolean.TRUE) {
buttonClass += " " + style.pressed();
}
String innerClass = style.buttonInner() + " " + iconClass;
innerClass += " " + arrowClass;
innerClass += " " + scaleClass;
SafeHtmlBuilder builder = new SafeHtmlBuilder();
SafeStylesBuilder ss = new SafeStylesBuilder();
if (height != -1) {
ButtonDetails bd = resources.theme().button();
EdgeDetails padding = bd.padding();
EdgeDetails paddingInner = bd.radiusMinusBorderWidth();
int ah = height;
ah -= padding.top();
ah -= padding.bottom();
ah -= paddingInner.top();
ah -= paddingInner.bottom();
ss.appendTrustedString("line-height: " + ah + "px;");
}
builder.appendHtmlConstant("<div class='" + buttonClass + "'>");
// get iconbuilder ready
SafeHtmlBuilder iconBuilder = new SafeHtmlBuilder();
if (icon != null) {
int iconWidth = icon != null ? icon.getWidth() : 0;
int iconHeight = icon != null ? icon.getHeight() : 0;
String styles = "width: " + iconWidth + "px; height: " + iconHeight + "px;";
iconBuilder.appendHtmlConstant("<div class='" + iconClass + "' style='" + styles + "'>");
iconBuilder.append(AbstractImagePrototype.create(icon).getSafeHtml());
iconBuilder.appendHtmlConstant("</div>");
}
// for left / right aligned icons with a fixed button width we render the icon outside of the inner div
if (hasWidth && hasIcon && iconAlign == IconAlign.LEFT) {
builder.append(iconBuilder.toSafeHtml());
}
if (hasWidth && hasIcon && (iconAlign == IconAlign.LEFT)) {
int tw = width - (resources.theme().button().borderRadius() * 2);
if (isSplitButton && cell.getArrowAlign() == ButtonArrowAlign.RIGHT) {
tw -= resources.split().getWidth() + 10;
}
if (!isSplitButton && iconAlign == IconAlign.LEFT && hasMenu && cell.getArrowAlign() == ButtonArrowAlign.RIGHT) {
tw -= resources.arrow().getWidth() + 10;
}
if (hasIcon && iconAlign == IconAlign.LEFT) {
tw -= icon.getWidth();
}
ss.appendTrustedString("width: " + tw + "px;");
}
builder.appendHtmlConstant("<div class='" + innerClass + "' style='" + ss.toSafeStyles().asString() + "'>");
if (icon != null) {
if ((!hasWidth && iconAlign == IconAlign.LEFT) || iconAlign == IconAlign.TOP) {
builder.append(iconBuilder.toSafeHtml());
}
builder.appendHtmlConstant(text);
if (iconAlign == IconAlign.RIGHT || iconAlign == IconAlign.BOTTOM) {
builder.append(iconBuilder.toSafeHtml());
}
} else {
builder.appendHtmlConstant(text);
}
builder.appendHtmlConstant("</div></div>");
sb.append(builder.toSafeHtml());
}
}

@ -0,0 +1,176 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@external x-toolbar-mark;
@def tbborderRadius value('theme.toolbar.buttonOverride.borderRadius','px');
@def tbborderColor value('theme.toolbar.buttonOverride.border.color');
@def tbborderStyle value('theme.toolbar.buttonOverride.border.style');
@def tbborderWidth value('theme.toolbar.buttonOverride.border.toString');
@def tbgradient value('theme.toolbar.buttonOverride.gradient');
@def tboverGradient value('theme.toolbar.buttonOverride.overGradient');
@def tbpressedGradient value('theme.toolbar.buttonOverride.pressedGradient');
@def tbpadding value('theme.toolbar.buttonOverride.padding.toString');
@def tbfontSize value('theme.toolbar.buttonOverride.font.size','px');
@def tbfontFamily value('theme.toolbar.buttonOverride.font.family');
@def tbfontWeight value('theme.toolbar.buttonOverride.font.weight');
@def tbfontColor value('theme.toolbar.buttonOverride.font.color');
@def tbsmallFontSize value('theme.toolbar.buttonOverride.smallFontSize','px');
@def tbmediumFontSize value('theme.toolbar.buttonOverride.mediumFontSize','px');
@def tblargeFontSize value('theme.toolbar.buttonOverride.largeFontSize','px');
@def tbsmallLineHeight value('theme.toolbar.buttonOverride.smallLineHeight','px');
@def tbmediumLineHeight value('theme.toolbar.buttonOverride.mediumLineHeight','px');
@def tblargeLineHeight value('theme.toolbar.buttonOverride.largeLineHeight','px');
/*
@def tbsmallFontSize 10px;
@def tbmediumFontSize 11px;
@def tblargeFontSize 12px;
@def tbsmallLineHeight 14px;
@def tbmediumLineHeight 15px;
@def tblargeLineHeight 16px;
*/
@def tbcss3Leftover value('theme.button.radiusMinusBorderWidth.toString');
.x-toolbar-mark .button {
border-radius: tbborderRadius;
border-width: tbborderWidth;
border-style: tbborderStyle;
border-color: tbborderColor;
background-color: #d0f4f7;
background: -webkit-linear-gradient(top, tbgradient); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, tbgradient); /* Opera 11.10+ */
background: -ms-linear-gradient(top, tbgradient); /* IE10+ */
background: linear-gradient(to bottom, tbgradient); /* W3C */
padding: tbcss3Leftover;
cursor: pointer;
outline: none;
}
.x-toolbar-mark .buttonInner {
padding: tbpadding;
text-align: center;
font-size: tbfontSize;
color: tbfontColor;
font-weight: tbfontWeight;
font-family: tbfontFamily;
}
.x-toolbar-mark .over {
background: -webkit-linear-gradient(top, tboverGradient); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, tboverGradient); /* Opera 11.10+ */
background: -ms-linear-gradient(top, tboverGradient); /* IE10+ */
background: linear-gradient(to bottom, tboverGradient); /* W3C */
}
.x-toolbar-mark .pressed {
background: -webkit-linear-gradient(top, tbpressedGradient) !important; /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, tbpressedGradient) !important; /* Opera 11.10+ */
background: -ms-linear-gradient(top, tbpressedGradient) !important; /* IE10+ */
background: linear-gradient(to bottom, tbpressedGradient) !important; /* W3C */
}
.x-toolbar-mark .focused {
background: -webkit-linear-gradient(top, tboverGradient); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, tboverGradient); /* Opera 11.10+ */
background: -ms-linear-gradient(top, tboverGradient); /* IE10+ */
background: linear-gradient(to bottom, tboverGradient); /* W3C */
}
.x-toolbar-mark .small {
line-height: tbsmallLineHeight;
font-size: tbsmallFontSize;
}
.x-toolbar-mark .medium {
line-height: tbmediumLineHeight;
font-size: tbmediumFontSize;
}
.x-toolbar-mark .large {
line-height: tblargeLineHeight;
font-size: tblargeFontSize;
}
.x-toolbar-mark .iconLeft {
display: inline-block;
vertical-align: middle;
margin-right: 2px;
}
.x-toolbar-mark .iconRight {
display: inline-block;
vertical-align: middle;
margin-left: 2px;
}
.x-toolbar-mark .iconTop {
display: block;
margin: 0 auto;
margin-bottom: 2px;
}
.x-toolbar-mark .iconBottom {
display: block;
margin: 0 auto;
margin-top: 2px;
}
.x-toolbar-mark .noText .iconLeft {
margin-right: 0px;
}
.x-toolbar-mark .noText .iconRight {
margin-left: 0px;
}
@sprite .x-toolbar-mark .split {
gwt-image: 'toolBarSplit';
width: auto;
height: auto;
background-position: right center;
padding-right: 20px;
background-repeat: no-repeat;
}
@sprite .x-toolbar-mark .splitBottom {
gwt-image: 'toolBarSplitBottom';
width: auto;
height: auto;
background-position: center bottom;
padding-bottom: 14px;
background-repeat: no-repeat;
}
@sprite .x-toolbar-mark .arrow {
gwt-image: 'toolBarArrow';
width: auto;
height: auto;
padding-right: 10px;
background-position: right center;
background-repeat: no-repeat;
}
@sprite .x-toolbar-mark .arrowBottom {
gwt-image: 'toolBarArrowBottom';
width: auto;
height: auto;
padding-bottom: 14px;
background-position: center bottom;
background-repeat: no-repeat;
}

@ -0,0 +1,48 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def borderRadius value('theme.buttonGroup.borderRadius','px');
@def borderColor value('theme.buttonGroup.border.color');
@def borderStyle value('theme.buttonGroup.border.style');
@def borderWidth value('theme.buttonGroup.border.toString');
@def fontSize value('theme.buttonGroup.font.size');
@def fontFamily value('theme.buttonGroup.font.family');
@def fontWeight value('theme.buttonGroup.font.weight');
@def fontColor value('theme.buttonGroup.font.color');
@def headerGradient value('theme.buttonGroup.headerGradient');
@def headerPadding value('theme.buttonGroup.headerPadding.toString');
@def bodyPadding value('theme.buttonGroup.bodyPadding.toString');
@def bodyBackgroundColor value('theme.buttonGroup.bodyBackgroundColor');
.group {
border-radius: borderRadius;
border-width: borderWidth;
border-style: borderStyle;
border-color: borderColor;
}
.header {
font-size: fontSize;
color: fontColor;
font-weight: fontWeight;
font-family: fontFamily;
line-height: 16px;
padding: headerPadding;
text-align: center;
background: -webkit-linear-gradient(top, headerGradient); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, headerGradient); /* Opera 11.10+ */
background: -ms-linear-gradient(top, headerGradient); /* IE10+ */
background: linear-gradient(to bottom, headerGradient); /* W3C */
}
.body {
background-color: bodyBackgroundColor;
padding: bodyPadding;
}

@ -0,0 +1,94 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.button;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.sencha.gxt.core.client.XTemplates;
import com.sencha.gxt.core.client.dom.XElement;
import com.sencha.gxt.core.client.resources.StyleInjectorHelper;
import com.sencha.gxt.theme.neptune.client.ThemeDetails;
import com.sencha.gxt.widget.core.client.button.ButtonGroup.ButtonGroupAppearance;
public class Css3ButtonGroupAppearance implements ButtonGroupAppearance {
public interface Css3ButtonGroupResources extends ClientBundle {
@Source("Css3ButtonGroup.css")
Css3ButtonGroupStyle style();
ThemeDetails theme();
}
public interface Css3ButtonGroupStyle extends CssResource {
String group();
String body();
String header();
}
public interface Css3ButtonGroupTemplate extends XTemplates {
@XTemplate("<div class='{style.group}'><div class='{style.header}'></div><div class='{style.body}'></div></div>")
SafeHtml render(Css3ButtonGroupStyle style);
}
private final Css3ButtonGroupResources resources;
private final Css3ButtonGroupStyle style;
private final Css3ButtonGroupTemplate template;
public Css3ButtonGroupAppearance() {
this(GWT.<Css3ButtonGroupResources> create(Css3ButtonGroupResources.class));
}
public Css3ButtonGroupAppearance(Css3ButtonGroupResources resources) {
this.resources = resources;
style = resources.style();
template = GWT.create(Css3ButtonGroupTemplate.class);
StyleInjectorHelper.ensureInjected(resources.style(), true);
}
@Override
public void render(SafeHtmlBuilder sb) {
sb.append(template.render(style));
}
@Override
public void updateText(XElement parent, String text) {
getHeaderElement(parent).setInnerText(text);
}
@Override
public void onHideHeader(XElement parent, boolean hide) {
getHeaderElement(parent).setVisible(!hide);
}
@Override
public XElement getHeaderElement(XElement parent) {
return parent.getFirstChildElement().cast();
}
@Override
public XElement getContentElem(XElement parent) {
return parent.selectNode("." + style.body());
}
@Override
public int getFrameHeight(XElement parent) {
return resources.theme().buttonGroup().borderRadius() * 2;
}
@Override
public int getFrameWidth(XElement parent) {
return resources.theme().buttonGroup().borderRadius() * 2;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

@ -0,0 +1,56 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def size value('theme.colorpalette.itemSize', 'px');
@def itemPadding value('theme.colorpalette.itemPadding.toString');
@def backgroundColor value('theme.colorpalette.backgroundColor');
@def borderWidth value('theme.colorpalette.itemBorder.toString');
@def borderStyle value('theme.colorpalette.itemBorder.style');
@def borderColor value('theme.colorpalette.itemBorder.color');
@def selectedBackgroundColor value('theme.colorpalette.selectedBackgroundColor');
@def selectedBorderWidth value('theme.colorpalette.selectedBorder.toString');
@def selectedBorderStyle value('theme.colorpalette.selectedBorder.style');
@def selectedBorderColor value('theme.colorpalette.selectedBorder.color');
.colorPalette {
background-color: backgroundColor;
border-collapse: collapse;
}
.anchor {
/*same as background to keep spacing consistent*/
border-color: backgroundColor;
border-style: selectedBorderStyle;
border-width: selectedBorderWidth;
padding: itemPadding;
}
.inner {
height:size;
width:size;
line-height:size;
}
.wrapper {
border-color: borderColor;
border-style: borderStyle;
border-width: borderWidth;
}
.hover,.selected {
border-color: selectedBorderColor;
border-style: selectedBorderStyle;
border-width: selectedBorderWidth;
background-color: selectedBackgroundColor;
}

@ -0,0 +1,31 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.colorpalette;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.sencha.gxt.theme.base.client.colorpalette.ColorPaletteBaseAppearance;
import com.sencha.gxt.theme.neptune.client.ThemeDetails;
public class Css3ColorPaletteAppearance extends ColorPaletteBaseAppearance {
public interface Css3ColorPaletteResources extends ColorPaletteResources, ClientBundle {
@Override
@Source({"com/sencha/gxt/theme/base/client/colorpalette/ColorPalette.css","Css3ColorPalette.css"})
Css3ColorPaletteStyle style();
ThemeDetails theme();
}
public interface Css3ColorPaletteStyle extends ColorPaletteStyle {
}
public Css3ColorPaletteAppearance() {
super(GWT.<Css3ColorPaletteResources>create(Css3ColorPaletteResources.class), GWT.<BaseColorPaletteTemplate>create(BaseColorPaletteTemplate.class));
}
}

@ -0,0 +1,46 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def backgroundColor value('theme.accordionLayout.backgroundColor');
@def borderColor value('theme.accordionLayout.border.color');
@def borderStyle value('theme.accordionLayout.border.style');
@def borderWidth value('theme.accordionLayout.border.toString');
@def textColor value('theme.accordionLayout.textColor');
@def headerBackgroundColor value('theme.accordionLayout.headerBackgroundColor');
@def headerGradient value('theme.accordionLayout.headerGradient');
@def padding value('theme.accordionLayout.headerPadding.toString');
.panel {
outline: 0 none;
border-style: borderStyle;
border-width: borderWidth;
border-color: borderColor;
}
.body {
background-color: backgroundColor;
border: none;
position: relative;
overflow: hidden;
}
.header {
background: -webkit-linear-gradient(top, headerGradient); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, headerGradient); /* Opera 11.10+ */
background: -ms-linear-gradient(top, headerGradient); /* IE10+ */
background: linear-gradient(to bottom, headerGradient); /* W3C */
padding: padding;
}
.footer {
position: relative;
}
.bodyWrap {
}

@ -0,0 +1,60 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.container;
import com.google.gwt.core.shared.GWT;
import com.sencha.gxt.theme.neptune.client.base.panel.Css3ContentPanelAppearance;
import com.sencha.gxt.theme.neptune.client.base.panel.Css3HeaderAppearance;
import com.sencha.gxt.theme.neptune.client.base.panel.Css3HeaderAppearance.Css3HeaderResources;
import com.sencha.gxt.theme.neptune.client.base.panel.Css3HeaderAppearance.Css3HeaderStyle;
import com.sencha.gxt.widget.core.client.Header.HeaderAppearance;
import com.sencha.gxt.widget.core.client.button.ToolButton;
import com.sencha.gxt.widget.core.client.button.IconButton.IconConfig;
import com.sencha.gxt.widget.core.client.container.AccordionLayoutContainer.AccordionLayoutAppearance;
public class Css3AccordionLayoutAppearance extends Css3ContentPanelAppearance implements AccordionLayoutAppearance {
public interface Css3AccordionResources extends Css3ContentPanelResources {
@Override
@Source({"Css3AccordionLayout.css"})
Css3AccordionStyle style();
}
public interface Css3AccordionStyle extends Css3ContentPanelStyle {
}
public interface Css3AccordionHeaderStyle extends Css3HeaderStyle {
}
public interface Css3AccordionHeaderResources extends Css3HeaderResources {
@Override
@Source({"com/sencha/gxt/theme/base/client/widget/Header.css", "Css3AccordionLayoutHeader.css"})
Css3AccordionHeaderStyle style();
}
public Css3AccordionLayoutAppearance() {
super(GWT.<Css3AccordionResources>create(Css3AccordionResources.class));
}
@Override
public HeaderAppearance getHeaderAppearance() {
return new Css3HeaderAppearance(GWT.<Css3AccordionHeaderResources>create(Css3AccordionHeaderResources.class));
}
@Override
public IconConfig collapseIcon() {
return ToolButton.MINUS;
}
@Override
public IconConfig expandIcon() {
return ToolButton.PLUS;
}
}

@ -0,0 +1,24 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def textColor value('theme.accordionLayout.font.color');
@def fontSize value('theme.accordionLayout.font.size');
@def fontFamily value('theme.accordionLayout.font.family');
@def fontWeight value('theme.accordionLayout.font.weight');
.header {
padding: 0px;
}
.headerText {
color: textColor;
font-size: fontSize;
font-weight: fontWeight;
font-family: fontFamily;
line-height: 15px;
text-transform: none;
}

@ -0,0 +1,12 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def backgroundColor value("theme.borderLayout.panelBackgroundColor");
.container {
background-color: backgroundColor;
}

@ -0,0 +1,69 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.container;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.user.client.ui.Widget;
import com.sencha.gxt.core.client.dom.XElement;
import com.sencha.gxt.core.client.resources.StyleInjectorHelper;
import com.sencha.gxt.theme.neptune.client.ThemeDetails;
import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutAppearance;
/**
*
*/
public class Css3BorderLayoutAppearance implements BorderLayoutAppearance {
public interface Css3BorderLayoutResources extends ClientBundle {
@Source("Css3BorderLayout.css")
Css3BorderLayoutStyle style();
ThemeDetails theme();
}
public interface Css3BorderLayoutStyle extends CssResource {
String container();
}
private final Css3BorderLayoutResources resources;
private final Css3BorderLayoutStyle style;
public Css3BorderLayoutAppearance() {
this(GWT.<Css3BorderLayoutResources>create(Css3BorderLayoutResources.class));
}
public Css3BorderLayoutAppearance(Css3BorderLayoutResources resources) {
this.resources = resources;
this.style = this.resources.style();
StyleInjectorHelper.ensureInjected(style, true);
}
@Override
public XElement getContainerTarget(XElement parent) {
return parent;
}
@Override
public void render(SafeHtmlBuilder sb) {
sb.appendHtmlConstant("<div class='" + style.container() + "'></div>");
}
@Override
public void onInsert(Widget child) {
}
@Override
public void onRemove(Widget child) {
}
}

@ -0,0 +1,18 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@external x-toolbar-mark;
@def moreIconToolBar literal('url(')value('moreIconToolBar.getSafeUri.asString',')');
.x-toolbar-mark .moreIcon img {
background: moreIconToolBar !important;
}

@ -0,0 +1,38 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.container;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ImageResource;
import com.sencha.gxt.theme.base.client.container.HBoxLayoutDefaultAppearance;
public class Css3HBoxLayoutContainerAppearance extends HBoxLayoutDefaultAppearance {
public interface Css3HBoxLayoutContainerResources extends HBoxLayoutBaseResources {
@Override
@Source({"com/sencha/gxt/theme/base/client/container/BoxLayout.css", "Css3HBoxLayoutContainer.css"})
HBoxLayoutStyle style();
@Override
ImageResource moreIcon();
ImageResource moreIconToolBar();
}
public interface Css3HBoxLayoutContainerStyle extends HBoxLayoutStyle {
}
public Css3HBoxLayoutContainerAppearance() {
this(GWT.<Css3HBoxLayoutContainerResources>create(Css3HBoxLayoutContainerResources.class));
}
public Css3HBoxLayoutContainerAppearance(Css3HBoxLayoutContainerResources resources) {
super(resources);
}
}

@ -0,0 +1,37 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def textColor value('theme.messagebox.text.color');
@def textFamily value('theme.messagebox.text.family');
@def textWeight value('theme.messagebox.text.weight');
@def textSize value('theme.messagebox.text.size');
@def messagePadding value('theme.messagebox.messagePadding');
@def bodyPadding value('theme.messagebox.bodyPadding');
@def iconPadding value('theme.messagebox.iconPadding');
.icon {
float: left;
width: 47px;
height: 32px;
display: none;
padding: iconPadding;
}
.message {
color: textColor;
font-family: textFamily;
font-size: textSize;
font-weight: textWeight;
padding: messagePadding;
}
.content {
padding: bodyPadding;
}

@ -0,0 +1,28 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.container;
import com.google.gwt.core.shared.GWT;
import com.sencha.gxt.theme.base.client.container.MessageBoxDefaultAppearance;
import com.sencha.gxt.theme.neptune.client.ThemeDetails;
public class Css3MessageBoxAppearance extends MessageBoxDefaultAppearance {
public interface Css3MessageBoxResources extends MessageBoxResources {
@Override
@Source("Css3MessageBox.css")
Css3MessageBoxStyles style();
ThemeDetails theme();
}
public interface Css3MessageBoxStyles extends MessageBoxBaseStyle {
}
public Css3MessageBoxAppearance() {
super(GWT.<Css3MessageBoxResources>create(Css3MessageBoxResources.class));
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

@ -0,0 +1,48 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.field;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ImageResource;
import com.sencha.gxt.cell.core.client.form.DateCell.DateCellAppearance;
/**
*
*/
public class Css3DateCellAppearance extends Css3TriggerFieldAppearance implements DateCellAppearance {
public interface Css3DateCellResources extends Css3TriggerFieldResources {
@Override
@Source({"Css3ValueBaseField.css", "Css3TextField.css", "Css3TriggerField.css"})
Css3DateCellStyle style();
@Override
@Source("dateTrigger.png")
ImageResource triggerArrow();
@Override
@Source("dateTriggerOver.png")
ImageResource triggerArrowOver();
@Override
@Source("dateTriggerClick.png")
ImageResource triggerArrowClick();
}
public interface Css3DateCellStyle extends Css3TriggerFieldStyle {
}
public Css3DateCellAppearance() {
this(GWT.<Css3DateCellResources>create(Css3DateCellResources.class));
}
public Css3DateCellAppearance(Css3DateCellResources resources) {
super(resources);
}
}

@ -0,0 +1,92 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def upIcon literal('url(')value('upBtn.getSafeUri.asString',')');
@def allRightIcon literal('url(')value('allRightBtn.getSafeUri.asString',')');
@def rightIcon literal('url(')value('rightBtn.getSafeUri.asString',')');
@def leftIcon literal('url(')value('leftBtn.getSafeUri.asString',')');
@def allLeftIcon literal('url(')value('allLeftBtn.getSafeUri.asString',')');
@def downIcon literal('url(')value('downBtn.getSafeUri.asString',')');
@def width value('upBtn.getWidth', 'px');
@def height value('upBtn.getHeight', 'px');
@def borderRadius value('theme.toolbar.buttonOverride.borderRadius', 'px');
@def borderColor value('theme.toolbar.buttonOverride.border.color');
@def borderStyle value('theme.toolbar.buttonOverride.border.style');
@def borderWidth value('theme.toolbar.buttonOverride.border.toString');
@def gradient value('theme.toolbar.buttonOverride.gradient');
.IconButtonStyle-button.up,
.IconButtonStyle-button.allRight,
.IconButtonStyle-button.right,
.IconButtonStyle-button.left,
.IconButtonStyle-button.allLeft,
.IconButtonStyle-button.down
{
border-radius: borderRadius;
border-width: borderWidth;
border-style: borderStyle;
border-color: borderColor;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
background-position: center center, left top;
width: width;
height: height;
}
.up {
background-image: upIcon, -webkit-linear-gradient(top, gradient); /* Chrome10+,Safari5.1+ */
background-image: upIcon, -o-linear-gradient(top, gradient); /* Opera 11.10+ */
background-image: upIcon, -ms-linear-gradient(top, gradient); /* IE10+ */
background-image: upIcon, linear-gradient(to bottom, gradient); /* W3C */
}
.allRight {
background-image: allRightIcon, -webkit-linear-gradient(top, gradient); /* Chrome10+,Safari5.1+ */
background-image: allRightIcon, -o-linear-gradient(top, gradient); /* Opera 11.10+ */
background-image: allRightIcon, -ms-linear-gradient(top, gradient); /* IE10+ */
background-image: allRightIcon, linear-gradient(to bottom, gradient); /* W3C */
}
.right {
background-image: rightIcon, -webkit-linear-gradient(top, gradient); /* Chrome10+,Safari5.1+ */
background-image: rightIcon, -o-linear-gradient(top, gradient); /* Opera 11.10+ */
background-image: rightIcon, -ms-linear-gradient(top, gradient); /* IE10+ */
background-image: rightIcon, linear-gradient(to bottom, gradient); /* W3C */
}
.left {
background-image: leftIcon, -webkit-linear-gradient(top, gradient); /* Chrome10+,Safari5.1+ */
background-image: leftIcon, -o-linear-gradient(top, gradient); /* Opera 11.10+ */
background-image: leftIcon, -ms-linear-gradient(top, gradient); /* IE10+ */
background-image: leftIcon, linear-gradient(to bottom, gradient); /* W3C */
}
.allLeft {
background-image: allLeftIcon, -webkit-linear-gradient(top, gradient); /* Chrome10+,Safari5.1+ */
background-image: allLeftIcon, -o-linear-gradient(top, gradient); /* Opera 11.10+ */
background-image: allLeftIcon, -ms-linear-gradient(top, gradient); /* IE10+ */
background-image: allLeftIcon, linear-gradient(to bottom, gradient); /* W3C */
}
.down {
background-image: downIcon, -webkit-linear-gradient(top, gradient); /* Chrome10+,Safari5.1+ */
background-image: downIcon, -o-linear-gradient(top, gradient); /* Opera 11.10+ */
background-image: downIcon, -ms-linear-gradient(top, gradient); /* IE10+ */
background-image: downIcon, linear-gradient(to bottom, gradient); /* W3C */
}

@ -0,0 +1,118 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.field;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.resources.client.CssResource.Import;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.resources.client.ImageResource.ImageOptions;
import com.google.gwt.resources.client.ImageResource.RepeatStyle;
import com.sencha.gxt.core.client.resources.StyleInjectorHelper;
import com.sencha.gxt.theme.base.client.button.IconButtonDefaultAppearance.IconButtonStyle;
import com.sencha.gxt.theme.neptune.client.ThemeDetails;
import com.sencha.gxt.widget.core.client.button.IconButton.IconConfig;
import com.sencha.gxt.widget.core.client.form.DualListField.DualListFieldAppearance;
/**
*
*/
public class Css3DualListFieldAppearance implements DualListFieldAppearance {
public interface Css3DualListFieldResources extends ClientBundle {
@Source("Css3DualListField.css")
@Import(IconButtonStyle.class)
Css3DualListFieldStyle style();
ThemeDetails theme();
@ImageOptions(repeatStyle = RepeatStyle.None)
@Source("up.png")
ImageResource upBtn();
@ImageOptions(repeatStyle = RepeatStyle.None)
@Source("allRight.png")
ImageResource allRightBtn();
@ImageOptions(repeatStyle = RepeatStyle.None)
@Source("left.png")
ImageResource leftBtn();
@ImageOptions(repeatStyle = RepeatStyle.None)
@Source("right.png")
ImageResource rightBtn();
@ImageOptions(repeatStyle = RepeatStyle.None)
@Source("allLeft.png")
ImageResource allLeftBtn();
@ImageOptions(repeatStyle = RepeatStyle.None)
@Source("down.png")
ImageResource downBtn();
}
public interface Css3DualListFieldStyle extends CssResource {
String up();
String allRight();
String right();
String left();
String allLeft();
String down();
}
@SuppressWarnings("unused")
private Css3DualListFieldResources resources;
private Css3DualListFieldStyle style;
public Css3DualListFieldAppearance() {
this(
GWT.<Css3DualListFieldResources> create(Css3DualListFieldResources.class));
}
public Css3DualListFieldAppearance(Css3DualListFieldResources resources) {
this.resources = resources;
this.style = resources.style();
StyleInjectorHelper.ensureInjected(style, false);
}
@Override
public IconConfig allLeft() {
return new IconConfig(style.allLeft());
}
@Override
public IconConfig allRight() {
return new IconConfig(style.allRight());
}
@Override
public IconConfig down() {
return new IconConfig(style.down());
}
@Override
public IconConfig left() {
return new IconConfig(style.left());
}
@Override
public IconConfig right() {
return new IconConfig(style.right());
}
@Override
public IconConfig up() {
return new IconConfig(style.up());
}
}

@ -0,0 +1,107 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def radius value('theme.errortip.borderRadius', 'px');
@def borderStyle value('theme.errortip.border.style');
@def borderColor value('theme.errortip.border.color');
@def borderWidth value('theme.errortip.border.toString');
@def css3Leftover value('theme.errortip.radiusMinusBorderWidth.toString');
@def padding value('theme.errortip.padding.toString');
@def margin value('theme.errortip.margin.toString');
@def opacity value('theme.errortip.opacity');
@def backgroundColor value('theme.errortip.backgroundColor');
@def headerColor value('theme.errortip.headerText.color');
@def headerSize value('theme.errortip.headerText.size');
@def headerWeight value('theme.errortip.headerText.weight');
@def headerFamily value('theme.errortip.headerText.family');
@def messageColor value('theme.errortip.messageText.color');
@def messageSize value('theme.errortip.messageText.size');
@def messageWeight value('theme.errortip.messageText.weight');
@def messageFamily value('theme.errortip.messageText.family');
@def headerPadding value('theme.errortip.headerPadding.toString');
@def messagePadding value('theme.errortip.messagePadding.toString');
.tipWrap {
border-color: borderColor;
border-style: borderStyle;
border-width: borderWidth;
border-radius: radius;
overflow: hidden;
background-color: backgroundColor;
opacity: opacity;
margin: margin;
/* applying the radius as padding here, avoiding us needing to do math when working out the sliced padding,
which already has the padding from the images */
padding: css3Leftover;
}
.tip {
padding: padding;
}
.tools {
float: right;
}
.heading {
color: headerColor;
font-size: headerSize;
font-weight: headerWeight;
font-family: headerFamily;
}
.headingWrap {
padding: headerPadding;
}
.text {
color: messageColor;
font-size: messageSize;
font-weight: messageWeight;
font-family: messageFamily;
}
@sprite .textWrap {
gwt-image: 'errorIcon';
width: auto;
height: auto;
background-position: -1 4px;
padding-left: 20px;
margin: messagePadding;
}
.anchor {}
@sprite .anchorBottom {
gwt-image: "anchorBottom";
position: absolute;
}
@sprite .anchorRight {
gwt-image: "anchorRight";
position: absolute;
}
@sprite .anchorLeft {
gwt-image: "anchorLeft";
position: absolute;
}
@sprite .anchorTop {
gwt-image: "anchorTop";
position: absolute;
}

@ -0,0 +1,30 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.field;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.resources.client.ImageResource;
import com.sencha.gxt.theme.neptune.client.base.tips.Css3TipAppearance;
import com.sencha.gxt.widget.core.client.form.error.SideErrorHandler.SideErrorTooltipAppearance;
public class Css3ErrorTipAppearance extends Css3TipAppearance implements SideErrorTooltipAppearance {
interface Css3ErrorTipResources extends Css3TipResources {
@Source("exclamation.png")
ImageResource errorIcon();
@Override
@Source("Css3ErrorTip.css")
Css3ErrorTipStyle style();
}
interface Css3ErrorTipStyle extends Css3TipStyle {
}
public Css3ErrorTipAppearance() {
super(GWT.<Css3ErrorTipResources>create(Css3ErrorTipResources.class));
}
}

@ -0,0 +1,83 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def textFamily value('theme.field.sideLabel.text.family');
@def textWeight value('theme.field.sideLabel.text.weight');
@def textSize value('theme.field.sideLabel.text.size');
@def textColor value('theme.field.sideLabel.text.color');
@def topTextFamily value('theme.field.topLabel.text.family');
@def topTextWeight value('theme.field.topLabel.text.weight');
@def topTextSize value('theme.field.topLabel.text.size');
@def topTextColor value('theme.field.topLabel.text.color');
@def padding value('theme.field.sideLabel.padding');
@def labelPadding value('theme.field.sideLabel.labelPadding');
@def fieldPadding value('theme.field.sideLabel.fieldPadding');
@def textAlign value('theme.field.sideLabel.textAlign');
@def topPadding value('theme.field.topLabel.padding');
@def topLabelPadding value('theme.field.topLabel.labelPadding');
@def topFieldPadding value('theme.field.topLabel.fieldPadding');
@def topTextAlign value('theme.field.topLabel.textAlign');
.fieldItem {
display: block;
padding:padding;
position: relative;
}
/*.fieldItem*/.fieldItemLabelTop {
padding: topPadding;
}
.fieldLabel {
font-family: textFamily;
font-size: textSize;
font-weight: textWeight;
color: textColor;
text-align: textAlign;
clear: left;
display: block;
float: left;
padding: labelPadding;
position: relative;
z-index: 2;
-moz-user-select: none;
}
.fieldItemLabelTop .fieldLabel {
font-family: topTextFamily;
font-size: topTextSize;
font-weight: topTextWeight;
color: topTextColor;
width: auto !important;
float: none !important;
clear: none;
position: static;
text-align: topTextAlign;
padding: topLabelPadding;
}
.fieldElement {
padding: fieldPadding;
}
.fieldItemLabelTop .fieldElement {
padding: topFieldPadding;
}
.clearLeft {
clear: left;
font-size: 0;
height: 0;
line-height: 0;
overflow: hidden;
}

@ -0,0 +1,33 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.field;
import com.google.gwt.core.shared.GWT;
import com.sencha.gxt.theme.base.client.field.FieldLabelDefaultAppearance;
import com.sencha.gxt.theme.neptune.client.ThemeDetails;
public class Css3FieldLabelAppearance extends FieldLabelDefaultAppearance {
public interface Css3FieldLabelResources extends FieldLabelResources {
@Override
@Source("Css3FieldLabel.css")
Css3FieldLabelStyles css();
ThemeDetails theme();
}
public interface Css3FieldLabelStyles extends FieldLabelDefaultAppearance.Style {
}
public Css3FieldLabelAppearance() {
this(GWT.<Css3FieldLabelResources>create(Css3FieldLabelResources.class));
}
public Css3FieldLabelAppearance(Css3FieldLabelResources resources) {
super(resources, GWT.<FieldLabelTemplate>create(FieldLabelTemplate.class));
}
}

@ -0,0 +1,32 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.field;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ImageResource;
import com.sencha.gxt.widget.core.client.form.error.SideErrorHandler.SideErrorResources;
public class Css3SideErrorResourcesAdapter implements SideErrorResources {
interface Css3SideErrorResources extends SideErrorResources {
@Override
@Source("exclamation.png")
ImageResource errorIcon();
}
private final Css3SideErrorResources resources;
public Css3SideErrorResourcesAdapter() {
this.resources = GWT.create(Css3SideErrorResources.class);
}
public ImageResource errorIcon() {
return resources.errorIcon();
}
}

@ -0,0 +1,41 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@sprite .twinTriggerOver .twinTrigger {
gwt-image: "twinTriggerArrowOver";
}
@sprite .twinTriggerClick .twinTrigger {
gwt-image: "twinTriggerArrowClick";
}
@sprite .triggerOver .trigger {
gwt-image: "triggerArrowOver";
}
@sprite .triggerClick .trigger {
gwt-image: "triggerArrowClick";
}
.trigger {
position: relative;
top: inherit;
}
@sprite .twinTrigger {
gwt-image: "twinTriggerArrow";
cursor: pointer;
}
.triggerWrap {
position: absolute;
top: 50%;
right: 0px;
}

@ -0,0 +1,66 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.field;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ImageResource;
import com.sencha.gxt.cell.core.client.form.SpinnerFieldCell.SpinnerFieldAppearance;
/**
*
*/
public class Css3SpinnerFieldAppearance extends Css3TwinTriggerFieldAppearance implements SpinnerFieldAppearance {
public interface Css3SpinnerFieldResources extends Css3TwinTriggerFieldResources {
@Override
@Source({"Css3ValueBaseField.css", "Css3TextField.css", "Css3TriggerField.css", "Css3SpinnerField.css"})
Css3SpinnerFieldStyle style();
@Override
@Source("spinnerUp.png")
ImageResource triggerArrow();
@Override
@Source("spinnerUpOver.png")
ImageResource triggerArrowOver();
@Override
@Source("spinnerUpClick.png")
ImageResource triggerArrowClick();
@Source("spinnerDown.png")
public ImageResource twinTriggerArrow();
@Source("spinnerDownOver.png")
public ImageResource twinTriggerArrowOver();
@Source("spinnerDownClick.png")
public ImageResource twinTriggerArrowClick();
}
public interface Css3SpinnerFieldStyle extends Css3TwinTriggerFieldStyle {
}
private final Css3SpinnerFieldResources resources;
public Css3SpinnerFieldAppearance() {
this(GWT.<Css3SpinnerFieldResources>create(Css3SpinnerFieldResources.class));
}
public Css3SpinnerFieldAppearance(Css3SpinnerFieldResources resources) {
super(resources);
this.resources = resources;
}
@Override
protected int getTriggerWrapHeight() {
return resources.triggerArrow().getHeight() + resources.twinTriggerArrow().getHeight();
}
}

@ -0,0 +1,7 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/

@ -0,0 +1,47 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.field;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ImageResource;
import com.sencha.gxt.widget.core.client.form.StoreFilterField.StoreFilterFieldAppearance;
/**
*
*/
public class Css3StoreFilterFieldAppearance extends Css3TriggerFieldAppearance implements StoreFilterFieldAppearance {
public interface Css3StoreFilterFieldResources extends Css3TriggerFieldResources {
@Override
@Source({"Css3ValueBaseField.css", "Css3TextField.css", "Css3TriggerField.css", "Css3StoreFilterField.css"})
Css3StoreFilterFieldStyle style();
@Override
@Source("clearTrigger.png")
ImageResource triggerArrow();
@Override
@Source("clearTriggerOver.png")
ImageResource triggerArrowOver();
@Override
@Source("clearTriggerClick.png")
ImageResource triggerArrowClick();
}
public interface Css3StoreFilterFieldStyle extends Css3TriggerFieldStyle {
}
public Css3StoreFilterFieldAppearance() {
this(GWT.<Css3StoreFilterFieldResources>create(Css3StoreFilterFieldResources.class));
}
public Css3StoreFilterFieldAppearance(Css3StoreFilterFieldResources resources) {
super(resources);
}
}

@ -0,0 +1,14 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
.wrap {
white-space: normal;
}
.area {
}

@ -0,0 +1,135 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.field;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import com.sencha.gxt.cell.core.client.form.FieldCell.FieldAppearanceOptions;
import com.sencha.gxt.cell.core.client.form.TextAreaInputCell.TextAreaAppearance;
import com.sencha.gxt.cell.core.client.form.TextAreaInputCell.TextAreaCellOptions;
import com.sencha.gxt.core.client.GXT;
import com.sencha.gxt.core.client.dom.XElement;
import com.sencha.gxt.core.client.util.Size;
import com.sencha.gxt.theme.neptune.client.base.field.Css3TextFieldAppearance.Css3TextFieldStyle;
/**
*
*/
public class Css3TextAreaAppearance extends Css3ValueBaseFieldAppearance implements TextAreaAppearance {
public interface Css3TextAreaResources extends Css3ValueBaseFieldResources, ClientBundle {
@Source({"Css3ValueBaseField.css", "Css3TextField.css", "Css3TextArea.css"})
Css3TextAreaStyle style();
}
public interface Css3TextAreaStyle extends Css3TextFieldStyle {
String area();
}
private final Css3TextAreaStyle style;
public Css3TextAreaAppearance() {
this(GWT.<Css3TextAreaResources>create(Css3TextAreaResources.class));
}
public Css3TextAreaAppearance(Css3TextAreaResources resources) {
super(resources);
this.style = resources.style();
}
@Override
public XElement getInputElement(Element parent) {
return parent.getFirstChildElement().getFirstChildElement().cast();
}
@Override
public void onResize(XElement parent, int width, int height) {
Element frame = parent.getFirstChildElement();
XElement inputElement = getInputElement(parent);
Size adj = adjustTextAreaSize(width, height);
if (width != -1) {
frame.getStyle().setWidth(width, Unit.PX);
width = adj.getWidth();
inputElement.getStyle().setWidth(width, Unit.PX);
}
if (height != -1) {
frame.getStyle().setHeight(height, Unit.PX);
height = adj.getHeight();
inputElement.getStyle().setHeight(height, Unit.PX);
}
}
@Override
public void render(SafeHtmlBuilder sb, String value, FieldAppearanceOptions options) {
String inputStyles = "";
String wrapStyles = "";
int width = options.getWidth();
int height = options.getHeight();
String name = options.getName() != null ? "name='" + options.getName() + "'" : "";
String disabled = options.isDisabled() ? "disabled=true" : "";
String placeholder = options.getEmptyText() != null ? " placeholder='" + SafeHtmlUtils.htmlEscape(options.getEmptyText()) + "' " : "";
boolean empty = false;
if ((value == null || value.equals("")) && options.getEmptyText() != null) {
if (GXT.isIE8() || GXT.isIE9()) {
value = options.getEmptyText();
}
empty = true;
}
Size adjusted = adjustTextAreaSize(width, height);
if (width != -1) {
wrapStyles += "width:" + width + "px;";
width = adjusted.getWidth();
inputStyles += "width:" + width + "px;";
}
if (height != -1) {
height = adjusted.getHeight();
inputStyles += "height: " + height + "px;";
}
String cls = style.area() + " " + style.field();
if (empty) {
cls += " " + style.empty();
}
String ro = options.isReadonly() ? " readonly" : "";
if (options instanceof TextAreaCellOptions) {
TextAreaCellOptions opts = (TextAreaCellOptions) options;
inputStyles += "resize:" + opts.getResizable().name().toLowerCase() + ";";
}
sb.appendHtmlConstant("<div style='" + wrapStyles + "' class='" + style.wrap() + "'>");
sb.appendHtmlConstant("<textarea " + name + disabled + " style='" + inputStyles + "' type='text' class='" + cls
+ "'" + ro + placeholder + ">");
sb.append(SafeHtmlUtils.fromString(value));
sb.appendHtmlConstant("</textarea></div>");
}
protected Size adjustTextAreaSize(int width, int height) {
width = Math.max(0, width);
height = Math.max(0, height);
return new Size(width, height);
}
}

@ -0,0 +1,38 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def height value('theme.field.height', 'px');
@def lineHeight value('theme.field.lineHeight');
@def padding value('theme.field.padding.toString');
.text {
height: auto;
}
.text, .area {
padding: padding;
resize: none;
}
.area {
overflow: visible;
}
@if user.agent gecko1_8 gecko {
.area {
padding: 0px;
}
}
.text {
height: height;
line-height: lineHeight;
vertical-align: top;
}
.file {}

@ -0,0 +1,118 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.field;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import com.sencha.gxt.cell.core.client.form.FieldCell.FieldAppearanceOptions;
import com.sencha.gxt.cell.core.client.form.TextInputCell.TextFieldAppearance;
import com.sencha.gxt.core.client.GXT;
import com.sencha.gxt.core.client.dom.XElement;
public class Css3TextFieldAppearance extends Css3ValueBaseFieldAppearance implements TextFieldAppearance {
public interface Css3TextFieldResources extends Css3ValueBaseFieldResources, ClientBundle {
@Override
@Source({"Css3ValueBaseField.css", "Css3TextField.css"})
Css3TextFieldStyle style();
}
public interface Css3TextFieldStyle extends Css3ValueBaseFieldStyle {
String area();
String file();
String text();
}
private final Css3TextFieldStyle style;
public Css3TextFieldAppearance() {
this(GWT.<Css3TextFieldResources>create(Css3TextFieldResources.class));
}
public Css3TextFieldAppearance(Css3TextFieldResources resources) {
super(resources);
this.style = resources.style();
}
@Override
public XElement getInputElement(Element parent) {
return parent.getFirstChildElement().getFirstChildElement().cast();
}
@Override
public void onResize(XElement parent, int width, int height) {
Element wrap = parent.getFirstChildElement();
if (width != -1 && width > 0) {
wrap.getStyle().setPropertyPx("width", width);
width = adjustTextAreaWidth(width);
if (width > 0) {
getInputElement(parent).getStyle().setPropertyPx("width", width);
}
}
}
@Override
public void render(SafeHtmlBuilder sb, String type, String value, FieldAppearanceOptions options) {
String inputStyles = "";
String wrapStyles = "";
int width = options.getWidth();
String name = options.getName() != null ? " name='" + options.getName() + "' " : "";
String disabled = options.isDisabled() ? "disabled=true" : "";
String placeholder = options.getEmptyText() != null ? " placeholder='" + SafeHtmlUtils.htmlEscape(options.getEmptyText()) + "' " : "";
boolean empty = false;
if ((value == null || value.equals("")) && options.getEmptyText() != null) {
if (GXT.isIE8() || GXT.isIE9()) {
value = options.getEmptyText();
}
empty = true;
}
if (width != -1) {
wrapStyles += "width:" + width + "px;";
width = adjustTextAreaWidth(width);
inputStyles += "width:" + width + "px;";
}
String cls = style.text() + " " + style.field();
if (empty) {
cls += " " + style.empty();
}
String ro = options.isReadonly() ? " readonly" : "";
value = SafeHtmlUtils.htmlEscape(value);
sb.appendHtmlConstant("<div style='" + wrapStyles + "' class='" + style.wrap() + "'>");
sb.appendHtmlConstant("<input " + name + disabled + " value='" + value + "' style='" + inputStyles + "' type='"
+ type + "' class='" + cls + "'" + ro + placeholder + ">");
}
protected int adjustTextAreaWidth(int width) {
// 6px margin, 2px border FIXME
if (width != -1) {
width = Math.max(0, width); // - 8
}
return width;
}
}

@ -0,0 +1,29 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
.noedit {
}
@sprite .over .trigger {
gwt-image: "triggerArrowOver";
}
@sprite .trigger {
gwt-image: "triggerArrow";
position: absolute;
top: 50%;
cursor: pointer;
}
@sprite .click .trigger {
gwt-image: "triggerArrowClick";
}
.text {
padding-right: 0px;
}

@ -0,0 +1,196 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.field;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.safecss.shared.SafeStyles;
import com.google.gwt.safecss.shared.SafeStylesBuilder;
import com.google.gwt.safecss.shared.SafeStylesUtils;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import com.sencha.gxt.cell.core.client.form.FieldCell.FieldAppearanceOptions;
import com.sencha.gxt.cell.core.client.form.TriggerFieldCell.TriggerFieldAppearance;
import com.sencha.gxt.core.client.GXT;
import com.sencha.gxt.core.client.dom.XElement;
import com.sencha.gxt.theme.neptune.client.FieldDetails;
import com.sencha.gxt.theme.neptune.client.base.field.Css3TextFieldAppearance.Css3TextFieldStyle;
/**
*
*/
public class Css3TriggerFieldAppearance extends Css3ValueBaseFieldAppearance implements TriggerFieldAppearance {
public interface Css3TriggerFieldResources extends Css3ValueBaseFieldResources, ClientBundle {
@Override
@Source({"Css3ValueBaseField.css", "Css3TextField.css", "Css3TriggerField.css"})
Css3TriggerFieldStyle style();
ImageResource triggerArrow();
ImageResource triggerArrowClick();
ImageResource triggerArrowOver();
}
public interface Css3TriggerFieldStyle extends Css3TextFieldStyle {
String click();
String noedit();
String over();
String trigger();
}
private final Css3TriggerFieldResources resources;
private final Css3TriggerFieldStyle style;
public Css3TriggerFieldAppearance() {
this(GWT.<Css3TriggerFieldResources>create(Css3TriggerFieldResources.class));
}
public Css3TriggerFieldAppearance(Css3TriggerFieldResources resources) {
super(resources);
this.resources = resources;
this.style = resources.style();
}
@Override
public XElement getInputElement(Element parent) {
return parent.<XElement>cast().selectNode("input");
}
@Override
public void onFocus(Element parent, boolean focus) {
parent.<XElement>cast().setClassName(getResources().style().focus(), focus);
}
@Override
public void onResize(XElement parent, int width, int height, boolean hideTrigger) {
if (width != -1) {
width = Math.max(0, width);
parent.getFirstChildElement().getStyle().setPropertyPx("width", width);
}
}
@Override
public void onTriggerClick(XElement parent, boolean click) {
parent.setClassName(getResources().style().click(), click);
}
@Override
public void onTriggerOver(XElement parent, boolean over) {
parent.setClassName(getResources().style().over(), over);
}
@Override
public void render(SafeHtmlBuilder sb, String value, FieldAppearanceOptions options) {
int width = options.getWidth();
boolean hideTrigger = options.isHideTrigger();
if (width == -1) {
width = 150;
}
SafeStylesBuilder inputStylesBuilder = new SafeStylesBuilder();
inputStylesBuilder.appendTrustedString("width:100%;");
// outer div needed for widgets like comboBox that need the full width to set for listview width
sb.appendHtmlConstant("<div style='width:" + width + "px;'>");
if (hideTrigger) {
sb.appendHtmlConstant("<div class='" + style.wrap() + "'>");
renderInput(sb, value, inputStylesBuilder.toSafeStyles(), options);
} else {
FieldDetails fieldDetails = getResources().theme().field();
int rightPadding = fieldDetails.padding().right();
sb.appendHtmlConstant("<div class='" + style.wrap() + "' style='padding-right:" + (getResources().triggerArrow().getWidth() + rightPadding) + "px;'>");
renderInput(sb, value, inputStylesBuilder.toSafeStyles(), options);
int right = fieldDetails.borderWidth() + 1;
int halfHeight = getResources().triggerArrow().getHeight() / 2;
SafeStyles triggerStyle = SafeStylesUtils.fromTrustedString("margin-top:-" + halfHeight + "px;right:" + right + "px;");
sb.appendHtmlConstant("<div class='" + getStyle().trigger() +
"' style='" + triggerStyle.asString() + "'></div>");
}
sb.appendHtmlConstant("</div></div>");
}
@Override
public void setEditable(XElement parent, boolean editable) {
getInputElement(parent).setClassName(getStyle().noedit(), !editable);
}
@Override
public boolean triggerIsOrHasChild(XElement parent, Element target) {
return parent.isOrHasChild(target) && target.<XElement>cast().is("." + getStyle().trigger());
}
protected Css3TriggerFieldResources getResources() {
return resources;
}
protected Css3TriggerFieldStyle getStyle() {
return style;
}
protected void renderInput(SafeHtmlBuilder shb, String value, SafeStyles inputStyles, FieldAppearanceOptions options) {
StringBuilder sb = new StringBuilder();
sb.append("<input ");
if (options.isDisabled()) {
sb.append("disabled=true");
}
if (options.getName() != null) {
sb.append("name='").append(SafeHtmlUtils.htmlEscape(options.getName())).append("' ");
}
if (options.isReadonly() || !options.isEditable()) {
sb.append("readonly ");
}
if (inputStyles != null) {
sb.append("style='").append(inputStyles.asString()).append("' ");
}
sb.append("class='").append(getStyle().field()).append(" ").append(getStyle().text());
String placeholder = options.getEmptyText() != null ? " placeholder='" + SafeHtmlUtils.htmlEscape(options.getEmptyText()) + "' " : "";
if ("".equals(value) && options.getEmptyText() != null) {
sb.append(" ").append(getStyle().empty());
if (GXT.isIE8() || GXT.isIE9()) {
value = options.getEmptyText();
}
}
if (!options.isEditable()) {
sb.append(" ").append(getStyle().noedit());
}
sb.append("' ");
sb.append(placeholder);
sb.append("type='text' value='").append(SafeHtmlUtils.htmlEscape(value)).append("' ");
sb.append("/>");
shb.append(SafeHtmlUtils.fromTrustedString(sb.toString()));
}
}

@ -0,0 +1,18 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
.twinTriggerClick {}
.twinTriggerOver {}
.triggerClick {}
.triggerOver {}
.twinTrigger {}
.triggerWrap {}

@ -0,0 +1,123 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.theme.neptune.client.base.field;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.safecss.shared.SafeStylesBuilder;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.sencha.gxt.cell.core.client.form.FieldCell.FieldAppearanceOptions;
import com.sencha.gxt.cell.core.client.form.TwinTriggerFieldCell.TwinTriggerFieldAppearance;
import com.sencha.gxt.core.client.dom.XElement;
import com.sencha.gxt.theme.neptune.client.FieldDetails;
/**
*
*/
public class Css3TwinTriggerFieldAppearance extends Css3TriggerFieldAppearance implements TwinTriggerFieldAppearance {
public interface Css3TwinTriggerFieldResources extends Css3TriggerFieldResources {
@Override
@Source({"Css3ValueBaseField.css", "Css3TextField.css", "Css3TriggerField.css", "Css3TwinTriggerField.css"})
Css3TwinTriggerFieldStyle style();
}
public interface Css3TwinTriggerFieldStyle extends Css3TriggerFieldStyle {
String triggerClick();
String triggerOver();
String triggerWrap();
String twinTrigger();
String twinTriggerClick();
String twinTriggerOver();
}
private final Css3TwinTriggerFieldStyle style;
public Css3TwinTriggerFieldAppearance() {
this(GWT.<Css3TwinTriggerFieldResources>create(Css3TwinTriggerFieldResources.class));
}
public Css3TwinTriggerFieldAppearance(Css3TwinTriggerFieldResources resources) {
super(resources);
this.style = resources.style();
}
@Override
public void onTriggerClick(XElement parent, boolean click) {
parent.setClassName(style.triggerClick(), click);
}
@Override
public void onTriggerOver(XElement parent, boolean over) {
parent.setClassName(style.triggerOver(), over);
}
@Override
public void onTwinTriggerClick(XElement parent, boolean click) {
parent.setClassName(style.twinTriggerClick(), click);
}
@Override
public void onTwinTriggerOver(XElement parent, boolean over) {
parent.setClassName(style.twinTriggerOver(), over);
}
@Override
public boolean twinTriggerIsOrHasChild(XElement parent, Element target) {
return parent.isOrHasChild(target) && target.<XElement>cast().is("." + style.twinTrigger());
}
@Override
public void render(SafeHtmlBuilder sb, String value, FieldAppearanceOptions options) {
int width = options.getWidth();
boolean hideTrigger = options.isHideTrigger();
if (width == -1) {
width = 150;
}
SafeStylesBuilder inputStylesBuilder = new SafeStylesBuilder();
inputStylesBuilder.appendTrustedString("width:100%;");
sb.appendHtmlConstant("<div style='width:" + width + "px;'>");
if (hideTrigger) {
sb.appendHtmlConstant("<div class='" + style.wrap() + "'>");
renderInput(sb, value, inputStylesBuilder.toSafeStyles(), options);
} else {
FieldDetails fieldDetails = getResources().theme().field();
int rightPadding = fieldDetails.padding().right();
sb.appendHtmlConstant("<div class='" + style.wrap() + "' style='padding-right:" + (getResources().triggerArrow().getWidth() + rightPadding) + "px;'>");
renderInput(sb, value, inputStylesBuilder.toSafeStyles(), options);
int triggerWrapTopMargin = -(getTriggerWrapHeight() / 2);
sb.appendHtmlConstant("<div class='" + getStyle().triggerWrap() + "' style='margin-top:" + triggerWrapTopMargin + "px;'>");
sb.appendHtmlConstant("<div class='" + getStyle().trigger() + "'></div>");
sb.appendHtmlConstant("<div class='" + getStyle().twinTrigger() + "'></div>");
sb.appendHtmlConstant("</div>");
}
sb.appendHtmlConstant("</div></div>");
}
@Override
protected Css3TwinTriggerFieldStyle getStyle() {
return style;
}
protected int getTriggerWrapHeight() {
return getResources().triggerArrow().getHeight();
}
}

@ -0,0 +1,84 @@
/**
* Sencha GXT 3.1.1 - Sencha for GWT
* Copyright(c) 2007-2014, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
@def backgroundColor value('theme.field.backgroundColor');
@def fieldColor value('theme.field.text.color');
@def fontSize value('theme.field.text.size');
@def fontFamily value('theme.field.text.family');
@def fontWeight value('theme.field.text.weight');
@def emptyTextColor value('theme.field.emptyTextColor');
@def height value('theme.field.height', 'px');
@def lineHeight value('theme.field.lineHeight');
@def borderColor value('theme.field.borderColor');
@def borderWidth value('theme.field.borderWidth', 'px');
@def focusColor value('theme.field.focusBorderColor');
@def invalidBackgroundColor value('theme.field.invalidBackgroundColor');
@def invalidBorderColor value('theme.field.invalidBorderColor');
@def invalidBorderWidth value('theme.field.invalidBorderWidth', 'px');
.focus {}
.invalid {}
.focus .wrap {
border-color: focusColor;
}
.invalid .wrap {
background-color: invalidBackgroundColor;
border: solid invalidBorderColor;
border-width: invalidBorderWidth;
}
.wrap {
zoom: 1;
white-space: nowrap;
text-align: left;
width: auto;
position: relative;
background-color: backgroundColor;
border-color: borderColor;
border-width: borderWidth;
border-style: solid;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
}
.field {
color: fieldColor;
font-size: fontSize;
font-family: fontFamily;
font-weight: fontWeight;
border: 0px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-box-shadow: none;
box-shadow: none;
}
.field::-ms-clear {
display: none;
}
.empty {
color: emptyTextColor;
}
.readonly {}

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

Loading…
Cancel
Save