SPM_ScanControl Class Reference

#include <spm_scancontrol.h>

Inheritance diagram for SPM_ScanControl:

AppBase MyGnomeTools MyGnomeTools List of all members.

Public Member Functions

 SPM_ScanControl ()
virtual ~SPM_ScanControl ()
void update ()
int free_scan_lists ()
int initialize_scan_lists ()
int initialize_default_pid_src ()
int initialize_pid_src ()
int initialize_daq_srcs ()
int prepare_to_start_scan (SCAN_DT_TYPE st=SCAN_LINESCAN)
int setup_scan (int ch, const gchar *titleprefix, const gchar *name, const gchar *unit, const gchar *label, const gchar *vunit=NULL, const gchar *vlabel=NULL, const gchar *prbsrcs=NULL, int prboutp=0)
void do_scanline (int init=FALSE)
void run_probe (int ipx, int ipy)
int do_scan ()
int do_hscapture ()
void set_subscan (int ix0=0, int num=0)
void stop_scan ()
int pause_scan ()
int scan_in_progress ()
int finish_scan ()
double update_status_info (int reset=FALSE)
void autosave_check (double sec, int initvalue=0)
int set_x_lookup_value (int i, double lv)
int set_y_lookup_value (int i, double lv)
int set_l_lookup_value (int i, double lv)
void SetScanDir (GtkWidget *w)
void ClrScanDir (GtkWidget *w)
int GetScanDir ()

Static Public Member Functions

static void call_scan_start (Scan *sc, gpointer data)
static void call_scan_draw_line (Scan *sc, gpointer data)
static void call_scan_stop (Scan *sc, gpointer data)

Private Attributes

UnitObjUnity
Scanmaster_scan
Scanmaster_probescan
GSList * xp_scan_list
GSList * xp_2nd_scan_list
GSList * xp_prbscan_list
GSList * xm_scan_list
GSList * xm_2nd_scan_list
GSList * xm_prbscan_list
int xp_srcs
int xm_srcs
int xp_2nd_srcs
int xm_2nd_srcs
int YOriginTop
int yline
int line
int line2update
int ix0off
SCAN_FLAG scan_flag
SCAN_DIR scan_dir
SCAN_DIR last_scan_dir
gboolean do_probe

Detailed Description

Definition at line 39 of file spm_scancontrol.h.


Constructor & Destructor Documentation

SPM_ScanControl::SPM_ScanControl  ) 
 

Definition at line 308 of file spm_scancontrol.C.

References AppBase::AppWidgetInit(), cb_setscandir(), do_probe, FALSE, gapp, last_scan_dir, master_probescan, master_scan, N_, App::RegisterPluginToolbarButton(), scan_dir, SCAN_DIR_BOTUP, SCAN_DIR_TOPDOWN, SCAN_DIR_TOPDOWN_BOTUP, scan_flag, SCAN_FLAG_READY, spm_scancontrol_hscapture_callback(), spm_scancontrol_movie_callback(), spm_scancontrol_pause_callback(), spm_scancontrol_start_callback(), spm_scancontrol_stop_callback(), TRUE, Unity, AppBase::vbox, AppBase::widget, xm_2nd_scan_list, xm_prbscan_list, xm_scan_list, xp_2nd_scan_list, xp_prbscan_list, and xp_scan_list.

SPM_ScanControl::~SPM_ScanControl  )  [virtual]
 

Definition at line 459 of file spm_scancontrol.C.

References do_scanline(), gapp, line, App::RegisterPluginToolbarButton(), TRUE, and Unity.


Member Function Documentation

void SPM_ScanControl::autosave_check double  sec,
int  initvalue = 0
 

Definition at line 1505 of file spm_scancontrol.C.

References XSMRESOURCES::AutosaveOverwritemode, XSMRESOURCES::AutosaveUnit, XSMRESOURCES::AutosaveValue, Scan::data, DBG_L3, FALSE, gapp, Xsm::IsMode(), line, master_scan, MODE_AUTOSAVE, Scan_Param::ny, PI_DEBUG, SCAN_DATA::s, Surface::save(), TRUE, App::xsm, and xsmres.

Referenced by do_scan(), and do_scanline().

static void SPM_ScanControl::call_scan_draw_line Scan sc,
gpointer  data
[inline, static]
 

Definition at line 108 of file spm_scancontrol.h.

References Scan::draw(), and line2update.

Referenced by do_scanline().

static void SPM_ScanControl::call_scan_start Scan sc,
gpointer  data
[inline, static]
 

Definition at line 107 of file spm_scancontrol.h.

References Scan::start().

Referenced by do_hscapture(), and do_scan().

static void SPM_ScanControl::call_scan_stop Scan sc,
gpointer  data
[inline, static]
 

Definition at line 111 of file spm_scancontrol.h.

References last_scan_dir, line, SCAN_DIR_TOPDOWN, scan_flag, SCAN_FLAG_STOP, and Scan::stop().

Referenced by do_hscapture(), and do_scan().

void SPM_ScanControl::ClrScanDir GtkWidget *  w  )  [inline]
 

Definition at line 120 of file spm_scancontrol.h.

Referenced by cb_setscandir().

int SPM_ScanControl::do_hscapture  ) 
 

Definition at line 1308 of file spm_scancontrol.C.

References Scan_Param::alpha, call_scan_start(), call_scan_stop(), GnomeAppService::check_events(), Scan::data, DBG_L2, DBG_L4, do_scanline(), Scan_Param::dx, Scan_Param::dy, XSM_Hardware::EndScan2D(), FALSE, finish_scan(), free_scan_lists(), gapp, XSM_Hardware::GetPreScanLineOffset(), Xsm::hardware, Xsm::Inst, IS_SPALEED_CTRL, ix0off, line, MonitorControl::LogEvent(), master_scan, App::monitorcontrol, XSM_Hardware::MovetoXY(), Scan_Param::nx, Scan_Param::ny, PI_DEBUG, PI_DEBUG_PLAIN, prepare_to_start_scan(), R2INT, SCAN_DATA::s, scan_flag, SCAN_FLAG_STOP, SCAN_FRAMECAPTURE, scan_in_progress(), XSM_Hardware::SetAlpha(), XSM_Hardware::SetOffset(), Scan_Param::SPA_OrgX, Scan_Param::SPA_OrgY, App::spm_freeze_scanparam(), XSM_Hardware::StartScan2D(), stop_scan(), TRUE, update_status_info(), Scan_Param::x0, XSM_Instrument::X0A2Dig(), XSM_Instrument::XA2Dig(), xm_scan_list, xm_srcs, xp_scan_list, xp_srcs, XSM_Instrument::XResolution(), App::xsm, Scan_Param::y0, XSM_Instrument::Y0A2Dig(), XSM_Instrument::YA2Dig(), yline, YOriginTop, and XSM_Instrument::YResolution().

int SPM_ScanControl::do_scan  ) 
 

Definition at line 1156 of file spm_scancontrol.C.

References Scan_Param::alpha, autosave_check(), XSMRESOURCES::AutosaveValue, call_scan_start(), call_scan_stop(), XSM_Hardware::CallIdleFunc(), GnomeAppService::check_events(), Scan::data, DBG_L2, DBG_L3, do_scanline(), Scan_Param::dx, Scan_Param::dy, XSM_Hardware::EndScan2D(), FALSE, finish_scan(), free_scan_lists(), gapp, XSM_Hardware::GetPreScanLineOffset(), Xsm::hardware, Xsm::Inst, IS_SPALEED_CTRL, ix0off, last_scan_dir, line, MonitorControl::LogEvent(), master_scan, App::monitorcontrol, XSM_Hardware::MovetoXY(), Scan_Param::nx, Scan_Param::ny, PI_DEBUG, PI_DEBUG_PLAIN, prepare_to_start_scan(), R2INT, SCAN_DATA::s, scan_dir, SCAN_DIR_BOTUP, SCAN_DIR_TOPDOWN, SCAN_DIR_TOPDOWN_BOTUP, scan_flag, SCAN_FLAG_RUN, SCAN_FLAG_STOP, scan_in_progress(), XSM_Hardware::ScanDirection(), set_subscan(), XSM_Hardware::SetAlpha(), XSM_Hardware::SetIdleFunc(), XSM_Hardware::SetOffset(), Scan_Param::SPA_OrgX, Scan_Param::SPA_OrgY, App::spm_freeze_scanparam(), XSM_Hardware::StartScan2D(), stop_scan(), TRUE, update_status_info(), Scan_Param::x0, XSM_Instrument::X0A2Dig(), XSM_Instrument::XA2Dig(), xm_scan_list, xm_srcs, xp_scan_list, xp_srcs, XSM_Instrument::XResolution(), App::xsm, xsmres, Scan_Param::y0, XSM_Instrument::Y0A2Dig(), XSM_Instrument::YA2Dig(), yline, YOriginTop, and XSM_Instrument::YResolution().

void SPM_ScanControl::do_scanline int  init = FALSE  ) 
 

Definition at line 1026 of file spm_scancontrol.C.

References autosave_check(), call_scan_draw_line(), IdleRefreshFuncData::data, DBG_L2, gapp, Xsm::hardware, IdleRefreshFunc(), ix0off, line, line2update, PI_DEBUG, IdleRefreshFuncData::scan_list, XSM_Hardware::ScanLineM(), XSM_Hardware::SetIdleFunc(), update_status_info(), IdleRefreshFuncData::UpdateFunc, xm_scan_list, xm_srcs, xp_scan_list, xp_srcs, and App::xsm.

Referenced by do_hscapture(), do_scan(), and ~SPM_ScanControl().

int SPM_ScanControl::finish_scan  ) 
 

Definition at line 1398 of file spm_scancontrol.C.

References DBG_L2, FALSE, free_scan_lists(), gapp, Xsm::hardware, MonitorControl::LogEvent(), App::monitorcontrol, XSM_Hardware::MovetoXY(), PI_DEBUG, scan_flag, SCAN_FLAG_READY, SCAN_FLAG_STOP, App::SetStatus(), App::spm_thaw_scanparam(), TRUE, and App::xsm.

Referenced by do_hscapture(), and do_scan().

int SPM_ScanControl::free_scan_lists  ) 
 

Definition at line 589 of file spm_scancontrol.C.

References xm_2nd_scan_list, xm_prbscan_list, xm_scan_list, xp_2nd_scan_list, xp_prbscan_list, and xp_scan_list.

Referenced by do_hscapture(), do_scan(), and finish_scan().

int SPM_ScanControl::GetScanDir  )  [inline]
 

Definition at line 121 of file spm_scancontrol.h.

Referenced by spm_scancontrol_SaveValues_callback().

int SPM_ScanControl::initialize_daq_srcs  ) 
 

int SPM_ScanControl::initialize_default_pid_src  ) 
 

int SPM_ScanControl::initialize_pid_src  ) 
 

int SPM_ScanControl::initialize_scan_lists  ) 
 

Definition at line 619 of file spm_scancontrol.C.

References DAQCHMAX, XSMRESOURCES::daqchno, XSMRESOURCES::daqsrc, XSMRESOURCES::daqZlabel, XSMRESOURCES::daqZunit, DBG_L3, do_probe, FALSE, Surface::FindChan(), gapp, ID_CH_M_2ND_OFFSET, master_probescan, master_scan, MAXSCANS, MSK_AUX, MSK_MUXA, MSK_MUXB, MSK_PID, PI_DEBUG, PIDCHMAX, XSMRESOURCES::pidchno, XSMRESOURCES::pidsrc, XSMRESOURCES::pidsrcZlabel, XSMRESOURCES::pidsrcZunit, Surface::scan, setup_scan(), TRUE, xm_2nd_scan_list, xm_2nd_srcs, xm_prbscan_list, xm_scan_list, xm_srcs, xp_2nd_scan_list, xp_2nd_srcs, xp_prbscan_list, xp_scan_list, xp_srcs, App::xsm, and xsmres.

Referenced by prepare_to_start_scan().

int SPM_ScanControl::pause_scan  )  [inline]
 

Definition at line 80 of file spm_scancontrol.h.

References scan_flag, SCAN_FLAG_PAUSE, and SCAN_FLAG_RUN.

int SPM_ScanControl::prepare_to_start_scan SCAN_DT_TYPE  st = SCAN_LINESCAN  ) 
 

Definition at line 937 of file spm_scancontrol.C.

References GnomeAppService::check_events(), Xsm::data, Scan_Param::dx, Scan_Param::dy, Scan_Param::dz, ERR_SCAN_CANCEL, ERR_SORRY, FALSE, gapp, Xsm::hardware, initialize_scan_lists(), Xsm::Inst, IS_SPALEED_CTRL, Scan_Param::nx, Scan_Param::ny, R2INT, SCAN_DATA::s, scan_flag, SCAN_FLAG_RUN, XSMRESOURCES::ScanOrgCenter, XSM_Hardware::SetDxDy(), XSM_Hardware::SetNxNy(), App::SetStatus(), App::SignalStartScanEventToPlugins(), TRUE, XSM_Instrument::XA2Dig(), xm_srcs, xp_srcs, App::xsm, XSM_SHOW_ALERT, xsmres, XSM_Instrument::YA2Dig(), YOriginTop, and XSM_Instrument::ZResolution().

Referenced by do_hscapture(), and do_scan().

void SPM_ScanControl::run_probe int  ipx,
int  ipy
 

Definition at line 1125 of file spm_scancontrol.C.

int SPM_ScanControl::scan_in_progress  )  [inline]
 

Definition at line 89 of file spm_scancontrol.h.

References FALSE, scan_flag, SCAN_FLAG_PAUSE, SCAN_FLAG_RUN, and TRUE.

Referenced by do_hscapture(), and do_scan().

int SPM_ScanControl::set_l_lookup_value int  i,
double  lv
 

void SPM_ScanControl::set_subscan int  ix0 = 0,
int  num = 0
 

Definition at line 1129 of file spm_scancontrol.C.

References Scan::data, DBG_L2, ix0off, master_scan, Scan_Param::nx, PI_DEBUG, SCAN_DATA::s, xm_scan_list, and xp_scan_list.

Referenced by do_scan().

int SPM_ScanControl::set_x_lookup_value int  i,
double  lv
 

int SPM_ScanControl::set_y_lookup_value int  i,
double  lv
 

void SPM_ScanControl::SetScanDir GtkWidget *  w  )  [inline]
 

Definition at line 117 of file spm_scancontrol.h.

References DBG_L2, PI_DEBUG, and scan_dir.

Referenced by cb_setscandir().

int SPM_ScanControl::setup_scan int  ch,
const gchar *  titleprefix,
const gchar *  name,
const gchar *  unit,
const gchar *  label,
const gchar *  vunit = NULL,
const gchar *  vlabel = NULL,
const gchar *  prbsrcs = NULL,
int  prboutp = 0
 

Definition at line 864 of file spm_scancontrol.C.

References Surface::ChannelView, Scan::create(), Scan::data, Xsm::data, DBG_L2, SCAN_DATA::display, Scan::draw(), Scan_Param::dz, ERR_NOMEM, ERR_SORRY, FALSE, gapp, Xsm::Inst, Xsm::MakeUnit(), Surface::NewScan(), PI_DEBUG, SCAN_DATA::s, Surface::scan, Scan_UserInfo::SetName(), Scan_UserInfo::SetOriginalName(), Scan_UserInfo::SetTitle(), Scan_UserInfo::SetType(), SCAN_DATA::SetZUnit(), TRUE, SCAN_DATA::ui, Display_Param::ViewFlg, App::xsm, XSM_SHOW_ALERT, and XSM_Instrument::ZResolution().

Referenced by initialize_scan_lists().

void SPM_ScanControl::stop_scan  )  [inline]
 

Definition at line 76 of file spm_scancontrol.h.

References scan_flag, SCAN_FLAG_PAUSE, SCAN_FLAG_RUN, and SCAN_FLAG_STOP.

Referenced by do_hscapture(), and do_scan().

void SPM_ScanControl::update  ) 
 

Definition at line 479 of file spm_scancontrol.C.

References App::update_ec(), and AppBase::widget.

double SPM_ScanControl::update_status_info int  reset = FALSE  ) 
 

Definition at line 1438 of file spm_scancontrol.C.

References Scan::data, gapp, XSM_Hardware::GetStatusInfo(), Xsm::hardware, last_scan_dir, line, MonitorControl::LogEvent(), master_scan, App::monitorcontrol, Scan_Param::ny, SCAN_DATA::s, SCAN_DIR_TOPDOWN, App::SetStatus(), and App::xsm.

Referenced by do_hscapture(), do_scan(), and do_scanline().


Member Data Documentation

gboolean SPM_ScanControl::do_probe [private]
 

Definition at line 146 of file spm_scancontrol.h.

Referenced by initialize_scan_lists(), and SPM_ScanControl().

int SPM_ScanControl::ix0off [private]
 

Definition at line 143 of file spm_scancontrol.h.

Referenced by do_hscapture(), do_scan(), do_scanline(), and set_subscan().

SCAN_DIR SPM_ScanControl::last_scan_dir [private]
 

Definition at line 145 of file spm_scancontrol.h.

Referenced by call_scan_stop(), do_scan(), SPM_ScanControl(), and update_status_info().

