JG ROOT Tools libraries  version 5.0 - august 2014
RGContourEdit Class Reference

#include <RGContourEdit.hh>

Inheritance diagram for RGContourEdit:
RGGetPoints RGFrameEvent RGContourListEdit

Public Member Functions

 RGContourEdit (const TGWindow *main, TVirtualPad *pad, const char *title, RContour &ctr, const string &options="", const u_int flags=0, const bool auto_start=true)
 
 RGContourEdit (const TGWindow *main, TVirtualPad *pad, const char *title, const string &options="", const u_int flags=0, const bool auto_start=false)
 
virtual ~RGContourEdit ()
 
virtual void Construct ()
 
virtual void InfoWidgetMap ()
 
virtual void Request ()
 
virtual void SetOptions (const string &opts="")
 
virtual void ContourTypeSelection (Int_t id)
 
virtual void DoneButton ()
 
virtual void ContourNameChanged (const char *str)
 
virtual void GateCenterButton ()
 
virtual void GateFlipHVButton ()
 
 ClassDef (RGContourEdit, 0)
 
- Public Member Functions inherited from RGGetPoints
 RGGetPoints (const TGWindow *main, TVirtualPad *pad, const char *title, UInt_t &nb, RPoint2D *&result, const string &options="", const u_int flags=0, const bool auto_start=true)
 
 RGGetPoints (const TGWindow *main, TVirtualPad *pad, const char *title, const string &options="", const u_int flags=0, const bool auto_start=false)
 
virtual ~RGGetPoints ()
 
virtual void EventLoop ()
 
virtual void Quit ()
 
virtual void SetContextHelpText (const string &text)
 
virtual void SetDimMode (Int_t m)
 
virtual void PadClosed ()
 
virtual void MouseSelect (const Double_t x, const Double_t y)
 
virtual void MouseMove (const Double_t x, const Double_t y)
 
virtual void MouseDelete (const Double_t x, const Double_t y)
 
virtual void MouseButton1Down (const Double_t x, const Double_t y)
 
virtual void MouseButton1Double (const Double_t x, const Double_t y)
 
virtual void MouseButton1Up (const Double_t x, const Double_t y)
 
virtual void MouseButton2Down (const Double_t x, const Double_t y)
 
virtual void MouseButton2Double (const Double_t x, const Double_t y)
 
virtual void MouseButton2Up (const Double_t x, const Double_t y)
 
virtual void MouseButton3Down (const Double_t x, const Double_t y)
 
virtual void MouseButton3Double (const Double_t x, const Double_t y)
 
virtual void MouseButton3Up (const Double_t x, const Double_t y)
 
virtual void Locate (const Double_t x, const Double_t y)
 
virtual void AnyEvent (const Double_t x, const Double_t y)
 
virtual void PointDeleted (RPointMark *p)
 
virtual void AddPoint (const Double_t x, const Double_t y, const bool select=true)
 
virtual void RemovePoint (RPointMark *p)
 
virtual void UpdatePointsNumber ()
 
virtual void UpdatePosition (const Double_t x, const Double_t y)
 
virtual void UpdatePointPosition (const UInt_t n)
 
virtual void PointNumberValueSet (Long_t val)
 
virtual void PointNumberTextChanged (const char *str)
 
virtual void PointSetButton ()
 
virtual void HelpButton ()
 
virtual void CancelButton ()
 
 ClassDef (RGGetPoints, 0)
 
- Public Member Functions inherited from RGFrameEvent
 RGFrameEvent (TVirtualPad *pad=gPad)
 
 RGFrameEvent (const RGFrameEvent &original)
 
RGFrameEventoperator= (const RGFrameEvent &original)
 
virtual ~RGFrameEvent ()
 
virtual void PadEvent (Int_t event, Int_t x, Int_t y, TObject *selected)
 
virtual void KeyPressed (const Int_t x, const Int_t y)
 
virtual void AltKeyPressed ()
 
virtual void CtrlKeyPressed ()
 
virtual void ShiftKeyPressed ()
 
virtual void ReturnKeyPressed ()
 
virtual void MouseButton1Locate (const Double_t x, const Double_t y)
 
virtual void MouseButton1Motion (const Double_t x, const Double_t y)
 
virtual void MouseButton2Locate (const Double_t x, const Double_t y)
 
virtual void MouseButton2Motion (const Double_t x, const Double_t y)
 
