Update of /cvsroot/dynapi/dynapi/src/lib/dynapi/gui
In directory usw-pr-cvs1:/tmp/cvs-serv22771
Modified Files:
list.js label.js
Log Message:
Speed improvement fixes for button widget.
The events should now work correctly (no 2 list items should be highlighted at the
same time)
Index: list.js
===================================================================
RCS file: /cvsroot/dynapi/dynapi/src/lib/dynapi/gui/list.js,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** list.js 2001/01/08 22:45:43 1.2
--- list.js 2001/01/17 22:28:46 1.3
***************
*** 32,38 ****
ListItem.listevents.onmouseover = function (e) {
var o = e.getSource();
! if (!o.selected) {
o.setBgColor(o.itemStyle.bgColorRoll);
o.setFontColor(o.itemStyle.textRoll);
}
o.isMouseOver = true;
--- 32,45 ----
ListItem.listevents.onmouseover = function (e) {
var o = e.getSource();
! if (!o.selected && !o.isMouseOver) {
o.setBgColor(o.itemStyle.bgColorRoll);
o.setFontColor(o.itemStyle.textRoll);
+ for (var i=0;i<o.list.items.length;i++) {
+ if (o.list.items[i]!=o && !o.list.items[i].selected &&
+o.list.items[i].isMouseOver) {
+
+o.list.items[i].setBgColor(o.list.items[i].itemStyle.bgcolor);
+
+o.list.items[i].setFontColor(o.list.items[i].itemStyle.textNormal);
+ o.list.items[i].isMouseOver = false;
+ }
+ }
}
o.isMouseOver = true;
***************
*** 40,44 ****
ListItem.listevents.onmouseout = function (e) {
var o = e.getSource();
! if (!o.selected) {
o.setBgColor(o.itemStyle.bgcolor);
o.setFontColor(o.itemStyle.textNormal);
--- 47,51 ----
ListItem.listevents.onmouseout = function (e) {
var o = e.getSource();
! if (!o.selected && o.isMouseOver) {
o.setBgColor(o.itemStyle.bgcolor);
o.setFontColor(o.itemStyle.textNormal);
***************
*** 64,78 ****
ListItem.prototype.setSelected = function(b) {
if (this.selected=b) {
this.setBgColor(this.itemStyle.bgColorSelect);
this.setFontColor(this.itemStyle.textSelect);
- if (this.itemStyle.bos) this.setFontBold(true);
- if (this.itemStyle.ios) this.setFontItalic(true);
this.invokeEvent("select");
}
else if (this.deselectable) {
this.setBgColor(this.isMouseOver?this.itemStyle.bgColorRoll:this.itemStyle.bgcolor)
this.setFontColor(this.itemStyle.textNormal);
- if (this.itemStyle.bos) this.setFontBold(false);
- if (this.itemStyle.ios) this.setFontItalic(false);
this.invokeEvent("deselect");
}
--- 71,85 ----
ListItem.prototype.setSelected = function(b) {
if (this.selected=b) {
+ if (this.itemStyle.bos) this.setFontBold(true,false);
+ if (this.itemStyle.ios) this.setFontItalic(true,false);
this.setBgColor(this.itemStyle.bgColorSelect);
this.setFontColor(this.itemStyle.textSelect);
this.invokeEvent("select");
}
else if (this.deselectable) {
+ if (this.itemStyle.bos) this.setFontBold(false,false);
+ if (this.itemStyle.ios) this.setFontItalic(false,false);
this.setBgColor(this.isMouseOver?this.itemStyle.bgColorRoll:this.itemStyle.bgcolor)
this.setFontColor(this.itemStyle.textNormal);
this.invokeEvent("deselect");
}
***************
*** 115,123 ****
List.prototype.add = function(text,value){
var i = new ListItem(text,value);
var ls = this.listStyle;
i.setColors(ls.bg,ls.bgRoll,ls.bgSelect,ls.textNormal,ls.textRoll,ls.textSelect);
i.setPadding(ls.padding);
- if (ls.bos) i.boldOnSelect(true);
- if (ls.ios) i.italicOnSelect(true);
i.addEventListener(this.ievents);
this.addChild(i);
--- 122,131 ----
List.prototype.add = function(text,value){
var i = new ListItem(text,value);
+ i.list = this;
var ls = this.listStyle;
i.setColors(ls.bg,ls.bgRoll,ls.bgSelect,ls.textNormal,ls.textRoll,ls.textSelect);
+ if (ls.bos) i.boldOnSelect(true,false);
+ if (ls.ios) i.italicOnSelect(true,false);
i.setPadding(ls.padding);
i.addEventListener(this.ievents);
this.addChild(i);
***************
*** 190,194 ****
List.prototype.setColors =
function(bg,bgRoll,bgSelect,textNormal,textRoll,textSelect){
var ls = this.listStyle;
! ls.listStyle.bg = bg||ls.bg;
ls.bgRoll = bgRoll||ls.bgRoll;
ls.bgSelect = bgSelect||ls.bgSelect;
--- 198,202 ----
List.prototype.setColors =
function(bg,bgRoll,bgSelect,textNormal,textRoll,textSelect){
var ls = this.listStyle;
! ls.bg = bg||ls.bg;
ls.bgRoll = bgRoll||ls.bgRoll;
ls.bgSelect = bgSelect||ls.bgSelect;
Index: label.js
===================================================================
RCS file: /cvsroot/dynapi/dynapi/src/lib/dynapi/gui/label.js,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** label.js 2001/01/08 22:45:07 1.8
--- label.js 2001/01/17 22:28:47 1.9
***************
*** 71,104 ****
this.setHTML(this.textFull);
};
! Label.prototype.setFontFamily = function(f) {
this.font.family = f;
! this.setText(this.text);
};
! Label.prototype.setFontSize = function(s) {
this.font.size = s;
! this.setText(this.text);
};
! Label.prototype.setFontBold = function(b) {
this.font.bold = b;
! this.setText(this.text);
};
! Label.prototype.setFontItalic = function(b) {
this.font.italic = b;
! this.setText(this.text);
};
! Label.prototype.setFontColor = function(b) {
this.font.color = b;
! this.setText(this.text);
};
Label.prototype.getText = function() {
return this.text;
};
! Label.prototype.setWrap = function(wrap) {
this.wrap = wrap;
! this.setText(this.text);
};
! Label.prototype.setPadding = function(p) {
this.padding = p;
! this.setText(this.text);
};
Label.prototype.setAlignment = function(a) {
--- 71,104 ----
this.setHTML(this.textFull);
};
! Label.prototype.setFontFamily = function(f,noevt) {
this.font.family = f;
! if (noevt!=false) this.setText(this.text);
};
! Label.prototype.setFontSize = function(s,noevt) {
this.font.size = s;
! if (noevt!=false) this.setText(this.text);
};
! Label.prototype.setFontBold = function(b,noevt) {
this.font.bold = b;
! if (noevt!=false) this.setText(this.text);
};
! Label.prototype.setFontItalic = function(b,noevt) {
this.font.italic = b;
! if (noevt!=false) this.setText(this.text);
};
! Label.prototype.setFontColor = function(b,noevt) {
this.font.color = b;
! if (noevt!=false) this.setText(this.text);
};
Label.prototype.getText = function() {
return this.text;
};
! Label.prototype.setWrap = function(wrap,noevt) {
this.wrap = wrap;
! if (noevt!=false) this.setText(this.text);
};
! Label.prototype.setPadding = function(p,noevt) {
this.padding = p;
! if (noevt!=false) this.setText(this.text);
};
Label.prototype.setAlignment = function(a) {
_______________________________________________
Dynapi-CVS mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dynapi-cvs