You should use the core list widget instead of reinventing the wheel