virtual void MouseButton3Locate (const Double_t x, const Double_t y)
 
virtual void MouseButton3Motion (const Double_t x, const Double_t y)
 
 ClassDef (RGFrameEvent, 0)
 

Protected Member Functions

virtual void SetContourPoints ()
 
virtual void SetContourType (const Int_t type)
 
virtual void UpdateContourType ()
 
virtual void UpdateContourInfo ()
 
virtual void UpdatePointAttr (RPointMark *p)
 
virtual void MovePoint (RPointMark *p, const Double_t x, const Double_t y)
 
virtual void DrawAssociatedObject ()
 
virtual bool ContourEditCheck ()
 
virtual void UpdateContour ()
 
- Protected Member Functions inherited from RGGetPoints
virtual void SetWindow ()
 
virtual void SetMouseFlags (const u_int flags)
 
virtual void SetDimFlags (const u_int flags)
 
Double_t ClosestPointDistance (const Double_t x, const Double_t y, RPointMark *&ptr)
 
RPointMarkClosestPoint (const Double_t x, const Double_t y)
 
virtual void SelectPoint (RPointMark *p)
 
virtual void SetModified (const bool status=true)
 
virtual void RedrawPoints ()
 
virtual void DeleteAssociatedObject ()
 

Protected Attributes

RContourcontour_ptr
 Pointer to defined contour (output)
 
RContour contour
 Contour object being edited.
 
TAttMarker c_att
 Specific markers attributes (center,...)
 
TGGroupFrame * w_gc_contour_group
 Cadre des information sur le contour.
 
TGHorizontalFrame * w_gc_name_hframe
 Ligne widgets de nom.
 
TGTextEntry * w_gc_name_text
 Nom du contour contour.
 
TGHorizontalFrame * w_gc_type_hframe
 Ligne widgets de type.
 
TGComboBox * w_gc_type_select
 Choix du type de contour.
 
TGVerticalFrame * w_gc_data_vframe
 Cadre des données
 
TGHorizontalFrame * w_gc_ellipse_hframe
 Ligne des données: cas d'une ellipse.
 
TGNumberEntryField * w_gc_ellipse_center_x
 Position X du centre.
 
TGNumberEntryField * w_gc_ellipse_center_y
 Position Y du centre.
 
TGNumberEntryField * w_gc_ellipse_radius_a
 Rayon principal.
 
TGNumberEntryField * w_gc_ellipse_radius_b
 Rayon principal.
 
TGNumberEntryField * w_gc_ellipse_angle
 Angle.
 
TGHorizontalFrame * w_gc_circle_hframe
 Ligne des données: cas d'un cercle.
 
TGNumberEntryField * w_gc_circle_center_x
 Position X du centre.
 
TGNumberEntryField * w_gc_circle_center_y
 Position Y du centre.
 
TGNumberEntryField * w_gc_circle_radius
 Rayon.
 
TGHorizontalFrame * w_gc_gate_hframe
 Ligne des données: cas d'une gate.
 
TGTextButton * w_gc_gate_center
 Recentre le contour.
 
TGTextButton * w_gc_gate_flip_hv
 Modifie la position horizontal-verticale.
 
- Protected Attributes inherited from RGGetPoints
bool exit_flag
 End of request check.
 
bool constructed
 Flag if request is constructed.
 
bool modified
 Flag if points have been modified.
 
u_int request_flags
 Request options: buttons choice.
 
u_int mouse_flags
 Use of mouse buttons.
 
Int_t dim_mode
 Display in 1D/2D mode.
 
UInt_t req_w
 Default window size (for adjustments if size is changed)
 
bool move_lock
 Flag for point move phase.
 
ROptionString options
 Options.
 
UInt_t n_points_min
 Minimum number of points to get.
 
UInt_t n_points_max
 Maximum number of points to get.
 
bool min_on
 Flag indicated that there is a minimum number of requested points.
 
bool max_on
 Flag indicated that there is a maximum number of requested points.
 
bool marker_on
 Flag indicating a marker plotting.
 
bool line_on
 Flag indicating a line plotting.
 
bool line_close
 Flag indicating that a line is closed.
 
TAttMarker m_att
 Standard points marker attributes (2D mode)
 
TAttMarker s_att
 Selected point marker attributes (2D mode)
 
TAttLine l_att
 Line attributes (2D mode)
 
