1 #ifndef __CONTAINER_H__
2 #define __CONTAINER_H__
7 class Container: public Object
11 Container(Vector, Object * p = 0);
12 Container(const Container &);
15 Container & operator=(const Container &);
16 virtual void Draw(Painter *);
17 virtual Vector Center(void);
18 virtual bool Collided(Vector);
19 virtual bool PointerMoved(Vector);
20 virtual void PointerReleased(void);
21 virtual bool NeedsUpdate(void);
22 virtual void Add(Object *);
23 virtual QRectF Extents(void);
24 virtual void Enumerate(FILE *);
25 virtual Object * Copy(void);
26 virtual void Rotate(Point, double);
27 virtual void RotateSelected(Point, double);
28 virtual void Mirror(Point, Point);
29 virtual void MirrorSelected(Point, Point);
30 virtual void Save(void);
31 virtual void Restore(void);
32 void Delete(Object *);
33 void DeleteSelectedItems(void);
36 void DeselectAll(void);
37 int ItemsSelected(void);
38 Object * SelectedItem(unsigned int);
39 void MoveContentsTo(Container *);
40 void CopyContentsTo(Container *);
41 void MoveSelectedContentsTo(Container *);
42 void CopySelectedContentsTo(Container *);
43 void ResizeAllDimensions(double);
46 Vector oldPoint; // Used for dragging
49 std::vector<Object *> objects;
50 bool isTopLevelContainer;
51 Object * lastObjectClicked;
52 Object * lastObjectHovered;
53 Object * penultimateObjectHovered;
58 bool objectWasDragged;
62 #endif // __CONTAINER_H__