GreyLabWindow Class Reference

#include <GreyLab.h>

Collaboration diagram for GreyLabWindow:

Collaboration graph
[legend]

List of all members.


Detailed Description

GreyLab main class.

GreyLab main class containing all the widget definitions, data handling, rendering and output code.

Definition at line 97 of file GreyLab.h.


Public Types

enum  {
  ID_PANEL = DataWinDialog::ID_LAST, ID_KEYWORD, ID_LOADPROJ = ID_KEYWORD+37, ID_LOADPROJPLOT,
  ID_SAVEPROJ, ID_BROWSE, ID_LOAD, ID_LOADMETHOD,
  ID_ACORNEXPORT, ID_TEXTFONT, ID_SYMFONT, ID_NUMFONT,
  ID_AAMETHOD, ID_SD_SWEEPS, ID_DA_YSDCHANGE, ID_DA_RANGE,
  ID_DA_SWEEPCHANGE, ID_DA_XRANGE, ID_DA_AUTOX, ID_DA_SSELECT,
  ID_DA_XPARSE, ID_DA_YPARSE, ID_DA_ZPARSE, ID_DA_PROCESS,
  ID_DA_EXPORT, ID_GS_FLIPY, ID_GS_FLIPX, ID_GS_ZROUND,
  ID_GS_SYMMETRICZ, ID_GS_DIALZ, ID_GS_AUTORANGE, ID_GS_DRAW,
  ID_GS_ZOOMBACK, ID_GS_LOADGRAD, ID_GS_SAVEGRAD, ID_GS_RECALCREQ,
  ID_GS_PLANE, ID_GS_CLEARPLANE, ID_GS_EXPORT, ID_GS_REDRAW,
  ID_GS_GRAD, ID_GS_GRADIENT, ID_GS_BROWSE, ID_GS_SAVE,
  ID_GS_HIRES, ID_LS_DRAW, ID_LS_ZOOMBACK, ID_LS_COPYPARAMS,
  ID_LS_SELECTTRACE, ID_LS_NEWTRACE, ID_LS_TRACEUP, ID_LS_TRACEDOWN,
  ID_LS_PLOTFLIP, ID_LS_TRACEADDCOL, ID_LS_TRACEREMOVECOL, ID_LS_TRACEUPCOL,
  ID_LS_TRACEDOWNCOL, ID_LS_UPDATETRACE, ID_LS_DRAWMODE, ID_LS_EXPORT,
  ID_LS_REDRAW, ID_LS_BROWSE, ID_LS_SAVE, ID_LS_HIRES,
  ID_HM_FLIPY, ID_HM_FLIPX, ID_HM_RECALCREQ, ID_HM_REDRAW,
  ID_HM_DRAWMODE, ID_HM_COPYPARAMS, ID_HM_MOTIONSEL, ID_HM_BROWSE,
  ID_HM_SAVE, ID_ALL_REDRAW, ID_DRAWMODEOFF, ID_GS_SAVELABELS,
  ID_LS_SAVELABELS, ID_HM_SAVELABELS, ID_GS_STOREDLABEL, ID_LS_STOREDLABEL = ID_GS_STOREDLABEL+NUM_STORED_LABELS,
  ID_HM_STOREDLABEL = ID_LS_STOREDLABEL+NUM_STORED_LABELS
}

Public Member Functions

long cmdKeyword (FXObject *, FXSelector, void *)
 Insets an autotext field to the appropriate text box.
long cmdUseStoredLabels (FXObject *, FXSelector, void *)
 Restores the axis labels to a stored set of values.
long cmdSaveLabels (FXObject *, FXSelector, void *)
 Saves the axis labels to a stored set of values.
long cmdPanel (FXObject *, FXSelector, void *)
 Changes interface main tab.
long cmdLoadProject (FXObject *, FXSelector, void *)
 Pops up a file browse box to load project settings.
long cmdLoadProjectPlot (FXObject *, FXSelector, void *)
 Pops up a file browse box to load project settings, process and replot.