TAttLine ml_att
 Standard line attributes (1D mode)
 
TAttLine sl_att
 Selected line attributes (1D mode)
 
Double_t select_distance
 Selection distance (pixels)
 
RPointMarkselect_point
 Pointer to point at selection distance.
 
UInt_t * out_number
 Pointer to points number (output)
 
RPoint2D ** out_points
 Pointer to points array (output)
 
string window_title
 Request title.
 
string help_message
 Help text message.
 
TList draw_list
 List of ROOT objects to draw.
 
TGCompositeFrame * w_gp_main
 Main frame for points widgets.
 
TGGroupFrame * w_gp_point_frame
 Frame for point information.
 
TGHorizontalFrame * w_gp_point_num_h_frame
 Points number line.
 
TGNumberEntry * w_gp_point_number
 Current point number.
 
TGNumberEntryField * w_gp_total_number
 Number of points defined.
 
TGNumberEntryField * w_gp_min_number
 Minimum requested number of points.
 
TGNumberEntryField * w_gp_max_number
 Maximum requested number of points.
 
TGHorizontalFrame * w_gp_point_coord_h_frame
 Coordinates line.
 
TGTextButton * w_gp_set_button
 Point update button.
 
TGHorizontalFrame * w_gp_point_x_frame
 X coordinate frame.
 
TGNumberEntry * w_gp_point_x_number
 X point value.
 
TGHorizontalFrame * w_gp_point_y_frame
 X coordinate frame.
 
TGNumberEntry * w_gp_point_y_number
 Y point value.
 
TGCompositeFrame * w_gp_button_frame
 Buttons frame.
 
TGTextButton * w_gp_help_button
 Help button.
 
TGTextButton * w_gp_cancel_button
 Cancel button.
 
TGTextButton * w_gp_done_button
 Validation button.
 
- Protected Attributes inherited from RGFrameEvent
TVirtualPad * pad_ptr
 Pointer to pad where events are processed.
 

Private Types

enum  RGFlags {
  noGate = 0x00010000, no1D = 0x000F0000, noPolygon = 0x00100000, noEllipse = 0x00200000,
  noCircle = 0x00400000, no2D = 0x00F00000, onlyGate = 0x00FE0000, onlyPolygon = 0x00EF0000,
  onlyEllipse = 0x00DF0000, onlyCircle = 0x00BF0000, noGateFlip = 0x01000000
}
 ! Definition of specific request options More...
 
enum  ContourUserBits { contourNothing = 0x00000000, contourDisplay = 0x00000001, contourEdited = 0x00000002 }
 ! Definition of user bits for RContour objects More...
 
typedef GListIterT< RPointMarkiterator
 ! Points list iterator local definition (from RGGetPoints class)
 

Private Member Functions

 GObject (RGContourEdit)
 
 RGContourEdit (const RGContourEdit &obj)
 

Detailed Description

class RGContourEdit

Class to define a contour from a points in a pad.

Additional options with respect to RGGetPoints:

  • CCOL: specific markers color (centre,...)
  • CSTY: specific markers style (centre,...)
  • CSIZ: specific markers size (centre,...)

Member Enumeration Documentation

enum RGContourEdit::RGFlags
private
Enumerator
noGate 

Bit indiquant qu'on ne traite pas les contours gate.

no1D 

Bit indiquant qu'on ne traite pas les contours 1D.

noPolygon 

Bit indiquant qu'on ne traite pas les contours polygone.

noEllipse 

Bit indiquant qu'on ne traite pas les contours ellipse.

noCircle 

Bit indiquant qu'on ne traite pas les contours cercle.

no2D 

Bit indiquant qu'on ne traite pas les contours 2D.

onlyGate 

Bit indiquant qu'on ne traite que les contours gate.

onlyPolygon 

Bit indiquant qu'on ne traite que les contours polygone.

onlyEllipse 

Bit indiquant qu'on ne traite que les contours ellipse.

onlyCircle 

Bit indiquant qu'on ne traite que les contours cercle.

noGateFlip 

Bit indiquant qu'on n'autorise pas les changement d'orientation.

Enumerator
contourNothing 

Aucun bit utilisateur.

contourDisplay 

Indique si un contour est affiché

contourEdited 

Indique si un contour est édité

Constructor & Destructor Documentation

