You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koffice/kpresenter/KPrDocument.h

716 lines
24 KiB

// -*- Mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*-
/* This file is part of the KDE project
Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org>
Copyright (C) 2005-2006 Thorsten Zachmann <zachmann@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef __kpresenter_doc_h__
#define __kpresenter_doc_h__
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
class KoGenStyles;
class KPrView;
class DCOPObject;
class KCommand;
class KMacroCommand;
class KoCommandHistory;
class KoTextZoomHandler;
class KoAutoFormat;
class KoVariable;
class KoVariableFormatCollection;
class KPrVariableCollection;
class KTempFile;
class KoParagStyle;
class KPrBgSpellCheck;
class KoTextParag;
class KoTextObject;
class KPrLoadingInfo;
class KPrGroupObject;
class KoOasisContext;
class KoOasisSettings;
class KoXmlWriter;
class TQFile;
class KoSavingContext;
#include <KoDocument.h>
#include <KoDocumentChild.h>
#include <tqptrlist.h>
#include <tqobject.h>
#include <tqstring.h>
#include <tqvaluelist.h>
#include <tqdatetime.h>
#include <tqdict.h>
#include <KoPageLayoutDia.h>
#include "global.h"
#include <KoStyleStack.h>
#include <KoPictureCollection.h>
#include "KPrGradientCollection.h"
#include <KoTextZoomHandler.h>
#include <KoStyleCollection.h> // for KoStyleChangeDefMap
#include <KoCommandHistory.h>
class KoDocumentEntry;
class KPrTextObject;
class KPrPartObject;
class KPrPage;
class KPrObject;
class KPrDocument;
class KoParagStyle;
class KoStyleCollection;
class KPrChild : public KoDocumentChild
{
public:
// constructor - destructor
KPrChild( KPrDocument *_kpr, KoDocument* _doc, const TQRect& _rect );
KPrChild( KPrDocument *_kpr );
~KPrChild();
// get parent
KPrDocument* parent()const { return m_parent; }
virtual KoDocument *hitTest( const TQPoint &, const TQWMatrix & );
protected:
KPrDocument *m_parent;
};
class KPrDocument : public KoDocument
{
Q_OBJECT
TQ_OBJECT
TQ_PROPERTY( int maxRecentFiles READ maxRecentFiles )
TQ_PROPERTY( int undoRedoLimit READ undoRedoLimit WRITE setUndoRedoLimit )
TQ_PROPERTY( double indentValue READ getIndentValue WRITE setIndentValue )
TQ_PROPERTY( int getLeftBorder READ getLeftBorder )
TQ_PROPERTY( int getTopBorder READ getTopBorder )
TQ_PROPERTY( int getBottomBorder READ getBottomBorder )
TQ_PROPERTY( int getRightBorder READ getRightBorder )
TQ_PROPERTY( bool cursorInProtectedArea READ cursorInProtectedArea WRITE setCursorInProtectedArea )
TQ_PROPERTY( bool insertDirectCursor READ insertDirectCursor WRITE setInsertDirectCursor )
TQ_PROPERTY( TQString picturePath READ picturePath WRITE setPicturePath )
TQ_PROPERTY( TQString globalLanguage READ globalLanguage WRITE setGlobalLanguage )
TQ_PROPERTY( bool globalHyphenation READ globalHyphenation WRITE setGlobalHyphenation )
TQ_PROPERTY( double tabStopValue READ tabStopValue WRITE setTabStopValue )
TQ_PROPERTY( bool snapToGrid READ snapToGrid WRITE setSnapToGrid )
TQ_PROPERTY( bool backgroundSpellCheckEnabled READ backgroundSpellCheckEnabled WRITE enableBackgroundSpellCheck )
TQ_PROPERTY( bool spInfiniteLoop READ spInfiniteLoop WRITE setInfiniteLoop )
TQ_PROPERTY( bool spShowEndOfPresentationSlide READ spShowEndOfPresentationSlide WRITE setShowEndOfPresentationSlide )
TQ_PROPERTY( bool spManualSwitch READ spManualSwitch WRITE setManualSwitch )
TQ_PROPERTY( bool presentationDuration READ presentationDuration WRITE setPresentationDuration )
TQ_PROPERTY( TQColor gridColor READ gridColor WRITE setGridColor )
TQ_PROPERTY( TQColor txtBackCol READ txtBackCol WRITE setTxtBackCol )
public:
// constructor - destructor
KPrDocument( TQWidget *parentWidget = 0, const char *widgetName = 0, TQObject* doc = 0,
const char* name = 0, bool singleViewMode = false );
~KPrDocument();
// Drawing
virtual void paintContent( TQPainter& painter, const TQRect& rect, bool transparent = false,
double zoomX = 1.0, double zoomY = 1.0 );
// save
virtual TQDomDocument saveXML();
virtual bool completeSaving( KoStore* _store );
virtual bool saveOasis( KoStore* store, KoXmlWriter* manifestWriter );
enum SaveFlag { SaveAll, SaveSelected, SavePage };
void saveOasisDocumentStyles( KoStore* store, KoGenStyles& mainStyles, TQFile* masterStyles,
KoSavingContext & savingContext, SaveFlag saveFlag = SaveAll ) const;
enum { STYLE_BACKGROUNDPAGE = 20, STYLE_BACKGROUNDPAGEAUTO, STYLE_GRADIENT,STYLE_OBJECTANIMATION, STYLE_STROKE, STYLE_MARKER, STYLE_PICTURE, STYLE_PRESENTATIONSTICKYOBJECT };
// load
virtual bool loadOasis( const TQDomDocument& doc, KoOasisStyles& styles, const TQDomDocument&, KoStore* store );
/*
* Load oasis object
* @param pos: we use -1 for sticky page.
*/
void loadOasisObject( KPrPage * page, TQDomNode & drawPage, KoOasisContext & context, KPrGroupObject *groupObject = 0L);
virtual bool loadXML( const TQDomDocument& doc );
virtual bool loadXML( TQIODevice *, const TQDomDocument & doc );
virtual bool loadChildren( KoStore* _store );
virtual int supportedSpecialFormats() const;
virtual bool initDoc(InitDocFlags flags, TQWidget* parentWidget=0);
virtual void setEmpty();
virtual void addView( KoView *_view );
virtual void removeView( KoView *_view );
// page layout
void setPageLayout( const KoPageLayout &);
virtual TQPixmap generatePreview( const TQSize &size );
virtual void addShell( KoMainWindow *shell );
//header-footer
void createHeaderFooter();
void updateHeaderFooterPosition();
const TQPtrList<KPrPage> & getPageList() const {return m_pageList;}
// @return the master page
KPrPage * masterPage() const { return m_masterPage; }
KPrPage * activePage()const;
// We need one that's not const, due to TQPtrList::at() not being const
TQPtrList<KPrPage>& pageList() { return m_pageList;}
void insertPixmapKey( KoPictureKey key );
void insertObjectInPage(double offset, KPrObject *_obj, int pos = -1);
void setGridValue( double rx, double ry, bool _replace = true );
// get - set options for editmodi
TQColor txtBackCol() const { return _txtBackCol; }
void setTxtBackCol( const TQColor &c ) { _otxtBackCol = _txtBackCol; _txtBackCol = c; }
// get - set roundedness
unsigned int getRndX() const { return _xRnd; }
unsigned int getRndY() const { return _yRnd; }
// get values for screenpresentations
bool spInfiniteLoop() const { return _spInfiniteLoop; }
bool spShowEndOfPresentationSlide() const { return _spShowEndOfPresentationSlide; }
bool spManualSwitch() const { return _spManualSwitch; }
bool presentationDuration() const { return _showPresentationDuration; }
void setInfiniteLoop( bool il ) { _spInfiniteLoop = il; }
void setShowEndOfPresentationSlide( bool shw ) { _spShowEndOfPresentationSlide = shw; }
void setManualSwitch( bool ms ) { _spManualSwitch = ms; }
void setPresentationDuration( bool pd ) { _showPresentationDuration = pd; }
// size of page
TQRect getPageRect( bool decBorders = true ) const;
void insertObject(KPrChild* ch ){ insertChild(ch);}
void savePage( const TQString &file, int pgnum, bool ignore = false );
void pastePage( const TQMimeSource * data, int pgnum );
TQString templateFileName(bool chooseTemplate, const TQString &theFile );
int insertNewPage( const TQString &cmdName,int _page, InsertPos _insPos, bool chooseTemplate, const TQString &theFile );
/**
* insert page page and go to page insertPageNum on all views
* which have currentPageNum as active page
*/
void insertPage( KPrPage *page, int currentPageNum, int insertPageNum );
/**
* remove page page and go to page pageNum on all view which
* had page as active page
*/
void takePage( KPrPage *page, int pageNum );
void deletePage( int _page );
void copyPageToClipboard( int pgnum );
// repaint all views
void repaint( bool );
void repaint( const TQRect& );
void repaint( KPrObject* );
// stuff for screen-presentations
/**
* return the list of steps for the selected page
* where objects appear/disappear.
*/
TQValueList<int> getPageEffectSteps( unsigned int );
TQPen presPen() const { return _presPen; }
void setPresPen( TQPen p ) {_presPen = p; }
void restoreBackground( KPrPage * );
KCommand * loadPastedObjs( const TQString &in, KPrPage* _page );
void deSelectAllObj();
void deSelectObj(KPrObject *obj);
void updateHeaderFooterButton();
KoPictureCollection *pictureCollection(){ return &m_pictureCollection; }
KPrGradientCollection *gradientCollection() { return &_gradientCollection; }
KoAutoFormat * getAutoFormat()const { return m_autoFormat; }
void replaceObjs( bool createUndoRedo = true );
int getLeftBorder() const;
int getTopBorder() const;
int getBottomBorder() const;
int getRightBorder() const;
void enableEmbeddedParts( bool f );
KPrTextObject *header()const { return _header; }
KPrTextObject *footer()const { return _footer; }
void setHeader( bool b );
void setFooter( bool b );
void setDisplayObjectMasterPage( bool b );
void setDisplayBackground( bool b );
bool isHeader(const KPrObject *obj)const;
bool isFooter(const KPrObject *obj)const;
bool isHeaderFooter(const KPrObject *obj)const;
// Returns true if the slide pgNum (0 based)
bool isSlideSelected( int pgNum) ;
// Returns the list of selected slides. Slide numbers are 0-based.
TQValueList<int> selectedSlides();
TQString selectedForPrinting();
virtual DCOPObject* dcopObject();
void initConfig();
void saveConfig();
KoStyleCollection * styleCollection()const { return m_styleColl;}
void updateAllStyleLists();
void applyStyleChange( KoStyleChangeDefMap changed );
void updateStyleListOrder( const TQStringList &list );
void addCommand( KCommand * cmd );
KoTextZoomHandler* zoomHandler() const { return m_zoomHandler; }
TQFont defaultFont() const { return m_defaultFont; }
void setDefaultFont( const TQFont & newFont) {
m_defaultFont = newFont;
}
/**
* get custom kspell config
*/
bool showStatusBar() const { return m_bShowStatusBar;}
void setShowStatusBar( bool _status ) { m_bShowStatusBar = _status;}
bool showGrid() const { return m_bShowGrid; }
void setShowGrid ( bool _grid ) { m_bShowGrid = _grid; }
double tabStopValue() const { return m_tabStop; }
void setTabStopValue ( double _tabStop );
// in pt
double getIndentValue()const { return m_indent; }
void setIndentValue(double _ind) { m_indent=_ind; }
int maxRecentFiles() const { return m_maxRecentFiles; }
KoVariableFormatCollection *variableFormatCollection()const { return m_varFormatCollection; }
void recalcVariables( int type );
void recalcPageNum();
KPrVariableCollection *getVariableCollection()const {return m_varColl;}
void refreshMenuCustomVariable();
void setShowRuler(bool _ruler){ m_bShowRuler=_ruler; }
bool showRuler() const { return m_bShowRuler; }
void reorganizeGUI();
int undoRedoLimit() const;
void setUndoRedoLimit(int _val);
void updateRuler();
void updateRulerPageLayout();
unsigned int getPageNums() const { return m_pageList.count(); }
// Tell all views to stop editing this frameset, if they were doing so
void terminateEditing( KPrTextObject * textObj )
{ emit sig_terminateEditing( textObj ); }
KPrPage * initialActivePage() const;
KPrView *firstView() const;
void displayActivePage(KPrPage * _page);
void updateZoomRuler();
void newZoomAndResolution( bool updateViews, bool forPrint );
void movePageTo( int oldPos, int newPos );
void updateSideBarItem( KPrPage * page );
KPrPage * findPage(KPrObject *object);
KPrPage * findPage(TQPtrList<KPrObject> &objects);
void refreshAllNoteBar(int page, const TQString &text, KPrView *exceptView);
void refreshAllNoteBarMasterPage(const TQString &text, KPrView *exceptView);
bool backgroundSpellCheckEnabled() const;
void enableBackgroundSpellCheck( bool b );
void startBackgroundSpellCheck();
//refresh obj when we active or disactive
void reactivateBgSpellChecking(bool refreshTextObj=false);
TQPtrList<KoTextObject> allTextObjects() const;
TQValueList<KoTextObject *> visibleTextObjects( ) const;
/// Reimplementation from KoDocument.
virtual TQValueList<KoTextDocument *> allTextDocuments() const;
bool allowAutoFormat() const { return m_bAllowAutoFormat; }
void setAllowAutoFormat(bool _b){ m_bAllowAutoFormat=_b; }
// This setting has to be here [instead of the view] because we need to
// format paragraphs slightly differently (to add room for the CR char)
bool viewFormattingChars() const { return m_bViewFormattingChars; }
void setViewFormattingChars(bool _b) { m_bViewFormattingChars=_b; }
bool showGuideLines() const { return m_bShowGuideLines; }
void setShowGuideLines( bool b );
/**
* @brief Get the positions of the horizontal guide lines
*
* @return list of positions of the horizontal guide lines
*/
TQValueList<double> &horizontalGuideLines() { return m_hGuideLines; }
/**
* @brief Get the positions of the vertical guide lines
*
* @return list of positions of the vertical guide lines
*/
TQValueList<double> &verticalGuideLines() { return m_vGuideLines; }
/**
* @brief Set the positions of the horizontal guide lines
*
* @param lines a list of positions of the horizontal guide lines
*/
void horizontalGuideLines( const TQValueList<double> &lines );
/**
* @brief Set the positions of the vertical guide lines
*
* @param lines a list of positions of the vertical guide lines
*/
void verticalGuideLines( const TQValueList<double> &lines );
/**
* @brief Add a guide line
*
* @param p the orientation of the guide line
* @param p the position of the guide line
*/
void addGuideLine( Qt::Orientation o, double pos );
void updateGuideLineButton();
void updateGridButton();
double getGridX()const { return m_gridX; }
void setGridX(double _x) { m_gridX=_x; }
double getGridY()const { return m_gridY; }
void setGridY(double _y) { m_gridY=_y; }
bool snapToGrid() const { return m_bSnapToGrid; }
void setSnapToGrid( bool _b ) { m_bSnapToGrid = _b; }
TQColor gridColor() const { return m_gridColor; }
void setGridColor( const TQColor & _col ) { m_gridColor = _col; }
TQStringList spellCheckIgnoreList() const { return m_spellCheckIgnoreList; }
void setSpellCheckIgnoreList( const TQStringList& lst );
void addSpellCheckIgnoreWord( const TQString & );
KoCommandHistory * commandHistory()const { return m_commandHistory; }
void updateObjectStatusBarItem();
void updateObjectSelected();
void layout(KPrObject *kpobject);
void layout();
void changeBgSpellCheckingState( bool b );
bool cursorInProtectedArea()const;
void setCursorInProtectedArea( bool b );
void insertFile(const TQString & file );
void spellCheckParagraphDeleted( KoTextParag *_parag, KPrTextObject *frm);
void loadPictureMap ( const TQDomElement& domElement );
void updateRulerInProtectContentMode();
void updatePresentationButton();
void refreshGroupButton();
TQString picturePath()const { return m_picturePath; }
void setPicturePath( const TQString & _path ) { m_picturePath = _path ; }
bool insertDirectCursor() const { return m_bInsertDirectCursor; }
void setInsertDirectCursor(bool _b);
void updateDirectCursorButton();
TQString globalLanguage()const { return m_globalLanguage; }
void setGlobalLanguage( const TQString & _lang ){m_globalLanguage = _lang;}
bool globalHyphenation() const { return m_bGlobalHyphenation; }
void setGlobalHyphenation ( bool _hyphen ) { m_bGlobalHyphenation = _hyphen; }
void addWordToDictionary( const TQString & word);
void loadImagesFromStore( KoStore *_store );
void saveEmbeddedObject(KPrPage *page, const TQPtrList<KoDocumentChild>& childList ,TQDomDocument &doc,TQDomElement &presenter );
void insertEmbedded( KoStore *store, TQDomElement elem, KMacroCommand * macroCmd, KPrPage *page, int pos );
KPrBgSpellCheck* backSpeller() const { return m_bgSpellCheck; }
void setCustomSlideShows( const CustomSlideShowMap & customSlideShows );
TQValueList <KPrPage *> customListPage( const TQStringList & lst, bool loadOasis=false );
TQString presentationName() const { return m_presentationName; }
void setPresentationName( const TQString &_name ) { m_presentationName = _name; }
TQStringList presentationList();
//return list of slide which be displaying:
//return selected slide when presentation name is empty
//otherwise return list of custom slide show
TQValueList<int> displaySelectedSlides();
TQValueList<int> listOfDisplaySelectedSlides( const TQValueList<KPrPage*>& lst );
void testCustomSlideShow( const TQValueList<KPrPage *> &pages, KPrView *view );
void clearTestCustomSlideShow();
const CustomSlideShowMap & customSlideShows() { return m_customListSlideShow; }
public slots:
void movePage( int from, int to );
void copyPage( int from );
void selectPage( int pgNum, bool select );
void clipboardDataChanged();
void slotRepaintChanged( KPrTextObject * );
static void writeAutomaticStyles( KoXmlWriter& contentWriter, KoGenStyles& mainStyles, KoSavingContext& context, bool stylesDotXml );
void slotGuideLinesChanged( KoView *view );
virtual void initEmpty();
signals:
void enablePaste( bool );
void sig_refreshMenuCustomVariable();
void pageNumChanged();
void sig_updateRuler();
void sig_terminateEditing( KPrTextObject * );
void sig_updateMenuBar();
protected slots:
void slotDocumentRestored();
void slotCommandExecuted();
void slotDocumentInfoModifed();
virtual void openExistingFile( const TQString& file );
virtual void openTemplate( const TQString& file );
protected:
KoView* createViewInstance( TQWidget* parent, const char* name );
void testAndCloseAllTextObjectProtectedContent();
// ************ functions ************
/**
* Overloaded function from @ref Document_impl. Saves all children.
*/
virtual bool saveChildren( KoStore* _store );
void loadStyleTemplates( const TQDomElement &styles );
void saveStyle( KoParagStyle *sty, TQDomElement parentElem );
TQDomDocumentFragment saveBackground( TQDomDocument& );
TQDomElement saveObjects( TQDomDocument &doc );
TQDomElement saveTitle( TQDomDocument &doc );
TQDomElement saveNote( TQDomDocument &doc );
TQDomElement saveAttribute( TQDomDocument &doc );
TQDomElement saveUsedSoundFileToXML( TQDomDocument &_doc, TQStringList _list );
void loadTextStyle( const TQDomElement& domElement );
void saveEmbeddedObject(KPrPage *page, KoDocumentChild *chl,TQDomDocument &doc,TQDomElement &presenter, double offset );
void saveGuideLines( TQDomDocument &doc, TQDomElement& element );
void loadBackground( const TQDomElement &element );
void loadGuideLines( const TQDomElement &element );
KCommand * loadObjects( const TQDomElement &element,bool paste=false );
void loadTitle( const TQDomElement &element );
void loadNote( const TQDomElement &element );
void loadUsedSoundFileFromXML( const TQDomElement &element );
virtual bool completeLoading( KoStore* /* _store */ );
void makeUsedPixmapList();
void makeUsedSoundFileList();
void saveUsedSoundFileToStore( KoStore *_store, TQStringList _list );
void loadUsedSoundFileFromStore( KoStore *_store, TQStringList _list );
void fillStyleStack( const TQDomElement& object, KoOasisContext & context, const char* family );
/*
* increaseOrder = true by default, put to false when we have group of animation
*/
int createPresentationAnimation(const TQDomElement& element, int order = 0 ,bool increaseOrder = true);
void saveOasisPresentationSettings( KoXmlWriter &contentTmpWriter, TQMap<int, TQString> &page2name );
void loadOasisPresentationSettings( TQDomNode &settingsDoc );
void saveOasisPresentationCustomSlideShow( KoXmlWriter &contentTmpWriter, TQMap<int, TQString> &page2name );
void loadOasisPresentationCustomSlideShow( TQDomNode &settingsDoc );
void loadOasisHeaderFooter( TQDomNode & drawPage, KoOasisContext & context);
void saveOasisSettings( KoXmlWriter &contentTmpWriter );
void loadOasisSettings( const TQDomDocument&settingsDoc );
void saveOasisCustomFied( KoXmlWriter &writer )const;
void loadOasisIgnoreList( const KoOasisSettings& settings );
//we move presSpeed to each table => compatibility with old file format
void compatibilityFromOldFileFormat();
void parseOasisGuideLines( const TQString &str );
/**
* recalc the variables
* update statusbar and sidebar menu
*/
void pageOrderChanged();
// ************ variables ************
// screenpresentations
bool _spInfiniteLoop, _spShowEndOfPresentationSlide, _spManualSwitch, _showPresentationDuration;
// options
int _xRnd, _yRnd;
// options for editmode
TQColor _txtBackCol;
TQColor _otxtBackCol;
bool _clean;
int objStartY, objStartNum;
TQPen _presPen;
KoPictureCollection m_pictureCollection;
KPrGradientCollection _gradientCollection;
KPrTextObject *_header, *_footer;
TQMap<KoPictureKey, TQString> m_pictureMap;
CustomSlideShowMap m_customListSlideShow;
KoPageLayout __pgLayout;
int lastObj;
TQString urlIntern;
TQValueList<KoPictureKey> usedPictures;
TQStringList usedSoundFile, haveNotOwnDiskSoundFile;
TQPtrList<KTempFile> tmpSoundFileList;
DCOPObject *dcop;
int saveOnlyPage;
TQString m_tempFileInClipboard;
bool ignoreSticky;
KoCommandHistory * m_commandHistory;
KoTextZoomHandler* m_zoomHandler;
TQFont m_defaultFont;
KoAutoFormat * m_autoFormat;
bool m_bShowRuler;
bool m_bShowStatusBar;
bool m_bAllowAutoFormat;
bool m_bShowGuideLines;
bool m_bViewFormattingChars;
bool m_bShowGrid;
bool m_bSnapToGrid;
double m_indent; // in pt
double m_tabStop;
int m_maxRecentFiles;
bool m_cursorInProtectectedArea;
KoVariableFormatCollection *m_varFormatCollection;
KPrVariableCollection *m_varColl;
TQColor m_gridColor;
bool _duplicatePage;
private:
/// list of positions of horizontal guide lines
TQValueList<double> m_hGuideLines;
/// list of positions of vertical guide lines
TQValueList<double> m_vGuideLines;
TQPtrList<KPrPage> m_pageList;
TQPtrList<KPrPage> m_deletedPageList;
TQStringList m_spellCheckIgnoreList; // per-document
TQStringList m_spellCheckPersonalDict; // per-user
double m_gridX;
double m_gridY;
double oldGridX;
double oldGridY;
int m_insertFilePage;
KPrPage *m_initialActivePage;
KPrPage *m_pageWhereLoadObject;
KPrPage *m_masterPage;
KPrBgSpellCheck *m_bgSpellCheck;
KoStyleCollection *m_styleColl;
KPrObject *bgObjSpellChecked;
TQString m_picturePath;
bool m_bInsertDirectCursor;
TQString m_globalLanguage;
TQString m_presentationName;
bool m_bGlobalHyphenation;
KPrLoadingInfo *m_loadingInfo;
TQValueList<int> *m_customListTest;
/// here the amount of existing children before inserting a page/file
/// is saved, so that we load the correct children
int m_childCountBeforeInsert;
};
#endif