long cmdSaveProject (FXObject *, FXSelector, void *)
 Shows a file save box to save project settings.
long cmdLoadBrowse (FXObject *, FXSelector, void *)
 Browse for data file.
long cmdLoad (FXObject *, FXSelector, void *)
 Starts the data loading procedure.
long cmdLoadMethod (FXObject *, FXSelector, void *)
 Change load type radio buttons.
long cmdAcornExport (FXObject *, FXSelector, void *)
 Exports the data to an Acorn CryoMeas text file.
long cmdSelectTextFont (FXObject *, FXSelector, void *)
 Text font selector.
long cmdSelectSymbolFont (FXObject *, FXSelector, void *)
 Symbol font selector.
long cmdSelectNumberFont (FXObject *, FXSelector, void *)
 Nunber font selector.
long cmdBuildFont (FXObject *, FXSelector, void *)
 Re-initialises fonts in font class.
long cmdDrawModeOff (FXObject *, FXSelector, void *)
 Switches of drawing mode.
long cmdAllRedraw (FXObject *, FXSelector, void *)
 Redraws the images when a limit colour is changed.
long cmdSDSelectSweeps (FXObject *, FXSelector, void *)
 Changes selected sweeps when selection changed in iconlist.
long cmdDAysdChange (FXObject *, FXSelector, void *)
 Updates y-range boxes when the ysd listbox is changed.
long cmdDARangeChange (FXObject *, FXSelector, void *)
 Changes hm, ls & gs ranges when the range is changed on the analysis tab.
long cmdDASweepChange (FXObject *, FXSelector, void *)
 Updates y-range boxes when the sweep selection is changed if SweepN ysd selected.
long cmdDAXChange (FXObject *, FXSelector, void *)
 Updates x-range when selected sweeps change.
long cmdDAAutoTarget (FXObject *, FXSelector, void *)
 Update x auto target boxes after enable/disable.
long cmdDAUpdateTarget (FXObject *, FXSelector, void *)
 Update x target boxes.
long cmdDASSelect (FXObject *, FXSelector, void *)
 Updates start and end sweep enabled when check button pressed.
long cmdDAParse (FXObject *, FXSelector, void *)
 Calls the function parser on a change.
long cmdDAProcess (FXObject *, FXSelector, void *)
 Processes the raw data into histogram data.
long cmdDAExport (FXObject *, FXSelector, void *)
 Exports the histogrammed data to a tab separated text file.
long cmdGSFlipX (FXObject *, FXSelector, void *)
 Flip colourscale x axis.
long cmdGSFlipY (FXObject *, FXSelector, void *)
 Flip colourscale y axis.
long cmdGSSymmetricZ (FXObject *, FXSelector, void *)
 Make colourscale z axis symmetric around 0.
long cmdGSDialZ (FXObject *, FXSelector, void *)
 Adjust colourscale z range using the sliders.
long cmdGSAutoRange (FXObject *, FXSelector, void *)
 Auto range colourscale axes.
long cmdGSAutoGrid (FXObject *, FXSelector, void *)
 Calulate colourscale automatic grid settings.
long cmdGSSetZRange (FXObject *, FXSelector, void *)
long cmdGSDrawPalette (FXObject *, FXSelector, void *)
 Show colourscale drawing palette and change mouse mode.
long cmdGSZoomBack (FXObject *, FXSelector, void *)
 Zoom colourscale to previous values.
long cmdGSGradient (FXObject *, FXSelector, void *)
 Redraw after gradient change.
long cmdGSUpdateGradient (FXObject *, FXSelector, void *)
 Updates gradient segment position indicator.
long cmdGSEditGradient (FXObject *, FXSelector, void *)
 Updates gradient after segment position indicator change.
long cmdGSLoadGrad (FXObject *, FXSelector, void *)
 Browse box for gradient load.
long cmdGSSaveGrad (FXObject *, FXSelector, void *)
 Browse box and save for gradient ramp.
long cmdGSRecalcReq (FXObject *, FXSelector, void *)
 Requests recalculation of the colourscale image.
