pro mgwidsurfaceproperties::show
compile_opt strictarr
widget_control, self.tlb, /show
end
pro mgwidsurfaceproperties::handleEvents, event
compile_opt strictarr
uname = widget_info(event.id, /uname)
case uname of
'properties': begin
value = widget_info(event.id, property_value=event.identifier)
help, value, event.identifier, event.component
event.component->setPropertyByIdentifier, event.identifier, value
if (obj_valid(self.viewer)) then self.viewer->refreshDisplay
end
else: message, 'unknown widget generated event'
endcase
end
pro mgwidsurfaceproperties::cleanupWidgets, tlb
compile_opt strictarr
obj_destroy, self
end
pro mgwidsurfaceproperties::createWidgets
compile_opt strictarr
self.tlb = widget_base(title='Surface properties', /column, uvalue=self)
surfaceProperties = widget_propertysheet(self.tlb, uname='properties', $
value=self.surface, $
xsize=50, ysize=20)
end
pro mgwidsurfaceproperties::realizeWidgets
compile_opt strictarr
widget_control, self.tlb, /realize
end
pro mgwidsurfaceproperties::startXmanager
compile_opt strictarr
xmanager, 'mgwidsurfaceproperties', self.tlb, /no_block, $
event_handler='mg_object_event_handler', $
cleanup='mg_object_cleanup'
end
pro mgwidsurfaceproperties::cleanup
compile_opt strictarr
if (widget_info(self.tlb, /valid)) then widget_control, self.tlb, /destroy
end
function mgwidsurfaceproperties::init, surface, viewer=viewer
compile_opt strictarr
self.surface = surface
if (n_elements(viewer) gt 0L) then self.viewer = viewer
self->createWidgets
self->realizeWidgets
self->startXmanager
return, 1
end
pro mgwidsurfaceproperties__define
compile_opt strictarr
define = { MGwidSurfaceProperties, $
tlb: 0L, $
surface: obj_new(), $
viewer: obj_new() $
}
end