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);
virtual void Add(Object *);
+ virtual QRectF Extents(void);
virtual void Enumerate(FILE *);
-// virtual ObjectType Type(void);
+ 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);
-// ObjectType SelectedItemType(unsigned int);
Object * SelectedItem(unsigned int);
-// void ReparentContentsTo(Object *);
void MoveContentsTo(Container *);
+ void CopyContentsTo(Container *);
void MoveSelectedContentsTo(Container *);
+ void CopySelectedContentsTo(Container *);
+ void ResizeAllDimensions(double);
protected:
Vector oldPoint; // Used for dragging
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__