long cmdGSRecalc (FXObject *, FXSelector, void *)
 Recalculates colourscale image data.
long cmdGSPlane (FXObject *, FXSelector, void *)
 Changes the mouse mode to Plane subtraction calculation.
long cmdGSRemovePlane (FXObject *, FXSelector, void *)
 Subtract plane from data.
long cmdGSExport (FXObject *, FXSelector, void *)
 Exports the colourscale data to a tab separated text file.
long cmdGSRedraw (FXObject *, FXSelector, void *)
 Redraws the colourscale image.
long cmdGSBrowse (FXObject *, FXSelector, void *)
 Browse box for colourscale output image file.
long cmdGSSave (FXObject *, FXSelector, void *)
 Saves the colourscale image.
long cmdGSHiresSave (FXObject *, FXSelector, void *)
 Saves a high resultion colourscale image.
long cmdLSDrawPalette (FXObject *, FXSelector, void *)
 Show linescan drawing palette amd change mouse mode.
long cmdLSAutoGrid (FXObject *, FXSelector, void *)
 Calulate linescan automatic grid settings.
long cmdLSAutoRange (FXObject *, FXSelector, void *)
 Auto range linescan axes.
long cmdLSZoomBack (FXObject *, FXSelector, void *)
 Zoom linescan to previous values.
long cmdLSSelectReq (FXObject *, FXSelector, void *)
 Handles mouse actions on the colourscale graph.
long cmdLSZoom (FXObject *o, FXSelector s, void *v)
 Handles mouse actions on the linescan graph.
long cmdLSCopyParams (FXObject *, FXSelector, void *)
 Copies linescan axes from colourscale.
long cmdLSSelectTrace (FXObject *, FXSelector, void *)
 Select linescan trace.
long cmdLSNewTrace (FXObject *, FXSelector, void *)
 Adds the current trace to the permanent list.
long cmdLSUpTrace (FXObject *, FXSelector, void *)
 Move a line trace up the plot order.
long cmdLSDownTrace (FXObject *, FXSelector, void *)
 Move a line trace down the order list.
long cmdLSFlipTrace (FXObject *, FXSelector, void *)
 Flip linescan plotting between horizontal and vertical and back.
long cmdLSAddColourTrace (FXObject *, FXSelector, void *)
 Add a colour to the trace colour list.
long cmdLSRemoveColourTrace (FXObject *, FXSelector, void *)
 Remove a colour from the trace colour list.
long cmdLSUpColourTrace (FXObject *, FXSelector, void *)
 Move a colour up the trace colour order.
long cmdLSDownColourTrace (FXObject *, FXSelector, void *)
 Move a colour down the trace colour order.
long cmdLSUpdateTrace (FXObject *, FXSelector, void *)
 Add or update a trace when the trace text boxes are edited.
long cmdLSDrawMode (FXObject *, FXSelector, void *)
 Switches between selected traces, all traces and average trace.
long cmdLSExport (FXObject *, FXSelector, void *)
 Exports the linescan to a tab separated text file.
long cmdLSRedraw (FXObject *, FXSelector, void *)
 Redraws the linescan image.
long cmdLSBrowse (FXObject *, FXSelector, void *)
 Browse box for linescan ouput image.
long cmdLSSave (FXObject *o, FXSelector, void *)
 Saves the linescan image.
long cmdLSHiresSave (FXObject *o, FXSelector, void *)
 Saves a high resolution linescan image.
long cmdHMFlipX (FXObject *, FXSelector, void *)
 Flip heightmap x axis.
long cmdHMFlipY (FXObject *, FXSelector, void *)
 Flip heightmap y axis.
long cmdHMCopyParams (FXObject *, FXSelector, void *)
 Copies heightmap axes properties from greyscale.
long cmdHMMotionChange (FXObject *, FXSelector, void *)
 Switch mouse motion type between camera and light.
long cmdHMDrawMode (FXObject *, FXSelector, void *)
 Switches between heightmap drawing type (tris, lines, points).
