;+
; Set properties of the object widget.
;
; @keyword title {in}{optional}{type=string} title of the base
; @keyword offset {in}{optional}{type=lonarr(2)} offset in pixels of the
; upper-left corner of the base from the upper-left corner of the
; widget
;-
pro mgobjectwidget::setProperty, title=title, offset=offset
compile_opt strictarr
if (n_elements(title) gt 0) then begin
widget_control, self.tlb, tlb_set_title=title
end
if (n_elements(offset) gt 0) then begin
widget_control, self.tlb, $
tlb_set_xoffset=offset[0], $
tlb_set_yoffset=offset[1]
endif
end
;+
; Get properties of the object widget.
;
; @keyword offset {out}{optional}{type=lonarr(2)} offset in pixels of the
; upper-left corner of the base from the upper-left corner of the
; widget
; @keyword size {out}{optional}{type=lonarr(2)} size in pixels of the tlb
;-
pro mgobjectwidget::getProperty, offset=offset, size=size
compile_opt strictarr
widget_control, self.tlb, tlb_get_offset=offset, size=size
end
;+
; Event handler for all widgets in the program.
;
; @param event {in}{required}{type=structure} event structure for any event
; generated by the widget program
;-
pro mgobjectwidget::handleEvents, event
compile_opt strictarr
end
;+
; Called when the widget program is being destroyed.
;
; @param tlb {in}{required}{type=long} widget ID for the top-level base
;-
pro mgobjectwidget::cleanupWidgets, tlb
compile_opt strictarr
end
;+
; Start XMANAGER.
;-
pro mgobjectwidget::startXManager
compile_opt strictarr
; start up events
xmanager, self.name, self.tlb, /no_block, $
event_handler='mg_object_event_handler', $
cleanup='mg_object_cleanup'
end
;+
; Cleanup resources.
;-
pro mgobjectwidget::cleanup
compile_opt strictarr
end
;+
; Create on object widget.
;
; @returns 1B for success, 0B otherwise
;-
function mgobjectwidget::init, name=name
compile_opt strictarr
self.name = n_elements(name) eq 0 ? obj_class(self) : name
return, 1B
end
;+
; Define member variables.
;
; @file_comments This is a base class to inherit from to create an object
; widget.
; @field tlb top-level base widget ID
;-
pro mgobjectwidget__define
compile_opt strictarr
define = { mgobjectwidget, $
tlb : 0L, $
name : '' $
}
end