Commit 0317a3e6 authored by Claudio Valerio's avatar Claudio Valerio

Merge branch 'master' of github.com:Sankore/Sankore-3.1

parents 47f69a82 0ba8dd86
.colorpicker { .colorpicker {
width: 356px; width: 356px;
height: 176px; height: 176px;
overflow: hidden; overflow: hidden;
position: absolute; position: absolute;
background: url(../images/colorpicker_background.png); background: url(../images/colorpicker_background.png);
font-family: Arial, Helvetica, sans-serif; font-family: Arial, Helvetica, sans-serif;
display: none; display: none;
} }
.colorpicker_color { .colorpicker_color {
width: 150px; width: 150px;
height: 150px; height: 150px;
left: 14px; left: 14px;
top: 13px; top: 13px;
position: absolute; position: absolute;
background: #f00; background: #f00;
overflow: hidden; overflow: hidden;
cursor: crosshair; cursor: crosshair;
} }
.colorpicker_color div { .colorpicker_color div {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
width: 150px; width: 150px;
height: 150px; height: 150px;
background: url(../images/colorpicker_overlay.png); background: url(../images/colorpicker_overlay.png);
} }
.colorpicker_color div div { .colorpicker_color div div {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
width: 11px; width: 11px;
height: 11px; height: 11px;
overflow: hidden; overflow: hidden;
background: url(../images/colorpicker_select.gif); background: url(../images/colorpicker_select.png);
margin: -5px 0 0 -5px; margin: -5px 0 0 -5px;
} }
.colorpicker_hue { .colorpicker_hue {
position: absolute; position: absolute;
top: 13px; top: 13px;
left: 171px; left: 171px;
width: 35px; width: 35px;
height: 150px; height: 150px;
cursor: n-resize; cursor: n-resize;
} }
.colorpicker_hue div { .colorpicker_hue div {
position: absolute; position: absolute;
width: 35px; width: 35px;
height: 9px; height: 9px;
overflow: hidden; overflow: hidden;
background: url(../images/colorpicker_indic.gif) left top; background: url(../images/colorpicker_indic.png) left top;
margin: -4px 0 0 0; margin: -4px 0 0 0;
left: 0px; left: 0px;
} }
.colorpicker_new_color { .colorpicker_new_color {
position: absolute; position: absolute;
width: 60px; width: 60px;
height: 30px; height: 30px;
left: 213px; left: 213px;
top: 13px; top: 13px;
background: #f00; background: #f00;
} }
.colorpicker_current_color { .colorpicker_current_color {
position: absolute; position: absolute;
width: 60px; width: 60px;
height: 30px; height: 30px;
left: 283px; left: 283px;
top: 13px; top: 13px;
background: #f00; background: #f00;
} }
.colorpicker input { .colorpicker input {
background-color: transparent; background-color: transparent;
border: 1px solid transparent; border: 1px solid transparent;
position: absolute; position: absolute;
font-size: 10px; font-size: 10px;
font-family: Arial, Helvetica, sans-serif; font-family: Arial, Helvetica, sans-serif;
color: #898989; color: #898989;
top: 4px; top: 4px;
right: 11px; right: 11px;
text-align: right; text-align: right;
margin: 0; margin: 0;
padding: 0; padding: 0;
height: 11px; height: 11px;
} }
.colorpicker_hex { .colorpicker_hex {
position: absolute; position: absolute;
width: 72px; width: 72px;
height: 22px; height: 22px;
background: url(../images/colorpicker_hex.png) top; background: url(../images/colorpicker_hex.png) top;
left: 212px; left: 212px;
top: 142px; top: 142px;
} }
.colorpicker_hex input { .colorpicker_hex input {
right: 6px; right: 6px;
} }
.colorpicker_field { .colorpicker_field {
height: 22px; height: 22px;
width: 62px; width: 62px;
background-position: top; background-position: top;
position: absolute; position: absolute;
} }
.colorpicker_field span { .colorpicker_field span {
position: absolute; position: absolute;
width: 12px; width: 12px;
height: 22px; height: 22px;
overflow: hidden; overflow: hidden;
top: 0; top: 0;
right: 0; right: 0;
cursor: n-resize; cursor: n-resize;
} }
.colorpicker_rgb_r { .colorpicker_rgb_r {
background-image: url(../images/colorpicker_rgb_r.png); background-image: url(../images/colorpicker_rgb_r.png);
top: 52px; top: 52px;
left: 212px; left: 212px;
} }
.colorpicker_rgb_g { .colorpicker_rgb_g {
background-image: url(../images/colorpicker_rgb_g.png); background-image: url(../images/colorpicker_rgb_g.png);
top: 82px; top: 82px;
left: 212px; left: 212px;
} }
.colorpicker_rgb_b { .colorpicker_rgb_b {
background-image: url(../images/colorpicker_rgb_b.png); background-image: url(../images/colorpicker_rgb_b.png);
top: 112px; top: 112px;
left: 212px; left: 212px;
} }
.colorpicker_hsb_h { .colorpicker_hsb_h {
background-image: url(../images/colorpicker_hsb_h.png); background-image: url(../images/colorpicker_hsb_h.png);
top: 52px; top: 52px;
left: 282px; left: 282px;
} }
.colorpicker_hsb_s { .colorpicker_hsb_s {
background-image: url(../images/colorpicker_hsb_s.png); background-image: url(../images/colorpicker_hsb_s.png);
top: 82px; top: 82px;
left: 282px; left: 282px;
} }
.colorpicker_hsb_b { .colorpicker_hsb_b {
background-image: url(../images/colorpicker_hsb_b.png); background-image: url(../images/colorpicker_hsb_b.png);
top: 112px; top: 112px;
left: 282px; left: 282px;
} }
.colorpicker_submit { .colorpicker_submit {
position: absolute; position: absolute;
width: 22px; width: 22px;
height: 22px; height: 22px;
background: url(../images/colorpicker_submit.png) top; background: url(../images/colorpicker_submit.png) top;
left: 322px; left: 322px;
top: 142px; top: 142px;
overflow: hidden; overflow: hidden;
} }
.tools_change {
position: absolute;
width: 22px;
height: 22px;
background: url(../images/tools.jpg) top;
left: 290px;
top: 142px;
overflow: hidden;
}
.tools_change.tools_compass{
background-position: bottom;
}
.tools_change.tools_border{
border: 1px solid #999090;
}
.colorpicker_focus { .colorpicker_focus {
background-position: center; background-position: center;
} }
.colorpicker_hex.colorpicker_focus { .colorpicker_hex.colorpicker_focus {
background-position: bottom; background-position: bottom;
} }
.colorpicker_submit.colorpicker_focus { .colorpicker_submit.colorpicker_focus {
background-position: bottom; background-position: bottom;
} }
.colorpicker_slider { .colorpicker_slider {
background-position: bottom; background-position: bottom;
} }
...@@ -180,7 +180,7 @@ h1 { ...@@ -180,7 +180,7 @@ h1 {
left: 0; left: 0;
} }
#colorpickerHolder2 .colorpicker_hue div { #colorpickerHolder2 .colorpicker_hue div {
background-image: url(../images/custom_indic.gif); background-image: url(../images/custom_indic.png);
} }
#colorpickerHolder2 .colorpicker_hex { #colorpickerHolder2 .colorpicker_hex {
background-image: url(../images/custom_hex.png); background-image: url(../images/custom_hex.png);
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<link rel="stylesheet" href="css/colorpicker.css" type="text/css" /> <link rel="stylesheet" href="css/colorpicker.css" type="text/css" />
<link rel="stylesheet" media="screen" type="text/css" href="css/layout.css" /> <link rel="stylesheet" media="screen" type="text/css" href="css/layout.css" />
<title>ColorPicker - jQuery plugin</title> <title>ColorPicker - jQuery plugin</title>
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/colorpicker.js"></script> <script type="text/javascript" src="js/colorpicker.js"></script>
<script type="text/javascript" src="js/eye.js"></script> <script type="text/javascript" src="js/eye.js"></script>
<script type="text/javascript" src="js/utils.js"></script> <script type="text/javascript" src="js/utils.js"></script>
<script type="text/javascript" src="js/layout.js?ver=1.0.2"></script> <script type="text/javascript" src="js/layout.js?ver=1.0.2"></script>
</head> </head>
<body> <body>
<p id="colorpickerHolder"> <p id="colorpickerHolder"></p>
</body> </body>
</html> </html>
...@@ -7,480 +7,555 @@ ...@@ -7,480 +7,555 @@
* *
*/ */
(function ($) { (function ($) {
var ColorPicker = function () { var ColorPicker = function () {
var var
ids = {}, ids = {},
inAction, penFlag = true,
charMin = 65, inAction,
visible, charMin = 65,
tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>', visible,
defaults = { tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="tools_change"></div><div class="colorpicker_submit"></div></div>',
eventName: 'click', defaults = {
onShow: function () {}, eventName: 'click',
onBeforeShow: function(){}, onShow: function () {},
onHide: function () {}, onBeforeShow: function(){},
onChange: function () {}, onHide: function () {},
onSubmit: function () {}, onChange: function () {},
color: 'ff0000', onSubmit: function () {},
livePreview: true, color: 'ff0000',
flat: false livePreview: true,
}, flat: false
fillRGBFields = function (hsb, cal) { },
var rgb = HSBToRGB(hsb); fillRGBFields = function (hsb, cal) {
$(cal).data('colorpicker').fields var rgb = HSBToRGB(hsb);
.eq(1).val(rgb.r).end() $(cal).data('colorpicker').fields
.eq(2).val(rgb.g).end() .eq(1).val(rgb.r).end()
.eq(3).val(rgb.b).end(); .eq(2).val(rgb.g).end()
}, .eq(3).val(rgb.b).end();
fillHSBFields = function (hsb, cal) { },
$(cal).data('colorpicker').fields fillHSBFields = function (hsb, cal) {
.eq(4).val(hsb.h).end() $(cal).data('colorpicker').fields
.eq(5).val(hsb.s).end() .eq(4).val(hsb.h).end()
.eq(6).val(hsb.b).end(); .eq(5).val(hsb.s).end()
}, .eq(6).val(hsb.b).end();
fillHexFields = function (hsb, cal) { },
$(cal).data('colorpicker').fields fillHexFields = function (hsb, cal) {
.eq(0).val(HSBToHex(hsb)).end(); $(cal).data('colorpicker').fields
}, .eq(0).val(HSBToHex(hsb)).end();
setSelector = function (hsb, cal) { },
$(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100})); setSelector = function (hsb, cal) {
$(cal).data('colorpicker').selectorIndic.css({ $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({
left: parseInt(150 * hsb.s/100, 10), h: hsb.h,
top: parseInt(150 * (100-hsb.b)/100, 10) s: 100,
}); b: 100
}, }));
setHue = function (hsb, cal) { $(cal).data('colorpicker').selectorIndic.css({
$(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10)); left: parseInt(150 * hsb.s/100, 10),
}, top: parseInt(150 * (100-hsb.b)/100, 10)
setCurrentColor = function (hsb, cal) { });
$(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb)); },
}, setHue = function (hsb, cal) {
setNewColor = function (hsb, cal) { $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
$(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb)); },
window.sankore.setTool('pen'); setCurrentColor = function (hsb, cal) {
window.sankore.setPenColor('#' + HSBToHex(hsb)); $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
}, },
keyDown = function (ev) { setNewColor = function (hsb, cal) {
var pressedKey = ev.charCode || ev.keyCode || -1; $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) { if(penFlag){
return false; $("div.tools_change").removeClass("tools_compass");
} window.sankore.setTool('pen');
var cal = $(this).parent().parent(); window.sankore.setPenColor('#' + HSBToHex(hsb));
if (cal.data('colorpicker').livePreview === true) { sankore.returnStatus("PEN installed", penFlag);
change.apply(this); } else {
} $("div.tools_change").addClass("tools_compass");
}, window.sankore.setTool('compass');
change = function (ev) { window.sankore.setPenColor('#' + HSBToHex(hsb));
var cal = $(this).parent().parent(), col; sankore.returnStatus("Compass installed", penFlag);
if (this.parentNode.className.indexOf('_hex') > 0) { }
cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value)); },
} else if (this.parentNode.className.indexOf('_hsb') > 0) { keyDown = function (ev) {
cal.data('colorpicker').color = col = fixHSB({ var pressedKey = ev.charCode || ev.keyCode || -1;
h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10), if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10), return false;
b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10) }
}); var cal = $(this).parent().parent();
} else { if (cal.data('colorpicker').livePreview === true) {
cal.data('colorpicker').color = col = RGBToHSB(fixRGB({ change.apply(this);
r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10), }
g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10), },
b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10) change = function (ev) {
})); var cal = $(this).parent().parent(), col;
} if (this.parentNode.className.indexOf('_hex') > 0) {
if (ev) { cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
fillRGBFields(col, cal.get(0)); } else if (this.parentNode.className.indexOf('_hsb') > 0) {
fillHexFields(col, cal.get(0)); cal.data('colorpicker').color = col = fixHSB({
fillHSBFields(col, cal.get(0)); h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
} s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
setSelector(col, cal.get(0)); b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
setHue(col, cal.get(0)); });
setNewColor(col, cal.get(0)); } else {
cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]); cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
}, r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
blur = function (ev) { g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
var cal = $(this).parent().parent(); b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus'); }));
}, }
focus = function () { if (ev) {
charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65; fillRGBFields(col, cal.get(0));
$(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus'); fillHexFields(col, cal.get(0));
$(this).parent().addClass('colorpicker_focus'); fillHSBFields(col, cal.get(0));
}, }
downIncrement = function (ev) { setSelector(col, cal.get(0));
var field = $(this).parent().find('input').focus(); setHue(col, cal.get(0));
var current = { setNewColor(col, cal.get(0));
el: $(this).parent().addClass('colorpicker_slider'), cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255), },
y: ev.pageY, blur = function (ev) {
field: field, var cal = $(this).parent().parent();
val: parseInt(field.val(), 10), cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
preview: $(this).parent().parent().data('colorpicker').livePreview },
}; focus = function () {
$(document).bind('mouseup', current, upIncrement); charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
$(document).bind('mousemove', current, moveIncrement); $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
}, $(this).parent().addClass('colorpicker_focus');
moveIncrement = function (ev) { },
ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10)))); downIncrement = function (ev) {
if (ev.data.preview) { var field = $(this).parent().find('input').focus();
change.apply(ev.data.field.get(0), [true]); var current = {
} el: $(this).parent().addClass('colorpicker_slider'),
return false; max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
}, y: ev.pageY,
upIncrement = function (ev) { field: field,
change.apply(ev.data.field.get(0), [true]); val: parseInt(field.val(), 10),
ev.data.el.removeClass('colorpicker_slider').find('input').focus(); preview: $(this).parent().parent().data('colorpicker').livePreview
$(document).unbind('mouseup', upIncrement); };
$(document).unbind('mousemove', moveIncrement); $(document).bind('mouseup', current, upIncrement);
return false; $(document).bind('mousemove', current, moveIncrement);
}, },
downHue = function (ev) { moveIncrement = function (ev) {
var current = { ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
cal: $(this).parent(), if (ev.data.preview) {
y: $(this).offset().top change.apply(ev.data.field.get(0), [true]);
}; }
current.preview = current.cal.data('colorpicker').livePreview; return false;
$(document).bind('mouseup', current, upHue); },
$(document).bind('mousemove', current, moveHue); upIncrement = function (ev) {
}, change.apply(ev.data.field.get(0), [true]);
moveHue = function (ev) { ev.data.el.removeClass('colorpicker_slider').find('input').focus();
change.apply( $(document).unbind('mouseup', upIncrement);
ev.data.cal.data('colorpicker') $(document).unbind('mousemove', moveIncrement);
.fields return false;
.eq(4) },
.val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10)) downHue = function (ev) {
.get(0), var current = {
[ev.data.preview] cal: $(this).parent(),
); y: $(this).offset().top
return false; };
}, current.preview = current.cal.data('colorpicker').livePreview;
upHue = function (ev) { $(document).bind('mouseup', current, upHue);
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); $(document).bind('mousemove', current, moveHue);
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); },
$(document).unbind('mouseup', upHue); moveHue = function (ev) {
$(document).unbind('mousemove', moveHue); change.apply(
return false; ev.data.cal.data('colorpicker')
}, .fields
downSelector = function (ev) { .eq(4)
var current = { .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
cal: $(this).parent(), .get(0),
pos: $(this).offset() [ev.data.preview]
}; );
current.preview = current.cal.data('colorpicker').livePreview; return false;
$(document).bind('mouseup', current, upSelector); },
$(document).bind('mousemove', current, moveSelector); upHue = function (ev) {
}, fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
moveSelector = function (ev) { fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
change.apply( $(document).unbind('mouseup', upHue);
ev.data.cal.data('colorpicker') $(document).unbind('mousemove', moveHue);
.fields return false;
.eq(6) },
.val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10)) downSelector = function (ev) {
.end() var current = {
.eq(5) cal: $(this).parent(),
.val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10)) pos: $(this).offset()
.get(0), };
[ev.data.preview] current.preview = current.cal.data('colorpicker').livePreview;
); $(document).bind('mouseup', current, upSelector);
return false; $(document).bind('mousemove', current, moveSelector);
}, },
upSelector = function (ev) { moveSelector = function (ev) {
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); change.apply(
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); ev.data.cal.data('colorpicker')
$(document).unbind('mouseup', upSelector); .fields
$(document).unbind('mousemove', moveSelector); .eq(6)
return false; .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
}, .end()
enterSubmit = function (ev) { .eq(5)
$(this).addClass('colorpicker_focus'); .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
}, .get(0),
leaveSubmit = function (ev) { [ev.data.preview]
$(this).removeClass('colorpicker_focus'); );
}, return false;
clickSubmit = function (ev) { },
var cal = $(this).parent(); upSelector = function (ev) {
var col = cal.data('colorpicker').color; fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
cal.data('colorpicker').origColor = col; fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
setCurrentColor(col, cal.get(0)); $(document).unbind('mouseup', upSelector);
cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el); $(document).unbind('mousemove', moveSelector);
}, return false;
show = function (ev) { },
var cal = $('#' + $(this).data('colorpickerId')); enterSubmit = function (ev) {
cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]); $(this).addClass('colorpicker_focus');
var pos = $(this).offset(); },
var viewPort = getViewport(); leaveSubmit = function (ev) {
var top = pos.top + this.offsetHeight; $(this).removeClass('colorpicker_focus');
var left = pos.left; },
if (top + 176 > viewPort.t + viewPort.h) { clickSubmit = function (ev) {
top -= this.offsetHeight + 176; var cal = $(this).parent();
} var col = cal.data('colorpicker').color;
if (left + 356 > viewPort.l + viewPort.w) { cal.data('colorpicker').origColor = col;
left -= 356; setCurrentColor(col, cal.get(0));
} cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
cal.css({left: left + 'px', top: top + 'px'}); },
if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) { mouseOverBorder = function(ev) {
cal.show(); $(this).addClass("tools_border");
} },
$(document).bind('mousedown', {cal: cal}, hide); mouseOutBorder = function(ev) {
return false; $(this).removeClass("tools_border");
}, },
hide = function (ev) { clickToolsChange = function (ev) {
if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) { var cal = $(this).parent();
if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) { var col = cal.data('colorpicker').color;
ev.data.cal.hide(); cal.data('colorpicker').origColor = col;
} setCurrentColor(col, cal.get(0));
$(document).unbind('mousedown', hide); cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
} penFlag = (penFlag)?false:true;
}, setNewColor(col, cal.get(0));
isChildOf = function(parentEl, el, container) { sankore.returnStatus("startEditing()", penFlag);
if (parentEl == el) { },
return true; show = function (ev) {
} var cal = $('#' + $(this).data('colorpickerId'));
if (parentEl.contains) { cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
return parentEl.contains(el); var pos = $(this).offset();
} var viewPort = getViewport();
if ( parentEl.compareDocumentPosition ) { var top = pos.top + this.offsetHeight;
return !!(parentEl.compareDocumentPosition(el) & 16); var left = pos.left;
} if (top + 176 > viewPort.t + viewPort.h) {
var prEl = el.parentNode; top -= this.offsetHeight + 176;
while(prEl && prEl != container) { }
if (prEl == parentEl) if (left + 356 > viewPort.l + viewPort.w) {
return true; left -= 356;
prEl = prEl.parentNode; }
} cal.css({
return false; left: left + 'px',
}, top: top + 'px'
getViewport = function () { });
var m = document.compatMode == 'CSS1Compat'; if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
return { cal.show();
l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft), }
t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop), $(document).bind('mousedown', {
w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth), cal: cal
h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight) }, hide);
}; return false;
}, },
fixHSB = function (hsb) { hide = function (ev) {
return { if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
h: Math.min(360, Math.max(0, hsb.h)), if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
s: Math.min(100, Math.max(0, hsb.s)), ev.data.cal.hide();
b: Math.min(100, Math.max(0, hsb.b)) }
}; $(document).unbind('mousedown', hide);
}, }
fixRGB = function (rgb) { },
return { isChildOf = function(parentEl, el, container) {
r: Math.min(255, Math.max(0, rgb.r)), if (parentEl == el) {
g: Math.min(255, Math.max(0, rgb.g)), return true;
b: Math.min(255, Math.max(0, rgb.b)) }
}; if (parentEl.contains) {
}, return parentEl.contains(el);
fixHex = function (hex) { }
var len = 6 - hex.length; if ( parentEl.compareDocumentPosition ) {
if (len > 0) { return !!(parentEl.compareDocumentPosition(el) & 16);
var o = []; }
for (var i=0; i<len; i++) { var prEl = el.parentNode;
o.push('0'); while(prEl && prEl != container) {
} if (prEl == parentEl)
o.push(hex); return true;
hex = o.join(''); prEl = prEl.parentNode;
} }
return hex; return false;
}, },
HexToRGB = function (hex) { getViewport = function () {
var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16); var m = document.compatMode == 'CSS1Compat';
return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)}; return {
}, l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
HexToHSB = function (hex) { t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
return RGBToHSB(HexToRGB(hex)); w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
}, h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
RGBToHSB = function (rgb) { };
var hsb = { },
h: 0, fixHSB = function (hsb) {
s: 0, return {
b: 0 h: Math.min(360, Math.max(0, hsb.h)),
}; s: Math.min(100, Math.max(0, hsb.s)),
var min = Math.min(rgb.r, rgb.g, rgb.b); b: Math.min(100, Math.max(0, hsb.b))
var max = Math.max(rgb.r, rgb.g, rgb.b); };
var delta = max - min; },
hsb.b = max; fixRGB = function (rgb) {
if (max != 0) { return {
r: Math.min(255, Math.max(0, rgb.r)),
g: Math.min(255, Math.max(0, rgb.g)),
b: Math.min(255, Math.max(0, rgb.b))
};
},
fixHex = function (hex) {
var len = 6 - hex.length;
if (len > 0) {
var o = [];
for (var i=0; i<len; i++) {
o.push('0');
}
o.push(hex);
hex = o.join('');
}
return hex;
},
HexToRGB = function (hex) {
var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
return {
r: hex >> 16,
g: (hex & 0x00FF00) >> 8,
b: (hex & 0x0000FF)
};
},
HexToHSB = function (hex) {
return RGBToHSB(HexToRGB(hex));
},
RGBToHSB = function (rgb) {
var hsb = {
h: 0,
s: 0,
b: 0
};
var min = Math.min(rgb.r, rgb.g, rgb.b);
var max = Math.max(rgb.r, rgb.g, rgb.b);
var delta = max - min;
hsb.b = max;
if (max != 0) {
} }
hsb.s = max != 0 ? 255 * delta / max : 0; hsb.s = max != 0 ? 255 * delta / max : 0;
if (hsb.s != 0) { if (hsb.s != 0) {
if (rgb.r == max) { if (rgb.r == max) {
hsb.h = (rgb.g - rgb.b) / delta; hsb.h = (rgb.g - rgb.b) / delta;
} else if (rgb.g == max) { } else if (rgb.g == max) {
hsb.h = 2 + (rgb.b - rgb.r) / delta; hsb.h = 2 + (rgb.b - rgb.r) / delta;
} else { } else {
hsb.h = 4 + (rgb.r - rgb.g) / delta; hsb.h = 4 + (rgb.r - rgb.g) / delta;
} }
} else { } else {
hsb.h = -1; hsb.h = -1;
} }
hsb.h *= 60; hsb.h *= 60;
if (hsb.h < 0) { if (hsb.h < 0) {
hsb.h += 360; hsb.h += 360;
} }
hsb.s *= 100/255; hsb.s *= 100/255;
hsb.b *= 100/255; hsb.b *= 100/255;
return hsb; return hsb;
}, },
HSBToRGB = function (hsb) { HSBToRGB = function (hsb) {
var rgb = {}; var rgb = {};
var h = Math.round(hsb.h); var h = Math.round(hsb.h);
var s = Math.round(hsb.s*255/100); var s = Math.round(hsb.s*255/100);
var v = Math.round(hsb.b*255/100); var v = Math.round(hsb.b*255/100);
if(s == 0) { if(s == 0) {
rgb.r = rgb.g = rgb.b = v; rgb.r = rgb.g = rgb.b = v;
} else { } else {
var t1 = v; var t1 = v;
var t2 = (255-s)*v/255; var t2 = (255-s)*v/255;
var t3 = (t1-t2)*(h%60)/60; var t3 = (t1-t2)*(h%60)/60;
if(h==360) h = 0; if(h==360) h = 0;
if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3} if(h<60) {
else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3} rgb.r=t1;
else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3} rgb.b=t2;
else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3} rgb.g=t2+t3
else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3} }
else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3} else if(h<120) {
else {rgb.r=0; rgb.g=0; rgb.b=0} rgb.g=t1;
} rgb.b=t2;
return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)}; rgb.r=t1-t3
}, }
RGBToHex = function (rgb) { else if(h<180) {
var hex = [ rgb.g=t1;
rgb.r.toString(16), rgb.r=t2;
rgb.g.toString(16), rgb.b=t2+t3
rgb.b.toString(16) }
]; else if(h<240) {
$.each(hex, function (nr, val) { rgb.b=t1;
if (val.length == 1) { rgb.r=t2;
hex[nr] = '0' + val; rgb.g=t1-t3
} }
}); else if(h<300) {
return hex.join(''); rgb.b=t1;
}, rgb.g=t2;
HSBToHex = function (hsb) { rgb.r=t2+t3
return RGBToHex(HSBToRGB(hsb)); }
}, else if(h<360) {
restoreOriginal = function () { rgb.r=t1;
var cal = $(this).parent(); rgb.g=t2;
var col = cal.data('colorpicker').origColor; rgb.b=t1-t3
cal.data('colorpicker').color = col; }
fillRGBFields(col, cal.get(0)); else {
fillHexFields(col, cal.get(0)); rgb.r=0;
fillHSBFields(col, cal.get(0)); rgb.g=0;
setSelector(col, cal.get(0)); rgb.b=0
setHue(col, cal.get(0)); }
setNewColor(col, cal.get(0)); }
}; return {
return { r:Math.round(rgb.r),
init: function (opt) { g:Math.round(rgb.g),
opt = $.extend({}, defaults, opt||{}); b:Math.round(rgb.b)
if (typeof opt.color == 'string') { };
opt.color = HexToHSB(opt.color); },
} else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) { RGBToHex = function (rgb) {
opt.color = RGBToHSB(opt.color); var hex = [
} else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) { rgb.r.toString(16),
opt.color = fixHSB(opt.color); rgb.g.toString(16),
} else { rgb.b.toString(16)
return this; ];
} $.each(hex, function (nr, val) {
return this.each(function () { if (val.length == 1) {
if (!$(this).data('colorpickerId')) { hex[nr] = '0' + val;
var options = $.extend({}, opt); }
options.origColor = opt.color; });
var id = 'collorpicker_' + parseInt(Math.random() * 1000); return hex.join('');
$(this).data('colorpickerId', id); },
var cal = $(tpl).attr('id', id); HSBToHex = function (hsb) {
if (options.flat) { return RGBToHex(HSBToRGB(hsb));
cal.appendTo(this).show(); },
} else { restoreOriginal = function () {
cal.appendTo(document.body); var cal = $(this).parent();
} var col = cal.data('colorpicker').origColor;
options.fields = cal cal.data('colorpicker').color = col;
.find('input') fillRGBFields(col, cal.get(0));
.bind('keyup', keyDown) fillHexFields(col, cal.get(0));
.bind('change', change) fillHSBFields(col, cal.get(0));
.bind('blur', blur) setSelector(col, cal.get(0));
.bind('focus', focus); setHue(col, cal.get(0));
cal setNewColor(col, cal.get(0));
.find('span').bind('mousedown', downIncrement).end() };
.find('>div.colorpicker_current_color').bind('click', restoreOriginal); return {
options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector); init: function (opt) {
options.selectorIndic = options.selector.find('div div'); opt = $.extend({}, defaults, opt||{});
options.el = this; if (typeof opt.color == 'string') {
options.hue = cal.find('div.colorpicker_hue div'); opt.color = HexToHSB(opt.color);
cal.find('div.colorpicker_hue').bind('mousedown', downHue); } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
options.newColor = cal.find('div.colorpicker_new_color'); opt.color = RGBToHSB(opt.color);
options.currentColor = cal.find('div.colorpicker_current_color'); } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
cal.data('colorpicker', options); opt.color = fixHSB(opt.color);
cal.find('div.colorpicker_submit') } else {
.bind('mouseenter', enterSubmit) return this;
.bind('mouseleave', leaveSubmit) }
.bind('click', clickSubmit); return this.each(function () {
fillRGBFields(options.color, cal.get(0)); if (!$(this).data('colorpickerId')) {
fillHSBFields(options.color, cal.get(0)); var options = $.extend({}, opt);
fillHexFields(options.color, cal.get(0)); options.origColor = opt.color;
setHue(options.color, cal.get(0)); var id = 'collorpicker_' + parseInt(Math.random() * 1000);
setSelector(options.color, cal.get(0)); $(this).data('colorpickerId', id);
setCurrentColor(options.color, cal.get(0)); var cal = $(tpl).attr('id', id);
setNewColor(options.color, cal.get(0)); if (options.flat) {
if (options.flat) { cal.appendTo(this).show();
cal.css({ } else {
position: 'relative', cal.appendTo(document.body);
display: 'block' }
}); options.fields = cal
} else { .find('input')
$(this).bind(options.eventName, show); .bind('keyup', keyDown)
} .bind('change', change)
} .bind('blur', blur)
}); .bind('focus', focus);
}, cal
showPicker: function() { .find('span').bind('mousedown', downIncrement).end()
return this.each( function () { .find('>div.colorpicker_current_color').bind('click', restoreOriginal);
if ($(this).data('colorpickerId')) { options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
show.apply(this); options.selectorIndic = options.selector.find('div div');
} options.el = this;
}); options.hue = cal.find('div.colorpicker_hue div');
}, cal.find('div.colorpicker_hue').bind('mousedown', downHue);
hidePicker: function() { options.newColor = cal.find('div.colorpicker_new_color');
return this.each( function () { options.currentColor = cal.find('div.colorpicker_current_color');
if ($(this).data('colorpickerId')) { cal.data('colorpicker', options);
$('#' + $(this).data('colorpickerId')).hide(); cal.find('div.colorpicker_submit')
} .bind('mouseenter', enterSubmit)
}); .bind('mouseleave', leaveSubmit)
}, .bind('click', clickSubmit);
setColor: function(col) { cal.find('div.tools_change')
if (typeof col == 'string') { .bind('mouseover', mouseOverBorder)
col = HexToHSB(col); .bind('mouseout', mouseOutBorder)
} else if (col.r != undefined && col.g != undefined && col.b != undefined) { .bind('click', clickToolsChange);
col = RGBToHSB(col); fillRGBFields(options.color, cal.get(0));
} else if (col.h != undefined && col.s != undefined && col.b != undefined) { fillHSBFields(options.color, cal.get(0));
col = fixHSB(col); fillHexFields(options.color, cal.get(0));
} else { setHue(options.color, cal.get(0));
return this; setSelector(options.color, cal.get(0));
} setCurrentColor(options.color, cal.get(0));
return this.each(function(){ setNewColor(options.color, cal.get(0));
if ($(this).data('colorpickerId')) { if (options.flat) {
var cal = $('#' + $(this).data('colorpickerId')); cal.css({
cal.data('colorpicker').color = col; position: 'relative',
cal.data('colorpicker').origColor = col; display: 'block'
fillRGBFields(col, cal.get(0)); });
fillHSBFields(col, cal.get(0)); } else {
fillHexFields(col, cal.get(0)); $(this).bind(options.eventName, show);
setHue(col, cal.get(0)); }
setSelector(col, cal.get(0)); }
setCurrentColor(col, cal.get(0)); });
setNewColor(col, cal.get(0)); },
} showPicker: function() {
}); return this.each( function () {
} if ($(this).data('colorpickerId')) {
}; show.apply(this);
}(); }
$.fn.extend({ });
ColorPicker: ColorPicker.init, },
ColorPickerHide: ColorPicker.hidePicker, hidePicker: function() {
ColorPickerShow: ColorPicker.showPicker, return this.each( function () {
ColorPickerSetColor: ColorPicker.setColor if ($(this).data('colorpickerId')) {
}); $('#' + $(this).data('colorpickerId')).hide();
}
});
},
setColor: function(col) {
if (typeof col == 'string') {
col = HexToHSB(col);
} else if (col.r != undefined && col.g != undefined && col.b != undefined) {
col = RGBToHSB(col);
} else if (col.h != undefined && col.s != undefined && col.b != undefined) {
col = fixHSB(col);
} else {
return this;
}
return this.each(function(){
if ($(this).data('colorpickerId')) {
var cal = $('#' + $(this).data('colorpickerId'));
cal.data('colorpicker').color = col;
cal.data('colorpicker').origColor = col;
fillRGBFields(col, cal.get(0));
fillHSBFields(col, cal.get(0));
fillHexFields(col, cal.get(0));
setHue(col, cal.get(0));
setSelector(col, cal.get(0));
setCurrentColor(col, cal.get(0));
setNewColor(col, cal.get(0));
}
});
}
};
}();
$.fn.extend({
ColorPicker: ColorPicker.init,
ColorPickerHide: ColorPicker.hidePicker,
ColorPickerShow: ColorPicker.showPicker,
ColorPickerSetColor: ColorPicker.setColor
});
})(jQuery) })(jQuery)
\ No newline at end of file
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
xmlns:ub="http://uniboard.mnemis.com/widgets" xmlns:ub="http://uniboard.mnemis.com/widgets"
id="http://www.example.net/widgets/helloworld" id="http://www.example.net/widgets/helloworld"
version="1.0" version="1.0"
width="200" width="540"
height="700" height="320"
ub:resizable="true"> ub:resizable="true">
<name>Rich Note</name> <name>Rich Note</name>
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<title>Full featured example</title> <title>Full featured example</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- TinyMCE --> <!-- TinyMCE -->
<script type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script> <script type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript"> <script type="text/javascript">
tinyMCE.init({ var flag = false;
// General options tinyMCE.init({
mode : "textareas", // General options
theme : "advanced", mode : "textareas",
plugins : "autolink,lists,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,wordcount,advlist,autosave", theme : "advanced",
plugins : "autolink,lists,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,wordcount,advlist,autosave",
// Theme options // Theme options
theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect", theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,code,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons2 : "undo,redo,|,cut,copy,paste,pasteword,|,bullist,numlist,|,outdent,indent,|,code,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3 : "hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,advhr,|,ltr,rtl,|,fullscreen,|,visualchars,nonbreaking", theme_advanced_buttons3 : "hr,removeformat,|,sub,sup,|,charmap,emotions,iespell,|,ltr,rtl",
theme_advanced_toolbar_location : "top", theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left", theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom", theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true, theme_advanced_resizing : true,
// Example content CSS (should be your site CSS) // Example content CSS (should be your site CSS)
content_css : "css/content.css", content_css : "css/content.css",
// Drop lists for link/image/media/template dialogs // Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js", template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js", external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js", external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js", media_external_list_url : "lists/media_list.js",
// Style formats // Style formats
style_formats : [ style_formats : [
{title : 'Bold text', inline : 'b'}, {title : 'Bold text', inline : 'b'},
{title : 'Red text', inline : 'span', styles : {color : '#ff0000'}}, {title : 'Red text', inline : 'span', styles : {color : '#ff0000'}},
{title : 'Red header', block : 'h1', styles : {color : '#ff0000'}}, {title : 'Red header', block : 'h1', styles : {color : '#ff0000'}},
{title : 'Example 1', inline : 'span', classes : 'example1'}, {title : 'Example 1', inline : 'span', classes : 'example1'},
{title : 'Example 2', inline : 'span', classes : 'example2'}, {title : 'Example 2', inline : 'span', classes : 'example2'},
{title : 'Table styles'}, {title : 'Table styles'},
{title : 'Table row 1', selector : 'tr', classes : 'tablerow1'} {title : 'Table row 1', selector : 'tr', classes : 'tablerow1'}
], ],
// Replace values for the template plugin // Replace values for the template plugin
template_replace_values : { template_replace_values : {
username : "Some User", username : "Some User",
staffid : "991234" staffid : "991234"
} }
}); });
</script>
<!-- /TinyMCE --> function setSankoreData() {
if(window.sankore) {
if(flag)
window.sankore.setPreference("textForEditing", window.frames[0].document.getElementById("tinymce").innerHTML);
}
}
function setTextEditorData() {
if(window.sankore) {
if(!window.frames[0])
setTimeout(function(){setTextEditorData()}, 300);
else {
flag = true;
window.frames[0].document.getElementById("tinymce").innerHTML = window.sankore.preference("textForEditing","<p>Enter your text here ...</p>");
}
}
}
/*function setSpanHandler(){
alert(document.body.innerHTML);
alert(document.getElementById("elm1_toolbargroup").innerHTML);
document.getElementById("elm1_toolbargroup").onmouseout = function(){
setSankoreData();
};
}*/
</script>
<!-- /TinyMCE -->
</head> </head>
<body> <body onmouseout="setSankoreData()" onload="setTextEditorData()">
<textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%">
<textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%"> </textarea>
&lt;p&gt; </body>
This is some example text that you can edit inside the &lt;strong&gt;TinyMCE editor&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
Nam nisi elit, cursus in rhoncus sit amet, pulvinar laoreet leo. Nam sed lectus quam, ut sagittis tellus. Quisque dignissim mauris a augue rutrum tempor. Donec vitae purus nec massa vestibulum ornare sit amet id tellus. Nunc quam mauris, fermentum nec lacinia eget, sollicitudin nec ante. Aliquam molestie volutpat dapibus. Nunc interdum viverra sodales. Morbi laoreet pulvinar gravida. Quisque ut turpis sagittis nunc accumsan vehicula. Duis elementum congue ultrices. Cras faucibus feugiat arcu quis lacinia. In hac habitasse platea dictumst. Pellentesque fermentum magna sit amet tellus varius ullamcorper. Vestibulum at urna augue, eget varius neque. Fusce facilisis venenatis dapibus. Integer non sem at arcu euismod tempor nec sed nisl. Morbi ultricies, mauris ut ultricies adipiscing, felis odio condimentum massa, et luctus est nunc nec eros.
&lt;/p&gt;
</textarea>
</body>
</html> </html>
...@@ -51,7 +51,7 @@ cut_desc:"Cut", ...@@ -51,7 +51,7 @@ cut_desc:"Cut",
copy_desc:"Copy", copy_desc:"Copy",
paste_desc:"Paste", paste_desc:"Paste",
image_props_desc:"Image properties", image_props_desc:"Image properties",
newdocument_desc:"New document", newdocument_desc:"Clean",
help_desc:"Help", help_desc:"Help",
blockquote_desc:"Blockquote", blockquote_desc:"Blockquote",
clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\r\nDo you want more information about this issue?", clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\r\nDo you want more information about this issue?",
......
...@@ -102,7 +102,7 @@ function adn() { ...@@ -102,7 +102,7 @@ function adn() {
document.getElementById("div_zoom").innerHTML='<img src="images/'+elt_a_zoomer+'_zoom.jpg" alt="" />' document.getElementById("div_zoom").innerHTML='<img src="images/'+elt_a_zoomer+'_zoom.jpg" alt="" />'
/*Uniboard 4 ne supportant pas bien les gifs...*/ /*Uniboard 4 ne supportant pas bien les gifs...*/
if(window.uniboard){ if(window.sankore){
document.getElementById("img_ADN").src="images/adn.jpg" document.getElementById("img_ADN").src="images/adn.jpg"
} else { } else {
document.getElementById("img_ADN").src="images/ADN.gif" document.getElementById("img_ADN").src="images/ADN.gif"
......
...@@ -248,7 +248,7 @@ const KEYBT FRENCH_LOCALE[] = { ...@@ -248,7 +248,7 @@ const KEYBT FRENCH_LOCALE[] = {
/* j J */ KEYBT(0x6a, 0x4a), /* j J */ KEYBT(0x6a, 0x4a),
/* k K */ KEYBT(0x6b, 0x4b), /* k K */ KEYBT(0x6b, 0x4b),
/* l L */ KEYBT(0x6c, 0x4c), /* l L */ KEYBT(0x6c, 0x4c),
/* m M */ KEYBT(0x6b, 0x4d), /* m M */ KEYBT(0x6d, 0x4d),
/* ? % */ KEYBT(0xf9, 0x25), /* ? % */ KEYBT(0xf9, 0x25),
/* * ? */ KEYBT(0x2a, 0xb5), /* * ? */ KEYBT(0x2a, 0xb5),
......
...@@ -282,7 +282,7 @@ const KEYBT FRENCH_LOCALE[] = { ...@@ -282,7 +282,7 @@ const KEYBT FRENCH_LOCALE[] = {
/* j J */ KEYBT(0x6a, 0x4a), /* j J */ KEYBT(0x6a, 0x4a),
/* k K */ KEYBT(0x6b, 0x4b), /* k K */ KEYBT(0x6b, 0x4b),
/* l L */ KEYBT(0x6c, 0x4c), /* l L */ KEYBT(0x6c, 0x4c),
/* m M */ KEYBT(0x6b, 0x4d), /* m M */ KEYBT(0x6d, 0x4d),
/* ? % */ KEYBT(0xf9, 0x25), /* ? % */ KEYBT(0xf9, 0x25),
/* * ? */ KEYBT(0x2a, 0xb5), /* * ? */ KEYBT(0x2a, 0xb5),
......
...@@ -75,6 +75,7 @@ void x11SendKey(Display *display, int keyCode, int modifiers) ...@@ -75,6 +75,7 @@ void x11SendKey(Display *display, int keyCode, int modifiers)
void UBKeyboardButton::sendUnicodeSymbol(unsigned int nSymbol1, unsigned int nSymbol2, bool shift) void UBKeyboardButton::sendUnicodeSymbol(unsigned int nSymbol1, unsigned int nSymbol2, bool shift)
{ {
unsigned int nSymbol = shift ? nSymbol2 : nSymbol1; unsigned int nSymbol = shift ? nSymbol2 : nSymbol1;
// Obtain the X11 display. // Obtain the X11 display.
Display *display = XOpenDisplay(0); Display *display = XOpenDisplay(0);
if(display == NULL) if(display == NULL)
...@@ -97,6 +98,7 @@ void UBKeyboardButton::sendControlSymbol(int nSymbol) ...@@ -97,6 +98,7 @@ void UBKeyboardButton::sendControlSymbol(int nSymbol)
if(display == NULL) if(display == NULL)
return; return;
KeyCode keyCode = XKeysymToKeycode(display, nSymbol); KeyCode keyCode = XKeysymToKeycode(display, nSymbol);
if (keyCode != NoSymbol) if (keyCode != NoSymbol)
...@@ -174,8 +176,10 @@ void setSymbolsFromButton(Display *display, ...@@ -174,8 +176,10 @@ void setSymbolsFromButton(Display *display,
{ {
keySyms[byte_per_code * i + 0] = keySyms[byte_per_code * i + 0] =
keySyms[byte_per_code * i + 2] = locale[nFromButton + i]->code1; keySyms[byte_per_code * i + 2] = locale[nFromButton + i]->code1;
keySyms[byte_per_code * i + 1] = keySyms[byte_per_code * i + 1] =
keySyms[byte_per_code * i + 3] = locale[nFromButton + i]->code2; keySyms[byte_per_code * i + 3] = locale[nFromButton + i]->code2;
for(int j=4; j<byte_per_code; j++) for(int j=4; j<byte_per_code; j++)
keySyms[byte_per_code * i + j] = NoSymbol; keySyms[byte_per_code * i + j] = NoSymbol;
} }
...@@ -193,11 +197,8 @@ void UBKeyboardPalette::onLocaleChanged(UBKeyboardLocale* locale) ...@@ -193,11 +197,8 @@ void UBKeyboardPalette::onLocaleChanged(UBKeyboardLocale* locale)
setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 41, 0, 1); setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 41, 0, 1);
setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 2, 1, 12); setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 2, 1, 12);
setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 16, 13, 12); setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 16, 13, 12);
setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 30, 25, 12); setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 30, 25, 11);
setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 44, 37, 10); setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 44, 37, 10);
XCloseDisplay(display); XCloseDisplay(display);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment