00001 /* 00002 Copyright (C) 2000,2001 Stefan Duffner 00003 00004 This program is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU General Public License 00006 as published by the Free Software Foundation; either version 2 00007 of the License, or any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program; if not, write to the Free Software 00016 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 */ 00018 00019 #ifndef GOBJECT_H 00020 #define GOBJECT_H 00021 00022 #include <qpoint.h> 00023 00024 class Grid; 00025 00031 class GObject 00032 { 00033 public: 00034 GObject(double , double ); 00035 virtual ~GObject(); 00036 00038 void getPos(double& x, double& y) { x=xpos; y=ypos; }; 00040 virtual void setPos(const double x, const double y) { xpos = x; ypos = y; }; 00042 virtual void setXPos(const double x) { xpos = x; }; 00044 virtual void setYPos(const double y) { ypos = y; }; 00045 // virtual void alignToGrid(Grid* g); 00047 bool isSelected() { return selected; }; 00049 void select(bool select=TRUE) { selected = select; }; 00051 void toggleSelect() { selected=!selected; }; 00053 bool isDeleted() { return deleted; }; 00055 void setDeleted(bool d=TRUE) { deleted = d; }; 00056 00057 virtual void move(double , double ); 00059 virtual QString getToolTipInfo()=0; 00061 virtual QRect getToolTipRect(const QPoint& p)=0; 00062 00063 protected: 00065 double xpos; 00067 double ypos; 00069 bool selected; 00071 bool deleted; 00072 }; 00073 00074 00075 #endif