From 99aee188d16b252c8343d15781412baac295216c Mon Sep 17 00:00:00 2001 From: "caillon%returnzero.com" Date: Wed, 17 Apr 2002 14:46:21 +0000 Subject: [PATCH] Make WidgetStateManager also remember the .checked property for . This fixes bug 134441, Scripts & Windows pref panel doesn't remember checkboxes on viewing it the second time. r=hewitt, sr=ben git-svn-id: svn://10.0.0.236/trunk@119234 18797224-902f-48f8-a5cc-f745e15eee43 --- .../resources/content/nsWidgetStateManager.js | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/mozilla/xpfe/global/resources/content/nsWidgetStateManager.js b/mozilla/xpfe/global/resources/content/nsWidgetStateManager.js index 9eacc0834e3..b933e9cd3b5 100644 --- a/mozilla/xpfe/global/resources/content/nsWidgetStateManager.js +++ b/mozilla/xpfe/global/resources/content/nsWidgetStateManager.js @@ -84,7 +84,9 @@ function nsWidgetStateManager ( aFrameID ) checkbox: { get: wsm.get_Checkbox, set: wsm.set_Checkbox }, textbox: - { get: wsm.get_Textbox, set: wsm.set_Textbox}, + { get: wsm.get_Textbox, set: wsm.set_Textbox }, + listitem: + { get: wsm.get_Listitem, set: wsm.set_Listitem }, default_handler: { get: wsm.get_Default, set: wsm.set_Default } } @@ -303,7 +305,7 @@ nsWidgetStateManager.prototype = var dataObject = wsm.generic_Get( element ); if( dataObject ) { - dataObject.value = wsm.contentArea.document.getElementById( aElementID ).value; + dataObject.value = element.value; return dataObject; } return null; @@ -328,13 +330,37 @@ nsWidgetStateManager.prototype = var dataObject = wsm.generic_Get( element ); if( dataObject ) { - var checked = wsm.contentArea.document.getElementById( aElementID ).checked; + var checked = element.checked; dataObject.checked = element.getAttribute("reversed") == "true" ? !checked : checked; return dataObject; } return null; }, + // + set_Listitem: + function ( aElementID, aDataObject ) + { + var element = wsm.contentArea.document.getElementById( aElementID ); + wsm.generic_Set( element, aDataObject ); + }, + + get_Listitem: + function ( aElementID ) + { + var element = wsm.contentArea.document.getElementById( aElementID ); + var dataObject = wsm.generic_Get( element ); + if( dataObject ) + { + if( element.getAttribute("type") == "checkbox" ) + { + dataObject.checked = element.checked; + } + return dataObject; + } + return null; + }, + // set_Default: function ( aElementID, aDataObject )