;+ ; 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