modified all the widget to manage readonly property