JBoss Rich Faces SVN: r11079 - trunk/test-applications/automator/src/main/webapp/component.
by richfaces-svn-commits@lists.jboss.org
Author: adubovsky
Date: 2008-11-11 11:18:49 -0500 (Tue, 11 Nov 2008)
New Revision: 11079
Modified:
trunk/test-applications/automator/src/main/webapp/component/comboBox.jsp
Log:
Modified: trunk/test-applications/automator/src/main/webapp/component/comboBox.jsp
===================================================================
--- trunk/test-applications/automator/src/main/webapp/component/comboBox.jsp 2008-11-11 13:19:14 UTC (rev 11078)
+++ trunk/test-applications/automator/src/main/webapp/component/comboBox.jsp 2008-11-11 16:18:49 UTC (rev 11079)
@@ -9,6 +9,7 @@
<rich:spacer height="30"></rich:spacer>
<script type="text/javascript">
+ var i = 0;
function showValue() {
var myMessage = document.getElementById('mainForm:comboBoxSubview:mess');
if(myMessage != null) {
@@ -17,26 +18,69 @@
}
return true;
}
+
+ function onmouseoverCall() {
+ var a = document.getElementById('mainForm:comboBoxSubview:onmouseoverID');
+ if(a != null) {
+ a.textContent = "WORK!" + i++;
+ }
+ }
+
+ function onclickCall() {
+ var a = document.getElementById('mainForm:comboBoxSubview:onclickID');
+ if(a != null) {
+ a.textContent = "WORK!" + i++;
+ }
+ }
</script>
- <h:panelGrid id="comboBoxGrid" columns="1" >
+ <h:panelGrid id="comboBoxGrid" columns="1">
<h:messages id="mess" style="color: red" />
<rich:comboBox id="comboBox" binding="#{comboBoxGeneral.comboBox}"
- align="#{comboBoxGeneral.align}" validator="#{comboBoxGeneral.validate}"
+ align="#{comboBoxGeneral.align}"
+ validator="#{comboBoxGeneral.validate}"
required="#{comboBoxGeneral.required}"
- validatorMessage="#{comboBoxGeneral.validatorMessage}">
+ validatorMessage="#{comboBoxGeneral.validatorMessage}"
+ onmouseover="onmouseoverCall()" onclick="onclickCall()"
+ styleClass="XXXStyleClass">
<f:selectItems value="#{comboBoxGeneral.selectItems}" />
<f:selectItem itemValue="Gosha" itemLabel="Gosha" />
</rich:comboBox>
- <h:inputHidden id="hiddenInput" value="#{comboBoxGeneral.validatorMessageTest}" />
+ <h:inputHidden id="hiddenInput"
+ value="#{comboBoxGeneral.validatorMessageTest}" />
</h:panelGrid>
<rich:spacer height="30"></rich:spacer>
- <a4j:commandButton value="testGeneralAttrs"
- actionListener="#{comboBoxGeneral.testGeneralAttributes}"
- reRender="generalResult, comboBoxGrid"></a4j:commandButton>
-
- <h:panelGrid id="generalResult" binding="#{comboBoxGeneral.panelGrid}"
- columns="2">
+ <h:panelGrid columns="3" border="1">
+ <f:facet name="header">
+ <h:outputText value="Results of testing" />
+ </f:facet>
+ <a4j:commandButton value="testGeneralAttrs"
+ actionListener="#{comboBoxGeneral.testGeneralAttributes}"
+ reRender="generalResult, comboBoxGrid"></a4j:commandButton>
+ <a4j:commandButton value="testHandlers"
+ actionListener="#{comboBoxHandlers.testHandlers}"
+ reRender="handlersResult, comboBoxGrid"></a4j:commandButton>
+ <a4j:commandButton value="testStyles"
+ actionListener="#{comboBoxStyles.testStyles}"
+ reRender="stylesResult, comboBoxGrid"></a4j:commandButton>
+ <h:panelGroup style="display: block; vertical-align: top">
+ <h:panelGrid id="generalResult"
+ binding="#{comboBoxGeneral.panelGrid}" columns="2">
+ </h:panelGrid>
+ </h:panelGroup>
+ <h:panelGroup style="display: block; vertical-align: top">
+ <h:panelGrid id="handlersResult"
+ binding="#{comboBoxHandlers.panelGrid}" columns="2">
+ </h:panelGrid>
+ </h:panelGroup>
+ <h:panelGroup style="display: block; vertical-align: top">
+ <h:panelGrid id="stylesResult" binding="#{comboBoxStyles.panelGrid}"
+ columns="2">
+ </h:panelGrid>
+ </h:panelGroup>
+ <f:facet name="footer">
+ <h:outputText value="See results above..." />
+ </f:facet>
</h:panelGrid>
</f:subview>
16 years, 10 months
JBoss Rich Faces SVN: r11078 - in trunk/sandbox/samples/editor-sample/src/main: webapp/pages and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: pyaschenko
Date: 2008-11-11 08:19:14 -0500 (Tue, 11 Nov 2008)
New Revision: 11078
Added:
trunk/sandbox/samples/editor-sample/src/main/resources/editorFull.properties
Modified:
trunk/sandbox/samples/editor-sample/src/main/webapp/pages/editor.jsp
Log:
css and skins added
Added: trunk/sandbox/samples/editor-sample/src/main/resources/editorFull.properties
===================================================================
--- trunk/sandbox/samples/editor-sample/src/main/resources/editorFull.properties (rev 0)
+++ trunk/sandbox/samples/editor-sample/src/main/resources/editorFull.properties 2008-11-11 13:19:14 UTC (rev 11078)
@@ -0,0 +1,10 @@
+plugins = "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template"
+theme_advanced_buttons1 = "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect"
+theme_advanced_buttons2 = "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor"
+theme_advanced_buttons3 = "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen"
+theme_advanced_buttons4 = "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak"
+theme_advanced_toolbar_location = "top"
+theme_advanced_toolbar_align = "left"
+theme_advanced_statusbar_location = "bottom"
+theme_advanced_resizing = true
+skin = "richfaces"
\ No newline at end of file
Modified: trunk/sandbox/samples/editor-sample/src/main/webapp/pages/editor.jsp
===================================================================
--- trunk/sandbox/samples/editor-sample/src/main/webapp/pages/editor.jsp 2008-11-11 13:18:29 UTC (rev 11077)
+++ trunk/sandbox/samples/editor-sample/src/main/webapp/pages/editor.jsp 2008-11-11 13:19:14 UTC (rev 11078)
@@ -13,8 +13,16 @@
</style>
</head>
<body>
- <f:view >
+ <f:view >
+ <h:form>
+ <h:panelGrid columns="1">
+ <h:selectOneRadio binding="#{skinBean.component}" />
+ <h:commandLink action="#{skinBean.change}" value="set skin" />
+ <h:outputText value="Current Skin: #{skinBean.skin}"/>
+ </h:panelGrid>
+ </h:form>
<h:form id="formId">
+
<ed:editor id="editorId"
value="#{editorBean.value}"
@@ -25,7 +33,7 @@
theme="advanced"
language="ru"
plugins="safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template"
- configuration="editorParameters"
+ configuration="editorFull"
/>
<h:outputText value="Editor value: #{editorBean.value}" />
16 years, 10 months
JBoss Rich Faces SVN: r11077 - in trunk/sandbox/ui/editor/src/main: java/org/richfaces/renderkit/resources and 7 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: pyaschenko
Date: 2008-11-11 08:18:29 -0500 (Tue, 11 Nov 2008)
New Revision: 11077
Added:
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/content.xcss
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/dialog.xcss
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/img/
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/img/button_bg.png
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/ui.xcss
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/content.xcss
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/img/
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/img/button_bg.png
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/ui.xcss
Modified:
trunk/sandbox/ui/editor/src/main/config/resources/resources-config.xml
trunk/sandbox/ui/editor/src/main/java/org/richfaces/renderkit/resources/EditorHTMLRenderer.java
trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/content.xcss
Log:
css and skins added
Modified: trunk/sandbox/ui/editor/src/main/config/resources/resources-config.xml
===================================================================
--- trunk/sandbox/ui/editor/src/main/config/resources/resources-config.xml 2008-11-11 13:17:08 UTC (rev 11076)
+++ trunk/sandbox/ui/editor/src/main/config/resources/resources-config.xml 2008-11-11 13:18:29 UTC (rev 11077)
@@ -4703,6 +4703,10 @@
<path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/dialog.xcss</path>
</resource>
<resource>
+ <name>scripts/tiny_mce/themes/advanced/skins/o2k7/ui.xcss</name>
+ <path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/ui.xcss</path>
+ </resource>
+ <resource>
<name>scripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png</name>
<path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png</path>
</resource>
@@ -4715,10 +4719,6 @@
<path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png</path>
</resource>
<resource>
- <name>scripts/tiny_mce/themes/advanced/skins/o2k7/ui.xcss</name>
- <path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/ui.xcss</path>
- </resource>
- <resource>
<name>scripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.xcss</name>
<path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.xcss</path>
</resource>
@@ -4727,6 +4727,22 @@
<path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.xcss</path>
</resource>
<resource>
+ <name>scripts/tiny_mce/themes/advanced/skins/richfaces/content.xcss</name>
+ <path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/content.xcss</path>
+ </resource>
+ <resource>
+ <name>scripts/tiny_mce/themes/advanced/skins/richfaces/dialog.xcss</name>
+ <path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/dialog.xcss</path>
+ </resource>
+ <resource>
+ <name>scripts/tiny_mce/themes/advanced/skins/richfaces/ui.xcss</name>
+ <path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/ui.xcss</path>
+ </resource>
+ <resource>
+ <name>scripts/tiny_mce/themes/advanced/skins/richfaces/img/button_bg.png</name>
+ <path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/img/button_bg.png</path>
+ </resource>
+ <resource>
<name>scripts/tiny_mce/themes/advanced/source_editor.htm</name>
<path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/source_editor.htm</path>
<renderer class="org.richfaces.renderkit.resources.EditorHTMLRenderer"/>
@@ -5008,14 +5024,26 @@
<path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/o2k7/content.xcss</path>
</resource>
<resource>
+ <name>scripts/tiny_mce/themes/simple/skins/o2k7/ui.xcss</name>
+ <path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/o2k7/ui.xcss</path>
+ </resource>
+ <resource>
<name>scripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png</name>
<path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png</path>
</resource>
+ <resource>
+ <name>scripts/tiny_mce/themes/simple/skins/richfaces/content.xcss</name>
+ <path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/content.xcss</path>
+ </resource>
<resource>
- <name>scripts/tiny_mce/themes/simple/skins/o2k7/ui.xcss</name>
- <path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/o2k7/ui.xcss</path>
+ <name>scripts/tiny_mce/themes/simple/skins/richfaces/ui.xcss</name>
+ <path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/ui.xcss</path>
</resource>
<resource>
+ <name>scripts/tiny_mce/themes/simple/skins/richfaces/img/button_bg.png</name>
+ <path>org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/img/button_bg.png</path>
+ </resource>
+ <resource>
<name>scripts/tiny_mce/tiny_mce.js</name>
<path>org/richfaces/renderkit/html/scripts/tiny_mce/tiny_mce.js</path>
<renderer class="org.ajax4jsf.resource.ScriptRenderer"/>
Modified: trunk/sandbox/ui/editor/src/main/java/org/richfaces/renderkit/resources/EditorHTMLRenderer.java
===================================================================
--- trunk/sandbox/ui/editor/src/main/java/org/richfaces/renderkit/resources/EditorHTMLRenderer.java 2008-11-11 13:17:08 UTC (rev 11076)
+++ trunk/sandbox/ui/editor/src/main/java/org/richfaces/renderkit/resources/EditorHTMLRenderer.java 2008-11-11 13:18:29 UTC (rev 11077)
@@ -39,7 +39,7 @@
import org.ajax4jsf.resource.ResourceContext;
/**
- * Editor html pages renderer - used for correcting scripts src
+ * Editor html pages renderer - used for correcting scripts/images/css src
* @author Alexandr Levkovsky
*
*/
Modified: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/content.xcss
===================================================================
--- trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/content.xcss 2008-11-11 13:17:08 UTC (rev 11076)
+++ trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/content.xcss 2008-11-11 13:18:29 UTC (rev 11077)
@@ -34,7 +34,6 @@
<f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/items.gif"/>
</u:style>
<u:style name="background-repeat" value="no-repeat"/>
- <u:style name="background-position" value="no-repeat"/>
</u:selector>
<f:verbatim>
<![CDATA[
Added: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/content.xcss
===================================================================
--- trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/content.xcss (rev 0)
+++ trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/content.xcss 2008-11-11 13:18:29 UTC (rev 11077)
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:template xmlns:f='http:/jsf.exadel.com/template'
+ xmlns:u='http:/jsf.exadel.com/template/util'
+ xmlns="http://www.w3.org/1999/xhtml" >
+
+<f:verbatim><![CDATA[
+body, td, pre {margin:8px;}
+h1 {font-size: 2em}
+h2 {font-size: 1.5em}
+h3 {font-size: 1.17em}
+h4 {font-size: 1em}
+h5 {font-size: .83em}
+h6 {font-size: .75em}
+a.mceItemAnchor {width:12px; line-height:6px; overflow:hidden; padding-left:12px; }
+img.mceItemAnchor {width:12px; height:12px; }
+img {border:0;}
+table {cursor:default}
+table td, table th {cursor:text}
+]]>
+</f:verbatim>
+
+<u:selector name="body, td, pre">
+ <u:style name="color" skin="generalTextColor"/>
+ <u:style name="font-family" skin="generalFamilyFont"/>
+ <u:style name="font-size" value="10px"/>
+</u:selector>
+
+<u:selector name="body">
+ <u:style name="background" skin="tableBackgroundColor"/>
+</u:selector>
+
+<u:selector name="body.mceForceColors">
+ <u:style name="color" skin="generalTextColor"/>
+ <u:style name="background" skin="tableBackgroundColor"/>
+ <u:style name="font-size" value="10px"/>
+</u:selector>
+
+<u:selector name=".mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="dashed"/>
+ <u:style name="border-color" skin="tableBorderColor"/>
+ <u:style name="background" skin="tableBackgroundColor"/>
+ <u:style name="font-size" value="10px"/>
+</u:selector>
+
+<u:selector name="a.mceItemAnchor">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/items.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="no-repeat"/>
+ <u:style name="background-position" value="bottom left"/>
+</u:selector>
+
+<u:selector name="img.mceItemAnchor">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/items.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="no-repeat"/>
+ <u:style name="background-position" value="no-repeat"/>
+</u:selector>
+
+<u:selector name="ins">
+ <u:style name="border-bottom-width" value="1px"/>
+ <u:style name="border-bottom-style" value="solid"/>
+ <u:style name="border-bottom-color" value="green"/>
+ <u:style name="text-decoration" value="none"/>
+ <u:style name="color" value="green"/>
+</u:selector>
+
+<u:selector name="del">
+ <u:style name="text-decoration" value="line-through"/>
+ <u:style name="color" value="red"/>
+</u:selector>
+
+<u:selector name="cite">
+ <u:style name="border-bottom-width" value="1px"/>
+ <u:style name="border-bottom-style" value="dashed"/>
+ <u:style name="border-bottom-color" value="blue"/>
+</u:selector>
+
+<u:selector name="acronym">
+ <u:style name="border-bottom-width" value="1px"/>
+ <u:style name="border-bottom-style" value="dotted"/>
+ <u:style name="border-bottom-color" value="#CCC"/>
+ <u:style name="cursor" value="help"/>
+</u:selector>
+
+<u:selector name="abbr, html\:abbr">
+ <u:style name="border-bottom-width" value="1px"/>
+ <u:style name="border-bottom-style" value="dashed"/>
+ <u:style name="border-bottom-color" value="#CCC"/>
+ <u:style name="cursor" value="help"/>
+</u:selector>
+
+/* IE */
+<u:selector name="* html body">
+ <u:style name="scrollbar-3dlight-color" value="#F0F0EE"/>
+ <u:style name="scrollbar-arrow-color" value="#676662"/>
+ <u:style name="scrollbar-base-color" value="#F0F0EE"/>
+ <u:style name="scrollbar-darkshadow-color" value="#DDD"/>
+ <u:style name="scrollbar-face-color" value="#E0E0DD"/>
+ <u:style name="scrollbar-highlight-color" value="#F0F0EE"/>
+ <u:style name="scrollbar-shadow-color" value="#F0F0EE"/>
+ <u:style name="scrollbar-track-color" value="#F5F5F5"/>
+</u:selector>
+
+</f:template>
\ No newline at end of file
Added: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/dialog.xcss
===================================================================
--- trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/dialog.xcss (rev 0)
+++ trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/dialog.xcss 2008-11-11 13:18:29 UTC (rev 11077)
@@ -0,0 +1,372 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:template xmlns:f='http:/jsf.exadel.com/template'
+ xmlns:u='http:/jsf.exadel.com/template/util'
+ xmlns="http://www.w3.org/1999/xhtml" >
+
+<f:verbatim><![CDATA[
+/* Generic */
+body {
+font-size:11px;
+padding:0;
+margin:8px 8px 0 8px;
+}
+
+td {font-size:10px;}
+textarea {resize:none;outline:none;}
+
+/* Forms */
+fieldset {margin:0; padding:4px; font-size:10px;}
+legend {font-weight:bold;}
+label.msg {display:none;}
+label.invalid {display:inline;}
+input.radio {background:transparent; vertical-align:middle;}
+input.checkbox {background:transparent; vertical-align:middle;}
+.input_noborder {border:0;}
+
+/* Buttons */
+#insert, #cancel, input.button, .updateButton {
+border:0; margin:0; padding:0;
+font-weight:bold;
+width:94px; height:26px;
+cursor:pointer;
+padding-bottom:2px;
+}
+
+/* Browse */
+a.browse span {display:block; width:20px; height:18px; margin-left:1px;}
+.mceOldBoxModel a.browse span {width:22px; height:20px;}
+a.browse span.disabled {-moz-opacity:0.3; opacity:0.3; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);}
+a.browse:hover span.disabled {background-color:transparent;}
+a.pickcolor span {display:block; width:20px; height:16px; margin-left:2px;}
+.mceOldBoxModel a.pickcolor span {width:21px; height:17px;}
+a.pickcolor:hover span.disabled {}
+
+/* Charmap */
+table.charmap {text-align:center}
+td.charmap, #charmap a {width:18px; height:18px; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;}
+#charmap a {display:block; text-decoration:none}
+#charmap #codeN {font-size:10px; text-align:center}
+#charmap #codeV {font-size:40px; height:80px; text-align:center}
+
+/* Source */
+.wordWrapCode {vertical-align:middle; background:transparent;}
+.mceActionPanel {margin-top:5px;}
+
+/* Tabs classes */
+.tabs {width:100%; height:18px; line-height:normal; }
+.tabs ul {margin:0; padding:0; list-style:none;}
+.tabs li {float:left; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;}
+.tabs li.current { margin-right:2px;}
+.tabs span {float:left; display:block; padding:0px 10px 0 0;}
+.tabs a {text-decoration:none; font-size:10px;}
+
+/* Panels */
+.panel_wrapper div.panel {display:none;}
+.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;}
+.panel_wrapper {padding:10px; padding-top:5px; clear:both;}
+
+/* Columns */
+.column {float:left;}
+.properties {width:100%;}
+.properties .column1 {}
+.properties .column2 {text-align:left;}
+
+/* Titles */
+h1, h2, h3, h4 {margin:0; padding:0; padding-top:5px;}
+h3 {font-size:14px;}
+.title {font-size:12px; font-weight:bold;}
+
+/* Dialog specific */
+#link .panel_wrapper, #link div.current {height:125px;}
+#image .panel_wrapper, #image div.current {height:200px;}
+#plugintable thead {font-weight:bold;}
+
+#plugintable {width:96%; margin-top:10px;}
+#pluginscontainer {height:290px; overflow:auto;}
+#colorpicker #preview {float:right; width:50px; height:14px;line-height:1px; margin-left:5px;}
+#colorpicker #colors {float:left; cursor:crosshair;}
+#colorpicker #light {margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;}
+#colorpicker #light div {overflow:hidden;}
+#colorpicker #previewblock {float:right; padding-left:10px; height:20px;}
+#colorpicker .panel_wrapper div.current {height:175px;}
+#colorpicker #namedcolors {width:150px;}
+#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;}
+#colorpicker #colornamecontainer {margin-top:5px;}
+]]>
+</f:verbatim>
+
+<u:selector name="body">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+ <u:style name="scrollbar-3dlight-color" value="#F0F0EE"/>
+ <u:style name="scrollbar-arrow-color" value="#676662"/>
+ <u:style name="scrollbar-base-color" value="#F0F0EE"/>
+ <u:style name="scrollbar-darkshadow-color" value="#DDDDDD"/>
+ <u:style name="scrollbar-face-color" value="#E0E0DD"/>
+ <u:style name="scrollbar-highlight-color" value="#F0F0EE"/>
+ <u:style name="scrollbar-shadow-color" value="#F0F0EE"/>
+ <u:style name="scrollbar-track-color" value="#F5F5F5"/>
+ <u:style name="background" value="#F0F0EE"/>
+</u:selector>
+
+<u:selector name="html">
+ <u:style name="background" skin="generalBackgroundColor"/>
+</u:selector>
+
+<u:selector name="td">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+</u:selector>
+
+<u:selector name="a:link, a:visited">
+ <u:style name="color" skin="generalTextColor"/>
+</u:selector>
+
+<u:selector name="a:hover">
+ <u:style name="color" skin="hoverLinkColor"/>
+</u:selector>
+
+<u:selector name="fieldset">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+</u:selector>
+
+<u:selector name="legend">
+ <u:style name="color" skin="generalLinkColor"/>
+</u:selector>
+
+<u:selector name="label.invalid">
+ <u:style name="color" skin="warningColor"/>
+</u:selector>
+
+<u:selector name="input.invalid">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="warningColor"/>
+</u:selector>
+
+<u:selector name="input">
+ <u:style name="background" skin="controlBackgroundColor"/>
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="tableBorderColor"/>
+</u:selector>
+
+<u:selector name="input, select, textarea">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+ <u:style name="font-size" value="10px"/>
+</u:selector>
+
+<u:selector name="input, select, textarea">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="tableBorderColor"/>
+</u:selector>
+
+<u:selector name="input.radio">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="none"/>
+</u:selector>
+
+<u:selector name="input.checkbox">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="none"/>
+</u:selector>
+
+<u:selector name="#insert, #cancel, input.button, .updateButton">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/buttons.png"/>
+ </u:style>
+ <u:style name="background-position" value="0 -26px"/>
+</u:selector>
+
+<u:selector name="#insert">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/buttons.png"/>
+ </u:style>
+ <u:style name="background-position" value="0 -52px"/>
+</u:selector>
+
+<u:selector name="#cancel">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/buttons.png"/>
+ </u:style>
+ <u:style name="background-position" value="0 0"/>
+</u:selector>
+
+<u:selector name="a.browse span">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="tableBackgroundColor"/>
+</u:selector>
+
+<u:selector name="a.browse span">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/img/icons.gif"/>
+ </u:style>
+ <u:style name="background-position" value="-860px 0"/>
+</u:selector>
+
+<u:selector name="a.browse:hover span">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" value="#00ff00"/>
+ <u:style name="background-color" value="#ff0000"/>
+</u:selector>
+
+<u:selector name="a.browse span.disabled">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="tableBackgroundColor"/>
+ <u:style name="background-color" value="#00ff00"/>
+</u:selector>
+
+<u:selector name="a.browse:hover span.disabled">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="tableBackgroundColor"/>
+</u:selector>
+
+<u:selector name="a.pickcolor span">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/img/icons.gif"/>
+ </u:style>
+ <u:style name="background-position" value="-840px 0"/>
+</u:selector>
+
+<u:selector name="a.pickcolor:hover span">
+ <u:style name="background-color" value="#ffff00"/>
+</u:selector>
+
+<u:selector name="table.charmap">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" value="#ff0000"/>
+</u:selector>
+
+<u:selector name="td.charmap, #charmap a">
+ <u:style name="color" skin="generalTextColor"/>
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" value="#00ff00"/>
+</u:selector>
+
+<u:selector name="#charmap a">
+ <u:style name="color" skin="generalTextColor"/>
+ <u:style name="border" value="0"/>
+</u:selector>
+
+<u:selector name="#charmap a:hover">
+ <u:style name="background" skin="tableBorderColor"/>
+ <u:style name="color" skin="hoverLinkColor"/>
+</u:selector>
+
+<u:selector name="#charmap #codeN">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+</u:selector>
+
+<u:selector name="#charmap #codeV">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" value="#AAA"/>
+</u:selector>
+
+<u:selector name=".wordWrapCode">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="none"/>
+</u:selector>
+
+<u:selector name=".tabs">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="repeat-x"/>
+ <u:style name="background-position" value="0 -72px"/>
+</u:selector>
+
+<u:selector name=".tabs li">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="no-repeat"/>
+ <u:style name="background-position" value="0 0"/>
+</u:selector>
+
+<u:selector name=".tabs li.current">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="no-repeat"/>
+ <u:style name="background-position" value="0 -18px"/>
+</u:selector>
+
+<u:selector name=".tabs span">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="no-repeat"/>
+ <u:style name="background-position" value="right -36px"/>
+</u:selector>
+
+<u:selector name=".tabs .current span">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="no-repeat"/>
+ <u:style name="background-position" value="right -54px"/>
+</u:selector>
+
+<u:selector name=".panel_wrapper">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+ <u:style name="border-top" value="0px"/>
+ <u:style name="background" skin="tableBackgroundColor"/>
+</u:selector>
+
+<u:selector name="h1, h2, h3, h4">
+ <u:style name="color" skin="generalLinkColor"/>
+</u:selector>
+
+<u:selector name=".title">
+ <u:style name="color" skin="generalLinkColor"/>
+</u:selector>
+
+<u:selector name="#plugintable thead">
+ <u:style name="background" value="#ff00ff"/>
+</u:selector>
+
+<u:selector name="#plugintable, #about #plugintable td">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+</u:selector>
+
+
+<u:selector name="#colorpicker #preview">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="generalTextColor"/>
+</u:selector>
+
+<u:selector name="#colorpicker #colors">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" value="red"/>
+</u:selector>
+
+<u:selector name="#colorpicker #light">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+</u:selector>
+
+<u:selector name=".tabs a">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+</u:selector>
+
+<u:selector name=".tabs a:link, .tabs a:visited, .tabs a:hover">
+ <u:style name="color" skin="generalTextColor"/>
+</u:selector>
+
+</f:template>
\ No newline at end of file
Added: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/img/button_bg.png
===================================================================
(Binary files differ)
Property changes on: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/img/button_bg.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/ui.xcss
===================================================================
--- trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/ui.xcss (rev 0)
+++ trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/richfaces/ui.xcss 2008-11-11 13:18:29 UTC (rev 11077)
@@ -0,0 +1,522 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:template xmlns:f='http:/jsf.exadel.com/template'
+ xmlns:u='http:/jsf.exadel.com/template/util'
+ xmlns="http://www.w3.org/1999/xhtml" >
+
+<f:verbatim><![CDATA[
+/* Reset */
+
+.richfacesSkin table td {vertical-align:middle}
+
+/* Containers */
+.richfacesSkin .mceToolbar {height:26px}
+
+/* External */
+.richfacesSkin .mceExternalToolbar {position:absolute; display:none}
+.richfacesSkin .mceExternalToolbar td.mceToolbar {padding-right:13px;}
+.richfacesSkin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px; }
+
+/* Layout */
+
+
+.richfacesSkin .mceStatusbar {display:block; font-size:9pt; line-height:16px; overflow:visible; height:20px}
+.richfacesSkin .mceStatusbar div {float:left; padding:2px}
+.richfacesSkin .mceStatusbar a.mceResize {display:block; float:right; width:20px; height:20px; cursor:se-resize}
+.richfacesSkin .mceStatusbar a:hover {text-decoration:underline}
+.richfacesSkin table.mceToolbar {margin-left:3px}
+.richfacesSkin .mceToolbar .mceToolbarStart span {display:block; width:1px; height:22px; margin-left:3px;}
+.richfacesSkin .mceToolbar td.mceFirst span {margin:0}
+.richfacesSkin .mceToolbar .mceToolbarEnd span {display:block; width:1px; height:22px}
+.richfacesSkin .mceToolbar .mceToolbarEndListBox span, .richfacesSkin .mceToolbar .mceToolbarStartListBox span {display:none}
+.richfacesSkin span.mceIcon, .richfacesSkin img.mceIcon {display:block; width:20px; height:20px}
+.richfacesSkin td.mceCenter {text-align:center;}
+.richfacesSkin td.mceCenter table {margin:0 auto; text-align:left;}
+.richfacesSkin td.mceRight table {margin:0 0 0 auto;}
+
+/* Button */
+.richfacesSkin .mceButton {display:block; width:22px; height:22px}
+.richfacesSkin a.mceButton span, .richfacesSkin a.mceButton img {margin-left:1px}
+.richfacesSkin .mceOldBoxModel a.mceButton span, .richfacesSkin .mceOldBoxModel a.mceButton img {margin:0 0 0 1px}
+.richfacesSkin a.mceButtonEnabled:hover {background-position:0 -22px}
+.richfacesSkin a.mceButtonActive, .richfacesSkin a.mceButtonSelected {background-position:0 -44px}
+.richfacesSkin .mceButtonDisabled .mceIcon {opacity:0.3; filter:alpha(opacity=30)}
+.richfacesSkin .mceButtonLabeled {width:auto}
+.richfacesSkin .mceButtonLabeled span.mceIcon {float:left}
+.richfacesSkin span.mceButtonLabel {display:block; font-size:10px; padding:4px 6px 0 22px}
+
+/* Separator */
+.richfacesSkin .mceSeparator {display:block; width:5px; height:22px}
+
+/* ListBox */
+.richfacesSkin .mceListBox {margin-left:3px}
+.richfacesSkin .mceListBox, .richfacesSkin .mceListBox a {display:block}
+.richfacesSkin .mceListBox .mceText {padding-left:4px; text-align:left; width:70px; font-size:11px; height:20px; line-height:20px; overflow:hidden}
+.richfacesSkin .mceListBox .mceOpen {width:14px; height:22px; }
+.richfacesSkin table.mceListBoxEnabled:hover .mceOpen, .richfacesSkin .mceListBoxHover .mceOpen, .richfacesSkin .mceListBoxSelected .mceOpen {background-position:-66px -22px}
+.richfacesSkin .mceListBoxMenu {overflow:auto; overflow-x:hidden}
+.richfacesSkin .mceOldBoxModel .mceListBox .mceText {height:22px}
+.richfacesSkin select.mceListBox {font-size:12px;}
+
+/* SplitButton */
+.richfacesSkin .mceSplitButton, .richfacesSkin .mceSplitButton a, .richfacesSkin .mceSplitButton span {display:block; height:22px}
+.richfacesSkin .mceSplitButton a.mceAction {width:22px}
+.richfacesSkin .mceSplitButton span.mceAction {width:22px; }
+.richfacesSkin .mceSplitButton a.mceOpen {width:10px}
+.richfacesSkin .mceSplitButton span.mceOpen {width:10px; }
+.richfacesSkin table.mceSplitButtonEnabled:hover span.mceOpen, .richfacesSkin .mceSplitButtonHover span.mceOpen, .richfacesSkin .mceSplitButtonSelected span.mceOpen {background-position:-44px -44px}
+.richfacesSkin .mceSplitButtonDisabled .mceAction {opacity:0.3; filter:alpha(opacity=30)}
+.richfacesSkin .mceSplitButtonActive {background-position:0 -44px}
+
+/* ColorSplitButton */
+
+.richfacesSkin .mceColorSplitMenu td {padding:2px}
+.richfacesSkin .mceColorSplitMenu a {display:block; width:9px; height:9px; overflow:hidden}
+.richfacesSkin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px}
+.richfacesSkin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-size:11px; line-height:20px}
+.richfacesSkin .mceColorPreview {margin-left:2px; width:16px; height:4px; overflow:hidden; overflow:hidden}
+.richfacesSkin .mce_forecolor span.mceAction, .richfacesSkin .mce_backcolor span.mceAction {height:15px;overflow:hidden}
+
+/* Menu */
+.richfacesSkin .mceMenu {position:absolute; left:0; top:0; z-index:1000}
+.richfacesSkin .mceNoIcons span.mceIcon {width:0;}
+.richfacesSkin .mceNoIcons a .mceText {padding-left:10px}
+.richfacesSkin .mceMenu a, .richfacesSkin .mceMenu span, .richfacesSkin .mceMenu {display:block}
+.richfacesSkin .mceMenu td {height:20px}
+.richfacesSkin .mceMenu a {position:relative;padding:3px 0 4px 0}
+.richfacesSkin .mceMenu .mceText {position:relative; display:block; cursor:default; margin:0; padding:0 25px 0 25px; display:block}
+.richfacesSkin .mceMenu span.mceText, .richfacesSkin .mceMenu .mcePreview {font-size:11px}
+.richfacesSkin .mceMenu pre.mceText {font-family:Monospace}
+.richfacesSkin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:22px;}
+.richfacesSkin .mceMenuItemTitle span.mceText {font-weight:bold; padding-left:4px}
+.richfacesSkin .mceMenu span.mceMenuLine {display:none}
+
+/* Progress,Resize */
+.richfacesSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; filter:alpha(opacity=50)}
+.richfacesSkin .mceProgress {position:absolute; left:0; top:0; z-index:1001; width:32px; height:32px; margin:-16px 0 0 -16px}
+
+/* Formats */
+.richfacesSkin .mce_formatPreview a {font-size:10px}
+.richfacesSkin .mce_p span.mceText {}
+.richfacesSkin .mce_address span.mceText {font-style:italic}
+.richfacesSkin .mce_pre span.mceText {font-family:monospace}
+.richfacesSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em}
+.richfacesSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em}
+.richfacesSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em}
+.richfacesSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em}
+.richfacesSkin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em}
+.richfacesSkin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em}
+]]>
+</f:verbatim>
+
+<u:selector name=".richfacesSkin table, .richfacesSkin tbody, .richfacesSkin a, .richfacesSkin img, .richfacesSkin tr, .richfacesSkin div, .richfacesSkin td, .richfacesSkin iframe, .richfacesSkin span, .richfacesSkin *, .richfacesSkin .mceText">
+ <u:style name="color" skin="generalTextColor"/>
+ <u:style name="border" value="0"/>
+ <u:style name="margin" value="0"/>
+ <u:style name="padding" value="0"/>
+ <u:style name="background" value="transparent"/>
+ <u:style name="white-space" value="nowrap"/>
+ <u:style name="text-decoration" value="none"/>
+ <u:style name="font-weight" value="normal"/>
+ <u:style name="cursor" value="default"/>
+ <u:style name="vertical-align" value="baseline"/>
+ <u:style name="width" value="auto"/>
+ <u:style name="border-collapse" value="separate"/>
+ <u:style name="text-align" value="left"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin a:hover, .richfacesSkin a:link, .richfacesSkin a:visited, .richfacesSkin a:active">
+ <u:style name="color" skin="generalTextColor"/>
+ <u:style name="text-decoration" value="none"/>
+ <u:style name="font-weight" value="normal"/>
+ <u:style name="cursor" value="default"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin table">
+ <u:style name="background" skin="additionalBackgroundColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin iframe">
+ <u:style name="display" value="block"/>
+ <u:style name="background" skin="tableBackgroundColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceExternalToolbar">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+ <u:style name="border-bottom" value="0"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceExternalClose">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/img/icons.gif"/>
+ </u:style>
+ <u:style name="background-position" value="-820px 0"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin table.mceLayout">
+ <u:style name="border" value="0"/>
+ <u:style name="border-left-width" value="1px"/>
+ <u:style name="border-left-style" value="solid"/>
+ <u:style name="border-left-color" skin="panelBorderColor"/>
+ <u:style name="border-right-width" value="1px"/>
+ <u:style name="border-right-style" value="solid"/>
+ <u:style name="border-right-color" skin="panelBorderColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin table.mceLayout tr.mceFirst td">
+ <u:style name="border-top-width" value="1px"/>
+ <u:style name="border-top-style" value="solid"/>
+ <u:style name="border-top-color" skin="panelBorderColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin table.mceLayout tr.mceLast td">
+ <u:style name="border-bottom-width" value="1px"/>
+ <u:style name="border-bottom-style" value="solid"/>
+ <u:style name="border-bottom-color" skin="panelBorderColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin table.mceToolbar, .richfacesSkin tr.mceFirst .mceToolbar tr td, .richfacesSkin tr.mceLast .mceToolbar tr td">
+ <u:style name="border" value="0"/>
+ <u:style name="margin" value="0"/>
+ <u:style name="padding" skin="0"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceIframeContainer">
+ <u:style name="border-top-width" value="1px"/>
+ <u:style name="border-top-style" value="solid"/>
+ <u:style name="border-top-color" skin="panelBorderColor"/>
+ <u:style name="border-bottom-width" value="1px"/>
+ <u:style name="border-bottom-style" value="solid"/>
+ <u:style name="border-bottom-color" skin="panelBorderColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceStatusbar">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+ <u:style name="color" skin="generalTextColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceStatusbar a.mceResize">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/img/icons.gif"/>
+ </u:style>
+ <u:style name="background-position" value="-800px 0"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceToolbar .mceToolbarStart span">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+ <u:style name="background-position" value="-22px 0"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceToolbar .mceToolbarEnd span">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+ <u:style name="background-position" value="-22px 0"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceIcon">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/img/icons.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="no-repeat"/>
+ <u:style name="background-position" value="20px 20px"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceButton">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+</u:selector>
+
+<u:selector name=".richfacesSkin span.mceButtonLabel">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceButtonDisabled .mceButtonLabel">
+ <u:style name="color" value="#FF0000"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceSeparator">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+ <u:style name="background-position" value="-22px 0"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceListBox .mceText">
+ <u:style name="background" skin="additionalBackgroundColor"/>
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="additionalBackgroundColor"/>
+ <u:style name="border-right" value="0"/>
+ <u:style name="font-family" skin="generalFamilyFont"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceListBox .mceOpen">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+ <u:style name="background-position" value="-66px 0"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin table.mceListBoxEnabled:hover .mceText, .richfacesSkin .mceListBoxHover .mceText, .richfacesSkin .mceListBoxSelected .mceText">
+ <u:style name="background" skin="tableBackgroundColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceListBoxDisabled .mceText">
+ <u:style name="color" value="gray"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin select.mceListBox">
+ <u:style name="background" skin="tableBackgroundColor"/>
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+ <u:style name="font-family" skin="generalFamilyFont"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceSplitButton">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceSplitButton span.mceAction">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/img/icons.gif"/>
+ </u:style>
+ <u:style name="background-position" value="20px 20px"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceSplitButton span.mceOpen">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+ <u:style name="background-position" value="-44px 0"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin table.mceSplitButtonEnabled:hover a.mceAction, .richfacesSkin .mceSplitButtonHover a.mceAction, .richfacesSkin .mceSplitButtonSelected">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+ <u:style name="background-position" value="0 -22px"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin div.mceColorSplitMenu table">
+ <u:style name="background" skin="tableBackgroundColor"/>
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceColorSplitMenu a">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceColorSplitMenu a.mceMoreColors">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+ <u:style name="font-family" skin="generalFamilyFont"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceColorSplitMenu a.mceMoreColors:hover">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+ <u:style name="background-color" skin="additionalBackgroundColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin a.mceMoreColors:hover">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="headerBackgroundColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceColorPreview">
+ <u:style name="background" skin="tableBorderColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceMenu">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceMenu table">
+ <u:style name="background" skin="tableBackgroundColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceMenu .mceText">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+ <u:style name="color" skin="generalTextColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceMenu .mceMenuItemEnabled a:hover, .richfacesSkin .mceMenu .mceMenuItemActive">
+ <u:style name="background-color" skin="additionalBackgroundColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin td.mceMenuItemSeparator">
+ <u:style name="background" value="#FF0000"/>
+ <u:style name="height" value="1px"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceMenuItemTitle a">
+ <u:style name="border" value="0"/>
+ <u:style name="background" skin="additionalBackgroundColor"/>
+ <u:style name="border-bottom-width" value="1px"/>
+ <u:style name="border-bottom-style" value="solid"/>
+ <u:style name="border-bottom-color" skin="panelBorderColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceMenuItemTitle span.mceText">
+ <u:style name="color" skin="generalTextColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceMenuItemDisabled .mceText">
+ <u:style name="color" skin="tabDisabledTextColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceMenuItemSelected .mceIcon">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif"/>
+ </u:style>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceNoIcons .mceMenuItemSelected a">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="no-repeat"/>
+ <u:style name="background-position" value="-6px center"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceMenuItemSub a">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="no-repeat"/>
+ <u:style name="background-position" value="top right"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceBlocker">
+ <u:style name="background" skin="tableBackgroundColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mceProgress">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/advanced/skins/default/img/progress.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="no-repeat"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin .mcePlaceHolder">
+ <u:style name="border-width" value="1px"/>
+ <u:style name="border-style" value="dotted"/>
+ <u:style name="border-color" skin="tableBorderColor"/>
+</u:selector>
+
+<u:selector name=".richfacesSkin a.mceButtonEnabled:hover">
+ <u:style name="background-color" value="#ff0000"/>
+</u:selector>
+
+<f:verbatim><![CDATA[
+/* Theme */
+.richfacesSkin span.mce_bold {background-position:0 0}
+.richfacesSkin span.mce_italic {background-position:-60px 0}
+.richfacesSkin span.mce_underline {background-position:-140px 0}
+.richfacesSkin span.mce_strikethrough {background-position:-120px 0}
+.richfacesSkin span.mce_undo {background-position:-160px 0}
+.richfacesSkin span.mce_redo {background-position:-100px 0}
+.richfacesSkin span.mce_cleanup {background-position:-40px 0}
+.richfacesSkin span.mce_bullist {background-position:-20px 0}
+.richfacesSkin span.mce_numlist {background-position:-80px 0}
+.richfacesSkin span.mce_justifyleft {background-position:-460px 0}
+.richfacesSkin span.mce_justifyright {background-position:-480px 0}
+.richfacesSkin span.mce_justifycenter {background-position:-420px 0}
+.richfacesSkin span.mce_justifyfull {background-position:-440px 0}
+.richfacesSkin span.mce_anchor {background-position:-200px 0}
+.richfacesSkin span.mce_indent {background-position:-400px 0}
+.richfacesSkin span.mce_outdent {background-position:-540px 0}
+.richfacesSkin span.mce_link {background-position:-500px 0}
+.richfacesSkin span.mce_unlink {background-position:-640px 0}
+.richfacesSkin span.mce_sub {background-position:-600px 0}
+.richfacesSkin span.mce_sup {background-position:-620px 0}
+.richfacesSkin span.mce_removeformat {background-position:-580px 0}
+.richfacesSkin span.mce_newdocument {background-position:-520px 0}
+.richfacesSkin span.mce_image {background-position:-380px 0}
+.richfacesSkin span.mce_help {background-position:-340px 0}
+.richfacesSkin span.mce_code {background-position:-260px 0}
+.richfacesSkin span.mce_hr {background-position:-360px 0}
+.richfacesSkin span.mce_visualaid {background-position:-660px 0}
+.richfacesSkin span.mce_charmap {background-position:-240px 0}
+.richfacesSkin span.mce_paste {background-position:-560px 0}
+.richfacesSkin span.mce_copy {background-position:-700px 0}
+.richfacesSkin span.mce_cut {background-position:-680px 0}
+.richfacesSkin span.mce_blockquote {background-position:-220px 0}
+.richfacesSkin .mce_forecolor span.mceAction {background-position:-720px 0}
+.richfacesSkin .mce_backcolor span.mceAction {background-position:-760px 0}
+.richfacesSkin span.mce_forecolorpicker {background-position:-720px 0}
+.richfacesSkin span.mce_backcolorpicker {background-position:-760px 0}
+
+/* Plugins */
+.richfacesSkin span.mce_advhr {background-position:-0px -20px}
+.richfacesSkin span.mce_ltr {background-position:-20px -20px}
+.richfacesSkin span.mce_rtl {background-position:-40px -20px}
+.richfacesSkin span.mce_emotions {background-position:-60px -20px}
+.richfacesSkin span.mce_fullpage {background-position:-80px -20px}
+.richfacesSkin span.mce_fullscreen {background-position:-100px -20px}
+.richfacesSkin span.mce_iespell {background-position:-120px -20px}
+.richfacesSkin span.mce_insertdate {background-position:-140px -20px}
+.richfacesSkin span.mce_inserttime {background-position:-160px -20px}
+.richfacesSkin span.mce_absolute {background-position:-180px -20px}
+.richfacesSkin span.mce_backward {background-position:-200px -20px}
+.richfacesSkin span.mce_forward {background-position:-220px -20px}
+.richfacesSkin span.mce_insert_layer {background-position:-240px -20px}
+.richfacesSkin span.mce_insertlayer {background-position:-260px -20px}
+.richfacesSkin span.mce_movebackward {background-position:-280px -20px}
+.richfacesSkin span.mce_moveforward {background-position:-300px -20px}
+.richfacesSkin span.mce_media {background-position:-320px -20px}
+.richfacesSkin span.mce_nonbreaking {background-position:-340px -20px}
+.richfacesSkin span.mce_pastetext {background-position:-360px -20px}
+.richfacesSkin span.mce_pasteword {background-position:-380px -20px}
+.richfacesSkin span.mce_selectall {background-position:-400px -20px}
+.richfacesSkin span.mce_preview {background-position:-420px -20px}
+.richfacesSkin span.mce_print {background-position:-440px -20px}
+.richfacesSkin span.mce_cancel {background-position:-460px -20px}
+.richfacesSkin span.mce_save {background-position:-480px -20px}
+.richfacesSkin span.mce_replace {background-position:-500px -20px}
+.richfacesSkin span.mce_search {background-position:-520px -20px}
+.richfacesSkin span.mce_styleprops {background-position:-560px -20px}
+.richfacesSkin span.mce_table {background-position:-580px -20px}
+.richfacesSkin span.mce_cell_props {background-position:-600px -20px}
+.richfacesSkin span.mce_delete_table {background-position:-620px -20px}
+.richfacesSkin span.mce_delete_col {background-position:-640px -20px}
+.richfacesSkin span.mce_delete_row {background-position:-660px -20px}
+.richfacesSkin span.mce_col_after {background-position:-680px -20px}
+.richfacesSkin span.mce_col_before {background-position:-700px -20px}
+.richfacesSkin span.mce_row_after {background-position:-720px -20px}
+.richfacesSkin span.mce_row_before {background-position:-740px -20px}
+.richfacesSkin span.mce_merge_cells {background-position:-760px -20px}
+.richfacesSkin span.mce_table_props {background-position:-980px -20px}
+.richfacesSkin span.mce_row_props {background-position:-780px -20px}
+.richfacesSkin span.mce_split_cells {background-position:-800px -20px}
+.richfacesSkin span.mce_template {background-position:-820px -20px}
+.richfacesSkin span.mce_visualchars {background-position:-840px -20px}
+.richfacesSkin span.mce_abbr {background-position:-860px -20px}
+.richfacesSkin span.mce_acronym {background-position:-880px -20px}
+.richfacesSkin span.mce_attribs {background-position:-900px -20px}
+.richfacesSkin span.mce_cite {background-position:-920px -20px}
+.richfacesSkin span.mce_del {background-position:-940px -20px}
+.richfacesSkin span.mce_ins {background-position:-960px -20px}
+.richfacesSkin span.mce_pagebreak {background-position:0 -40px}
+.richfacesSkin .mce_spellchecker span.mceAction {background-position:-540px -20px}
+]]>
+</f:verbatim>
+
+</f:template>
\ No newline at end of file
Added: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/content.xcss
===================================================================
--- trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/content.xcss (rev 0)
+++ trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/content.xcss 2008-11-11 13:18:29 UTC (rev 11077)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:template xmlns:f='http:/jsf.exadel.com/template'
+ xmlns:u='http:/jsf.exadel.com/template/util'
+ xmlns="http://www.w3.org/1999/xhtml" >
+
+<f:verbatim><![CDATA[
+body, td, pre {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;}
+
+body {background: #FFF;}
+.mceVisualAid {border: 1px dashed #BBB;}
+
+/* IE */
+
+* html body {
+scrollbar-3dlight-color: #F0F0EE;
+scrollbar-arrow-color: #676662;
+scrollbar-base-color: #F0F0EE;
+scrollbar-darkshadow-color: #DDDDDD;
+scrollbar-face-color: #E0E0DD;
+scrollbar-highlight-color: #F0F0EE;
+scrollbar-shadow-color: #F0F0EE;
+scrollbar-track-color: #F5F5F5;
+}
+]]>
+</f:verbatim>
+</f:template>
Added: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/img/button_bg.png
===================================================================
(Binary files differ)
Property changes on: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/img/button_bg.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/ui.xcss
===================================================================
--- trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/ui.xcss (rev 0)
+++ trunk/sandbox/ui/editor/src/main/resources/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/richfaces/ui.xcss 2008-11-11 13:18:29 UTC (rev 11077)
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:template xmlns:f='http:/jsf.exadel.com/template'
+ xmlns:u='http:/jsf.exadel.com/template/util'
+ xmlns="http://www.w3.org/1999/xhtml" >
+
+<f:verbatim><![CDATA[
+/* Reset */
+.richfacesSimpleSkin table, .richfacesSimpleSkin tbody, .richfacesSimpleSkin a, .richfacesSimpleSkin img, .richfacesSimpleSkin tr, .richfacesSimpleSkin div, .richfacesSimpleSkin td, .richfacesSimpleSkin iframe, .richfacesSimpleSkin span, .richfacesSimpleSkin * {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000}
+
+/* Containers */
+.richfacesSimpleSkin {position:relative}
+.richfacesSimpleSkin table.mceLayout {background:#E5EFFD; border:1px solid #ABC6DD;}
+.richfacesSimpleSkin iframe {display:block; background:#FFF; border-bottom:1px solid #ABC6DD;}
+.richfacesSimpleSkin .mceToolbar {height:26px;}
+
+/* Layout */
+.richfacesSimpleSkin .mceToolbar .mceToolbarStart span {display:block; width:1px; height:22px; }
+]]>
+</f:verbatim>
+<u:selector name=".richfacesSimpleSkin .mceToolbar .mceToolbarStart span">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+ <u:style name="background-position" value="-22px 0"/>
+</u:selector>
+<f:verbatim>
+<![CDATA[
+.richfacesSimpleSkin .mceToolbar .mceToolbarEnd span {display:block; width:1px; height:22px}
+]]>
+</f:verbatim>
+<u:selector name=".richfacesSimpleSkin .mceToolbar .mceToolbarEnd span">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+ <u:style name="background-position" value="-22px 0"/>
+</u:selector>
+<f:verbatim>
+<![CDATA[
+.richfacesSimpleSkin span.mceIcon, .richfacesSimpleSkin img.mceIcon {display:block; width:20px; height:20px}
+]]>
+</f:verbatim>
+<u:selector name=".richfacesSimpleSkin .mceIcon">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/img/icons.gif"/>
+ </u:style>
+ <u:style name="background-repeat" value="no-repeat"/>
+ <u:style name="background-position" value="20px 20px"/>
+</u:selector>
+<f:verbatim>
+<![CDATA[
+
+/* Button */
+.richfacesSimpleSkin .mceButton {display:block; width:22px; height:22px}
+]]>
+</f:verbatim>
+<u:selector name=".richfacesSimpleSkin .mceButton">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+</u:selector>
+<f:verbatim>
+<![CDATA[
+.richfacesSimpleSkin a.mceButton span, .richfacesSimpleSkin a.mceButton img {margin:1px 0 0 1px}
+.richfacesSimpleSkin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px}
+.richfacesSimpleSkin a.mceButtonActive {background-position:0 -44px}
+.richfacesSimpleSkin .mceButtonDisabled span {opacity:0.3; filter:alpha(opacity=30)}
+
+/* Separator */
+.richfacesSimpleSkin .mceSeparator {display:block; width:5px; height:22px}
+]]>
+</f:verbatim>
+<u:selector name=".richfacesSimpleSkin .mceSeparator">
+ <u:style name="background-image">
+ <f:resource f:key="/org/richfaces/renderkit/html/scripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png"/>
+ </u:style>
+ <u:style name="background-position" value="-22px 0"/>
+</u:selector>
+<f:verbatim>
+<![CDATA[
+
+/* Theme */
+.richfacesSimpleSkin span.mce_bold {background-position:0 0}
+.richfacesSimpleSkin span.mce_italic {background-position:-60px 0}
+.richfacesSimpleSkin span.mce_underline {background-position:-140px 0}
+.richfacesSimpleSkin span.mce_strikethrough {background-position:-120px 0}
+.richfacesSimpleSkin span.mce_undo {background-position:-160px 0}
+.richfacesSimpleSkin span.mce_redo {background-position:-100px 0}
+.richfacesSimpleSkin span.mce_cleanup {background-position:-40px 0}
+.richfacesSimpleSkin span.mce_insertunorderedlist {background-position:-20px 0}
+.richfacesSimpleSkin span.mce_insertorderedlist {background-position:-80px 0}
+]]>
+</f:verbatim>
+</f:template>
16 years, 10 months
JBoss Rich Faces SVN: r11076 - trunk/docs/userguide/en/src/main/docbook/modules.
by richfaces-svn-commits@lists.jboss.org
Author: atsebro
Date: 2008-11-11 08:17:08 -0500 (Tue, 11 Nov 2008)
New Revision: 11076
Modified:
trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml
Log:
RF-4596:Standard Skinning & Portlets note
Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2008-11-11 12:53:11 UTC (rev 11075)
+++ trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2008-11-11 13:17:08 UTC (rev 11076)
@@ -3034,6 +3034,7 @@
</tbody>
</tgroup>
</table>
+ <note>
<title>Note:</title>
<para> Standard skinning level can fail if configuration of <code>ajaxPortlet</code>
is as following:
16 years, 10 months
JBoss Rich Faces SVN: r11075 - in trunk/sandbox/ui/editor/src/main: java/org/richfaces/component and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alevkovsky
Date: 2008-11-11 07:53:11 -0500 (Tue, 11 Nov 2008)
New Revision: 11075
Modified:
trunk/sandbox/ui/editor/src/main/config/component/editor.xml
trunk/sandbox/ui/editor/src/main/java/org/richfaces/component/UIEditor.java
trunk/sandbox/ui/editor/src/main/templates/editor.jspx
Log:
Add skin attribute
Modified: trunk/sandbox/ui/editor/src/main/config/component/editor.xml
===================================================================
--- trunk/sandbox/ui/editor/src/main/config/component/editor.xml 2008-11-11 12:52:29 UTC (rev 11074)
+++ trunk/sandbox/ui/editor/src/main/config/component/editor.xml 2008-11-11 12:53:11 UTC (rev 11075)
@@ -164,5 +164,13 @@
<classname>boolean</classname>
<description>valid</description>
</property>
+ <property>
+ <name>skin</name>
+ <classname>java.lang.String</classname>
+ <description>
+ Attribute defines Editor skin
+ </description>
+ <defaultvalue>"default"</defaultvalue>
+ </property>
</component>
</components>
Modified: trunk/sandbox/ui/editor/src/main/java/org/richfaces/component/UIEditor.java
===================================================================
--- trunk/sandbox/ui/editor/src/main/java/org/richfaces/component/UIEditor.java 2008-11-11 12:52:29 UTC (rev 11074)
+++ trunk/sandbox/ui/editor/src/main/java/org/richfaces/component/UIEditor.java 2008-11-11 12:53:11 UTC (rev 11075)
@@ -104,7 +104,11 @@
public abstract void setConfiguration(String configuration);
public abstract String getConfiguration();
+
+ public abstract void setSkin(String skin);
+ public abstract String getSkin();
+
public boolean getRendersChildren() {
return true;
}
Modified: trunk/sandbox/ui/editor/src/main/templates/editor.jspx
===================================================================
--- trunk/sandbox/ui/editor/src/main/templates/editor.jspx 2008-11-11 12:52:29 UTC (rev 11074)
+++ trunk/sandbox/ui/editor/src/main/templates/editor.jspx 2008-11-11 12:53:11 UTC (rev 11075)
@@ -36,6 +36,7 @@
tinyMceParams.onchange_callback = '#{component.attributes["onchange"]}';
tinyMceParams.save_callback = '#{component.attributes["onsave"]}';
tinyMceParams.setup = '#{component.attributes["onsetup"]}';
+ tinyMceParams.skin = '#{component.attributes["skin"]}';
var richParams = {extScriptSuffix:'#{this:getSriptMappingSuffix(context)}',
extCssSuffix:'#{this:getCssMappingSuffix(context)}'}
16 years, 10 months
JBoss Rich Faces SVN: r11074 - trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng.
by richfaces-svn-commits@lists.jboss.org
Author: konstantin.mishin
Date: 2008-11-11 07:52:29 -0500 (Tue, 11 Nov 2008)
New Revision: 11074
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java
Log:
RF-4891
Modified: trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java 2008-11-11 11:30:09 UTC (rev 11073)
+++ trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java 2008-11-11 12:52:29 UTC (rev 11074)
@@ -71,6 +71,19 @@
private String showButtonLabelsId;
/**
+ * component is present on the page with data according to value attribute
+ */
+ @Test
+ public void testValue(Template template) {
+ renderPage(template, initMethod);
+ initFields();
+ int count = selenium.getXpathCount("xpath=id('" + orderingListId +"tbody')/tr").intValue();
+ for (int i = 0; i < count; i++) {
+ Assert.assertEquals(selenium.getText("xpath=id('" + orderingListId +"tbody')/tr[" + (i + 1) + "]td[1]"), "item" + i);
+ }
+ }
+
+ /**
* check internationalization
*/
@Test
16 years, 10 months
JBoss Rich Faces SVN: r11073 - in trunk/test-applications/seleniumTest/richfaces/src: test/java/org/richfaces/testng and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: konstantin.mishin
Date: 2008-11-11 06:30:09 -0500 (Tue, 11 Nov 2008)
New Revision: 11073
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/resources/org/ajax4jsf/message/resources_en_US.properties
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ListShuttleTest.java
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java
Log:
RF-4890
Modified: trunk/test-applications/seleniumTest/richfaces/src/main/resources/org/ajax4jsf/message/resources_en_US.properties
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/main/resources/org/ajax4jsf/message/resources_en_US.properties 2008-11-11 01:41:36 UTC (rev 11072)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/resources/org/ajax4jsf/message/resources_en_US.properties 2008-11-11 11:30:09 UTC (rev 11073)
@@ -1,3 +1,4 @@
test=It is sample message from resourceBundle
error=Error was occured.
-RICH_LIST_SHUTTLE_COPY_ALL_LABEL=Copy All Items
\ No newline at end of file
+RICH_LIST_SHUTTLE_COPY_ALL_LABEL=Copy All Items
+RICH_SHUTTLES_TOP_LABEL=Move to top
\ No newline at end of file
Modified: trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ListShuttleTest.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ListShuttleTest.java 2008-11-11 01:41:36 UTC (rev 11072)
+++ trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ListShuttleTest.java 2008-11-11 11:30:09 UTC (rev 11073)
@@ -405,7 +405,7 @@
Assert.assertEquals(getTextById(copyId), "Copy", "The text on the button must be visible.");
Assert.assertEquals(getTextById(removeId), "Remove", "The text on the button must be visible.");
Assert.assertEquals(getTextById(removeAllId), "Remove All", "The text on the button must be visible.");
- Assert.assertEquals(getTextById(firstId), "First", "The text on the button must be visible.");
+ Assert.assertEquals(getTextById(firstId), "Move to top", "The text on the button must be visible.");
Assert.assertEquals(getTextById(upId), "Up", "The text on the button must be visible.");
Assert.assertEquals(getTextById(downId), "Down", "The text on the button must be visible.");
Assert.assertEquals(getTextById(lastId), "Last", "The text on the button must be visible.");
Modified: trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java 2008-11-11 01:41:36 UTC (rev 11072)
+++ trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/OrderingListTest.java 2008-11-11 11:30:09 UTC (rev 11073)
@@ -71,6 +71,16 @@
private String showButtonLabelsId;
/**
+ * check internationalization
+ */
+ @Test
+ public void testInternationalization(Template template) {
+ renderPage(template, initMethod);
+ initFields();
+ Assert.assertEquals(selenium.getText(firstButtonDisabled), "Move to top");
+ }
+
+ /**
* Check control facets
*/
@Test
16 years, 10 months
JBoss Rich Faces SVN: r11072 - branches/jsf2.0/framework/jsf-test/src/test/java/org/richfaces/test/stub.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2008-11-10 20:41:36 -0500 (Mon, 10 Nov 2008)
New Revision: 11072
Modified:
branches/jsf2.0/framework/jsf-test/src/test/java/org/richfaces/test/stub/ServletTest.java
Log:
Fix test
Modified: branches/jsf2.0/framework/jsf-test/src/test/java/org/richfaces/test/stub/ServletTest.java
===================================================================
--- branches/jsf2.0/framework/jsf-test/src/test/java/org/richfaces/test/stub/ServletTest.java 2008-11-11 01:39:29 UTC (rev 11071)
+++ branches/jsf2.0/framework/jsf-test/src/test/java/org/richfaces/test/stub/ServletTest.java 2008-11-11 01:41:36 UTC (rev 11072)
@@ -2,6 +2,7 @@
import static org.junit.Assert.*;
+import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletException;
import org.junit.Test;
@@ -51,7 +52,34 @@
public void testInit() throws ServletException {
StaticServlet staticServlet = new StaticServlet();
ServletContainer servlet = new ServletContainer("/foo/*",staticServlet);
- StubServletContext context = new StubServletContext(new ServerResourcesDirectory());
+ StubServletContext context = new StubServletContext(){
+
+ @Override
+ protected ServerResource getServerResource(String path) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected void valueBound(ServletContextAttributeEvent event) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void valueReplaced(ServletContextAttributeEvent event) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void valueUnbound(
+ ServletContextAttributeEvent servletContextAttributeEvent) {
+ // TODO Auto-generated method stub
+
+ }
+
+ };
servlet.init(context);
assertSame(context,staticServlet.getServletContext());
}
16 years, 10 months
JBoss Rich Faces SVN: r11071 - in branches/jsf2.0/framework/jsf-test/src: main/java/org/richfaces/test/stub and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2008-11-10 20:39:29 -0500 (Mon, 10 Nov 2008)
New Revision: 11071
Added:
branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebClient.java
branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebConnection.java
branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebResponse.java
Modified:
branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalServer.java
branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/ServerConnection.java
branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/stub/StubHttpSession.java
branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/stub/StubServletContext.java
branches/jsf2.0/framework/jsf-test/src/test/java/org/richfaces/test/FacesServerTest.java
Log:
Session and context attribute listeners implemented
Modified: branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalServer.java
===================================================================
--- branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalServer.java 2008-11-10 17:06:53 UTC (rev 11070)
+++ branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalServer.java 2008-11-11 01:39:29 UTC (rev 11071)
@@ -1,20 +1,24 @@
package org.richfaces.test;
-import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
+import java.util.EventListener;
import java.util.HashMap;
-import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.Servlet;
import javax.servlet.ServletContext;
+import javax.servlet.ServletContextAttributeEvent;
+import javax.servlet.ServletContextAttributeListener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpSession;
+import javax.servlet.http.HttpSessionAttributeListener;
+import javax.servlet.http.HttpSessionBindingEvent;
+import javax.servlet.http.HttpSessionEvent;
+import javax.servlet.http.HttpSessionListener;
import org.richfaces.test.stub.ClasspathServerResource;
import org.richfaces.test.stub.ServerResource;
@@ -23,17 +27,9 @@
import org.richfaces.test.stub.ServletContainer;
import org.richfaces.test.stub.StaticServlet;
import org.richfaces.test.stub.StubHttpSession;
-import org.richfaces.test.stub.StubServletConfig;
import org.richfaces.test.stub.StubServletContext;
-import com.gargoylesoftware.htmlunit.WebConnection;
-import com.gargoylesoftware.htmlunit.WebRequestSettings;
-import com.gargoylesoftware.htmlunit.WebResponse;
-import com.gargoylesoftware.htmlunit.WebResponseData;
-import ch.ethz.ssh2.Session;
-
-
/**
* Hello world!
*
@@ -45,12 +41,59 @@
private ServletContainer defaultServlet;
- private List<ServletContextListener> contextListeners = new ArrayList<ServletContextListener>();
+ private List<EventListener> contextListeners = new ArrayList<EventListener>();
private Map<String,String> initParameters=new HashMap<String, String>();
private ServerResource serverRoot = new ServerResourcesDirectory();
+ private class LocalContext extends StubServletContext{
+
+ @Override
+ protected void valueBound(ServletContextAttributeEvent event) {
+ // inform listeners.
+ for (EventListener listener : contextListeners) {
+ if (listener instanceof ServletContextAttributeListener) {
+ ServletContextAttributeListener contextListener = (ServletContextAttributeListener) listener;
+ contextListener.attributeAdded(event);
+ }
+ }
+ }
+
+ @Override
+ protected void valueReplaced(ServletContextAttributeEvent event) {
+ // inform listeners.
+ for (EventListener listener : contextListeners) {
+ if (listener instanceof ServletContextAttributeListener) {
+ ServletContextAttributeListener contextListener = (ServletContextAttributeListener) listener;
+ contextListener.attributeReplaced(event);
+ }
+ }
+ }
+
+ @Override
+ protected void valueUnbound(
+ ServletContextAttributeEvent event) {
+ // inform listeners.
+ for (EventListener listener : contextListeners) {
+ if (listener instanceof ServletContextAttributeListener) {
+ ServletContextAttributeListener contextListener = (ServletContextAttributeListener) listener;
+ contextListener.attributeRemoved(event);
+ }
+ }
+ }
+
+ @Override
+ /**
+ * @param path
+ * @return
+ */
+ protected ServerResource getServerResource(String path) {
+ return serverRoot.getResource(new ServerResourcePath(path));
+ }
+
+ }
+
private StubServletContext context;
private class ServerHttpSession extends StubHttpSession {
@@ -58,6 +101,28 @@
public ServletContext getServletContext() {
return context;
}
+
+ @Override
+ protected void valueBound(HttpSessionBindingEvent sessionBindingEvent) {
+ // inform session listeners.
+ for (EventListener listener : contextListeners) {
+ if (listener instanceof HttpSessionAttributeListener) {
+ HttpSessionAttributeListener contextListener = (HttpSessionAttributeListener) listener;
+ contextListener.attributeAdded(sessionBindingEvent);
+ }
+ }
+ }
+
+ @Override
+ protected void valueUnbound(HttpSessionBindingEvent sessionBindingEvent) {
+ // inform session listeners.
+ for (EventListener listener : contextListeners) {
+ if (listener instanceof HttpSessionAttributeListener) {
+ HttpSessionAttributeListener contextListener = (HttpSessionAttributeListener) listener;
+ contextListener.attributeRemoved(sessionBindingEvent);
+ }
+ }
+ }
}
@@ -87,7 +152,7 @@
serverRoot.addResource(new ServerResourcePath(path), new ClasspathServerResource(resource));
}
- public void addContextListener(ServletContextListener listener) {
+ public void addWebListener(EventListener listener) {
contextListeners.add(listener);
}
@@ -98,19 +163,29 @@
public HttpSession getSession(boolean create){
if(null == this.session && create){
this.session = new ServerHttpSession();
- // TODO - inform session listeners
+ // inform session listeners.
+ for (EventListener listener : contextListeners) {
+ if (listener instanceof HttpSessionListener) {
+ HttpSessionListener contextListener = (HttpSessionListener) listener;
+ contextListener.sessionCreated(new HttpSessionEvent(session));
+ }
+ }
}
return session;
}
public void init() throws ServletException {
// Create context.
- this.context = new StubServletContext(serverRoot);
+ this.context = new LocalContext();
// Create init parameters
context.addInitParameters(initParameters);
// Inform listeners
- for (ServletContextListener listener : contextListeners) {
- listener.contextInitialized(new ServletContextEvent(context));
+ for (EventListener listener : contextListeners) {
+ if (listener instanceof ServletContextListener) {
+ ServletContextListener contextListener = (ServletContextListener) listener;
+ contextListener.contextInitialized(new ServletContextEvent(context));
+
+ }
}
// Init servlets
for (ServletContainer servlet : servlets) {
@@ -125,12 +200,22 @@
public void destroy(){
// Destroy session
if (null != this.session) {
- // TODO - inform session listeners.
- session.destroy();
+ // inform session listeners.
+ for (EventListener listener : contextListeners) {
+ if (listener instanceof HttpSessionListener) {
+ HttpSessionListener contextListener = (HttpSessionListener) listener;
+ contextListener.sessionDestroyed(new HttpSessionEvent(session));
+ }
+ }
+ session.destroy();
}
// Inform listeners
- for (ServletContextListener listener : contextListeners) {
- listener.contextDestroyed(new ServletContextEvent(context));
+ for (EventListener listener : contextListeners) {
+ if (listener instanceof ServletContextListener) {
+ ServletContextListener contextListener = (ServletContextListener) listener;
+ contextListener.contextDestroyed(new ServletContextEvent(context));
+
+ }
}
// Destroy servlets
for (ServletContainer servlet : servlets) {
@@ -146,22 +231,4 @@
public StubServletContext getContext() {
return context;
}
-
-
- public WebConnection getWebConnection(){
- return new WebConnection(){
-
- public WebResponse getResponse(WebRequestSettings settings)
- throws IOException {
- ServerConnection connection = getConnection(settings.getUrl());
- try {
- connection.execute();
- } catch (ServletException e) {
- throw new IOException(e.getMessage());
- }
- return connection.getWebResponse(settings);
- }
-
- };
- }
}
Added: branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebClient.java
===================================================================
--- branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebClient.java (rev 0)
+++ branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebClient.java 2008-11-11 01:39:29 UTC (rev 11071)
@@ -0,0 +1,55 @@
+/**
+ *
+ */
+package org.richfaces.test;
+
+import com.gargoylesoftware.htmlunit.BrowserVersion;
+import com.gargoylesoftware.htmlunit.WebClient;
+import com.gargoylesoftware.htmlunit.WebConnection;
+
+/**
+ * @author asmirnov
+ *
+ */
+@SuppressWarnings("serial")
+public class LocalWebClient extends WebClient {
+
+ private final LocalServer server;
+
+ private transient WebConnection webConnection;
+
+ /**
+ *
+ */
+ public LocalWebClient(LocalServer server) {
+ super();
+ this.server = server;
+ }
+
+ /**
+ * @param browserVersion
+ */
+ public LocalWebClient(LocalServer server,BrowserVersion browserVersion) {
+ super(browserVersion);
+ this.server = server;
+ }
+
+ /**
+ * @return the webConnection
+ */
+ public WebConnection getWebConnection() {
+ if (this.webConnection == null) {
+ this.webConnection = new LocalWebConnection(server);
+ }
+
+ return this.webConnection;
+ }
+
+ /**
+ * @param webConnection the webConnection to set
+ */
+ public void setWebConnection(WebConnection webConnection) {
+ this.webConnection = webConnection;
+ }
+
+}
Property changes on: branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebClient.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebConnection.java
===================================================================
--- branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebConnection.java (rev 0)
+++ branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebConnection.java 2008-11-11 01:39:29 UTC (rev 11071)
@@ -0,0 +1,34 @@
+/**
+ *
+ */
+package org.richfaces.test;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+
+import com.gargoylesoftware.htmlunit.WebConnection;
+import com.gargoylesoftware.htmlunit.WebRequestSettings;
+import com.gargoylesoftware.htmlunit.WebResponse;
+
+public final class LocalWebConnection implements WebConnection {
+ private final LocalServer localServer;
+
+ /**
+ * @param localServer
+ */
+ public LocalWebConnection(LocalServer localServer) {
+ this.localServer = localServer;
+ }
+
+ public WebResponse getResponse(WebRequestSettings settings)
+ throws IOException {
+ ServerConnection connection = localServer.getConnection(settings.getUrl());
+ try {
+ connection.execute();
+ } catch (ServletException e) {
+ throw new IOException(e.getMessage());
+ }
+ return new LocalWebResponse(settings,connection);
+ }
+}
\ No newline at end of file
Property changes on: branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebConnection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebResponse.java
===================================================================
--- branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebResponse.java (rev 0)
+++ branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebResponse.java 2008-11-11 01:39:29 UTC (rev 11071)
@@ -0,0 +1,81 @@
+/**
+ *
+ */
+package org.richfaces.test;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.commons.httpclient.NameValuePair;
+
+import com.gargoylesoftware.htmlunit.WebRequestSettings;
+import com.gargoylesoftware.htmlunit.WebResponse;
+
+public final class LocalWebResponse implements WebResponse {
+ private final WebRequestSettings settings;
+ private final ServerConnection serverConnection;
+
+ public LocalWebResponse(WebRequestSettings settings,ServerConnection serverConnection) {
+ this.settings = settings;
+ this.serverConnection = serverConnection;
+ }
+
+ public InputStream getContentAsStream() throws IOException {
+ return new ByteArrayInputStream(getResponseBody());
+ }
+
+ public String getContentAsString() {
+ return serverConnection.getContentAsString();
+ }
+
+ public String getContentCharSet() {
+ return serverConnection.getCharacterEncoding();
+ }
+
+ public String getContentType() {
+ return serverConnection.getContentType();
+ }
+
+ public long getLoadTimeInMilliSeconds() {
+ return 0;
+ }
+
+ public com.gargoylesoftware.htmlunit.HttpMethod getRequestMethod() {
+ return com.gargoylesoftware.htmlunit.HttpMethod.valueOf(serverConnection.getMethod().toString());
+ }
+
+ public WebRequestSettings getRequestSettings() {
+ return settings;
+ }
+
+ public byte[] getResponseBody() {
+ return serverConnection.getResponseBody();
+ }
+
+ public String getResponseHeaderValue(String headerName) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public int getStatusCode() {
+ return serverConnection.getStatus();
+ }
+
+ public String getStatusMessage() {
+ return serverConnection.getErrorMessage();
+ }
+
+ public URL getUrl() {
+ return serverConnection.getUrl();
+ }
+
+ public List<NameValuePair> getResponseHeaders() {
+ // TODO Auto-generated method stub
+ return Collections.emptyList();
+ }
+}
\ No newline at end of file
Property changes on: branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/LocalWebResponse.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/ServerConnection.java
===================================================================
--- branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/ServerConnection.java 2008-11-10 17:06:53 UTC (rev 11070)
+++ branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/ServerConnection.java 2008-11-11 01:39:29 UTC (rev 11071)
@@ -3,9 +3,7 @@
*/
package org.richfaces.test;
-import java.io.ByteArrayInputStream;
import java.io.IOException;
-import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.util.ArrayList;
@@ -18,9 +16,9 @@
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
-import org.apache.commons.httpclient.NameValuePair;
import org.richfaces.test.stub.ServletContainer;
import org.richfaces.test.stub.StubHttpRequest;
import org.richfaces.test.stub.StubHttpResponse;
@@ -31,56 +29,82 @@
/**
* This class represent single connection to the server.
+ *
* @author asmirnov
- *
+ *
*/
public class ServerConnection {
-
-
-
+
private final LocalServer server;
-
- private final URL url;
+ final URL url;
+
private ConnectionRequest request;
-
- private ConnectionResponse response;
+ ConnectionResponse response;
+
private final ServletContainer servlet;
-
- private HttpMethod method= HttpMethod.GET;
-
- private static final Cookie[] COOKIE = new Cookie[]{};
+ private HttpMethod method = HttpMethod.GET;
+
+ private static final Cookie[] COOKIE = new Cookie[] {};
+
private List<Cookie> cookies = new ArrayList<Cookie>();
-
+
private Map<String, String[]> requestParameters = new HashMap<String, String[]>();
-
private final String pathInfo;
private final String servletPath;
+ private boolean finished = false;
public ServerConnection(LocalServer localServer, URL url) {
this.server = localServer;
this.url = url;
String path = url.getPath();
servlet = localServer.getServlet(path);
- if(null == servlet){
+ if (null == servlet) {
throw new IllegalArgumentException();
}
this.pathInfo = servlet.getPathInfo(path);
this.servletPath = servlet.getServletPath(path);
this.request = new ConnectionRequest();
this.response = new ConnectionResponse();
- this.request.setAttribute("javax.servlet.include.path_info", this.pathInfo);
- this.request.setAttribute("javax.servlet.include.servlet_path", this.servletPath);
+ this.request.setAttribute("javax.servlet.include.path_info",
+ this.pathInfo);
+ this.request.setAttribute("javax.servlet.include.servlet_path",
+ this.servletPath);
}
-
-
+
+ /**
+ * @return the finished
+ */
+ public boolean isFinished() {
+ return finished;
+ }
+
+ /**
+ * @param finished
+ * the finished to set
+ */
+ public void setFinished(boolean finished) {
+ this.finished = finished;
+ }
+
+ private void checkFinished() {
+ if (!isFinished()) {
+ throw new IllegalStateException("request have not been executed");
+ }
+ }
+
public void execute() throws ServletException, IOException {
- this.servlet.execute(request,response);
+ if (isFinished()) {
+ throw new IllegalStateException(
+ "request already have been executed");
+ }
+ this.servlet.execute(request, response);
+ setFinished(true);
}
/**
@@ -91,34 +115,43 @@
}
/**
- * @param method the method to set
+ * @param method
+ * the method to set
*/
public void setMethod(HttpMethod method) {
this.method = method;
}
-
+
+ /**
+ * @return the url
+ */
+ public URL getUrl() {
+ return url;
+ }
+
public void addRequestParameter(String name, String value) {
String[] values = requestParameters.get(name);
- if(null == values){
+ if (null == values) {
values = new String[1];
} else {
- String[] newValues= new String[values.length+1];
+ String[] newValues = new String[values.length + 1];
System.arraycopy(values, 0, newValues, 0, values.length);
- values=newValues;
+ values = newValues;
}
- values[values.length-1]= value;
+ values[values.length - 1] = value;
requestParameters.put(name, values);
}
- public String getRenderedContent() {
+ public String getContentAsString() {
+ checkFinished();
String content = response.getWriterContent();
- if(null == content){
+ if (null == content) {
byte[] streamContent = response.getStreamContent();
- if(null!= streamContent){
+ if (null != streamContent) {
String encoding = response.getCharacterEncoding();
- if(null != encoding){
+ if (null != encoding) {
try {
- content = new String(streamContent,encoding);
+ content = new String(streamContent, encoding);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
}
@@ -130,6 +163,24 @@
return content;
}
+ public byte[] getResponseBody() {
+ checkFinished();
+ byte[] content = response.getStreamContent();
+ if (null == content) {
+ String writerContent = response.getWriterContent();
+ if (null != writerContent) {
+ try {
+ content = writerContent.getBytes(response
+ .getCharacterEncoding());
+ } catch (UnsupportedEncodingException e) {
+ content = writerContent.getBytes();
+ }
+ } else {
+ content = new byte[0];
+ }
+ }
+ return content;
+ }
/**
* @return the cookies
@@ -137,28 +188,27 @@
public List<Cookie> getCookies() {
return cookies;
}
-
+
/**
* @return the request
*/
- public ConnectionRequest getRequest() {
+ public StubHttpRequest getRequest() {
return request;
}
/**
* @return the response
*/
- public ConnectionResponse getResponse() {
+ public StubHttpResponse getResponse() {
return response;
}
private class ConnectionRequest extends StubHttpRequest {
-
public Cookie[] getCookies() {
- // TODO Auto-generated method stub
return cookies.toArray(COOKIE);
}
+
/*
* (non-Javadoc)
*
@@ -203,7 +253,7 @@
public String getRequestURI() {
return url.getPath();
}
-
+
/*
* (non-Javadoc)
*
@@ -211,9 +261,9 @@
*/
public String getParameter(String name) {
String[] values = requestParameters.get(name);
- if(null != values && values.length>0){
+ if (null != values && values.length > 0) {
return values[0];
- }
+ }
return null;
}
@@ -240,37 +290,40 @@
/*
* (non-Javadoc)
*
- * @see javax.servlet.ServletRequest#getParameterValues(java.lang.String)
+ * @see
+ * javax.servlet.ServletRequest#getParameterValues(java.lang.String)
*/
public String[] getParameterValues(String name) {
return requestParameters.get(name);
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see javax.servlet.http.HttpServletRequest#getSession()
*/
public HttpSession getSession() {
return server.getSession();
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see javax.servlet.http.HttpServletRequest#getSession(boolean)
*/
public HttpSession getSession(boolean create) {
return server.getSession(create);
}
-
-
}
-
+
private class ConnectionResponse extends StubHttpResponse {
/*
* (non-Javadoc)
*
* @see
- * javax.servlet.http.HttpServletResponse#addCookie(javax.servlet.http.Cookie
- * )
+ * javax.servlet.http.HttpServletResponse#addCookie(javax.servlet.http
+ * .Cookie )
*/
public void addCookie(Cookie cookie) {
cookies.add(cookie);
@@ -279,78 +332,24 @@
}
- public WebResponse getWebResponse(final WebRequestSettings settings) {
- // TODO Auto-generated method stub
- return new WebResponse(){
+ public String getCharacterEncoding() {
+ checkFinished();
+ return response.getCharacterEncoding();
+ }
- public InputStream getContentAsStream() throws IOException {
- return new ByteArrayInputStream(getResponseBody());
- }
+ public String getContentType() {
+ checkFinished();
+ return response.getContentType();
+ }
- public String getContentAsString() {
- // TODO Auto-generated method stub
- return response.getWriterContent();
- }
+ public int getStatus() {
+ checkFinished();
+ return response.getStatus();
+ }
- public String getContentCharSet() {
- return response.getCharacterEncoding();
- }
-
- public String getContentType() {
- return response.getContentType();
- }
-
- public long getLoadTimeInMilliSeconds() {
- return 0;
- }
-
- public com.gargoylesoftware.htmlunit.HttpMethod getRequestMethod() {
- return com.gargoylesoftware.htmlunit.HttpMethod.valueOf(getMethod().toString());
- }
-
- public WebRequestSettings getRequestSettings() {
- return settings;
- }
-
- public byte[] getResponseBody() {
- byte[] content = response.getStreamContent();
- if(null == content){
- String writerContent = response.getWriterContent();
- if(null != writerContent){
- try {
- content = writerContent.getBytes(response.getCharacterEncoding());
- } catch (UnsupportedEncodingException e) {
- content = writerContent.getBytes();
- }
- } else {
- content = new byte[0];
- }
- }
- return content;
- }
-
- public String getResponseHeaderValue(String headerName) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public int getStatusCode() {
- return response.getStatus();
- }
-
- public String getStatusMessage() {
- return response.getErrorMessage();
- }
-
- public URL getUrl() {
- return url;
- }
-
- public List<NameValuePair> getResponseHeaders() {
- // TODO Auto-generated method stub
- return Collections.emptyList();
- }
-
- };
+ public String getErrorMessage() {
+ checkFinished();
+ return response.getErrorMessage();
}
+
}
Modified: branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/stub/StubHttpSession.java
===================================================================
--- branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/stub/StubHttpSession.java 2008-11-10 17:06:53 UTC (rev 11070)
+++ branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/stub/StubHttpSession.java 2008-11-11 01:39:29 UTC (rev 11071)
@@ -12,6 +12,8 @@
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
+import javax.servlet.http.HttpSessionBindingEvent;
+import javax.servlet.http.HttpSessionBindingListener;
import javax.servlet.http.HttpSessionContext;
/**
@@ -39,7 +41,11 @@
/**
*
*/
- public void destroy(){
+ public void destroy(){
+ // Destroy all session attributes.
+ for (String name : getValueNames()) {
+ removeAttribute(name);
+ }
}
/* (non-Javadoc)
@@ -92,8 +98,7 @@
*/
@SuppressWarnings("deprecation")
public HttpSessionContext getSessionContext() {
- // TODO Auto-generated method stub
- return null;
+ throw new NotImplementedException("Session context is not implemented");
}
/* (non-Javadoc)
@@ -140,10 +145,37 @@
*/
public void removeAttribute(String name) {
// TODO - inform listeners
- this.attributes.remove(name);
+ Object removed = this.attributes.remove(name);
+ if(null != removed){
+ removedFromSession(name,removed);
+ }
}
+ protected void removedFromSession(String name, Object removed) {
+ HttpSessionBindingEvent sessionBindingEvent = new HttpSessionBindingEvent(this,name,removed);
+ if (removed instanceof HttpSessionBindingListener) {
+ HttpSessionBindingListener listener = (HttpSessionBindingListener) removed;
+ listener.valueUnbound(sessionBindingEvent);
+ }
+ valueUnbound(sessionBindingEvent);
+ }
+
+
+ protected abstract void valueUnbound(HttpSessionBindingEvent sessionBindingEvent);
+
+ protected void boundToSession(String name, Object value) {
+ HttpSessionBindingEvent sessionBindingEvent = new HttpSessionBindingEvent(this,name,value);
+ if (value instanceof HttpSessionBindingListener) {
+ HttpSessionBindingListener listener = (HttpSessionBindingListener) value;
+ listener.valueBound(sessionBindingEvent);
+ }
+ valueBound(sessionBindingEvent);
+ }
+
+
+ protected abstract void valueBound(HttpSessionBindingEvent sessionBindingEvent);
+
/* (non-Javadoc)
* @see javax.servlet.http.HttpSession#removeValue(java.lang.String)
*/
@@ -156,7 +188,13 @@
*/
public void setAttribute(String name, Object value) {
// TODO - inform listeners
- attributes.put(name, value);
+ Object oldValue = attributes.put(name, value);
+ if (null != oldValue) {
+ removedFromSession(name, oldValue);
+ }
+ if(null != value){
+ boundToSession(name, value);
+ }
}
/* (non-Javadoc)
Modified: branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/stub/StubServletContext.java
===================================================================
--- branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/stub/StubServletContext.java 2008-11-10 17:06:53 UTC (rev 11070)
+++ branches/jsf2.0/framework/jsf-test/src/main/java/org/richfaces/test/stub/StubServletContext.java 2008-11-11 01:39:29 UTC (rev 11071)
@@ -19,6 +19,8 @@
import javax.servlet.RequestDispatcher;
import javax.servlet.Servlet;
import javax.servlet.ServletContext;
+import javax.servlet.ServletContextAttributeEvent;
+import javax.servlet.ServletContextAttributeListener;
import javax.servlet.ServletException;
import org.richfaces.test.ServerLogger;
@@ -27,7 +29,7 @@
* @author asmirnov
*
*/
-public class StubServletContext implements ServletContext {
+public abstract class StubServletContext implements ServletContext {
private static final Logger log = ServerLogger.SERVER.getLogger();
@@ -35,14 +37,8 @@
private static final String APPLICATION_NAME = "stub";
private final Map<String, Object> attributes = new HashMap<String, Object>();
- private final ServerResource serverRoot;
-
private Map<String,String> initParameters = new HashMap<String, String>();
- public StubServletContext(ServerResource serverRoot) {
- this.serverRoot = serverRoot;
- }
-
/* (non-Javadoc)
* @see javax.servlet.ServletContext#getAttribute(java.lang.String)
*/
@@ -167,9 +163,7 @@
* @param path
* @return
*/
- protected ServerResource getServerResource(String path) {
- return serverRoot.getResource(new ServerResourcePath(path));
- }
+ protected abstract ServerResource getServerResource(String path);
/* (non-Javadoc)
* @see javax.servlet.ServletContext#getResourceAsStream(java.lang.String)
@@ -268,15 +262,36 @@
*/
public void removeAttribute(String name) {
// TODO - inform listeners
- attributes.remove(name);
+ Object removed = attributes.remove(name);
+ if(null != removed){
+ valueUnbound(new ServletContextAttributeEvent(this,name,removed));
+ }
}
+
/* (non-Javadoc)
* @see javax.servlet.ServletContext#setAttribute(java.lang.String, java.lang.Object)
*/
public void setAttribute(String name, Object object) {
// TODO - inform listeners
- attributes.put(name, object);
+ if (null == object) {
+ removeAttribute(name);
+ } else {
+ Object oldValue = attributes.put(name, object);
+ ServletContextAttributeEvent event = new ServletContextAttributeEvent(this,name,object);
+ if(null != oldValue){
+ valueReplaced(event);
+ } else {
+ valueBound(event);
+ }
+ }
}
+ protected abstract void valueBound(ServletContextAttributeEvent event);
+
+ protected abstract void valueReplaced(ServletContextAttributeEvent event);
+
+ protected abstract void valueUnbound(
+ ServletContextAttributeEvent servletContextAttributeEvent);
+
}
Modified: branches/jsf2.0/framework/jsf-test/src/test/java/org/richfaces/test/FacesServerTest.java
===================================================================
--- branches/jsf2.0/framework/jsf-test/src/test/java/org/richfaces/test/FacesServerTest.java 2008-11-10 17:06:53 UTC (rev 11070)
+++ branches/jsf2.0/framework/jsf-test/src/test/java/org/richfaces/test/FacesServerTest.java 2008-11-11 01:39:29 UTC (rev 11071)
@@ -66,7 +66,7 @@
facesServer.addInitParameter(ViewHandler.DEFAULT_SUFFIX_PARAM_NAME, ".xhtml");
facesServer.addInitParameter("com.sun.faces.validateXml", "true");
facesServer.addInitParameter("com.sun.faces.verifyObjects", "true");
- facesServer.addContextListener(new ConfigureListener());
+ facesServer.addWebListener(new ConfigureListener());
facesServer.init();
}
@@ -101,8 +101,7 @@
*/
@Test
public void testGetConnection() throws Exception {
- WebClient webClient = new WebClient();
- webClient.setWebConnection(facesServer.getWebConnection());
+ WebClient webClient = new LocalWebClient(facesServer);
HtmlPage page = webClient.getPage("http://localhost/hello.jsf");
System.out.println(page.asXml());
}
16 years, 10 months