added iPhone like Switch Button
git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/gcube-widgets@76824 82a268e6-3cf1-43bd-a215-b396298e98cf
20
.classpath
|
@ -1,9 +1,25 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry including="**/*.java" kind="src" output="target/classes" path="src/main/java"/>
|
<classpathentry including="**/*.java" kind="src" output="target/classes" path="src/main/java">
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
<attributes>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||||
|
<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.6">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||||
<attributes>
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
|
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
|
|
2178
.gwt/.gwt-log
4
.project
|
@ -26,12 +26,12 @@
|
||||||
</arguments>
|
</arguments>
|
||||||
</buildCommand>
|
</buildCommand>
|
||||||
<buildCommand>
|
<buildCommand>
|
||||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
<name>org.eclipse.wst.validation.validationbuilder</name>
|
||||||
<arguments>
|
<arguments>
|
||||||
</arguments>
|
</arguments>
|
||||||
</buildCommand>
|
</buildCommand>
|
||||||
<buildCommand>
|
<buildCommand>
|
||||||
<name>org.eclipse.wst.validation.validationbuilder</name>
|
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||||
<arguments>
|
<arguments>
|
||||||
</arguments>
|
</arguments>
|
||||||
</buildCommand>
|
</buildCommand>
|
||||||
|
|
|
@ -2,5 +2,6 @@
|
||||||
<project-modules id="moduleCoreId" project-version="1.5.0">
|
<project-modules id="moduleCoreId" project-version="1.5.0">
|
||||||
<wb-module deploy-name="gcube-widgets">
|
<wb-module deploy-name="gcube-widgets">
|
||||||
<wb-resource deploy-path="/" source-path="/src/main/java"/>
|
<wb-resource deploy-path="/" source-path="/src/main/java"/>
|
||||||
|
<wb-resource deploy-path="/" source-path="/src/test/java"/>
|
||||||
</wb-module>
|
</wb-module>
|
||||||
</project-modules>
|
</project-modules>
|
||||||
|
|
16
pom.xml
|
@ -10,10 +10,10 @@
|
||||||
|
|
||||||
<groupId>org.gcube.portlets.user</groupId>
|
<groupId>org.gcube.portlets.user</groupId>
|
||||||
<artifactId>gcube-widgets</artifactId>
|
<artifactId>gcube-widgets</artifactId>
|
||||||
<version>1.5.0-SNAPSHOT</version>
|
<version>1.6.0-SNAPSHOT</version>
|
||||||
<name>gCube Widgets Library</name>
|
<name>gCube Widgets Library</name>
|
||||||
<description>
|
<description>
|
||||||
gCube Widgets Library News Widget is a GWT Widget that can be used to uniform the Look and Feel for gCube Portlets using plain GWT.
|
gCube Widgets Library News Widget is a GWT Widget that can be used to uniform the Look and Feel for gCube Portlets using plain GWT.It also provides some out of the box widget to use.
|
||||||
</description>
|
</description>
|
||||||
<scm>
|
<scm>
|
||||||
<connection>scm:svn:http://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/${project.artifactId}</connection>
|
<connection>scm:svn:http://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/${project.artifactId}</connection>
|
||||||
|
@ -41,6 +41,18 @@
|
||||||
<!-- "provided" so that we don't deploy -->
|
<!-- "provided" so that we don't deploy -->
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.googlecode.gwtquery</groupId>
|
||||||
|
<artifactId>gwtquery</artifactId>
|
||||||
|
<version>1.3.3</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>xerces</groupId>
|
||||||
|
<artifactId>xercesImpl</artifactId>
|
||||||
|
<version>2.9.1</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<build>
|
<build>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
|
@ -2,20 +2,13 @@
|
||||||
<module rename-to='gcubewidgets'>
|
<module rename-to='gcubewidgets'>
|
||||||
|
|
||||||
<!-- Inherit the core Web Toolkit stuff. -->
|
<!-- Inherit the core Web Toolkit stuff. -->
|
||||||
<inherits name='com.google.gwt.user.User'/>
|
<inherits name='com.google.gwt.user.User' />
|
||||||
|
|
||||||
<!-- Inherit the default GWT style sheet. You can change -->
|
|
||||||
<!-- the theme of your GWT application by uncommenting -->
|
|
||||||
<!-- any one of the following lines. -->
|
|
||||||
<!-- inherits name='com.google.gwt.user.theme.standard.Standard'/ -->
|
|
||||||
<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
|
|
||||||
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
|
|
||||||
|
|
||||||
<!-- Other module inherits -->
|
<!-- Other module inherits -->
|
||||||
|
|
||||||
|
<inherits name='com.google.gwt.query.Query' />
|
||||||
<!-- Specify the app entry point class. -->
|
<!-- Specify the app entry point class. -->
|
||||||
<entry-point class='org.gcube.portlets.user.gcubewidgets.client.WidgetFactory'/>
|
<entry-point
|
||||||
|
class='org.gcube.portlets.user.gcubewidgets.client.WidgetFactory' />
|
||||||
|
|
||||||
<!-- Specify the application specific style sheet. -->
|
<!-- Specify the application specific style sheet. -->
|
||||||
<stylesheet src='gcube_common_styles.css' />
|
<stylesheet src='gcube_common_styles.css' />
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
package org.gcube.portlets.user.gcubewidgets.client;
|
package org.gcube.portlets.user.gcubewidgets.client;
|
||||||
|
|
||||||
import org.gcube.portlets.user.gcubewidgets.client.popup.GCubeDialog;
|
import org.gcube.portlets.user.gcubewidgets.client.popup.GCubeDialog;
|
||||||
|
import org.gcube.portlets.user.gcubewidgets.client.switchbutton.SwitchButton;
|
||||||
|
|
||||||
import com.google.gwt.core.client.EntryPoint;
|
import com.google.gwt.core.client.EntryPoint;
|
||||||
|
import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
import com.google.gwt.event.dom.client.ClickHandler;
|
||||||
|
import com.google.gwt.event.logical.shared.ValueChangeEvent;
|
||||||
|
import com.google.gwt.event.logical.shared.ValueChangeHandler;
|
||||||
import com.google.gwt.user.client.Command;
|
import com.google.gwt.user.client.Command;
|
||||||
import com.google.gwt.user.client.ui.Button;
|
import com.google.gwt.user.client.ui.Button;
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
import com.google.gwt.user.client.ui.HTML;
|
||||||
|
@ -24,7 +28,19 @@ public class WidgetFactory implements EntryPoint {
|
||||||
* This is the entry point method.
|
* This is the entry point method.
|
||||||
*/
|
*/
|
||||||
public void onModuleLoad() {
|
public void onModuleLoad() {
|
||||||
//showSample();
|
showIOSButton();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void showIOSButton() {
|
||||||
|
SwitchButton test = new SwitchButton(false);
|
||||||
|
test.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onValueChange(ValueChangeEvent<Boolean> event) {
|
||||||
|
GWT.log(event.getValue()+"");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
RootPanel.get().add(test);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showSample() {
|
private void showSample() {
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
package org.gcube.portlets.user.gcubewidgets.client.elements;
|
||||||
|
|
||||||
|
import com.google.gwt.user.client.DOM;
|
||||||
|
import com.google.gwt.user.client.ui.HTML;
|
||||||
|
import com.google.gwt.user.client.ui.HasText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Massimiliano Assante, ISTI-CNR
|
||||||
|
* @version 0.1 Sep 2012
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Div extends HTML implements HasText {
|
||||||
|
|
||||||
|
public Div() {
|
||||||
|
super(DOM.createElement("div"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public Div(String text) {
|
||||||
|
this();
|
||||||
|
setText(text);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
package org.gcube.portlets.user.gcubewidgets.client.elements;
|
||||||
|
|
||||||
|
import com.google.gwt.user.client.DOM;
|
||||||
|
import com.google.gwt.user.client.ui.HTML;
|
||||||
|
import com.google.gwt.user.client.ui.HasText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Massimiliano Assante, ISTI-CNR
|
||||||
|
* @version 0.1 Sep 2012
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Span extends HTML implements HasText {
|
||||||
|
|
||||||
|
public Span() {
|
||||||
|
super(DOM.createElement("span"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public Span(String text) {
|
||||||
|
this();
|
||||||
|
setText(text);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,137 @@
|
||||||
|
package org.gcube.portlets.user.gcubewidgets.client.switchbutton;
|
||||||
|
|
||||||
|
import static com.google.gwt.query.client.GQuery.$;
|
||||||
|
|
||||||
|
import org.gcube.portlets.user.gcubewidgets.client.elements.Div;
|
||||||
|
import org.gcube.portlets.user.gcubewidgets.client.elements.Span;
|
||||||
|
|
||||||
|
import com.google.gwt.core.client.GWT;
|
||||||
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
|
import com.google.gwt.event.dom.client.ClickHandler;
|
||||||
|
import com.google.gwt.event.logical.shared.ValueChangeEvent;
|
||||||
|
import com.google.gwt.event.logical.shared.ValueChangeHandler;
|
||||||
|
import com.google.gwt.event.shared.HandlerRegistration;
|
||||||
|
import com.google.gwt.query.client.Function;
|
||||||
|
import com.google.gwt.query.client.css.CSS;
|
||||||
|
import com.google.gwt.query.client.css.Length;
|
||||||
|
import com.google.gwt.query.client.css.RGBColor;
|
||||||
|
import com.google.gwt.uibinder.client.UiBinder;
|
||||||
|
import com.google.gwt.uibinder.client.UiField;
|
||||||
|
import com.google.gwt.user.client.DOM;
|
||||||
|
import com.google.gwt.user.client.Timer;
|
||||||
|
import com.google.gwt.user.client.Window;
|
||||||
|
import com.google.gwt.user.client.ui.CheckBox;
|
||||||
|
import com.google.gwt.user.client.ui.Composite;
|
||||||
|
import com.google.gwt.user.client.ui.FocusPanel;
|
||||||
|
import com.google.gwt.user.client.ui.HasName;
|
||||||
|
import com.google.gwt.user.client.ui.HasValue;
|
||||||
|
import com.google.gwt.user.client.ui.Widget;
|
||||||
|
|
||||||
|
public class SwitchButton extends Composite implements HasName, HasValue<Boolean>{
|
||||||
|
|
||||||
|
private static SwitchButtonUiBinder uiBinder = GWT
|
||||||
|
.create(SwitchButtonUiBinder.class);
|
||||||
|
|
||||||
|
interface SwitchButtonUiBinder extends UiBinder<Widget, SwitchButton> {
|
||||||
|
}
|
||||||
|
@UiField FocusPanel switchContainer;
|
||||||
|
@UiField Div switcherButton;
|
||||||
|
@UiField Span labelOff;
|
||||||
|
@UiField Span labelOn;
|
||||||
|
private String name;
|
||||||
|
private Boolean value;
|
||||||
|
private Boolean valueChangeHandlerInitialized = Boolean.FALSE;
|
||||||
|
|
||||||
|
public SwitchButton() {
|
||||||
|
name = DOM.createUniqueId();
|
||||||
|
initWidget(uiBinder.createAndBindUi(this));
|
||||||
|
value = false;
|
||||||
|
$(switcherButton).css(CSS.LEFT.with(Length.px(-1)));
|
||||||
|
ensureDomEventHandlers();
|
||||||
|
}
|
||||||
|
|
||||||
|
public SwitchButton(boolean initialValue) {
|
||||||
|
this();
|
||||||
|
setValue(initialValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HandlerRegistration addValueChangeHandler(ValueChangeHandler<Boolean> handler) {
|
||||||
|
// Is this the first value change handler? If so, time to add handlers
|
||||||
|
if (!valueChangeHandlerInitialized) {
|
||||||
|
valueChangeHandlerInitialized = true;
|
||||||
|
}
|
||||||
|
return addHandler(handler, ValueChangeEvent.getType());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Checks or unchecks the switch button box, firing {@link ValueChangeEvent} if
|
||||||
|
* appropriate.
|
||||||
|
* <p>
|
||||||
|
* Note that this <em>does not</em> set the value property of the checkbox
|
||||||
|
* input element wrapped by this widget. For access to that property, see
|
||||||
|
* {@link #setFormValue(String)}
|
||||||
|
*
|
||||||
|
* @param value true to set on, false to set off; null value implies false
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setValue(Boolean value) {
|
||||||
|
if (value == null) {
|
||||||
|
value = Boolean.FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
Boolean oldValue = getValue();
|
||||||
|
if (value.equals(oldValue)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.value = value;
|
||||||
|
if (!value) {
|
||||||
|
$(switcherButton).animate("left: -1", 250);
|
||||||
|
labelOff.setStyleName("switch-button-label on");
|
||||||
|
labelOn.setStyleName("switch-button-label off");
|
||||||
|
} else {
|
||||||
|
$(switcherButton).animate("left: 12", 250);
|
||||||
|
labelOff.setStyleName("switch-button-label off");
|
||||||
|
labelOn.setStyleName("switch-button-label on");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Checks or unchecks the switch button box, firing {@link ValueChangeEvent} if
|
||||||
|
* appropriate.
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* @param value true to set on, false to set off; null value implies false
|
||||||
|
* @param fireEvents If true, and value has changed, fire a
|
||||||
|
* {@link ValueChangeEvent}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setValue(Boolean value, boolean fireEvents) {
|
||||||
|
setValue(value);
|
||||||
|
if (fireEvents) {
|
||||||
|
ValueChangeEvent.fire(this, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void ensureDomEventHandlers() {
|
||||||
|
switchContainer.addClickHandler(new ClickHandler() {
|
||||||
|
public void onClick(ClickEvent event) {
|
||||||
|
setValue(!value);
|
||||||
|
ValueChangeEvent.fire(SwitchButton.this, getValue());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
|
||||||
|
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
|
||||||
|
xmlns:e="urn:import:org.gcube.portlets.user.gcubewidgets.client.elements"
|
||||||
|
xmlns:w="urn:import:org.gcube.portlets.user.gcubewidgets.client.switchbutton"
|
||||||
|
xmlns:g="urn:import:com.google.gwt.user.client.ui">
|
||||||
|
<g:HTMLPanel styleName="floatingLeft">
|
||||||
|
<e:Span styleName="switch-button-label on" ui:field="labelOff">OFF</e:Span>
|
||||||
|
<g:FocusPanel ui:field="switchContainer" styleName="switch-button-background">
|
||||||
|
<e:Div ui:field="switcherButton" styleName="switch-button-button"></e:Div>
|
||||||
|
</g:FocusPanel>
|
||||||
|
<e:Span styleName="switch-button-label off" ui:field="labelOn">ON</e:Span>
|
||||||
|
<div style="clear: left;"></div>
|
||||||
|
</g:HTMLPanel>
|
||||||
|
</ui:UiBinder>
|
|
@ -5,6 +5,7 @@
|
||||||
*/ /****** PANELS STYLES *******/
|
*/ /****** PANELS STYLES *******/
|
||||||
|
|
||||||
@import url(normalize.css);
|
@import url(normalize.css);
|
||||||
|
@import url(switchbutton.css);
|
||||||
|
|
||||||
/* Use it for your portlet main Panel */
|
/* Use it for your portlet main Panel */
|
||||||
.gcube_panel {
|
.gcube_panel {
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
/* Switch Button */
|
||||||
|
|
||||||
|
.switch-button-label {
|
||||||
|
float: left;
|
||||||
|
|
||||||
|
font-size: 10pt;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.switch-button-label.off {
|
||||||
|
color: #adadad;
|
||||||
|
}
|
||||||
|
|
||||||
|
.switch-button-label.on {
|
||||||
|
color: #0088CC;
|
||||||
|
}
|
||||||
|
|
||||||
|
.switch-button-background {
|
||||||
|
float: left;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
background: #ccc;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
|
||||||
|
margin: 1px 10px;
|
||||||
|
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
width: 25px;
|
||||||
|
height: 11px;
|
||||||
|
|
||||||
|
outline-style: none; /* this avoid the tabindex property to sorround this element with a (maybe dotted) rectangle*/
|
||||||
|
}
|
||||||
|
|
||||||
|
.switch-button-button {
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
width: 12px;
|
||||||
|
height: 11px;
|
||||||
|
|
||||||
|
left: 12px;
|
||||||
|
top : -1px;
|
||||||
|
|
||||||
|
background: #FAFAFA;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Module gcubewidgets
|
||||||
|
# RPC service class, partial path of RPC policy file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
<!-- The HTML 4.01 Transitional DOCTYPE declaration-->
|
||||||
|
<!-- above set at the top of the file will set -->
|
||||||
|
<!-- the browser's rendering engine into -->
|
||||||
|
<!-- "Quirks Mode". Replacing this declaration -->
|
||||||
|
<!-- with a "Standards Mode" doctype is supported, -->
|
||||||
|
<!-- but may lead to some differences in layout. -->
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||||
|
<!-- -->
|
||||||
|
<!-- Any title is fine -->
|
||||||
|
<!-- -->
|
||||||
|
<title>WidgetFactory</title>
|
||||||
|
|
||||||
|
<!-- -->
|
||||||
|
<!-- This script loads your compiled module. -->
|
||||||
|
<!-- If you add any GWT meta tags, they must -->
|
||||||
|
<!-- be added before this line. -->
|
||||||
|
<!-- -->
|
||||||
|
<script type="text/javascript" language="javascript" src="gcubewidgets/gcubewidgets.nocache.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<!-- -->
|
||||||
|
<!-- The body can have arbitrary html, or -->
|
||||||
|
<!-- you can leave the body empty if you want -->
|
||||||
|
<!-- to create a completely dynamic UI. -->
|
||||||
|
<!-- -->
|
||||||
|
<body>
|
||||||
|
</body>
|
||||||
|
</html>
|
After Width: | Height: | Size: 43 B |
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
CFD Version: Beta .33
|
||||||
|
|
||||||
|
This file is part of CSSButtons.
|
||||||
|
|
||||||
|
CSSButtons is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
CSSButtons is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with CSSButtons. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
BUTTON DEFINITION CLASS */
|
||||||
|
|
||||||
|
button.cssbutton {border:0; text-align:center; padding:0; margin:0; cursor:pointer;}
|
||||||
|
button.cssbutton span {font:bold 12px/23px Verdana; color:#666; display:block; cursor:pointer; position:relative; white-space:nowrap; height:23px; margin-left:1px; padding:0 10px 0 9px;} /* padding-left = (padding-right - margin-left) NOTE: Firefox renders this different */
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
LINK DEFINITION CLASS */
|
||||||
|
|
||||||
|
a.cssbutton {border:0;float:left;text-align:center;padding:0;margin:0;cursor:pointer;text-decoration: none;}
|
||||||
|
a.cssbutton span {font:bold 12px/23px Verdana; color:#666; display:block; float: left; white-space:nowrap; height:23px; margin-left:1px; padding:0 10px 0 9px;} /* padding-left = (padding-right - margin-left) NOTE: Firefox renders this different */
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
INPUT DEFINITION CLASS */
|
||||||
|
|
||||||
|
div.cssbutton {border:0; float:left; text-align:center; padding:0; margin:0; cursor:pointer;}
|
||||||
|
div.cssbutton input {border:0; font:bold 12px/23px Verdana; color:#666; display:block; cursor:pointer; float:left; white-space:nowrap; height:23px; margin-left:1px; padding:0 10px 0 9px;} /* padding-left = (padding-right - margin-left) NOTE: Firefox renders this different */
|
|
@ -0,0 +1,674 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The GNU General Public License is a free, copyleft license for
|
||||||
|
software and other kinds of works.
|
||||||
|
|
||||||
|
The licenses for most software and other practical works are designed
|
||||||
|
to take away your freedom to share and change the works. By contrast,
|
||||||
|
the GNU General Public License is intended to guarantee your freedom to
|
||||||
|
share and change all versions of a program--to make sure it remains free
|
||||||
|
software for all its users. We, the Free Software Foundation, use the
|
||||||
|
GNU General Public License for most of our software; it applies also to
|
||||||
|
any other work released this way by its authors. You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
them if you wish), that you receive source code or can get it if you
|
||||||
|
want it, that you can change the software or use pieces of it in new
|
||||||
|
free programs, and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to prevent others from denying you
|
||||||
|
these rights or asking you to surrender the rights. Therefore, you have
|
||||||
|
certain responsibilities if you distribute copies of the software, or if
|
||||||
|
you modify it: responsibilities to respect the freedom of others.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must pass on to the recipients the same
|
||||||
|
freedoms that you received. You must make sure that they, too, receive
|
||||||
|
or can get the source code. And you must show them these terms so they
|
||||||
|
know their rights.
|
||||||
|
|
||||||
|
Developers that use the GNU GPL protect your rights with two steps:
|
||||||
|
(1) assert copyright on the software, and (2) offer you this License
|
||||||
|
giving you legal permission to copy, distribute and/or modify it.
|
||||||
|
|
||||||
|
For the developers' and authors' protection, the GPL clearly explains
|
||||||
|
that there is no warranty for this free software. For both users' and
|
||||||
|
authors' sake, the GPL requires that modified versions be marked as
|
||||||
|
changed, so that their problems will not be attributed erroneously to
|
||||||
|
authors of previous versions.
|
||||||
|
|
||||||
|
Some devices are designed to deny users access to install or run
|
||||||
|
modified versions of the software inside them, although the manufacturer
|
||||||
|
can do so. This is fundamentally incompatible with the aim of
|
||||||
|
protecting users' freedom to change the software. The systematic
|
||||||
|
pattern of such abuse occurs in the area of products for individuals to
|
||||||
|
use, which is precisely where it is most unacceptable. Therefore, we
|
||||||
|
have designed this version of the GPL to prohibit the practice for those
|
||||||
|
products. If such problems arise substantially in other domains, we
|
||||||
|
stand ready to extend this provision to those domains in future versions
|
||||||
|
of the GPL, as needed to protect the freedom of users.
|
||||||
|
|
||||||
|
Finally, every program is threatened constantly by software patents.
|
||||||
|
States should not allow patents to restrict development and use of
|
||||||
|
software on general-purpose computers, but in those that do, we wish to
|
||||||
|
avoid the special danger that patents applied to a free program could
|
||||||
|
make it effectively proprietary. To prevent this, the GPL assures that
|
||||||
|
patents cannot be used to render the program non-free.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
0. Definitions.
|
||||||
|
|
||||||
|
"This License" refers to version 3 of the GNU General Public License.
|
||||||
|
|
||||||
|
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||||
|
works, such as semiconductor masks.
|
||||||
|
|
||||||
|
"The Program" refers to any copyrightable work licensed under this
|
||||||
|
License. Each licensee is addressed as "you". "Licensees" and
|
||||||
|
"recipients" may be individuals or organizations.
|
||||||
|
|
||||||
|
To "modify" a work means to copy from or adapt all or part of the work
|
||||||
|
in a fashion requiring copyright permission, other than the making of an
|
||||||
|
exact copy. The resulting work is called a "modified version" of the
|
||||||
|
earlier work or a work "based on" the earlier work.
|
||||||
|
|
||||||
|
A "covered work" means either the unmodified Program or a work based
|
||||||
|
on the Program.
|
||||||
|
|
||||||
|
To "propagate" a work means to do anything with it that, without
|
||||||
|
permission, would make you directly or secondarily liable for
|
||||||
|
infringement under applicable copyright law, except executing it on a
|
||||||
|
computer or modifying a private copy. Propagation includes copying,
|
||||||
|
distribution (with or without modification), making available to the
|
||||||
|
public, and in some countries other activities as well.
|
||||||
|
|
||||||
|
To "convey" a work means any kind of propagation that enables other
|
||||||
|
parties to make or receive copies. Mere interaction with a user through
|
||||||
|
a computer network, with no transfer of a copy, is not conveying.
|
||||||
|
|
||||||
|
An interactive user interface displays "Appropriate Legal Notices"
|
||||||
|
to the extent that it includes a convenient and prominently visible
|
||||||
|
feature that (1) displays an appropriate copyright notice, and (2)
|
||||||
|
tells the user that there is no warranty for the work (except to the
|
||||||
|
extent that warranties are provided), that licensees may convey the
|
||||||
|
work under this License, and how to view a copy of this License. If
|
||||||
|
the interface presents a list of user commands or options, such as a
|
||||||
|
menu, a prominent item in the list meets this criterion.
|
||||||
|
|
||||||
|
1. Source Code.
|
||||||
|
|
||||||
|
The "source code" for a work means the preferred form of the work
|
||||||
|
for making modifications to it. "Object code" means any non-source
|
||||||
|
form of a work.
|
||||||
|
|
||||||
|
A "Standard Interface" means an interface that either is an official
|
||||||
|
standard defined by a recognized standards body, or, in the case of
|
||||||
|
interfaces specified for a particular programming language, one that
|
||||||
|
is widely used among developers working in that language.
|
||||||
|
|
||||||
|
The "System Libraries" of an executable work include anything, other
|
||||||
|
than the work as a whole, that (a) is included in the normal form of
|
||||||
|
packaging a Major Component, but which is not part of that Major
|
||||||
|
Component, and (b) serves only to enable use of the work with that
|
||||||
|
Major Component, or to implement a Standard Interface for which an
|
||||||
|
implementation is available to the public in source code form. A
|
||||||
|
"Major Component", in this context, means a major essential component
|
||||||
|
(kernel, window system, and so on) of the specific operating system
|
||||||
|
(if any) on which the executable work runs, or a compiler used to
|
||||||
|
produce the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
The "Corresponding Source" for a work in object code form means all
|
||||||
|
the source code needed to generate, install, and (for an executable
|
||||||
|
work) run the object code and to modify the work, including scripts to
|
||||||
|
control those activities. However, it does not include the work's
|
||||||
|
System Libraries, or general-purpose tools or generally available free
|
||||||
|
programs which are used unmodified in performing those activities but
|
||||||
|
which are not part of the work. For example, Corresponding Source
|
||||||
|
includes interface definition files associated with source files for
|
||||||
|
the work, and the source code for shared libraries and dynamically
|
||||||
|
linked subprograms that the work is specifically designed to require,
|
||||||
|
such as by intimate data communication or control flow between those
|
||||||
|
subprograms and other parts of the work.
|
||||||
|
|
||||||
|
The Corresponding Source need not include anything that users
|
||||||
|
can regenerate automatically from other parts of the Corresponding
|
||||||
|
Source.
|
||||||
|
|
||||||
|
The Corresponding Source for a work in source code form is that
|
||||||
|
same work.
|
||||||
|
|
||||||
|
2. Basic Permissions.
|
||||||
|
|
||||||
|
All rights granted under this License are granted for the term of
|
||||||
|
copyright on the Program, and are irrevocable provided the stated
|
||||||
|
conditions are met. This License explicitly affirms your unlimited
|
||||||
|
permission to run the unmodified Program. The output from running a
|
||||||
|
covered work is covered by this License only if the output, given its
|
||||||
|
content, constitutes a covered work. This License acknowledges your
|
||||||
|
rights of fair use or other equivalent, as provided by copyright law.
|
||||||
|
|
||||||
|
You may make, run and propagate covered works that you do not
|
||||||
|
convey, without conditions so long as your license otherwise remains
|
||||||
|
in force. You may convey covered works to others for the sole purpose
|
||||||
|
of having them make modifications exclusively for you, or provide you
|
||||||
|
with facilities for running those works, provided that you comply with
|
||||||
|
the terms of this License in conveying all material for which you do
|
||||||
|
not control copyright. Those thus making or running the covered works
|
||||||
|
for you must do so exclusively on your behalf, under your direction
|
||||||
|
and control, on terms that prohibit them from making any copies of
|
||||||
|
your copyrighted material outside their relationship with you.
|
||||||
|
|
||||||
|
Conveying under any other circumstances is permitted solely under
|
||||||
|
the conditions stated below. Sublicensing is not allowed; section 10
|
||||||
|
makes it unnecessary.
|
||||||
|
|
||||||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
|
||||||
|
No covered work shall be deemed part of an effective technological
|
||||||
|
measure under any applicable law fulfilling obligations under article
|
||||||
|
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||||
|
similar laws prohibiting or restricting circumvention of such
|
||||||
|
measures.
|
||||||
|
|
||||||
|
When you convey a covered work, you waive any legal power to forbid
|
||||||
|
circumvention of technological measures to the extent such circumvention
|
||||||
|
is effected by exercising rights under this License with respect to
|
||||||
|
the covered work, and you disclaim any intention to limit operation or
|
||||||
|
modification of the work as a means of enforcing, against the work's
|
||||||
|
users, your or third parties' legal rights to forbid circumvention of
|
||||||
|
technological measures.
|
||||||
|
|
||||||
|
4. Conveying Verbatim Copies.
|
||||||
|
|
||||||
|
You may convey verbatim copies of the Program's source code as you
|
||||||
|
receive it, in any medium, provided that you conspicuously and
|
||||||
|
appropriately publish on each copy an appropriate copyright notice;
|
||||||
|
keep intact all notices stating that this License and any
|
||||||
|
non-permissive terms added in accord with section 7 apply to the code;
|
||||||
|
keep intact all notices of the absence of any warranty; and give all
|
||||||
|
recipients a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge any price or no price for each copy that you convey,
|
||||||
|
and you may offer support or warranty protection for a fee.
|
||||||
|
|
||||||
|
5. Conveying Modified Source Versions.
|
||||||
|
|
||||||
|
You may convey a work based on the Program, or the modifications to
|
||||||
|
produce it from the Program, in the form of source code under the
|
||||||
|
terms of section 4, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The work must carry prominent notices stating that you modified
|
||||||
|
it, and giving a relevant date.
|
||||||
|
|
||||||
|
b) The work must carry prominent notices stating that it is
|
||||||
|
released under this License and any conditions added under section
|
||||||
|
7. This requirement modifies the requirement in section 4 to
|
||||||
|
"keep intact all notices".
|
||||||
|
|
||||||
|
c) You must license the entire work, as a whole, under this
|
||||||
|
License to anyone who comes into possession of a copy. This
|
||||||
|
License will therefore apply, along with any applicable section 7
|
||||||
|
additional terms, to the whole of the work, and all its parts,
|
||||||
|
regardless of how they are packaged. This License gives no
|
||||||
|
permission to license the work in any other way, but it does not
|
||||||
|
invalidate such permission if you have separately received it.
|
||||||
|
|
||||||
|
d) If the work has interactive user interfaces, each must display
|
||||||
|
Appropriate Legal Notices; however, if the Program has interactive
|
||||||
|
interfaces that do not display Appropriate Legal Notices, your
|
||||||
|
work need not make them do so.
|
||||||
|
|
||||||
|
A compilation of a covered work with other separate and independent
|
||||||
|
works, which are not by their nature extensions of the covered work,
|
||||||
|
and which are not combined with it such as to form a larger program,
|
||||||
|
in or on a volume of a storage or distribution medium, is called an
|
||||||
|
"aggregate" if the compilation and its resulting copyright are not
|
||||||
|
used to limit the access or legal rights of the compilation's users
|
||||||
|
beyond what the individual works permit. Inclusion of a covered work
|
||||||
|
in an aggregate does not cause this License to apply to the other
|
||||||
|
parts of the aggregate.
|
||||||
|
|
||||||
|
6. Conveying Non-Source Forms.
|
||||||
|
|
||||||
|
You may convey a covered work in object code form under the terms
|
||||||
|
of sections 4 and 5, provided that you also convey the
|
||||||
|
machine-readable Corresponding Source under the terms of this License,
|
||||||
|
in one of these ways:
|
||||||
|
|
||||||
|
a) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by the
|
||||||
|
Corresponding Source fixed on a durable physical medium
|
||||||
|
customarily used for software interchange.
|
||||||
|
|
||||||
|
b) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by a
|
||||||
|
written offer, valid for at least three years and valid for as
|
||||||
|
long as you offer spare parts or customer support for that product
|
||||||
|
model, to give anyone who possesses the object code either (1) a
|
||||||
|
copy of the Corresponding Source for all the software in the
|
||||||
|
product that is covered by this License, on a durable physical
|
||||||
|
medium customarily used for software interchange, for a price no
|
||||||
|
more than your reasonable cost of physically performing this
|
||||||
|
conveying of source, or (2) access to copy the
|
||||||
|
Corresponding Source from a network server at no charge.
|
||||||
|
|
||||||
|
c) Convey individual copies of the object code with a copy of the
|
||||||
|
written offer to provide the Corresponding Source. This
|
||||||
|
alternative is allowed only occasionally and noncommercially, and
|
||||||
|
only if you received the object code with such an offer, in accord
|
||||||
|
with subsection 6b.
|
||||||
|
|
||||||
|
d) Convey the object code by offering access from a designated
|
||||||
|
place (gratis or for a charge), and offer equivalent access to the
|
||||||
|
Corresponding Source in the same way through the same place at no
|
||||||
|
further charge. You need not require recipients to copy the
|
||||||
|
Corresponding Source along with the object code. If the place to
|
||||||
|
copy the object code is a network server, the Corresponding Source
|
||||||
|
may be on a different server (operated by you or a third party)
|
||||||
|
that supports equivalent copying facilities, provided you maintain
|
||||||
|
clear directions next to the object code saying where to find the
|
||||||
|
Corresponding Source. Regardless of what server hosts the
|
||||||
|
Corresponding Source, you remain obligated to ensure that it is
|
||||||
|
available for as long as needed to satisfy these requirements.
|
||||||
|
|
||||||
|
e) Convey the object code using peer-to-peer transmission, provided
|
||||||
|
you inform other peers where the object code and Corresponding
|
||||||
|
Source of the work are being offered to the general public at no
|
||||||
|
charge under subsection 6d.
|
||||||
|
|
||||||
|
A separable portion of the object code, whose source code is excluded
|
||||||
|
from the Corresponding Source as a System Library, need not be
|
||||||
|
included in conveying the object code work.
|
||||||
|
|
||||||
|
A "User Product" is either (1) a "consumer product", which means any
|
||||||
|
tangible personal property which is normally used for personal, family,
|
||||||
|
or household purposes, or (2) anything designed or sold for incorporation
|
||||||
|
into a dwelling. In determining whether a product is a consumer product,
|
||||||
|
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||||
|
product received by a particular user, "normally used" refers to a
|
||||||
|
typical or common use of that class of product, regardless of the status
|
||||||
|
of the particular user or of the way in which the particular user
|
||||||
|
actually uses, or expects or is expected to use, the product. A product
|
||||||
|
is a consumer product regardless of whether the product has substantial
|
||||||
|
commercial, industrial or non-consumer uses, unless such uses represent
|
||||||
|
the only significant mode of use of the product.
|
||||||
|
|
||||||
|
"Installation Information" for a User Product means any methods,
|
||||||
|
procedures, authorization keys, or other information required to install
|
||||||
|
and execute modified versions of a covered work in that User Product from
|
||||||
|
a modified version of its Corresponding Source. The information must
|
||||||
|
suffice to ensure that the continued functioning of the modified object
|
||||||
|
code is in no case prevented or interfered with solely because
|
||||||
|
modification has been made.
|
||||||
|
|
||||||
|
If you convey an object code work under this section in, or with, or
|
||||||
|
specifically for use in, a User Product, and the conveying occurs as
|
||||||
|
part of a transaction in which the right of possession and use of the
|
||||||
|
User Product is transferred to the recipient in perpetuity or for a
|
||||||
|
fixed term (regardless of how the transaction is characterized), the
|
||||||
|
Corresponding Source conveyed under this section must be accompanied
|
||||||
|
by the Installation Information. But this requirement does not apply
|
||||||
|
if neither you nor any third party retains the ability to install
|
||||||
|
modified object code on the User Product (for example, the work has
|
||||||
|
been installed in ROM).
|
||||||
|
|
||||||
|
The requirement to provide Installation Information does not include a
|
||||||
|
requirement to continue to provide support service, warranty, or updates
|
||||||
|
for a work that has been modified or installed by the recipient, or for
|
||||||
|
the User Product in which it has been modified or installed. Access to a
|
||||||
|
network may be denied when the modification itself materially and
|
||||||
|
adversely affects the operation of the network or violates the rules and
|
||||||
|
protocols for communication across the network.
|
||||||
|
|
||||||
|
Corresponding Source conveyed, and Installation Information provided,
|
||||||
|
in accord with this section must be in a format that is publicly
|
||||||
|
documented (and with an implementation available to the public in
|
||||||
|
source code form), and must require no special password or key for
|
||||||
|
unpacking, reading or copying.
|
||||||
|
|
||||||
|
7. Additional Terms.
|
||||||
|
|
||||||
|
"Additional permissions" are terms that supplement the terms of this
|
||||||
|
License by making exceptions from one or more of its conditions.
|
||||||
|
Additional permissions that are applicable to the entire Program shall
|
||||||
|
be treated as though they were included in this License, to the extent
|
||||||
|
that they are valid under applicable law. If additional permissions
|
||||||
|
apply only to part of the Program, that part may be used separately
|
||||||
|
under those permissions, but the entire Program remains governed by
|
||||||
|
this License without regard to the additional permissions.
|
||||||
|
|
||||||
|
When you convey a copy of a covered work, you may at your option
|
||||||
|
remove any additional permissions from that copy, or from any part of
|
||||||
|
it. (Additional permissions may be written to require their own
|
||||||
|
removal in certain cases when you modify the work.) You may place
|
||||||
|
additional permissions on material, added by you to a covered work,
|
||||||
|
for which you have or can give appropriate copyright permission.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, for material you
|
||||||
|
add to a covered work, you may (if authorized by the copyright holders of
|
||||||
|
that material) supplement the terms of this License with terms:
|
||||||
|
|
||||||
|
a) Disclaiming warranty or limiting liability differently from the
|
||||||
|
terms of sections 15 and 16 of this License; or
|
||||||
|
|
||||||
|
b) Requiring preservation of specified reasonable legal notices or
|
||||||
|
author attributions in that material or in the Appropriate Legal
|
||||||
|
Notices displayed by works containing it; or
|
||||||
|
|
||||||
|
c) Prohibiting misrepresentation of the origin of that material, or
|
||||||
|
requiring that modified versions of such material be marked in
|
||||||
|
reasonable ways as different from the original version; or
|
||||||
|
|
||||||
|
d) Limiting the use for publicity purposes of names of licensors or
|
||||||
|
authors of the material; or
|
||||||
|
|
||||||
|
e) Declining to grant rights under trademark law for use of some
|
||||||
|
trade names, trademarks, or service marks; or
|
||||||
|
|
||||||
|
f) Requiring indemnification of licensors and authors of that
|
||||||
|
material by anyone who conveys the material (or modified versions of
|
||||||
|
it) with contractual assumptions of liability to the recipient, for
|
||||||
|
any liability that these contractual assumptions directly impose on
|
||||||
|
those licensors and authors.
|
||||||
|
|
||||||
|
All other non-permissive additional terms are considered "further
|
||||||
|
restrictions" within the meaning of section 10. If the Program as you
|
||||||
|
received it, or any part of it, contains a notice stating that it is
|
||||||
|
governed by this License along with a term that is a further
|
||||||
|
restriction, you may remove that term. If a license document contains
|
||||||
|
a further restriction but permits relicensing or conveying under this
|
||||||
|
License, you may add to a covered work material governed by the terms
|
||||||
|
of that license document, provided that the further restriction does
|
||||||
|
not survive such relicensing or conveying.
|
||||||
|
|
||||||
|
If you add terms to a covered work in accord with this section, you
|
||||||
|
must place, in the relevant source files, a statement of the
|
||||||
|
additional terms that apply to those files, or a notice indicating
|
||||||
|
where to find the applicable terms.
|
||||||
|
|
||||||
|
Additional terms, permissive or non-permissive, may be stated in the
|
||||||
|
form of a separately written license, or stated as exceptions;
|
||||||
|
the above requirements apply either way.
|
||||||
|
|
||||||
|
8. Termination.
|
||||||
|
|
||||||
|
You may not propagate or modify a covered work except as expressly
|
||||||
|
provided under this License. Any attempt otherwise to propagate or
|
||||||
|
modify it is void, and will automatically terminate your rights under
|
||||||
|
this License (including any patent licenses granted under the third
|
||||||
|
paragraph of section 11).
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your
|
||||||
|
license from a particular copyright holder is reinstated (a)
|
||||||
|
provisionally, unless and until the copyright holder explicitly and
|
||||||
|
finally terminates your license, and (b) permanently, if the copyright
|
||||||
|
holder fails to notify you of the violation by some reasonable means
|
||||||
|
prior to 60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is
|
||||||
|
reinstated permanently if the copyright holder notifies you of the
|
||||||
|
violation by some reasonable means, this is the first time you have
|
||||||
|
received notice of violation of this License (for any work) from that
|
||||||
|
copyright holder, and you cure the violation prior to 30 days after
|
||||||
|
your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the
|
||||||
|
licenses of parties who have received copies or rights from you under
|
||||||
|
this License. If your rights have been terminated and not permanently
|
||||||
|
reinstated, you do not qualify to receive new licenses for the same
|
||||||
|
material under section 10.
|
||||||
|
|
||||||
|
9. Acceptance Not Required for Having Copies.
|
||||||
|
|
||||||
|
You are not required to accept this License in order to receive or
|
||||||
|
run a copy of the Program. Ancillary propagation of a covered work
|
||||||
|
occurring solely as a consequence of using peer-to-peer transmission
|
||||||
|
to receive a copy likewise does not require acceptance. However,
|
||||||
|
nothing other than this License grants you permission to propagate or
|
||||||
|
modify any covered work. These actions infringe copyright if you do
|
||||||
|
not accept this License. Therefore, by modifying or propagating a
|
||||||
|
covered work, you indicate your acceptance of this License to do so.
|
||||||
|
|
||||||
|
10. Automatic Licensing of Downstream Recipients.
|
||||||
|
|
||||||
|
Each time you convey a covered work, the recipient automatically
|
||||||
|
receives a license from the original licensors, to run, modify and
|
||||||
|
propagate that work, subject to this License. You are not responsible
|
||||||
|
for enforcing compliance by third parties with this License.
|
||||||
|
|
||||||
|
An "entity transaction" is a transaction transferring control of an
|
||||||
|
organization, or substantially all assets of one, or subdividing an
|
||||||
|
organization, or merging organizations. If propagation of a covered
|
||||||
|
work results from an entity transaction, each party to that
|
||||||
|
transaction who receives a copy of the work also receives whatever
|
||||||
|
licenses to the work the party's predecessor in interest had or could
|
||||||
|
give under the previous paragraph, plus a right to possession of the
|
||||||
|
Corresponding Source of the work from the predecessor in interest, if
|
||||||
|
the predecessor has it or can get it with reasonable efforts.
|
||||||
|
|
||||||
|
You may not impose any further restrictions on the exercise of the
|
||||||
|
rights granted or affirmed under this License. For example, you may
|
||||||
|
not impose a license fee, royalty, or other charge for exercise of
|
||||||
|
rights granted under this License, and you may not initiate litigation
|
||||||
|
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||||
|
any patent claim is infringed by making, using, selling, offering for
|
||||||
|
sale, or importing the Program or any portion of it.
|
||||||
|
|
||||||
|
11. Patents.
|
||||||
|
|
||||||
|
A "contributor" is a copyright holder who authorizes use under this
|
||||||
|
License of the Program or a work on which the Program is based. The
|
||||||
|
work thus licensed is called the contributor's "contributor version".
|
||||||
|
|
||||||
|
A contributor's "essential patent claims" are all patent claims
|
||||||
|
owned or controlled by the contributor, whether already acquired or
|
||||||
|
hereafter acquired, that would be infringed by some manner, permitted
|
||||||
|
by this License, of making, using, or selling its contributor version,
|
||||||
|
but do not include claims that would be infringed only as a
|
||||||
|
consequence of further modification of the contributor version. For
|
||||||
|
purposes of this definition, "control" includes the right to grant
|
||||||
|
patent sublicenses in a manner consistent with the requirements of
|
||||||
|
this License.
|
||||||
|
|
||||||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||||
|
patent license under the contributor's essential patent claims, to
|
||||||
|
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||||
|
propagate the contents of its contributor version.
|
||||||
|
|
||||||
|
In the following three paragraphs, a "patent license" is any express
|
||||||
|
agreement or commitment, however denominated, not to enforce a patent
|
||||||
|
(such as an express permission to practice a patent or covenant not to
|
||||||
|
sue for patent infringement). To "grant" such a patent license to a
|
||||||
|
party means to make such an agreement or commitment not to enforce a
|
||||||
|
patent against the party.
|
||||||
|
|
||||||
|
If you convey a covered work, knowingly relying on a patent license,
|
||||||
|
and the Corresponding Source of the work is not available for anyone
|
||||||
|
to copy, free of charge and under the terms of this License, through a
|
||||||
|
publicly available network server or other readily accessible means,
|
||||||
|
then you must either (1) cause the Corresponding Source to be so
|
||||||
|
available, or (2) arrange to deprive yourself of the benefit of the
|
||||||
|
patent license for this particular work, or (3) arrange, in a manner
|
||||||
|
consistent with the requirements of this License, to extend the patent
|
||||||
|
license to downstream recipients. "Knowingly relying" means you have
|
||||||
|
actual knowledge that, but for the patent license, your conveying the
|
||||||
|
covered work in a country, or your recipient's use of the covered work
|
||||||
|
in a country, would infringe one or more identifiable patents in that
|
||||||
|
country that you have reason to believe are valid.
|
||||||
|
|
||||||
|
If, pursuant to or in connection with a single transaction or
|
||||||
|
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||||
|
covered work, and grant a patent license to some of the parties
|
||||||
|
receiving the covered work authorizing them to use, propagate, modify
|
||||||
|
or convey a specific copy of the covered work, then the patent license
|
||||||
|
you grant is automatically extended to all recipients of the covered
|
||||||
|
work and works based on it.
|
||||||
|
|
||||||
|
A patent license is "discriminatory" if it does not include within
|
||||||
|
the scope of its coverage, prohibits the exercise of, or is
|
||||||
|
conditioned on the non-exercise of one or more of the rights that are
|
||||||
|
specifically granted under this License. You may not convey a covered
|
||||||
|
work if you are a party to an arrangement with a third party that is
|
||||||
|
in the business of distributing software, under which you make payment
|
||||||
|
to the third party based on the extent of your activity of conveying
|
||||||
|
the work, and under which the third party grants, to any of the
|
||||||
|
parties who would receive the covered work from you, a discriminatory
|
||||||
|
patent license (a) in connection with copies of the covered work
|
||||||
|
conveyed by you (or copies made from those copies), or (b) primarily
|
||||||
|
for and in connection with specific products or compilations that
|
||||||
|
contain the covered work, unless you entered into that arrangement,
|
||||||
|
or that patent license was granted, prior to 28 March 2007.
|
||||||
|
|
||||||
|
Nothing in this License shall be construed as excluding or limiting
|
||||||
|
any implied license or other defenses to infringement that may
|
||||||
|
otherwise be available to you under applicable patent law.
|
||||||
|
|
||||||
|
12. No Surrender of Others' Freedom.
|
||||||
|
|
||||||
|
If conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot convey a
|
||||||
|
covered work so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you may
|
||||||
|
not convey it at all. For example, if you agree to terms that obligate you
|
||||||
|
to collect a royalty for further conveying from those to whom you convey
|
||||||
|
the Program, the only way you could satisfy both those terms and this
|
||||||
|
License would be to refrain entirely from conveying the Program.
|
||||||
|
|
||||||
|
13. Use with the GNU Affero General Public License.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, you have
|
||||||
|
permission to link or combine any covered work with a work licensed
|
||||||
|
under version 3 of the GNU Affero General Public License into a single
|
||||||
|
combined work, and to convey the resulting work. The terms of this
|
||||||
|
License will continue to apply to the part which is the covered work,
|
||||||
|
but the special requirements of the GNU Affero General Public License,
|
||||||
|
section 13, concerning interaction through a network will apply to the
|
||||||
|
combination as such.
|
||||||
|
|
||||||
|
14. Revised Versions of this License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of
|
||||||
|
the GNU General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Program specifies that a certain numbered version of the GNU General
|
||||||
|
Public License "or any later version" applies to it, you have the
|
||||||
|
option of following the terms and conditions either of that numbered
|
||||||
|
version or of any later version published by the Free Software
|
||||||
|
Foundation. If the Program does not specify a version number of the
|
||||||
|
GNU General Public License, you may choose any version ever published
|
||||||
|
by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Program specifies that a proxy can decide which future
|
||||||
|
versions of the GNU General Public License can be used, that proxy's
|
||||||
|
public statement of acceptance of a version permanently authorizes you
|
||||||
|
to choose that version for the Program.
|
||||||
|
|
||||||
|
Later license versions may give you additional or different
|
||||||
|
permissions. However, no additional obligations are imposed on any
|
||||||
|
author or copyright holder as a result of your choosing to follow a
|
||||||
|
later version.
|
||||||
|
|
||||||
|
15. Disclaimer of Warranty.
|
||||||
|
|
||||||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||||
|
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||||
|
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||||
|
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||||
|
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||||
|
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
16. Limitation of Liability.
|
||||||
|
|
||||||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||||
|
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||||
|
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||||
|
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||||
|
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||||
|
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGES.
|
||||||
|
|
||||||
|
17. Interpretation of Sections 15 and 16.
|
||||||
|
|
||||||
|
If the disclaimer of warranty and limitation of liability provided
|
||||||
|
above cannot be given local legal effect according to their terms,
|
||||||
|
reviewing courts shall apply local law that most closely approximates
|
||||||
|
an absolute waiver of all civil liability in connection with the
|
||||||
|
Program, unless a warranty or assumption of liability accompanies a
|
||||||
|
copy of the Program in return for a fee.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
state the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program does terminal interaction, make it output a short
|
||||||
|
notice like this when it starts in an interactive mode:
|
||||||
|
|
||||||
|
<program> Copyright (C) <year> <name of author>
|
||||||
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, your program's commands
|
||||||
|
might be different; for a GUI interface, you would use an "about box".
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or school,
|
||||||
|
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||||
|
For more information on this, and how to apply and follow the GNU GPL, see
|
||||||
|
<http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
The GNU General Public License does not permit incorporating your program
|
||||||
|
into proprietary programs. If your program is a subroutine library, you
|
||||||
|
may consider it more useful to permit linking proprietary applications with
|
||||||
|
the library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License. But first, please read
|
||||||
|
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
|
@ -0,0 +1,22 @@
|
||||||
|
/* This file is part of CSS Buttons.
|
||||||
|
|
||||||
|
CSS Buttons is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
CSS Buttons is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with CSSButtons. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* for IE 6 and 7 (conditionalize as needed)
|
||||||
|
When designing button Backgrounds, ensure there's a white(transparent) gap between top and bottom states */
|
||||||
|
|
||||||
|
button.cssbutton {width:1%;} /* IE FLOAT HACK */
|
||||||
|
button.cssbutton span {float:left;} /* IE HACK - This FLOAT is sometimes not need. As tested IE7 Needs it. */
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<dwsync>
|
||||||
|
<file name="index.html" server="nycgeneration.com/cssbuttons/" local="128416401600000000" remote="128416401600000000" />
|
||||||
|
<file name="sample.css" server="nycgeneration.com/cssbuttons/" local="128426355000000000" remote="128426355000000000" />
|
||||||
|
<file name="sample_aLeft.gif" server="nycgeneration.com/cssbuttons/" local="128412843600000000" remote="128412843600000000" />
|
||||||
|
<file name="sample_aRight.gif" server="nycgeneration.com/cssbuttons/" local="128412832200000000" remote="128412832200000000" />
|
||||||
|
<file name="sample_bLeft.gif" server="nycgeneration.com/cssbuttons/" local="128413468200000000" remote="128413468200000000" />
|
||||||
|
<file name="sample_bRight.gif" server="nycgeneration.com/cssbuttons/" local="128412832200000000" remote="128412832200000000" />
|
||||||
|
<file name="sample_commented.css" server="nycgeneration.com/cssbuttons/" local="128416401600000000" remote="128416401600000000" />
|
||||||
|
</dwsync>
|
|
@ -0,0 +1,23 @@
|
||||||
|
<link href="../../cssbuttons.css" rel="stylesheet" type="text/css">
|
||||||
|
<link href="sample.css" rel="stylesheet" type="text/css">
|
||||||
|
<!--[if lte IE 7]>
|
||||||
|
<style type="text/css" media="all">
|
||||||
|
@import url("../../ieBrowserHacks.css");
|
||||||
|
</style>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr><td><a href="#" class="cssbutton sample a"><span>Search Link Any Size</span></a></td></tr>
|
||||||
|
<tr><td><button class="cssbutton sample a" value="#"><span>Search Button Any Size</span></button></td></tr>
|
||||||
|
<tr><td><div class="cssbutton sample a"><input type="submit" value="Input Button"></div></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr><td><a href="#" class="cssbutton sample b"><span>Search Link Any Size</span></a></td></tr>
|
||||||
|
<tr><td><button class="cssbutton sample b" value="#"><span>Search Button Any Size</span></button></td></tr>
|
||||||
|
<tr><td><div class="cssbutton sample b"><input type="submit" value="Input Button"></div></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
/* This file is part of CSS Buttons.
|
||||||
|
|
||||||
|
CSS Buttons is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
CSS Buttons is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with CSS Buttons. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Overrides the CSS Buttons Framework */
|
||||||
|
button.cssbutton.sample span,a.cssbutton.sample span,div.cssbutton.sample input {
|
||||||
|
color:#924F4F;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Name: sample a
|
||||||
|
Desc: Blue Button */
|
||||||
|
button.cssbutton.sample.a span,a.cssbutton.sample.a span,div.cssbutton.sample.a input {
|
||||||
|
background:url("sample_aRight.gif") no-repeat right 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.cssbutton.sample.a,a.cssbutton.sample.a,div.cssbutton.sample.a {
|
||||||
|
background:url("sample_aLeft.gif") no-repeat 0 center;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.cssbutton.sample.a:hover span,a.cssbutton.sample.a:hover span,div.cssbutton.sample.a:hover input {
|
||||||
|
color:#666;
|
||||||
|
background:url("sample_aRight.gif") no-repeat right 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.cssbutton.sample.a:hover,a.cssbutton.sample.a:hover,div.cssbutton.sample.a:hover {
|
||||||
|
background:url("sample_aLeft.gif") no-repeat -255px center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Name: sample b
|
||||||
|
Desc: Orange Button */
|
||||||
|
button.cssbutton.sample.b span,a.cssbutton.sample.b span,div.cssbutton.sample.b input {
|
||||||
|
color:#924F4F;
|
||||||
|
background:url("sample_bRight.gif") no-repeat right 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.cssbutton.sample.b,a.cssbutton.sample.b,div.cssbutton.sample.b {
|
||||||
|
background:url("sample_bLeft.gif") no-repeat 0 center;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.cssbutton.sample.b:hover span,a.cssbutton.sample.b:hover span,div.cssbutton.sample.b:hover input {
|
||||||
|
color:#524F4F;
|
||||||
|
background:url("sample_bRight.gif") no-repeat right 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.cssbutton.sample.b:hover,a.cssbutton.sample.b:hover,div.cssbutton.sample.b:hover {
|
||||||
|
background:url("sample_bLeft.gif") no-repeat -255px center;
|
||||||
|
}
|
After Width: | Height: | Size: 761 B |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 766 B |
After Width: | Height: | Size: 2.5 KiB |
|
@ -0,0 +1,56 @@
|
||||||
|
/* This file is part of CSS Buttons.
|
||||||
|
|
||||||
|
CSS Buttons is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
CSS Buttons is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with CSS Buttons. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Name: sample_a
|
||||||
|
Desc: Blue Button */
|
||||||
|
button.cssbutton.sample.a {background:url("sample_aLeft.gif") no-repeat 0px center;} /* Using Horizontal BG Positioning */
|
||||||
|
button.cssbutton.sample.a span {background:url("sample_aRight.gif") no-repeat right 0%; } /* Using Vertical BG Positioning */
|
||||||
|
|
||||||
|
button.cssbutton.sample.a:hover {background:url("sample_aLeft.gif") no-repeat -40px center;} /* Negative X Positioning Method */
|
||||||
|
button.cssbutton.sample.a:hover span {background:url("sample_aRight.gif") no-repeat right 100%; }
|
||||||
|
|
||||||
|
a.cssbutton.sample.a {background:url("sample_aLeft.gif") no-repeat 0px center;} /* Using Horizontal BG Positioning */
|
||||||
|
a.cssbutton.sample.a span {background:url("sample_aRight.gif") no-repeat right 0%; } /* Using Vertical BG Positioning */
|
||||||
|
|
||||||
|
a.cssbutton.sample.a:hover {background:url("sample_aLeft.gif") no-repeat -40px center;} /* Negative X Positioning Method */
|
||||||
|
a.cssbutton.sample.a:hover span {background:url("sample_aRight.gif") no-repeat right 100%; }
|
||||||
|
|
||||||
|
div.cssbutton.sample.a {background:url("sample_aLeft.gif") no-repeat 0px center;} /* Using Horizontal BG Positioning */
|
||||||
|
div.cssbutton.sample.a input {background:url("sample_aRight.gif") no-repeat right 0%; } /* Using Vertical BG Positioning */
|
||||||
|
|
||||||
|
div.cssbutton.sample.a:hover {background:url("sample_aLeft.gif") no-repeat -40px center;} /* Negative X Positioning Method */
|
||||||
|
div.cssbutton.sample.a:hover input {background:url("sample_aRight.gif") no-repeat right 100%; }
|
||||||
|
|
||||||
|
/* Name: sample_b
|
||||||
|
Desc: Orange Button */
|
||||||
|
button.cssbutton.sample.b {background:url("sample_bLeft.gif") no-repeat 0px center;} /* Using Horizontal BG Positioning */
|
||||||
|
button.cssbutton.sample.b span {background:url("sample_bRight.gif") no-repeat right 0%; } /* Using Vertical BG Positioning */
|
||||||
|
|
||||||
|
button.cssbutton.sample.b:hover {background:url("sample_bLeft.gif") no-repeat -40px center;} /* Negative X Positioning Method */
|
||||||
|
button.cssbutton.sample.b:hover span {background:url("sample_bRight.gif") no-repeat right 100%; }
|
||||||
|
|
||||||
|
a.cssbutton.sample.b {background:url("sample_bLeft.gif") no-repeat 0px center;} /* Using Horizontal BG Positioning */
|
||||||
|
a.cssbutton.sample.b span {background:url("sample_bRight.gif") no-repeat right 0%; } /* Using Vertical BG Positioning */
|
||||||
|
|
||||||
|
a.cssbutton.sample.b:hover {background:url("sample_bLeft.gif") no-repeat -40px center;} /* Negative X Positioning Method */
|
||||||
|
a.cssbutton.sample.b:hover span {background:url("sample_bRight.gif") no-repeat right 100%; }
|
||||||
|
|
||||||
|
div.cssbutton.sample.b {background:url("sample_bLeft.gif") no-repeat 0px center;} /* Using Horizontal BG Positioning */
|
||||||
|
div.cssbutton.sample.b input {background:url("sample_bRight.gif") no-repeat right 0%; } /* Using Vertical BG Positioning */
|
||||||
|
|
||||||
|
div.cssbutton.sample.b:hover {background:url("sample_bLeft.gif") no-repeat -40px center;} /* Negative X Positioning Method */
|
||||||
|
div.cssbutton.sample.b:hover input {background:url("sample_bRight.gif") no-repeat right 100%; }
|
||||||
|
|
|
@ -0,0 +1,640 @@
|
||||||
|
/**
|
||||||
|
* Common CSS for gCube Portlets
|
||||||
|
*
|
||||||
|
* Massimiliano Assante, March 2013
|
||||||
|
*/ /****** PANELS STYLES *******/
|
||||||
|
|
||||||
|
@import url(normalize.css);
|
||||||
|
@import url(switchbutton.css);
|
||||||
|
|
||||||
|
/* Use it for your portlet main Panel */
|
||||||
|
.gcube_panel {
|
||||||
|
background: #FFFFFF;
|
||||||
|
border: 1px solid #99BBE8;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_poli_panel {
|
||||||
|
background: #FFFFFF;
|
||||||
|
border: 1px outset #99BBE8;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_noborders_panel {
|
||||||
|
background: #FFFFFF;
|
||||||
|
border: 0px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* or */
|
||||||
|
.gcube_panel_thick_border {
|
||||||
|
background: #FFFFFF;
|
||||||
|
border: 2px solid #99BBE8;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* To Use for the Portlet Main Header (if any) */
|
||||||
|
.gcube_header_background {
|
||||||
|
background: transparent url(gcube_images/white-top-bottom.gif) repeat-x
|
||||||
|
scroll 0 -1px;
|
||||||
|
border: 1px solid #99BBE8;
|
||||||
|
line-height: 15px;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 1px 4px 1px 4px;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_inner_header_background {
|
||||||
|
font-family: tahoma, arial, verdana, sans-serif;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #15428B;
|
||||||
|
border-top: 1px solid #0D70C6;
|
||||||
|
border-left: 1px solid #0D70C6;
|
||||||
|
border-right: 1px solid #0D70C6;
|
||||||
|
background: transparent url(gcube_images/bg_nonselected_stack_item.png)
|
||||||
|
repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_content_panel {
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_panel_background {
|
||||||
|
font-family: tahoma, arial, verdana, sans-serif;
|
||||||
|
border: 1px solid #99BBE8;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #15428B;
|
||||||
|
background: transparent url(gcube_images/bg_nonselected_stack_item.png)
|
||||||
|
repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_header_caption {
|
||||||
|
color: #15428B;
|
||||||
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.23);
|
||||||
|
font-family: tahoma, arial, verdana, sans-serif;
|
||||||
|
font-size: 10px;
|
||||||
|
font-size-adjust: none;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 1px 4px 1px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/****** BORDERS STYLES *******/
|
||||||
|
.gcube_border_thin {
|
||||||
|
border: 1px solid #99BBE8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_border_standard {
|
||||||
|
border: 2px solid #99BBE8;
|
||||||
|
}
|
||||||
|
|
||||||
|
/****** TABLE STYLES *******/
|
||||||
|
.gcube_table_header {
|
||||||
|
background: transparent url(gcube_images/gcube_header_gray.gif) repeat-x
|
||||||
|
scroll 0 -1px;
|
||||||
|
border: 1px solid #D0D0D0;
|
||||||
|
color: #000000;
|
||||||
|
font-family: tahoma, arial, verdana, sans-serif;
|
||||||
|
font-size: 11px;
|
||||||
|
font-size-adjust: none;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
line-height: 15px;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 1px 4px 1px 4px;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pad2 {
|
||||||
|
padding: 1px 2px 1px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.margin {
|
||||||
|
margin: 1px 2px 1px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/****** FORM COMPONENTS STYLES ******/
|
||||||
|
.gwt-TextBox {
|
||||||
|
background: #FFFFFF url(gcube_images/text-bg.gif) repeat-x scroll 0 0;
|
||||||
|
border: 1px solid #B5B8C8;
|
||||||
|
padding: 1px 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-PushButton-up,.gwt-PushButton-up-hovering,.gwt-PushButton-down,.gwt-PushButton-down-hovering
|
||||||
|
{
|
||||||
|
cursor: hand;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-Button {
|
||||||
|
color: #464646;
|
||||||
|
border: 1px solid #BBB;
|
||||||
|
-moz-border-radius: 2em;
|
||||||
|
-webkit-border-radius: 2em;
|
||||||
|
border-radius: 2em;
|
||||||
|
background: #F2F2F2 url(gcube_images/white-grad.png) repeat-x scroll left top;
|
||||||
|
font-size: 12px;
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
padding: 3px 15px;
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-Button[disabled]:hover,.gwt-Button[disabled]:active,.gwt-Button[disabled]
|
||||||
|
{
|
||||||
|
color: #CCC;
|
||||||
|
border-color: #BBB;
|
||||||
|
cursor: default;
|
||||||
|
opacity: 1.0;
|
||||||
|
background: #F2F2F2 url(gcube_images/white-grad.png) repeat-x scroll
|
||||||
|
left top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-Button:hover {
|
||||||
|
border-color: #222;
|
||||||
|
color: #222;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-Button:active {
|
||||||
|
background: #e3e8f3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-TextArea {
|
||||||
|
border: 1px inset #3366CC;
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button_help {
|
||||||
|
cursor: hand;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button_help:hover {
|
||||||
|
opacity: 0.6;
|
||||||
|
filter: alpha(opacity = 60);
|
||||||
|
}
|
||||||
|
|
||||||
|
/****** FONTS ******/
|
||||||
|
.font_bold {
|
||||||
|
font-weight: bold
|
||||||
|
}
|
||||||
|
|
||||||
|
.font_family {
|
||||||
|
font-family: Verdana, Helvetica, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font_tiny {
|
||||||
|
font-size: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font_small {
|
||||||
|
font-size: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font_standard {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font_large {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font_color {
|
||||||
|
color: #15428B;
|
||||||
|
}
|
||||||
|
|
||||||
|
/****** MOUSE POINTERS ******/
|
||||||
|
.crossCursor {
|
||||||
|
cursor: crosshair;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widthResizeCursor {
|
||||||
|
cursor: e-resize;
|
||||||
|
}
|
||||||
|
|
||||||
|
.heightResizeCursor {
|
||||||
|
cursor: s-resize;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seResizeCursor {
|
||||||
|
cursor: se-resize;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cursor-move {
|
||||||
|
cursor: move;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use This to make the hand appear */
|
||||||
|
.selectable {
|
||||||
|
cursor: hand;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/****** BASKETING STYLES *******/
|
||||||
|
.gcube_basket_item {
|
||||||
|
background: transparent url(gcube_images/button_Down_stretch.png)
|
||||||
|
repeat-x scroll 0 0px;
|
||||||
|
border: 1px solid #0D70C6;
|
||||||
|
color: #15428B;
|
||||||
|
font-family: tahoma, arial, verdana, sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_selected {
|
||||||
|
border: 0px solid #D9E8FB;
|
||||||
|
background-color: #D9E8FB;
|
||||||
|
padding: 1px 4px 1px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/****** DIALOG BOX STYLES ******/
|
||||||
|
.gwt-PopupPanel {
|
||||||
|
background: #FFFFFF none repeat-x scroll 0 0;
|
||||||
|
border: 3px solid #99BBE8;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedPopupPanel {
|
||||||
|
background: #FFFFFF none repeat-x scroll 0 0;
|
||||||
|
border: 3px solid #99BBE8;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** dialog box **/
|
||||||
|
.gcube_DialogBox {
|
||||||
|
z-index: 10001;
|
||||||
|
background: #FFFFFF none repeat-x scroll 0 0;
|
||||||
|
border: 9px solid rgb(80, 80, 80); /* for not understanding rgba prop browsers*/
|
||||||
|
border: 9px solid rgba(0, 0, 0, 0.60);
|
||||||
|
-webkit-background-clip: padding-box; /* for Safari */
|
||||||
|
background-clip: padding-box; /* for IE9+, Firefox 4+, Opera, Chrome */
|
||||||
|
border-radius: 6px;
|
||||||
|
-moz-border-radius: 6px;
|
||||||
|
-webkit-border-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_DialogBox .dialogTop {
|
||||||
|
background: #2999c9;
|
||||||
|
margin: 0px;
|
||||||
|
padding-left: 5px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_DialogBox .dialogMiddleCenter {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_DialogBox .dialogMiddleLeft {
|
||||||
|
background: #FFF;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_DialogBox .dialogMiddleRight {
|
||||||
|
background: #FFF;
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_DialogBox .dialogBottom {
|
||||||
|
background: #FFF;
|
||||||
|
margin: 0px;
|
||||||
|
padding-left: 5px;
|
||||||
|
height: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_DialogBox .Caption {
|
||||||
|
font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #FFF;
|
||||||
|
padding: 5px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/****** DECORATED TAB BAR - TAB PANEL ********/
|
||||||
|
.gwt-TabPanel {
|
||||||
|
font-size: 11px;
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-TabPanelBottom {
|
||||||
|
border-top: 5px solid #DEDEDE;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar {
|
||||||
|
height: 10px;
|
||||||
|
color: #416AA3;
|
||||||
|
cursor: pointer;
|
||||||
|
font-family: tahoma, arial, helvetica;
|
||||||
|
font-size: 11px;
|
||||||
|
font-size-adjust: none;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
line-height: normal;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-TabBarItem {
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar .gwt-TabBarItem {
|
||||||
|
margin-left: 6px;
|
||||||
|
border-collapse: separate;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar .gwt-TabBarFirst {
|
||||||
|
width: 5px; /* first tab distance from the left */
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar .gwt-TabBarRest {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar .tabTopCenter {
|
||||||
|
padding: 0px;
|
||||||
|
background: #DEDEDE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar .tabTopLeft,.gwt-DecoratedTabBar .tabTopRight {
|
||||||
|
padding: 0px;
|
||||||
|
zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar .tabMiddleLeft,.gwt-DecoratedTabBar .tabMiddleRight
|
||||||
|
{
|
||||||
|
width: 6px;
|
||||||
|
padding: 0px;
|
||||||
|
background: #DEDEDE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar .tabMiddleLeftInner,.gwt-DecoratedTabBar .tabMiddleRightInner
|
||||||
|
{
|
||||||
|
width: 1px;
|
||||||
|
height: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar .tabMiddleCenter {
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
background: transparent url(gcube_images/gcube_header_gray.gif) repeat-x
|
||||||
|
scroll 0 -1px;
|
||||||
|
border-bottom: 1px solid #CDCDCD;
|
||||||
|
padding-top: 1px
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopCenter {
|
||||||
|
background: #8DB2E3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight
|
||||||
|
{
|
||||||
|
background: #CEDFF5 url(gcube_images/gcube-tab-bg-selected.gif) repeat-x
|
||||||
|
scroll center bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleCenter {
|
||||||
|
cursor: default;
|
||||||
|
background: #CEDFF5 url(gcube_images/gcube-tab-bg-selected.gif) repeat-x
|
||||||
|
scroll center bottom;
|
||||||
|
color: #15428B;
|
||||||
|
border-bottom: 1px solid #8DB2E3;
|
||||||
|
}
|
||||||
|
|
||||||
|
/****** MENUBAR ******/
|
||||||
|
.gwt-MenuBar .gwt-MenuItem {
|
||||||
|
color: #15428B;
|
||||||
|
font-family: tahoma, arial, verdana, sans-serif;
|
||||||
|
font-size: 11px;
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-MenuBar .gwt-MenuItem-selected {
|
||||||
|
background: #E0EDFE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-MenuBar-horizontal {
|
||||||
|
color: #15428B;
|
||||||
|
font-family: tahoma, arial, verdana, sans-serif;
|
||||||
|
font-size: 10px;
|
||||||
|
/*border:1px solid #99BBE8;*/
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-MenuBar-horizontal .gwt-MenuItem {
|
||||||
|
vertical-align: bottom;
|
||||||
|
color: #3366CC;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-MenuBar-horizontal .gwt-MenuItemSeparator {
|
||||||
|
width: 1px;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
border: 0px;
|
||||||
|
border-left: 1px solid #888888;
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-MenuBar-horizontal .gwt-MenuItemSeparator .menuSeparatorInner {
|
||||||
|
width: 1px;
|
||||||
|
height: 1px;
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-MenuBar-vertical {
|
||||||
|
background-color: #cddef3;
|
||||||
|
border: 1px solid #99BBE8;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ********* Trees ***************** */
|
||||||
|
.gwt-Tree .gwt-TreeItem {
|
||||||
|
padding: 1px 0px;
|
||||||
|
margin: 0px;
|
||||||
|
border: 0px;
|
||||||
|
display: block !important;
|
||||||
|
white-space: nowrap;
|
||||||
|
cursor: hand;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ******* StackPanel *********/ /* ******* StackPanel *********/
|
||||||
|
.gwt-StackPanel {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-StackPanel .gwt-StackPanelContent {
|
||||||
|
border: 1px solid #bbbbbb;
|
||||||
|
border-bottom: 0px;
|
||||||
|
background: white;
|
||||||
|
padding: 2px 2px 10px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-StackPanelItem {
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
font-family: tahoma, arial, verdana, sans-serif;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #15428B;
|
||||||
|
border-top: 1px solid #0D70C6;
|
||||||
|
border-left: 1px solid #0D70C6;
|
||||||
|
border-right: 1px solid #0D70C6;
|
||||||
|
background: transparent url(gcube_images/bg_nonselected_stack_item.png)
|
||||||
|
repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-StackPanel .stackItemTopLeft,.gwt-StackPanel .stackItemTopRight {
|
||||||
|
height: 6px;
|
||||||
|
width: 6px;
|
||||||
|
zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-StackPanel .gwt-StackPanelItem-selected {
|
||||||
|
border: 1px solid #0D70C6;
|
||||||
|
color: #15428B;
|
||||||
|
background: transparent url(gcube_images/bg_selected_stack_item.png)
|
||||||
|
repeat-x scroll 0 -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-PushButton-up,.gwt-PushButton-up-hovering,.gwt-PushButton-up-disabled,.gwt-PushButton-down,.gwt-PushButton-down-hovering,.gwt-PushButton-down-disabled
|
||||||
|
{
|
||||||
|
margin: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
background: url("images/hborder.png") repeat-x 0px -27px;
|
||||||
|
border-radius: 2px;
|
||||||
|
-moz-border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-PushButton-up,.gwt-PushButton-up-hovering,.gwt-PushButton-up-disabled
|
||||||
|
{
|
||||||
|
padding: 3px 5px 3px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-PushButton-up {
|
||||||
|
border: 1px solid #bbb;
|
||||||
|
border-bottom: 1px solid #a0a0a0;
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-PushButton-up-hovering {
|
||||||
|
border: 1px solid;
|
||||||
|
border-color: #939393;
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-PushButton-up-disabled {
|
||||||
|
border: 1px solid #bbb;
|
||||||
|
cursor: default;
|
||||||
|
opacity: .5;
|
||||||
|
filter: alpha(opacity = 45);
|
||||||
|
zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-PushButton-down,.gwt-PushButton-down-hovering,.gwt-PushButton-down-disabled
|
||||||
|
{
|
||||||
|
padding: 4px 4px 2px 6px;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-PushButton-down {
|
||||||
|
border: 1px inset #666;
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-PushButton-down-hovering {
|
||||||
|
border: 1px solid #939393;
|
||||||
|
border-top: 1px solid #333333;
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-PushButton-down-disabled {
|
||||||
|
border: 1px outset #ccc;
|
||||||
|
cursor: default;
|
||||||
|
opacity: 0.5;
|
||||||
|
filter: alpha(opacity = 45);
|
||||||
|
zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-ToggleButton-up,.gwt-ToggleButton-up-hovering,.gwt-ToggleButton-up-disabled,.gwt-ToggleButton-down,.gwt-ToggleButton-down-hovering,.gwt-ToggleButton-down-disabled
|
||||||
|
{
|
||||||
|
margin: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
background: url("images/hborder.png") repeat-x 0px -27px;
|
||||||
|
-moz-border-radius: 2px;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-ToggleButton-up,.gwt-ToggleButton-up-hovering,.gwt-ToggleButton-up-disabled
|
||||||
|
{
|
||||||
|
padding: 3px 5px 3px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-ToggleButton-up {
|
||||||
|
border: 1px solid #bbb;
|
||||||
|
border-bottom: 1px solid #a0a0a0;
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-ToggleButton-up-hovering {
|
||||||
|
border: 1px solid;
|
||||||
|
border-color: #939393;
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-ToggleButton-up-disabled {
|
||||||
|
border: 1px solid #bbb;
|
||||||
|
cursor: default;
|
||||||
|
opacity: .5;
|
||||||
|
zoom: 1;
|
||||||
|
filter: alpha(opacity = 45);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-ToggleButton-down,.gwt-ToggleButton-down-hovering,.gwt-ToggleButton-down-disabled
|
||||||
|
{
|
||||||
|
padding: 4px 4px 2px 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-ToggleButton-down {
|
||||||
|
background-position: 0 -513px;
|
||||||
|
border: 1px inset #666;
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-ToggleButton-down-hovering {
|
||||||
|
background-position: 0 -513px;
|
||||||
|
border: 1px inset;
|
||||||
|
border-color: #9cf #69e #69e #7af;
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-ToggleButton-down-disabled {
|
||||||
|
background-position: 0 -513px;
|
||||||
|
border: 1px inset #ccc;
|
||||||
|
cursor: default;
|
||||||
|
opacity: .5;
|
||||||
|
zoom: 1;
|
||||||
|
filter: alpha(opacity = 45);
|
||||||
|
}
|
After Width: | Height: | Size: 188 B |
After Width: | Height: | Size: 212 B |
After Width: | Height: | Size: 199 B |
After Width: | Height: | Size: 137 B |
After Width: | Height: | Size: 826 B |
After Width: | Height: | Size: 835 B |
After Width: | Height: | Size: 868 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 786 B |
After Width: | Height: | Size: 819 B |
After Width: | Height: | Size: 210 B |
After Width: | Height: | Size: 872 B |
|
@ -0,0 +1,16 @@
|
||||||
|
function gcubewidgets(){var N='',ub='" for "gwt:onLoadErrorFn"',sb='" for "gwt:onPropertyErrorFn"',gb='"><\/script>',X='#',Sb='.cache.html',Z='/',Rb=':',mb='::',$b='<script defer="defer">gcubewidgets.onInjectionDone(\'gcubewidgets\')<\/script>',fb='<script id="',pb='=',Y='?',Db='ActiveXObject',rb='Bad handler "',Eb='ChromeTab.ChromeFrame',Zb='DOMContentLoaded',Qb="GWT module 'gcubewidgets' may need to be (re)compiled",hb='SCRIPT',eb='__gwt_marker_gcubewidgets',ib='base',ab='baseUrl',R='begin',Q='bootstrap',Cb='chromeframe',_='clear.cache.gif',ob='content',W='end',Tb='gcube_common_styles.css',O='gcubewidgets',cb='gcubewidgets.nocache.js',lb='gcubewidgets::',Kb='gecko',Lb='gecko1_8',S='gwt.codesvr=',T='gwt.hosted=',U='gwt.hybrid',tb='gwt:onLoadErrorFn',qb='gwt:onPropertyErrorFn',nb='gwt:property',Yb='head',Ob='hosted.html?gcubewidgets',Xb='href',Jb='ie6',Ib='ie8',Hb='ie9',vb='iframe',$='img',wb="javascript:''",Ub='link',Nb='loadExternalRefs',jb='meta',yb='moduleRequested',V='moduleStartup',Gb='msie',kb='name',Ab='opera',xb='position:absolute;width:0;height:0;border:none',Vb='rel',Fb='safari',bb='script',Pb='selectingPermutation',P='startup',Wb='stylesheet',db='undefined',Mb='unknown',zb='user.agent',Bb='webkit';var l=window,m=document,n=l.__gwtStatsEvent?function(a){return l.__gwtStatsEvent(a)}:null,o=l.__gwtStatsSessionId?l.__gwtStatsSessionId:null,p,q,r,s=N,t={},u=[],v=[],w=[],x=0,y,z;n&&n({moduleName:O,sessionId:o,subSystem:P,evtGroup:Q,millis:(new Date).getTime(),type:R});if(!l.__gwt_stylesLoaded){l.__gwt_stylesLoaded={}}if(!l.__gwt_scriptsLoaded){l.__gwt_scriptsLoaded={}}function A(){var b=false;try{var c=l.location.search;return (c.indexOf(S)!=-1||(c.indexOf(T)!=-1||l.external&&l.external.gwtOnLoad))&&c.indexOf(U)==-1}catch(a){}A=function(){return b};return b}
|
||||||
|
function B(){if(p&&q){var b=m.getElementById(O);var c=b.contentWindow;if(A()){c.__gwt_getProperty=function(a){return F(a)}}gcubewidgets=null;c.gwtOnLoad(y,O,s,x);n&&n({moduleName:O,sessionId:o,subSystem:P,evtGroup:V,millis:(new Date).getTime(),type:W})}}
|
||||||
|
function C(){function e(a){var b=a.lastIndexOf(X);if(b==-1){b=a.length}var c=a.indexOf(Y);if(c==-1){c=a.length}var d=a.lastIndexOf(Z,Math.min(c,b));return d>=0?a.substring(0,d+1):N}
|
||||||
|
function f(a){if(a.match(/^\w+:\/\//)){}else{var b=m.createElement($);b.src=a+_;a=e(b.src)}return a}
|
||||||
|
function g(){var a=E(ab);if(a!=null){return a}return N}
|
||||||
|
function h(){var a=m.getElementsByTagName(bb);for(var b=0;b<a.length;++b){if(a[b].src.indexOf(cb)!=-1){return e(a[b].src)}}return N}
|
||||||
|
function i(){var a;if(typeof isBodyLoaded==db||!isBodyLoaded()){var b=eb;var c;m.write(fb+b+gb);c=m.getElementById(b);a=c&&c.previousSibling;while(a&&a.tagName!=hb){a=a.previousSibling}if(c){c.parentNode.removeChild(c)}if(a&&a.src){return e(a.src)}}return N}
|
||||||
|
function j(){var a=m.getElementsByTagName(ib);if(a.length>0){return a[a.length-1].href}return N}
|
||||||
|
var k=g();if(k==N){k=h()}if(k==N){k=i()}if(k==N){k=j()}if(k==N){k=e(m.location.href)}k=f(k);s=k;return k}
|
||||||
|
function D(){var b=document.getElementsByTagName(jb);for(var c=0,d=b.length;c<d;++c){var e=b[c],f=e.getAttribute(kb),g;if(f){f=f.replace(lb,N);if(f.indexOf(mb)>=0){continue}if(f==nb){g=e.getAttribute(ob);if(g){var h,i=g.indexOf(pb);if(i>=0){f=g.substring(0,i);h=g.substring(i+1)}else{f=g;h=N}t[f]=h}}else if(f==qb){g=e.getAttribute(ob);if(g){try{z=eval(g)}catch(a){alert(rb+g+sb)}}}else if(f==tb){g=e.getAttribute(ob);if(g){try{y=eval(g)}catch(a){alert(rb+g+ub)}}}}}}
|
||||||
|
function E(a){var b=t[a];return b==null?null:b}
|
||||||
|
function F(a){var b=v[a](),c=u[a];if(b in c){return b}var d=[];for(var e in c){d[c[e]]=e}if(z){z(a,d,b)}throw null}
|
||||||
|
var G;function H(){if(!G){G=true;var a=m.createElement(vb);a.src=wb;a.id=O;a.style.cssText=xb;a.tabIndex=-1;m.body.appendChild(a);n&&n({moduleName:O,sessionId:o,subSystem:P,evtGroup:V,millis:(new Date).getTime(),type:yb});a.contentWindow.location.replace(s+J)}}
|
||||||
|
v[zb]=function(){var c=navigator.userAgent.toLowerCase();var d=function(a){return parseInt(a[1])*1000+parseInt(a[2])};if(function(){return c.indexOf(Ab)!=-1}())return Ab;if(function(){return c.indexOf(Bb)!=-1||function(){if(c.indexOf(Cb)!=-1){return true}if(typeof window[Db]!=db){try{var b=new ActiveXObject(Eb);if(b){b.registerBhoIfNeeded();return true}}catch(a){}}return false}()}())return Fb;if(function(){return c.indexOf(Gb)!=-1&&m.documentMode>=9}())return Hb;if(function(){return c.indexOf(Gb)!=-1&&m.documentMode>=8}())return Ib;if(function(){var a=/msie ([0-9]+)\.([0-9]+)/.exec(c);if(a&&a.length==3)return d(a)>=6000}())return Jb;if(function(){return c.indexOf(Kb)!=-1}())return Lb;return Mb};u[zb]={gecko1_8:0,ie6:1,ie8:2,ie9:3,opera:4,safari:5};gcubewidgets.onScriptLoad=function(){if(G){q=true;B()}};gcubewidgets.onInjectionDone=function(){p=true;n&&n({moduleName:O,sessionId:o,subSystem:P,evtGroup:Nb,millis:(new Date).getTime(),type:W});B()};D();C();var I;var J;if(A()){if(l.external&&(l.external.initModule&&l.external.initModule(O))){l.location.reload();return}J=Ob;I=N}n&&n({moduleName:O,sessionId:o,subSystem:P,evtGroup:Q,millis:(new Date).getTime(),type:Pb});if(!A()){try{alert(Qb);return;var K=I.indexOf(Rb);if(K!=-1){x=Number(I.substring(K+1));I=I.substring(0,K)}J=I+Sb}catch(a){return}}var L;function M(){if(!r){r=true;if(!__gwt_stylesLoaded[Tb]){var a=m.createElement(Ub);__gwt_stylesLoaded[Tb]=a;a.setAttribute(Vb,Wb);a.setAttribute(Xb,s+Tb);m.getElementsByTagName(Yb)[0].appendChild(a)}B();if(m.removeEventListener){m.removeEventListener(Zb,M,false)}if(L){clearInterval(L)}}}
|
||||||
|
if(m.addEventListener){m.addEventListener(Zb,function(){H();M()},false)}var L=setInterval(function(){if(/loaded|complete/.test(m.readyState)){H();M()}},50);n&&n({moduleName:O,sessionId:o,subSystem:P,evtGroup:Q,millis:(new Date).getTime(),type:W});n&&n({moduleName:O,sessionId:o,subSystem:P,evtGroup:Nb,millis:(new Date).getTime(),type:R});m.write($b)}
|
||||||
|
gcubewidgets();
|
|
@ -0,0 +1,364 @@
|
||||||
|
<html>
|
||||||
|
<head><script>
|
||||||
|
var $wnd = parent;
|
||||||
|
var $doc = $wnd.document;
|
||||||
|
var $moduleName, $moduleBase, $entry
|
||||||
|
,$stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null
|
||||||
|
,$sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;
|
||||||
|
// Lightweight metrics
|
||||||
|
if ($stats) {
|
||||||
|
var moduleFuncName = location.search.substr(1);
|
||||||
|
var moduleFunc = $wnd[moduleFuncName];
|
||||||
|
var moduleName = moduleFunc ? moduleFunc.moduleName : "unknown";
|
||||||
|
$stats({moduleName:moduleName,sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});
|
||||||
|
}
|
||||||
|
var $hostedHtmlVersion="2.1";
|
||||||
|
|
||||||
|
var gwtOnLoad;
|
||||||
|
var $hosted = "localhost:9997";
|
||||||
|
|
||||||
|
function loadIframe(url) {
|
||||||
|
var topDoc = window.top.document;
|
||||||
|
|
||||||
|
// create an iframe
|
||||||
|
var iframeDiv = topDoc.createElement("div");
|
||||||
|
iframeDiv.innerHTML = "<iframe scrolling=no frameborder=0 src='" + url + "'>";
|
||||||
|
var iframe = iframeDiv.firstChild;
|
||||||
|
|
||||||
|
// mess with the iframe style a little
|
||||||
|
var iframeStyle = iframe.style;
|
||||||
|
iframeStyle.position = "absolute";
|
||||||
|
iframeStyle.borderWidth = "0";
|
||||||
|
iframeStyle.left = "0";
|
||||||
|
iframeStyle.top = "0";
|
||||||
|
iframeStyle.width = "100%";
|
||||||
|
iframeStyle.backgroundColor = "#ffffff";
|
||||||
|
iframeStyle.zIndex = "1";
|
||||||
|
iframeStyle.height = "100%";
|
||||||
|
|
||||||
|
// update the top window's document's body's style
|
||||||
|
var hostBodyStyle = window.top.document.body.style;
|
||||||
|
hostBodyStyle.margin = "0";
|
||||||
|
hostBodyStyle.height = iframeStyle.height;
|
||||||
|
hostBodyStyle.overflow = "hidden";
|
||||||
|
|
||||||
|
// insert the iframe
|
||||||
|
topDoc.body.insertBefore(iframe, topDoc.body.firstChild);
|
||||||
|
}
|
||||||
|
|
||||||
|
var ua = navigator.userAgent.toLowerCase();
|
||||||
|
if (ua.indexOf("gecko") != -1) {
|
||||||
|
// install eval wrapper on FF to avoid EvalError problem
|
||||||
|
var __eval = window.eval;
|
||||||
|
window.eval = function(s) {
|
||||||
|
return __eval(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ua.indexOf("chrome") != -1) {
|
||||||
|
// work around __gwt_ObjectId appearing in JS objects
|
||||||
|
var hop = Object.prototype.hasOwnProperty;
|
||||||
|
Object.prototype.hasOwnProperty = function(prop) {
|
||||||
|
return prop != "__gwt_ObjectId" && hop.call(this, prop);
|
||||||
|
};
|
||||||
|
// do the same in our parent as well -- see issue 4486
|
||||||
|
// NOTE: this will have to be changed when we support non-iframe-based DevMode
|
||||||
|
var hop2 = parent.Object.prototype.hasOwnProperty;
|
||||||
|
parent.Object.prototype.hasOwnProperty = function(prop) {
|
||||||
|
return prop != "__gwt_ObjectId" && hop2.call(this, prop);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// wrapper to call JS methods, which we need both to be able to supply a
|
||||||
|
// different this for method lookup and to get the exception back
|
||||||
|
function __gwt_jsInvoke(thisObj, methodName) {
|
||||||
|
try {
|
||||||
|
var args = Array.prototype.slice.call(arguments, 2);
|
||||||
|
return [0, window[methodName].apply(thisObj, args)];
|
||||||
|
} catch (e) {
|
||||||
|
return [1, e];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var __gwt_javaInvokes = [];
|
||||||
|
function __gwt_makeJavaInvoke(argCount) {
|
||||||
|
return __gwt_javaInvokes[argCount] || __gwt_doMakeJavaInvoke(argCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
function __gwt_doMakeJavaInvoke(argCount) {
|
||||||
|
// IE6 won't eval() anonymous functions except as r-values
|
||||||
|
var argList = "";
|
||||||
|
for (var i = 0; i < argCount; i++) {
|
||||||
|
argList += ",p" + i;
|
||||||
|
}
|
||||||
|
var argListNoComma = argList.substring(1);
|
||||||
|
|
||||||
|
return eval(
|
||||||
|
"__gwt_javaInvokes[" + argCount + "] =\n" +
|
||||||
|
" function(thisObj, dispId" + argList + ") {\n" +
|
||||||
|
" var result = __static(dispId, thisObj" + argList + ");\n" +
|
||||||
|
" if (result[0]) {\n" +
|
||||||
|
" throw result[1];\n" +
|
||||||
|
" } else {\n" +
|
||||||
|
" return result[1];\n" +
|
||||||
|
" }\n" +
|
||||||
|
" }\n"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is used to create tear-offs of Java methods. Each function corresponds
|
||||||
|
* to exactly one dispId, and also embeds the argument count. We get the "this"
|
||||||
|
* value from the context in which the function is being executed.
|
||||||
|
* Function-object identity is preserved by caching in a sparse array.
|
||||||
|
*/
|
||||||
|
var __gwt_tearOffs = [];
|
||||||
|
var __gwt_tearOffGenerators = [];
|
||||||
|
function __gwt_makeTearOff(proxy, dispId, argCount) {
|
||||||
|
return __gwt_tearOffs[dispId] || __gwt_doMakeTearOff(dispId, argCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
function __gwt_doMakeTearOff(dispId, argCount) {
|
||||||
|
return __gwt_tearOffs[dispId] =
|
||||||
|
(__gwt_tearOffGenerators[argCount] || __gwt_doMakeTearOffGenerator(argCount))(dispId);
|
||||||
|
}
|
||||||
|
|
||||||
|
function __gwt_doMakeTearOffGenerator(argCount) {
|
||||||
|
// IE6 won't eval() anonymous functions except as r-values
|
||||||
|
var argList = "";
|
||||||
|
for (var i = 0; i < argCount; i++) {
|
||||||
|
argList += ",p" + i;
|
||||||
|
}
|
||||||
|
var argListNoComma = argList.substring(1);
|
||||||
|
|
||||||
|
return eval(
|
||||||
|
"__gwt_tearOffGenerators[" + argCount + "] =\n" +
|
||||||
|
" function(dispId) {\n" +
|
||||||
|
" return function(" + argListNoComma + ") {\n" +
|
||||||
|
" var result = __static(dispId, this" + argList + ");\n" +
|
||||||
|
" if (result[0]) {\n" +
|
||||||
|
" throw result[1];\n" +
|
||||||
|
" } else {\n" +
|
||||||
|
" return result[1];\n" +
|
||||||
|
" }\n" +
|
||||||
|
" }\n" +
|
||||||
|
" }\n"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function __gwt_makeResult(isException, result) {
|
||||||
|
return [isException, result];
|
||||||
|
}
|
||||||
|
|
||||||
|
function __gwt_disconnected() {
|
||||||
|
// Prevent double-invocation.
|
||||||
|
window.__gwt_disconnected = new Function();
|
||||||
|
// Do it in a timeout so we can be sure we have a clean stack.
|
||||||
|
window.setTimeout(__gwt_disconnected_impl, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function __gwt_disconnected_impl() {
|
||||||
|
__gwt_displayGlassMessage('GWT Code Server Disconnected',
|
||||||
|
'Most likely, you closed GWT Development Mode. Or, you might have lost '
|
||||||
|
+ 'network connectivity. To fix this, try restarting GWT Development Mode and '
|
||||||
|
+ '<a style="color: #FFFFFF; font-weight: bold;" href="javascript:location.reload()">'
|
||||||
|
+ 'REFRESH</a> this page.');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Keep track of z-index to allow layering of multiple glass messages
|
||||||
|
var __gwt_glassMessageZIndex = 2147483647;
|
||||||
|
|
||||||
|
// Note this method is also used by ModuleSpace.java
|
||||||
|
function __gwt_displayGlassMessage(summary, details) {
|
||||||
|
var topWin = window.top;
|
||||||
|
var topDoc = topWin.document;
|
||||||
|
var outer = topDoc.createElement("div");
|
||||||
|
// Do not insert whitespace or outer.firstChild will get a text node.
|
||||||
|
outer.innerHTML =
|
||||||
|
'<div style="position:absolute;z-index:' + __gwt_glassMessageZIndex-- +
|
||||||
|
';left:50px;top:50px;width:600px;color:#FFF;font-family:verdana;text-align:left;">' +
|
||||||
|
'<div style="font-size:30px;font-weight:bold;">' + summary + '</div>' +
|
||||||
|
'<div style="font-size:15px;">' + details + '</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div style="position:absolute;z-index:' + __gwt_glassMessageZIndex-- +
|
||||||
|
';left:0px;top:0px;right:0px;bottom:0px;filter:alpha(opacity=60);opacity:0.6;background-color:#000;"></div>'
|
||||||
|
;
|
||||||
|
topDoc.body.appendChild(outer);
|
||||||
|
var glass = outer.firstChild;
|
||||||
|
var glassStyle = glass.style;
|
||||||
|
|
||||||
|
// Scroll to the top and remove scrollbars.
|
||||||
|
topWin.scrollTo(0, 0);
|
||||||
|
if (topDoc.compatMode == "BackCompat") {
|
||||||
|
topDoc.body.style["overflow"] = "hidden";
|
||||||
|
} else {
|
||||||
|
topDoc.documentElement.style["overflow"] = "hidden";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Steal focus.
|
||||||
|
glass.focus();
|
||||||
|
|
||||||
|
if ((navigator.userAgent.indexOf("MSIE") >= 0) && (topDoc.compatMode == "BackCompat")) {
|
||||||
|
// IE quirks mode doesn't support right/bottom, but does support this.
|
||||||
|
glassStyle.width = "125%";
|
||||||
|
glassStyle.height = "100%";
|
||||||
|
} else if (navigator.userAgent.indexOf("MSIE 6") >= 0) {
|
||||||
|
// IE6 doesn't have a real standards mode, so we have to use hacks.
|
||||||
|
glassStyle.width = "125%"; // Get past scroll bar area.
|
||||||
|
// Nasty CSS; onresize would be better but the outer window won't let us add a listener IE.
|
||||||
|
glassStyle.setExpression("height", "document.documentElement.clientHeight");
|
||||||
|
}
|
||||||
|
|
||||||
|
$doc.title = summary + " [" + $doc.title + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
function findPluginObject() {
|
||||||
|
try {
|
||||||
|
return document.getElementById('pluginObject');
|
||||||
|
} catch (e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function findPluginEmbed() {
|
||||||
|
try {
|
||||||
|
return document.getElementById('pluginEmbed')
|
||||||
|
} catch (e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function findPluginXPCOM() {
|
||||||
|
try {
|
||||||
|
return __gwt_HostedModePlugin;
|
||||||
|
} catch (e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gwtOnLoad = function(errFn, modName, modBase){
|
||||||
|
$moduleName = modName;
|
||||||
|
$moduleBase = modBase;
|
||||||
|
|
||||||
|
// Note that the order is important
|
||||||
|
var pluginFinders = [
|
||||||
|
findPluginXPCOM,
|
||||||
|
findPluginObject,
|
||||||
|
findPluginEmbed,
|
||||||
|
];
|
||||||
|
var topWin = window.top;
|
||||||
|
var url = topWin.location.href;
|
||||||
|
if (!topWin.__gwt_SessionID) {
|
||||||
|
var ASCII_EXCLAMATION = 33;
|
||||||
|
var ASCII_TILDE = 126;
|
||||||
|
var chars = [];
|
||||||
|
for (var i = 0; i < 16; ++i) {
|
||||||
|
chars.push(Math.floor(ASCII_EXCLAMATION
|
||||||
|
+ Math.random() * (ASCII_TILDE - ASCII_EXCLAMATION + 1)));
|
||||||
|
}
|
||||||
|
topWin.__gwt_SessionID = String.fromCharCode.apply(null, chars);
|
||||||
|
}
|
||||||
|
var plugin = null;
|
||||||
|
for (var i = 0; i < pluginFinders.length; ++i) {
|
||||||
|
try {
|
||||||
|
var maybePlugin = pluginFinders[i]();
|
||||||
|
if (maybePlugin != null && maybePlugin.init(window)) {
|
||||||
|
plugin = maybePlugin;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!plugin) {
|
||||||
|
// try searching for a v1 plugin for backwards compatibility
|
||||||
|
var found = false;
|
||||||
|
for (var i = 0; i < pluginFinders.length; ++i) {
|
||||||
|
try {
|
||||||
|
plugin = pluginFinders[i]();
|
||||||
|
if (plugin != null && plugin.connect($hosted, $moduleName, window)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
loadIframe("http://gwt.google.com/missing-plugin");
|
||||||
|
} else {
|
||||||
|
if (plugin.connect(url, topWin.__gwt_SessionID, $hosted, $moduleName,
|
||||||
|
$hostedHtmlVersion)) {
|
||||||
|
window.onUnload = function() {
|
||||||
|
try {
|
||||||
|
// wrap in try/catch since plugins are not required to supply this
|
||||||
|
plugin.disconnect();
|
||||||
|
} catch (e) {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
if (errFn) {
|
||||||
|
errFn(modName);
|
||||||
|
} else {
|
||||||
|
__gwt_displayGlassMessage("Plugin failed to connect to Development Mode server at " +
|
||||||
|
simpleEscape($hosted),
|
||||||
|
"Follow the underlying troubleshooting instructions");
|
||||||
|
loadIframe("http://code.google.com/p/google-web-toolkit/wiki/TroubleshootingOOPHM");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function simpleEscape(originalString) {
|
||||||
|
return originalString.replace("&","&")
|
||||||
|
.replace("<","<")
|
||||||
|
.replace(">",">")
|
||||||
|
.replace("\"",""");
|
||||||
|
}
|
||||||
|
|
||||||
|
window.onunload = function() {
|
||||||
|
};
|
||||||
|
|
||||||
|
// Lightweight metrics
|
||||||
|
window.fireOnModuleLoadStart = function(className) {
|
||||||
|
$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date()).getTime(), type:'onModuleLoadStart', className:className});
|
||||||
|
};
|
||||||
|
|
||||||
|
window.__gwt_module_id = 0;
|
||||||
|
</script></head>
|
||||||
|
<body>
|
||||||
|
<font face='arial' size='-1'>This html file is for Development Mode support.</font>
|
||||||
|
<script><!--
|
||||||
|
// Lightweight metrics
|
||||||
|
$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date()).getTime(), type:'moduleEvalEnd'});
|
||||||
|
|
||||||
|
// OOPHM currently only supports IFrameLinker
|
||||||
|
var query = parent.location.search;
|
||||||
|
if (!findPluginXPCOM()) {
|
||||||
|
document.write('<embed id="pluginEmbed" type="application/x-gwt-hosted-mode" width="10" height="10">');
|
||||||
|
document.write('</embed>');
|
||||||
|
document.write('<object id="pluginObject" CLASSID="CLSID:1D6156B6-002B-49E7-B5CA-C138FB843B4E">');
|
||||||
|
document.write('</object>');
|
||||||
|
}
|
||||||
|
|
||||||
|
// look for the old query parameter if we don't find the new one
|
||||||
|
var idx = query.indexOf("gwt.codesvr=");
|
||||||
|
if (idx >= 0) {
|
||||||
|
idx += 12; // "gwt.codesvr=".length() == 12
|
||||||
|
} else {
|
||||||
|
idx = query.indexOf("gwt.hosted=");
|
||||||
|
if (idx >= 0) {
|
||||||
|
idx += 11; // "gwt.hosted=".length() == 11
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (idx >= 0) {
|
||||||
|
var amp = query.indexOf("&", idx);
|
||||||
|
if (amp >= 0) {
|
||||||
|
$hosted = query.substring(idx, amp);
|
||||||
|
} else {
|
||||||
|
$hosted = query.substring(idx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// According to RFC 3986, some of this component's characters (e.g., ':')
|
||||||
|
// are reserved and *may* be escaped.
|
||||||
|
$hosted = decodeURIComponent($hosted);
|
||||||
|
}
|
||||||
|
|
||||||
|
query = window.location.search.substring(1);
|
||||||
|
if (query && $wnd[query]) setTimeout($wnd[query].onScriptLoad, 1);
|
||||||
|
--></script></body></html>
|
|
@ -0,0 +1,375 @@
|
||||||
|
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
HTML5 display definitions
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects `block` display not defined in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
details,
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
hgroup,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
summary {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects `inline-block` display not defined in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
audio,
|
||||||
|
canvas,
|
||||||
|
video {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevents modern browsers from displaying `audio` without controls.
|
||||||
|
* Remove excess height in iOS 5 devices.
|
||||||
|
*/
|
||||||
|
|
||||||
|
audio:not([controls]) {
|
||||||
|
display: none;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling for `hidden` attribute not present in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[hidden] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Base
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Sets default font family to sans-serif.
|
||||||
|
* 2. Prevents iOS text size adjust after orientation change, without disabling
|
||||||
|
* user zoom.
|
||||||
|
*/
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-family: sans-serif; /* 1 */
|
||||||
|
-webkit-text-size-adjust: 100%; /* 2 */
|
||||||
|
-ms-text-size-adjust: 100%; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes default margin.
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Links
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses `outline` inconsistency between Chrome and other browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
a:focus {
|
||||||
|
outline: thin dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Improves readability when focused and also mouse hovered in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
a:active,
|
||||||
|
a:hover {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Typography
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
|
||||||
|
* Safari 5, and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in IE 8/9, Safari 5, and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
abbr[title] {
|
||||||
|
border-bottom: 1px dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in Safari 5 and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
dfn {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
mark {
|
||||||
|
background: #ff0;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects font family set oddly in Safari 5 and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
pre,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, serif;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Improves readability of pre-formatted text in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre {
|
||||||
|
white-space: pre;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sets consistent quote types.
|
||||||
|
*/
|
||||||
|
|
||||||
|
q {
|
||||||
|
quotes: "\201C" "\201D" "\2018" "\2019";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses inconsistent and variable font size in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevents `sub` and `sup` affecting `line-height` in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup {
|
||||||
|
font-size: 75%;
|
||||||
|
line-height: 0;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup {
|
||||||
|
top: -0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub {
|
||||||
|
bottom: -0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Embedded content
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes border when inside `a` element in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
img {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects overflow displayed oddly in IE 9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
svg:not(:root) {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Figures
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses margin not present in IE 8/9 and Safari 5.
|
||||||
|
*/
|
||||||
|
|
||||||
|
figure {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Forms
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Define consistent border, margin, and padding.
|
||||||
|
*/
|
||||||
|
|
||||||
|
fieldset {
|
||||||
|
border: 1px solid #c0c0c0;
|
||||||
|
margin: 0 2px;
|
||||||
|
padding: 0.35em 0.625em 0.75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects color not being inherited in IE 8/9.
|
||||||
|
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
|
||||||
|
*/
|
||||||
|
|
||||||
|
legend {
|
||||||
|
border: 0; /* 1 */
|
||||||
|
padding: 0; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects font family not being inherited in all browsers.
|
||||||
|
* 2. Corrects font size not being inherited in all browsers.
|
||||||
|
* 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-family: inherit; /* 1 */
|
||||||
|
font-size: 100%; /* 2 */
|
||||||
|
margin: 0; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
|
||||||
|
* the UA stylesheet.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input {
|
||||||
|
line-height: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
||||||
|
* and `video` controls.
|
||||||
|
* 2. Corrects inability to style clickable `input` types in iOS.
|
||||||
|
* 3. Improves usability and consistency of cursor style between image-type
|
||||||
|
* `input` and others.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
html input[type="button"], /* 1 */
|
||||||
|
input[type="reset"],
|
||||||
|
input[type="submit"] {
|
||||||
|
-webkit-appearance: button; /* 2 */
|
||||||
|
cursor: pointer; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Re-set default cursor for disabled elements.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button[disabled],
|
||||||
|
input[disabled] {
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses box sizing set to `content-box` in IE 8/9.
|
||||||
|
* 2. Removes excess padding in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="checkbox"],
|
||||||
|
input[type="radio"] {
|
||||||
|
box-sizing: border-box; /* 1 */
|
||||||
|
padding: 0; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
|
||||||
|
* 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
|
||||||
|
* (include `-moz` to future-proof).
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="search"] {
|
||||||
|
-webkit-appearance: textfield; /* 1 */
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
-webkit-box-sizing: content-box; /* 2 */
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes inner padding and search cancel button in Safari 5 and Chrome
|
||||||
|
* on OS X.
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="search"]::-webkit-search-cancel-button,
|
||||||
|
input[type="search"]::-webkit-search-decoration {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes inner padding and border in Firefox 4+.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button::-moz-focus-inner,
|
||||||
|
input::-moz-focus-inner {
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Removes default vertical scrollbar in IE 8/9.
|
||||||
|
* 2. Improves readability and alignment in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
overflow: auto; /* 1 */
|
||||||
|
vertical-align: top; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Tables
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Remove most spacing between table cells.
|
||||||
|
*/
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
.gcube_DialogBox {
|
||||||
|
border: 5px solid #99BBE8 !important;
|
||||||
|
border-radius: 1px !important;
|
||||||
|
-moz-border-radius: 1px !important;;
|
||||||
|
-webkit-border-radius: 1px !important;
|
||||||
|
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.80);
|
||||||
|
-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.80);
|
||||||
|
-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.80);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_DialogBox .dialogTop {
|
||||||
|
background: transparent url(gcube_images/white-top-bottom.gif) repeat-x
|
||||||
|
scroll 0 -1px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gcube_DialogBox .Caption {
|
||||||
|
color: #15428B !important;;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-Button {
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
cursor: hand;
|
||||||
|
background: url("gcube_images/hborder.png") repeat-x 0px -2077px
|
||||||
|
!important;
|
||||||
|
border: 1px solid #bbb !important;
|
||||||
|
border-bottom: 1px solid #a0a0a0 !important;
|
||||||
|
border-radius: 4px !important;
|
||||||
|
-moz-border-radius: 4px !important;;
|
||||||
|
-webkit-border-radius: 4px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-Button:active {
|
||||||
|
border: 1px inset #ccc !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gwt-Button:hover {
|
||||||
|
border-color: #939393 !important;;
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
/* Switch Button */
|
||||||
|
|
||||||
|
.switch-button-label {
|
||||||
|
float: left;
|
||||||
|
|
||||||
|
font-size: 10pt;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.switch-button-label.off {
|
||||||
|
color: #adadad;
|
||||||
|
}
|
||||||
|
|
||||||
|
.switch-button-label.on {
|
||||||
|
color: #0088CC;
|
||||||
|
}
|
||||||
|
|
||||||
|
.switch-button-background {
|
||||||
|
float: left;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
background: #ccc;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
|
||||||
|
margin: 1px 10px;
|
||||||
|
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
width: 25px;
|
||||||
|
height: 11px;
|
||||||
|
|
||||||
|
outline-style: none; /* this avoid the tabindex property to sorround this element with a (maybe dotted) rectangle*/
|
||||||
|
}
|
||||||
|
|
||||||
|
.switch-button-button {
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
width: 12px;
|
||||||
|
height: 11px;
|
||||||
|
|
||||||
|
left: 12px;
|
||||||
|
top : -1px;
|
||||||
|
|
||||||
|
background: #FAFAFA;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|