FOX/ObjCryst++  1.10.X (development)
ObjCryst::WXMultiGraph Class Reference
+ Inheritance diagram for ObjCryst::WXMultiGraph:
+ Collaboration diagram for ObjCryst::WXMultiGraph:


struct  GraphData

Public Member Functions

 WXMultiGraph (wxFrame *frame)
void OnPaint (wxPaintEvent &event)
void OnMouse (wxMouseEvent &event)
void OnMouseWheel (wxMouseEvent &event)
void OnKeyDown (wxKeyEvent &event)
unsigned long AddGraph (const std::string &name)
 Add a graph. More...
void SetGraphData (const unsigned long id, const std::valarray< float > &vx, const std::valarray< float > &vy)
 Set data for a given graph. More...
virtual void DeleteGraph (const unsigned long id)
 Remove graph.
void AutoScale (const long id=-1, const bool xmin=true, const bool xmax=true, const bool ymin=true, const bool ymax=true)
 Auto-scale graph, i.e. More...
void OnUpdateUI (wxUpdateUIEvent &event)
void OnSize (wxSizeEvent &event)
void SetXLabel (const wxString &xlabel)
void SetYLabel (const wxString &ylabel)
virtual void UpdateDisplay ()

Private Member Functions

void Data2Screen (float &x, float &y)
 Convert data to screen (pixel) coordinates.
void Screen2Data (float &x, float &y)
 Convert screen (pixel) to data coordinates.

Private Attributes

std::map< unsigned long,
float mMinX
 The current min & max values along x and y.
float mMaxX
float mMinY
float mMaxY
long mLeft
 The margins in pixels around the graph.
long mRight
long mTop
long mBottom
wxMenu * mpPopUpMenu
 Pop-up menu.
bool mIsDragging
 Are we within a dragging event ?
float mDragX0
 dragging origin (in reduced coordinates)
float mDragY0
CrystMutex mMutexData
 Mutex for the data.
wxFrame * mpParentFrame
 parent frame
wxString mXLabel
 X label.
wxString mYLabel
 Y label.

Detailed Description

Definition at line 53 of file wxMultiGraph.h.

Member Function Documentation

unsigned long ObjCryst::WXMultiGraph::AddGraph ( const std::string &  name)

Add a graph.

This returns an ID identifying the graph

Definition at line 150 of file wxMultiGraph.cpp.

void ObjCryst::WXMultiGraph::AutoScale ( const long  id = -1,
const bool  xmin = true,
const bool  xmax = true,
const bool  ymin = true,
const bool  ymax = true 

Auto-scale graph, i.e.

bring min& max along both axes to the min&max of a given graph. However

Definition at line 421 of file wxMultiGraph.cpp.

void ObjCryst::WXMultiGraph::SetGraphData ( const unsigned long  id,
const std::valarray< float > &  vx,
const std::valarray< float > &  vy 

Set data for a given graph.

The two arrays must have the same number of elements

Definition at line 165 of file wxMultiGraph.cpp.

The documentation for this class was generated from the following files: