Container::Container(Vector p1, Object * p/*= NULL*/): Object(p1, p),
isTopLevelContainer(false),
dragging(false), draggingHandle1(false), draggingHandle2(false),
Container::Container(Vector p1, Object * p/*= NULL*/): Object(p1, p),
isTopLevelContainer(false),
dragging(false), draggingHandle1(false), draggingHandle2(false),
// Need to add checking here for clicking on a member of a group (Container),
// and checking for if it's a top level container (the DrawingView's document).
/*
// Need to add checking here for clicking on a member of a group (Container),
// and checking for if it's a top level container (the DrawingView's document).
/*
/*virtual*/ bool Container::NeedsUpdate(void)
{
// If this is *not* a top level container, then we treat it as an
/*virtual*/ bool Container::NeedsUpdate(void)
{
// If this is *not* a top level container, then we treat it as an
/*virtual*/ void Container::Add(Object * object)
{
objects.push_back(object);
printf("Container: Added object (=$%X). size = %li\n", object, objects.size());
}
/*virtual*/ void Container::Add(Object * object)
{
objects.push_back(object);
printf("Container: Added object (=$%X). size = %li\n", object, objects.size());
}
void Container::SelectAll(void)
{
for(unsigned int i=0; i<objects.size(); i++)
objects[i]->state = OSSelected;
}
void Container::SelectAll(void)
{
for(unsigned int i=0; i<objects.size(); i++)
objects[i]->state = OSSelected;
}
void Container::DeselectAll(void)
{
for(unsigned int i=0; i<objects.size(); i++)
objects[i]->state = OSInactive;
}
void Container::DeselectAll(void)
{
for(unsigned int i=0; i<objects.size(); i++)
objects[i]->state = OSInactive;
}
void Container::ResizeAllDimensions(double newSize)
{
for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
void Container::ResizeAllDimensions(double newSize)
{
for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
/*virtual*/ void Container::Enumerate(FILE * file)
{
// Only put "CONTAINER" markers if *not* the top level container
/*virtual*/ void Container::Enumerate(FILE * file)
{
// Only put "CONTAINER" markers if *not* the top level container
/*virtual*/ Object * Container::Copy(void)
{
#warning "!!! This doesn't take care of attached Dimensions !!!"
/*virtual*/ Object * Container::Copy(void)
{
#warning "!!! This doesn't take care of attached Dimensions !!!"
/*virtual*/ void Container::Rotate(Point point, double angle)
{
for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
(*i)->Rotate(point, angle);
}
/*virtual*/ void Container::Rotate(Point point, double angle)
{
for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
(*i)->Rotate(point, angle);
}
/*virtual*/ void Container::RotateSelected(Point point, double angle)
{
for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
/*virtual*/ void Container::RotateSelected(Point point, double angle)
{
for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
/*virtual*/ void Container::Mirror(Point p1, Point p2)
{
for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
(*i)->Mirror(p1, p2);
}
/*virtual*/ void Container::Mirror(Point p1, Point p2)
{
for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
(*i)->Mirror(p1, p2);
}
/*virtual*/ void Container::MirrorSelected(Point p1, Point p2)
{
for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)
/*virtual*/ void Container::MirrorSelected(Point p1, Point p2)
{
for(std::vector<Object *>::iterator i=objects.begin(); i!=objects.end(); i++)