karbon
vobject_iface.h
00001 /* This file is part of the KDE project 00002 Copyright (C) 2002, The Karbon Developers 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library 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 GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 * Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #ifndef __VOBJECT_IFACE_H__ 00021 #define __VOBJECT_IFACE_H__ 00022 00023 #include <KoRect.h> 00024 00025 class VObject; 00026 class QDomElement; 00027 class VFill; 00028 class VPainter; 00029 class VStroke; 00030 class VVisitor; 00031 00032 #include <dcopobject.h> 00033 #include <dcopref.h> 00034 00035 class VObjectIface : public DCOPObject 00036 { 00037 K_DCOP 00038 00039 public: 00040 VObjectIface( VObject *obj ); 00041 00042 k_dcop: 00043 /*void draw( VPainter*, const KoRect* = 0L ) const {} 00044 const KoRect& boundingBox() const { return m_boundingBox; } 00045 00046 bool boundingBoxIsInvalid() const; 00047 void invalidateBoundingBox(); 00048 void setParent( VObject* parent ) { m_parent = parent; }*/ 00049 00050 DCOPRef parent() const; 00051 00052 int state() const; 00053 void setState( int state ); 00054 00055 /*VStroke* stroke() const { return m_stroke; } 00056 VFill* fill() const { return m_fill; } 00057 void setStroke( const VStroke& stroke ); 00058 void setFill( const VFill& fill ); 00059 void save( QDomElement& element ) const; 00060 void load( const QDomElement& element ); 00061 VObject* clone() const = 0; 00062 void accept( VVisitor& ) {} 00063 void insertInfrontOf( VObject* , VObject* ) { }*/ 00064 00065 private: 00066 VObject* m_object; 00067 }; 00068 00069 #endif 00070