;+
;NAME:
; spd_ui_spectra_settings__define
;
;PURPOSE:
; spectra properties is an object that holds all of the settings necessary for
; spectral data plots
;
;CALLING SEQUENCE:
; spectraSettings = Obj_New("SPD_UI_SPECTRA_SETTINGS")
;
;INPUT:
; none
;
;KEYWORDS:
; dataX string naming the x component of the spectral plot
; dataY string naming the y component of the spectral plot
; dataz string naming the z component of the spectral plot
;
;OUTPUT:
; spectra property object reference
;
;METHODS:
; SetProperty procedure to set keywords
; GetProperty procedure to get keywords
; GetAll returns the entire structure
; GetPlacements returns string array of placement options
; GetPlacement returns name of placement option given an index
; GetColorTables returns string array of color tables
; GetColorTable returns name of color table given an index
;
;NOTES:
; Methods: GetProperty,SetProperty,GetAll,SetAll are now managed automatically using the parent class
; spd_ui_getset. You can still call these methods when using objects of type spd_ui_spectra_settings, and
; call them in the same way as before
;
;$LastChangedBy:pcruce $
;$LastChangedDate:2009-09-10 09:15:19 -0700 (Thu, 10 Sep 2009) $
;$LastChangedRevision:6707 $
;$URL:svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/spedas/spd_ui/objects/spd_ui_spectra_settings__define.pro $
;-----------------------------------------------------------------------------------
FUNCTION SPD_UI_SPECTRA_SETTINGS::Copy
out = Obj_New("SPD_UI_SPECTRA_SETTINGS")
selfClass = Obj_Class(self)
outClass = Obj_Class(out)
IF selfClass NE outClass THEN BEGIN
dprint, 'Object classes not identical'
RETURN, -1
END
Struct_Assign, self, out
RETURN, out
END ;--------------------------------------------------------------------------------
;this routine will update references to a data quantity
;This should be used if a name has changed while traces are
;already in existence .
;arguments should be two arrays of strings, with the arrays being of equal length
;changed will be set to 1 if a value is changed
pro spd_ui_spectra_settings::updatedatareference,oldnames,newnames,changed=changed
compile_opt idl2
changed=0
self->getProperty,datax=datax,datay=datay,dataz=dataz
idx = where(datax eq oldnames,c)
if c then begin
changed = 1
self->setProperty,datax=newnames[idx]
endif
idx = where(datay eq oldnames,c)
if c then begin
changed = 1
self->setProperty,datay = newnames[idx]
endif
idx = where(dataz eq oldnames,c)
if c then begin
changed = 1
self->setProperty,dataz = newnames[idx]
endif
end
FUNCTION SPD_UI_SPECTRA_SETTINGS::Init,dataX=dataX,dataY=dataY,dataZ=dataZ
if n_elements(dataX) eq 0 then dataX = ''
if n_elements(dataY) eq 0 then dataY = ''
if n_elements(dataZ) eq 0 then dataZ = ''
self.dataX = dataX
self.dataY = dataY
self.dataZ = dataZ
RETURN, 1
END ;--------------------------------------------------------------------------------
PRO SPD_UI_SPECTRA_SETTINGS__DEFINE
struct = { SPD_UI_SPECTRA_SETTINGS,$
dataX : '', $ ; string naming the x component of the spectral plot
dataY : '', $ ; string naming the y component of the spectral plot
dataZ : '', $ ; string naming the z component of the spectral plot
INHERITS SPD_UI_READWRITE, $ ; generalized read/write methods
inherits spd_ui_getset $ ; generalized setProperty/getProperty/getAll/setAll methods
}
END