class Container: public Object
{
public:
+// Container(void);
Container(Vector, Object * p = 0);
+ Container(const Container &);
~Container();
- virtual void Draw(QPainter *);
+ Container & operator=(const Container &);
+ virtual void Draw(Painter *);
virtual Vector Center(void);
virtual bool Collided(Vector);
- virtual void PointerMoved(Vector);
+ virtual bool PointerMoved(Vector);
virtual void PointerReleased(void);
virtual bool NeedsUpdate(void);
- void Add(Object *);
+ virtual void Add(Object *);
+ virtual QRectF Extents(void);
+ virtual void Enumerate(FILE *);
+ virtual Object * Copy(void);
+ virtual void Rotate(Point, double);
+ virtual void RotateSelected(Point, double);
+ virtual void Mirror(Point, Point);
+ virtual void MirrorSelected(Point, Point);
+ virtual void Save(void);
+ virtual void Restore(void);
+ void Delete(Object *);
+ void DeleteSelectedItems(void);
+ void Clear(void);
+ void SelectAll(void);
+ void DeselectAll(void);
+ int ItemsSelected(void);
+ Object * SelectedItem(unsigned int);
+ void MoveContentsTo(Container *);
+ void CopyContentsTo(Container *);
+ void MoveSelectedContentsTo(Container *);
+ void CopySelectedContentsTo(Container *);
+ void ResizeAllDimensions(double);
protected:
Vector oldPoint; // Used for dragging
- private:
+ public:
std::vector<Object *> objects;
+ bool isTopLevelContainer;
+ Object * lastObjectClicked;
+ Object * lastObjectHovered;
+ Object * penultimateObjectHovered;
+ private:
bool dragging;
bool draggingHandle1;
bool draggingHandle2;
-// bool needUpdate;
bool objectWasDragged;
+ bool hit;
};
#endif // __CONTAINER_H__