long cmdHMRecalcReq (FXObject *, FXSelector, void *)
 Initiates a heightmap recalculation.
long cmdHMRecalc (FXObject *, FXSelector, void *)
 Recalculates heightmap data.
long cmdHMRedraw (FXObject *, FXSelector, void *)
 Starts a redraw of the heightmap image.
long cmdHMBrowse (FXObject *, FXSelector, void *)
 Browse box for heightmap output image.
long cmdHMSave (FXObject *, FXSelector, void *)
 Saves the heightmap image.
long cmdGSVectorRedraw (FXObject *, FXSelector, void *)
 Redraws colourscale image.
long cmdLSVectorRedraw (FXObject *, FXSelector, void *)
 Redraws linescan image.
void reposition (void)
virtual void create ()
 Create the windows.
virtual ~GreyLabWindow ()
 Destructor.

Protected Member Functions

 GreyLabWindow ()

Protected Attributes

FXDCWindow * gsDCwindow
FXDCWindow * lsDCwindow
FXMenuPane * keysMenupane
FXTabBook * contentsTabbook
FXTabItem * mainTab
FXTabItem * hdrTab
FXTabItem * sdTab
FXTabItem * analysisTab
FXTabItem * greyscaleTab
FXTabItem * linescanTab
FXTabItem * heightmapTab
FXTabItem * settingsTab
FXCheckButton * graphsetCheckbutton
FXButton * browseButton
FXTextField * pathTextfield
FXRadioButton * sdasciiRadiobutton
FXRadioButton * sdacornRadiobutton
FXRadioButton * sdsmartRadiobutton
FXTextField * smarttitlesTextfield
FXTextField * smartdataTextfield
FXRadioButton * sddumbRadiobutton
FXTextField * dumbdataTextfield
FXTextField * dumbcolsperTextfield
FXRadioButton * sdmatrixRadiobutton
FXTextField * matrixdataTextfield
FXTextField * separatorTextfield
FXColorWell * lcolColourwell
FXColorWell * hcolColourwell
FXColorWell * nodataColourwell
FXTextField * textfontTextfield
FXTextField * symfontTextfield
FXTextField * numfontTextfield
FXRadioButton * aaresredRadiobutton
FXRadioButton * aagaussianRadiobutton
FXText * hdText
FXTextField * sdnsweepsTextfield
FXTextField * sdncolsTextfield
FXTextField * sdnsdTextfield
FXTextField * sdnptsTextfield
FXIconList * sdIconlist
FXTextField * dastrideTextfield
FXTextField * dassweepTextfield
FXTextField * daesweepTextfield
FXListBox * daxcolListbox
FXListBox * dazcolListbox
FXListBox * daysdListbox
FXCheckButton * dasweepselectCheckbutton
FXTextField * dayminTextfield
FXTextField * daymaxTextfield
FXTextField * daxinminTextfield
FXTextField * daxinmaxTextfield
FXCheckButton * daxautoCheckbutton
FXTextField * daxtgtminTextfield
FXTextField * daxtgtmaxTextfield
FXTextField * daxtgtresTextfield
FXTextField * dastatusTextfield [3]
FXText * dafunctionText [3]
FXCheckButton * dadiffCheckbutton
FXPopup * dadiffPopup
FXOptionMenu * dadiffOptionmenu
FXCheckButton * daorderCheckbutton
FXCheckButton * daintCheckbutton
FXToggleButton * daintTogglebutton
FXTextField * daintzeroTextfield
FXCheckButton * dascatterCheckbutton
FXListBox * dascatterListbox
FXButton * daprocessButton
FXCheckButton * daexportallCheckbutton
FXCheckButton * gstitleCheckbutton
FXTextField * gstitleTextfield
FXMenuButton * gstitlekeysMenubutton
FXCheckButton * gssubtitleCheckbutton
FXTextField * gssubtitleTextfield
FXMenuButton * gssubtitlekeysMenubutton
FXCheckButton * gsrealtimeCheckbutton
FXTextField * gsymaxTextfield
FXTextField * gsylabelTextfield
FXCheckButton * gsylabelrotCheckbutton
FXTextField * gsyminTextfield
FXTextField * gszmaxTextfield
FXTextField * gszlabelTextfield
FXMenuPane * gszlabelMenupane
FXMenuCheck * gshidegradzlabelMenucheck
FXMenuCheck * gshidescalezlabelMenucheck
FXMenuCheck * gshidelabelzlabelMenucheck
FXMenuCheck * gszlabelrotMenucheck
FXMenuCheck * gszscaleshowendsMenucheck
FXMenuCheck * gszzoomscaleMenucheck
FXMenuCheck * gszscaleroundMenucheck
FXMenuButton * gszlabelMenubutton
FXTextField * gszminTextfield
FXSlider * gszmaxSlider
FXSlider * gszminSlider
FXButton * gszoombackButton
FXTextField * gsxmaxTextfield
FXTextField * gsxlabelTextfield
FXTextField * gsxminTextfield
FXCheckButton * gscontourCheckbutton
FXColorWell * gscontourcolColourwell
FXTextField * gscontourspaceTextfield
FXCheckButton * gscontouraltCheckbutton
FXTextField * gsgammaTextfield
FXMenuButton * gsgraphlabelsMenubutton
FXMenuPane * gslabelsMenupane
FXMenuCommand * gslabelsMenucommand [NUM_STORED_LABELS]
FXTextField * gsxresTextfield
FXTextField * gsyresTextfield
FXCheckButton * gsxinterpCheckbutton
FXCheckButton * gsyinterpCheckbutton
FXTextField * gsxmajortickTextfield
FXCheckButton * gsxmajorgridCheckbutton
FXColorWell * gsxmajorcolColourwell
FXTextField * gsxminortickTextfield
FXCheckButton * gsxminorgridCheckbutton
FXColorWell * gsxminorcolColourwell
FXTextField * gsymajortickTextfield
FXCheckButton * gsymajorgridCheckbutton
FXColorWell * gsymajorcolColourwell
FXTextField * gsyminortickTextfield
FXCheckButton * gsyminorgridCheckbutton
FXColorWell * gsyminorcolColourwell
FXGradientBar * zgradGradient
FXTextField * gsgradlowerTextfield
FXTextField * gsgradmiddleTextfield
FXTextField * gsgradupperTextfield
FXLabel * gsplaneLabel
FXTextField * gspathTextfield
FXMenuButton * gspathkeysMenubutton
FXButton * gsbrowseButton
FXButton * gssaveButton
FXCheckButton * gsexportallCheckbutton
FXCheckButton * lstitleCheckbutton
FXTextField * lstitleTextfield
FXMenuButton * lstitlekeysMenubutton
FXCheckButton * lssubtitleCheckbutton
FXTextField * lssubtitleTextfield
FXMenuButton * lssubtitlekeysMenubutton
FXTextField * lszmaxTextfield
FXTextField * lszlabelTextfield
FXCheckButton * lszlabelrotCheckbutton
FXTextField * lszminTextfield
FXCheckButton * lslegendCheckbutton
FXButton * lszoombackButton
FXTextField * lsxmaxTextfield
FXTextField * lsxlabelTextfield
FXTextField * lsxminTextfield
FXMenuButton * lsgraphlabelsMenubutton
FXMenuPane * lslabelsMenupane
FXMenuCommand * lslabelsMenucommand [NUM_STORED_LABELS]
FXTextField * lsxresTextfield
FXTextField * lszresTextfield
FXTextField * lsstrokeTextfield
FXCheckButton * lsgradientcolsCheckbutton
FXTextField * lsxmajortickTextfield
FXCheckButton * lsxmajorgridCheckbutton
FXColorWell * lsxmajorcolColourwell
FXTextField * lsxminortickTextfield
FXCheckButton * lsxminorgridCheckbutton
FXColorWell * lsxminorcolColourwell
FXTextField * lszmajortickTextfield
FXCheckButton * lszmajorgridCheckbutton
FXColorWell * lszmajorcolColourwell
FXTe