kword

KWPartFrameSet.h

00001 /* This file is part of the KDE project
00002    Copyright (C) 2002 David Faure <faure@kde.org>
00003    Copyright (C) 2005 Thomas Zander <zander@kde.org>
00004 
00005    This program is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Library General Public
00007    License version 2, as published by the Free Software Foundation.
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 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 program; see the file COPYING.  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 KWPARTFRAMESET_H
00021 #define KWPARTFRAMESET_H
00022 
00023 #include "KWFrameSet.h"
00024 class KWDocumentChild;
00025 class KWFramePartMoveCommand;
00029 class KWPartFrameSet : public KWFrameSet
00030 {
00031     Q_OBJECT
00032 public:
00033     KWPartFrameSet( KWDocument *_doc, KWDocumentChild *_child, const QString & name );
00034 
00036     KWPartFrameSet( KWDocument* doc, const QDomElement& frameTag,
00037                     const QDomElement& objectTag, KoOasisContext& context );
00038 
00039     virtual ~KWPartFrameSet();
00040 
00041     virtual KWordFrameSetIface* dcopObject();
00042 
00043 
00047     virtual FrameSetType type() const { return FT_PART; }
00048 
00049     virtual KWFrameSetEdit * createFrameSetEdit( KWCanvas * );
00050 
00051     KWDocumentChild *getChild() const { return m_child; }
00052     void setChild( KWDocumentChild* child );
00053 
00057     void updateChildGeometry();
00058 
00059     virtual void drawFrameContents( KWFrame * frame, QPainter *painter, const QRect & fcrect,
00060                                     const QColorGroup &cg, bool onlyChanged, bool resetChanged,
00061                                     KWFrameSetEdit * edit, KWViewMode *viewMode );
00062 
00063     virtual void createEmptyRegion( const QRect &crect, QRegion &emptyRegion, KWViewMode *viewMode );
00064 
00065     virtual QDomElement save( QDomElement &parentElem, bool saveFrames = true );
00066     virtual void load( QDomElement &attributes, bool loadFrames = true );
00067     virtual void saveOasis( KoXmlWriter& writer, KoSavingContext& context, bool saveFrames ) const;
00068 
00069 
00074     void startEditing();
00079     void endEditing();
00080 
00086     virtual void moveFloatingFrame( int frameNum, const KoPoint &position );
00087 
00088 #ifndef NDEBUG
00089     virtual void printDebug();
00090 #endif
00091 
00098     void deleteFrame( unsigned int num, bool remove = true, bool recalc = true );
00099 
00100     void setDeleted( bool on = true );
00101 
00102     virtual void storeInternal();
00103 
00104     virtual void setProtectContent (  bool protect ) { m_protectContent = protect; }
00105     virtual bool protectContent() const { return m_protectContent; }
00106 
00107 private slots:
00108     void slotChildChanged();
00109 
00110 private:
00111     KWDocumentChild *m_child;
00112     KWFramePartMoveCommand *m_cmdMoveChild;
00113     bool m_protectContent;
00114 };
00115 
00116 #if 0
00117 class KWPartFrameSetEdit :  public QObject, public KWFrameSetEdit
00118 {
00119     //Q_OBJECT
00120 public:
00121     KWPartFrameSetEdit( KWPartFrameSet * fs, KWCanvas * canvas );
00122     virtual ~KWPartFrameSetEdit();
00123 
00124     virtual DCOPObject* dcopObject();
00125 
00126 
00127     KWPartFrameSet * partFrameSet() const
00128     {
00129         return static_cast<KWPartFrameSet*>(frameSet());
00130     }
00131 
00132     // Events forwarded by the canvas (when being in "edit" mode)
00133     //virtual void mousePressEvent( QMouseEvent *, const QPoint &, const KoPoint & );
00134     //virtual void mouseDoubleClickEvent( QMouseEvent *, const QPoint &, const KoPoint & );
00135 //private slots:
00136     void slotChildActivated(bool);
00137 private:
00138     DCOPObject *m_dcop;
00139 };
00140 #endif
00141 
00142 #include <KoDocumentChild.h>
00143 class KWDocument;
00144 
00145 /******************************************************************/
00146 /* Class: KWDocumentChild                                              */
00147 /******************************************************************/
00148 class KWDocumentChild : public KoDocumentChild
00149 {
00150 public:
00151     KWDocumentChild( KWDocument *_wdoc, const QRect& _rect, KoDocument *_doc );
00152     KWDocumentChild( KWDocument *_wdoc );
00153     ~KWDocumentChild();
00154 
00155     KWDocument* parent()const
00156     { return m_pKWordDoc; }
00157 
00158     virtual void setDocument( KoDocument *doc, const QRect &geometry );
00159 
00160     void setPartFrameSet( KWPartFrameSet* fs ) { m_partFrameSet = fs; }
00161     KWPartFrameSet * partFrameSet() const { return m_partFrameSet; }
00162     virtual KoDocument* hitTest( const QPoint& p, const QWMatrix& _matrix = QWMatrix() );
00163 
00164 private:
00165     KWDocument *m_pKWordDoc;
00166     KWPartFrameSet *m_partFrameSet;
00167 };
00168 
00169 #endif // KWPARTFRAMESET_H
KDE Home | KDE Accessibility Home | Description of Access Keys