int SPM_ScanControl::line [private]
 

Definition at line 142 of file spm_scancontrol.h.

Referenced by autosave_check(), call_scan_stop(), do_hscapture(), do_scan(), do_scanline(), update_status_info(), and ~SPM_ScanControl().

int SPM_ScanControl::line2update [private]
 

Definition at line 142 of file spm_scancontrol.h.

Referenced by call_scan_draw_line(), and do_scanline().

Scan* SPM_ScanControl::master_probescan [private]
 

Definition at line 126 of file spm_scancontrol.h.

Referenced by initialize_scan_lists(), and SPM_ScanControl().

Scan* SPM_ScanControl::master_scan [private]
 

Definition at line 125 of file spm_scancontrol.h.

Referenced by autosave_check(), do_hscapture(), do_scan(), initialize_scan_lists(), set_subscan(), SPM_ScanControl(), and update_status_info().

SCAN_DIR SPM_ScanControl::scan_dir [private]
 

Definition at line 145 of file spm_scancontrol.h.

Referenced by do_scan(), SetScanDir(), and SPM_ScanControl().

SCAN_FLAG SPM_ScanControl::scan_flag [private]
 

Definition at line 144 of file spm_scancontrol.h.

Referenced by call_scan_stop(), do_hscapture(), do_scan(), finish_scan(), pause_scan(), prepare_to_start_scan(), scan_in_progress(), SPM_ScanControl(), and stop_scan().

UnitObj* SPM_ScanControl::Unity [private]
 

Definition at line 121 of file spm_scancontrol.h.

Referenced by SPM_ScanControl(), and ~SPM_ScanControl().

GSList * SPM_ScanControl::xm_2nd_scan_list [private]
 

Definition at line 130 of file spm_scancontrol.h.

Referenced by free_scan_lists(), initialize_scan_lists(), and SPM_ScanControl().

int SPM_ScanControl::xm_2nd_srcs [private]
 

Definition at line 134 of file spm_scancontrol.h.

Referenced by initialize_scan_lists().

GSList * SPM_ScanControl::xm_prbscan_list [private]
 

Definition at line 130 of file spm_scancontrol.h.

Referenced by free_scan_lists(), initialize_scan_lists(), and SPM_ScanControl().

GSList* SPM_ScanControl::xm_scan_list [private]
 

Definition at line 130 of file spm_scancontrol.h.

Referenced by do_hscapture(), do_scan(), do_scanline(), free_scan_lists(), initialize_scan_lists(), set_subscan(), and SPM_ScanControl().

int SPM_ScanControl::xm_srcs [private]
 

Definition at line 133 of file spm_scancontrol.h.

Referenced by do_hscapture(), do_scan(), do_scanline(), initialize_scan_lists(), and prepare_to_start_scan().

GSList * SPM_ScanControl::xp_2nd_scan_list [private]
 

Definition at line 129 of file spm_scancontrol.h.

Referenced by free_scan_lists(), initialize_scan_lists(), and SPM_ScanControl().

int SPM_ScanControl::xp_2nd_srcs [private]
 

Definition at line 134 of file spm_scancontrol.h.

Referenced by initialize_scan_lists().

GSList * SPM_ScanControl::xp_prbscan_list [private]
 

Definition at line 129 of file spm_scancontrol.h.

Referenced by free_scan_lists(), initialize_scan_lists(), and SPM_ScanControl().

GSList* SPM_ScanControl::xp_scan_list [private]
 

Definition at line 129 of file spm_scancontrol.h.

Referenced by do_hscapture(), do_scan(), do_scanline(), free_scan_lists(), initialize_scan_lists(), set_subscan(), and SPM_ScanControl().

int SPM_ScanControl::xp_srcs [private]
 

Definition at line 133 of file spm_scancontrol.h.

Referenced by do_hscapture(), do_scan(), do_scanline(), initialize_scan_lists(), and prepare_to_start_scan().

int SPM_ScanControl::yline [private]
 

Definition at line 140 of file spm_scancontrol.h.

Referenced by do_hscapture(), and do_scan().

int SPM_ScanControl::YOriginTop [private]
 

Definition at line 136 of file spm_scancontrol.h.

Referenced by do_hscapture(), do_scan(), and prepare_to_start_scan().


The documentation for this class was generated from the following files:
Generated on Sat Apr 1 09:06:25 2006 for GXSM by  doxygen 1.4.6