RGContourEdit::RGContourEdit ( const TGWindow *  main,
TVirtualPad *  pad,
const char *  title,
RContour ctr,
const string &  opts = "",
const u_int  flags = 0,
const bool  auto_start = true 
)

Constructor of a contour editor, with returned data (contour).

Parameters
mainmain application window
padpad pointer
titlewindow title
ctredited contour (modified in output)
optsgraphical options (see class description)
flagsrequest options
auto_startflag for execution at construction

References contour, contour_ptr, RContour::ContourBase(), Request(), and SetContourPoints().

RGContourEdit::RGContourEdit ( const TGWindow *  main,
TVirtualPad *  pad,
const char *  title,
const string &  opts = "",
const u_int  flags = 0,
const bool  auto_start = false 
)

Constructor of a contour editor, without returned data (for use in derived classes).

Parameters
mainmain application window
padpad pointer
titlewindow title
optsgraphical options (see class description)
flagsrequest options
auto_startflag for execution at construction

References contour, contour_ptr, and Request().

RGContourEdit::RGContourEdit ( const RGContourEdit obj)
private

Copy constructor, not implemented.

Parameters
objobject to copy
RGContourEdit::~RGContourEdit ( )
virtual

Destructor.

Referenced by Request().

Member Function Documentation

RGContourEdit::GObject ( RGContourEdit  )
private

Macro from GCpp library that defines the following functions:

  • ClassName(): return the real class name of the object
  • StaticClassName(): return the used class name of the object (that may be a base class of the real object).
  • IsInstanceOf<T>(): return true if the current object is an instance of the template class name argument
  • Clone(): return an allocated copy of the object.
void RGContourEdit::Request ( )
virtual
void RGContourEdit::SetOptions ( const string &  opts = "")
virtual

Graphical options definition.

Reimplemented from RGGetPoints.

Reimplemented in RGContourListEdit.

References c_att, RGGetPoints::line_on, RGGetPoints::marker_on, RGGetPoints::min_on, RGGetPoints::options, and RGGetPoints::SetOptions().

Referenced by Request(), and RGContourListEdit::SetOptions().

void RGContourEdit::SetContourPoints ( )
protectedvirtual
void RGContourEdit::SetContourType ( const Int_t  type)
protectedvirtual

Set the type of contour.

Parameters
typecontour type (see RContour::CTypes)

References contour, InfoWidgetMap(), RGGetPoints::SetModified(), RContour::Type(), and UpdateContourType().

Referenced by ContourTypeSelection(), and Request().

void RGContourEdit::UpdatePointAttr ( RPointMark p)
protectedvirtual

Update graphical attributes of a point (depending on selection distance).

Parameters
ppointer to point

Reimplemented from RGGetPoints.

References c_att, contour, RGGetPoints::m_att, RGGetPoints::s_att, RGGetPoints::select_point, and RContour::Type().

void RGContourEdit::MovePoint ( RPointMark p,
const Double_t  x,
const Double_t  y 
)
protectedvirtual

Move a point.

Parameters
ppointer to point
xnew X position
ynew Y position

Reimplemented from RGGetPoints.

References contour, RGGetPoints::MovePoint(), RGGetPoints::RedrawPoints(), RGGetPoints::SetModified(), and RContour::Type().

bool RGContourEdit::ContourEditCheck ( )
protectedvirtual

Check if edited contour is valid (enough points,...). If this is not the case, display an information requester.

References RDico::brq_continue, RDico::brq_warning, RDico::ct_ed_num_error, RGGetPoints::min_on, RGGetPoints::n_points_min, and rDico.

Referenced by DoneButton(), and RGContourListEdit::UpdateContourButton().

void RGContourEdit::ContourTypeSelection ( Int_t  id)
virtual

Slot contour type selection.

Parameters
idselected type

References SetContourType().

void RGContourEdit::DoneButton ( )
virtual

Slot of "Done" (OK) button.

Reimplemented from RGGetPoints.

Reimplemented in RGContourListEdit.

References ContourEditCheck(), RGGetPoints::exit_flag, and UpdateContour().

void RGContourEdit::ContourNameChanged ( const char *  str)
virtual

Slot of contour name.

Parameters
strcontour name string

References contour, RContour::Rename(), and RGGetPoints::SetModified().

void RGContourEdit::GateCenterButton ( )
virtual
RGContourEdit::ClassDef ( RGContourEdit  ,
 
)

For ROOT dictionary.


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