PEBL 2.2
Psychology Experiment Building Language - Cross-platform psychological experiment development system
PEllipse Class Reference

#include <PDrawObject.h>

Inheritance diagram for PEllipse:
PDrawObject PWidget PEBLObjectBase PlatformEllipse PlatformEllipse

Public Member Functions

 PEllipse (pInt x1, pInt y1, pInt rx, pInt ry, Variant fg, bool filled)
 
virtual ~PEllipse ()
 
virtual pInt GetWidth () const
 
virtual pInt GetHeight () const
 
virtual void SetSize (pInt dx, pInt dy)
 
virtual std::ostream & SendToStream (std::ostream &out)
 
virtual bool SetProperty (std::string, Variant v)
 
virtual Variant GetProperty (std::string) const
 
virtual ObjectValidationError ValidateProperty (std::string, Variant v) const
 
virtual ObjectValidationError ValidateProperty (std::string) const
 
- Public Member Functions inherited from PDrawObject
 PDrawObject ()
 
virtual ~PDrawObject ()
 
virtual void SetFilled (bool filled)
 
virtual void SetColor (Variant col)
 
virtual void SetOutlineColor (Variant ocol)
 
virtual void SetAA (bool aa)
 
- Public Member Functions inherited from PWidget
 PWidget ()
 
 PWidget (const PWidget &pw)
 
 PWidget (pInt x, pInt y, pInt width, pInt height, bool visible)
 
virtual ~PWidget ()
 
virtual bool RotoZoom (pDouble angle, pDouble zoomx, pDouble zoomy, pInt smooth)
 
virtual bool SetPoint (pInt x, pInt y, PColor col)
 
virtual PColor GetPixel (pInt x, pInt y)
 
virtual void SetParent (PWidget *widget)
 This unconditionally sets the parent widget.
 
virtual PWidgetGetParent ()
 
virtual bool IsParent (PWidget *parent)
 
virtual bool Draw ()
 
virtual void SetPosition (pInt x, pInt y)
 This sets the widget's position on its parent widget.
 
virtual void SetZoomX (pDouble x)
 This sets the widget's position on its parent widget.
 
virtual void SetZoomY (pDouble x)
 This sets the widget's position on its parent widget.
 
virtual void SetRotation (pDouble x)
 This sets the widget's position on its parent widget.
 
virtual void SetWidth (pInt w)
 
virtual void SetHeight (pInt h)
 
virtual pInt GetX () const
 
virtual pInt GetY () const
 
virtual void SetBackgroundColor (const PColor &color)
 
virtual PColor GetBackgroundColor ()
 
virtual bool AddSubWidget (PWidget *widget)
 
virtual bool RemoveSubWidget (PWidget *widget)
 
virtual bool RemoveSubWidgets ()
 
virtual bool RemoveLastSubWidget ()
 This is probably pretty useless.
 
virtual void Show ()
 
virtual void Hide ()
 
virtual bool IsVisible () const
 
virtual std::string ObjectName () const
 
- Public Member Functions inherited from PEBLObjectBase
 PEBLObjectBase ()
 Standard Constructor.
 
 PEBLObjectBase (ComplexDataType cdt)
 Standard Constructor.
 
 PEBLObjectBase (const PEBLObjectBase &pob)
 
virtual ~PEBLObjectBase ()
 Standard Destructor.
 
virtual bool InitializeProperty (std::string name, Variant v)
 
Variant GetProperty (std::string) const
 
ComplexDataType GetType ()
 
virtual std::ostream & PrintProperties (std::ostream &out)
 
virtual Variant GetPropertyList ()
 

Protected Attributes

pInt mRX
 
pInt mRY
 
- Protected Attributes inherited from PDrawObject
bool mFilled
 
bool mAntiAliased
 
- Protected Attributes inherited from PWidget
pInt mX
 
pInt mY
 
pInt mDrawX
 
pInt mDrawY
 
pInt mWidth
 
pInt mHeight
 
pDouble mZoomX
 
pDouble mZoomY
 
pDouble mRotation
 
PColor mBackgroundColor
 The background color of the widget. if alpha = 0, will not be painted.
 
std::list< PWidget * > mSubWidgets
 
bool mIsVisible
 
PWidgetmParent
 
- Protected Attributes inherited from PEBLObjectBase
ComplexDataType mCDT
 
std::map< std::string, VariantmProperties
 

Additional Inherited Members

- Protected Member Functions inherited from PDrawObject
virtual std::ostream & SendToStream (std::ostream &out) const =0
 An inheritable printing class used by PEBLObjectBase::operator<<.
 
PColorGetColor () const
 
PColorGetOutlineColor () const
 

Detailed Description

Definition at line 221 of file PDrawObject.h.

Constructor & Destructor Documentation

◆ PEllipse()

PEllipse::PEllipse ( pInt  x1,
pInt  y1,
pInt  rx,
pInt  ry,
Variant  fg,
bool  filled 
)

