I have a scenario where interacting with an inventory item on the inventory screen needs to change the currently displayed view for the item. For example, the action being taken within the inventory screen is turning on a flashlight. I want to swap out the view of the flashlight being off to a view of the flashlight being on.
A kludgey solution is to hide and show the inventory screen, but this also introduces a flicker-effect because the window is being torn down and redisplayed:
(gInv hide:)
(gInv show:)
What's the correct way to do this? Is there a built-in way to ask the inventory screen to refresh itself? Or should I instead reference the view within the inventory screen, change the view and call forceUpd - or something along these lines?