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.
kile/src/kile/quickpreview.h

100 lines
3.4 KiB

/***************************************************************************
date : Feb 15 2007
version : 0.34
copyright : (C) 2005-2007 by Holger Danielsson
email : holger.danielsson@versanet.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef QUICKPREVIEW_H
#define QUICKPREVIEW_H
#include "kileinfo.h"
#include "kiletool.h"
#include "kileedit.h"
#include "previewwidget.h"
#include <tqobject.h>
#include <tqstring.h>
#include <tqstringlist.h>
namespace KileTool
{
enum { qpSelection=0, qpEnvironment, qpSubdocument, qpMathgroup };
class QuickPreview : public TQObject
{
Q_OBJECT
public:
QuickPreview(KileInfo *ki);
~QuickPreview();
bool run(const TQString &text,const TQString &textfilename,int startrow);
bool isRunning();
void previewEnvironment(Kate::Document *doc);
void previewSelection(Kate::Document *doc, bool previewInWidgetConfig=true);
void previewSubdocument(Kate::Document *doc);
void previewMathgroup(Kate::Document *doc);
/**
* run (text, textfilename, startrow) works with the
* default configuration for QuickPreview. This method
* supports a forth parameter to choose the configuration as
* comma - separated string as you can see them in run (text, textfilename, startrow)
*
* It is also possible not to specify a viewer, so the viewer is not
* executed.
*
* @param text Text to preview
* @param textfilename Filename of the document
* @param startrow Position of preview text in the document
* @param spreviewlist user defined configuration, e.g. "PreviewLaTeX,DVItoPS,,,ps" (with no preview)
* @return true if method succeeds, else false
*/
bool run (const TQString &text, const TQString &textfilename, int startrow, const TQString &spreviewlist);
void getTaskList(TQStringList &tasklist);
/**
* QuickPreview uses temporary files for processing the output.
* If you want to work with files from QuickPreview, you
* can use this method. The method run returns true, and then
* you can get the generated ps e.g. with getPreviewFile ("eps");
* It works with all extensions which are generated while running
* the corresponding tools (e.g. tex, dvi, ps, pdf, ...)
*
* @param extension defines which file to use
* @return The temporary file with extension
*/
TQString getPreviewFile(const TQString &extension);
private slots:
void toolDestroyed();
private:
enum { pvLatex=0, pvDvips=1, pvDvipsCfg=2, pvViewer=3, pvViewerCfg=4, pvExtension=5 };
KileInfo *m_ki;
TQString m_tempfile;
TQStringList m_taskList;
int m_running;
int createTempfile(const TQString &text);
void removeTempFiles(bool rmdir=false);
void showError(const TQString &text);
};
}
#endif