added widget ctrl

bugs need to be fixed:
* each button TODO
* position changing bug: can't minify the height
* position changing bug: save data and revert when page switched