Definition at line 563 of file PDrawObject.cpp.

564{
565 SetPosition(x1,y1);
566 SetFilled(filled);
567 InitializeProperty("NAME",Variant("<ELLIPSE>"));
568 InitializeProperty("RX",rx);
569 InitializeProperty("RY",ry);
570 SetSize(rx,ry);
571 SetColor(col);
572 SetOutlineColor(col);
574}
virtual void SetAA(bool aa)
virtual void SetOutlineColor(Variant ocol)
virtual void SetColor(Variant col)
virtual void SetFilled(bool filled)
virtual bool InitializeProperty(std::string name, Variant v)
virtual void SetSize(pInt dx, pInt dy)
virtual void SetPosition(pInt x, pInt y)
This sets the widget's position on its parent widget.
Definition PWidget.cpp:220

References PEBLObjectBase::InitializeProperty(), PDrawObject::SetAA(), PDrawObject::SetColor(), PDrawObject::SetFilled(), PDrawObject::SetOutlineColor(), PWidget::SetPosition(), and SetSize().

◆ ~PEllipse()

PEllipse::~PEllipse ( )
virtual

Definition at line 576 of file PDrawObject.cpp.

577{
578}

Member Function Documentation

◆ GetHeight()

virtual pInt PEllipse::GetHeight ( ) const
inlinevirtual

Reimplemented from PWidget.

Definition at line 227 of file PDrawObject.h.

227{return mRY;};

References mRY.

◆ GetProperty()

Variant PEllipse::GetProperty ( std::string  name) const
virtual

Reimplemented from PDrawObject.

Definition at line 613 of file PDrawObject.cpp.

614{
615 return PEBLObjectBase::GetProperty(name);
616
617}
Variant GetProperty(std::string) const

References PEBLObjectBase::GetProperty().

◆ GetWidth()

virtual pInt PEllipse::GetWidth ( ) const
inlinevirtual

Reimplemented from PWidget.

Definition at line 226 of file PDrawObject.h.

226{return mRX;};

References mRX.

◆ SendToStream()

std::ostream & PEllipse::SendToStream ( std::ostream &  out)
virtual

Definition at line 587 of file PDrawObject.cpp.

588{
589 out << "PEllipse";
590 return out;
591}

◆ SetProperty()

bool PEllipse::SetProperty ( std::string  name,
Variant  v 
)
virtual

Reimplemented from PDrawObject.

Reimplemented in PlatformEllipse.

Definition at line 593 of file PDrawObject.cpp.

594{
595
596 if(!PDrawObject::SetProperty(name,v))
597 {
598
599 if("RX" == name)
600 {SetSize(v,mRY);
601 }
602 else if ("RY" == name)
603 {SetSize(mRX,v);
604 }
605 else
606 {return false;
607 }
608 }
609 return true;
610}
virtual bool SetProperty(std::string, Variant v)

References mRX, mRY, PDrawObject::SetProperty(), and SetSize().

Referenced by PlatformEllipse::SetProperty().

◆ SetSize()

void PEllipse::SetSize ( pInt  dx,
pInt  dy 
)
virtual

Definition at line 579 of file PDrawObject.cpp.

580{
581 mRX = dx;
582 mRY = dy;
585}
virtual bool SetProperty(std::string name, Variant v)

References mRX, mRY, and PEBLObjectBase::SetProperty().

Referenced by PEllipse(), and SetProperty().

◆ ValidateProperty() [1/2]

ObjectValidationError PEllipse::ValidateProperty ( std::string  name) const
virtual

Reimplemented from PDrawObject.

Reimplemented in PlatformEllipse.

Definition at line 625 of file PDrawObject.cpp.

626{
627
629 {
630 return OVE_VALID;
631 }
632 else
633 {
634 if("RX" == name
635 || "RY" == name )
636 return OVE_VALID;
637 else return OVE_INVALID_PROPERTY_NAME;
638 }
639}
@ OVE_INVALID_PROPERTY_NAME
Definition PEBLObject.h:40
@ OVE_VALID
Definition PEBLObject.h:39
virtual ObjectValidationError ValidateProperty(std::string, Variant v) const

References OVE_INVALID_PROPERTY_NAME, OVE_VALID, and PDrawObject::ValidateProperty().

◆ ValidateProperty() [2/2]

ObjectValidationError PEllipse::ValidateProperty ( std::string  name,
Variant  v 
) const
virtual

Reimplemented from PDrawObject.

Reimplemented in PlatformEllipse.

Definition at line 620 of file PDrawObject.cpp.

621{
622 return ValidateProperty(name);
623}
virtual ObjectValidationError ValidateProperty(std::string, Variant v) const

References ValidateProperty().

Referenced by PlatformEllipse::ValidateProperty(), PlatformEllipse::ValidateProperty(), and ValidateProperty().

Member Data Documentation

◆ mRX

pInt PEllipse::mRX
protected

◆ mRY

pInt PEllipse::mRY
protected

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