⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dviexport.h

📁 okular
💻 H
字号:
// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; c-brace-offset: 0; -*-/** * \file dviexport.h * Distributed under the GNU GPL version 2 or (at your option) * any later version. See accompanying file COPYING or copy at * http://www.gnu.org/copyleft/gpl.html * * \author Angus Leeming * \author Stefan Kebekus * * Classes DVIExportToPDF and DVIExportToPS control the export * of a DVI file to PDF or PostScript format, respectively. * Common functionality is factored out into a common base class, * DVIExport which itself derives from KShared allowing easy, * polymorphic storage of multiple KSharedPtr<DVIExport> variables * in a container of all exported processes. */#ifndef DVIEXPORT_H#define DVIEXPORT_H#include <ksharedptr.h>#include <QObject>#include <QString>class dviRenderer;class fontProgressDialog;class KPrinter;class KProcess;class QStringList;class DVIExport: public QObject, public KShared{  Q_OBJECTpublic:  virtual ~DVIExport();  /** @c started() Flags whether or not the external process was   *  spawned successfully.   *  Can be used to decide whether to discard the DVIExport variable,   *  or to store it and await notification that the external process   *  has finished.   */  bool started() const { return started_; }protected:  /** @param parent is stored internally in order to inform the parent   *  that the external process has finished and that this variable   *  can be removed from any stores.   *  @param parent_widget is parent's (otherwise private) parentWidget.   */  DVIExport(dviRenderer& parent, QWidget* parent_widget);  /** A wrapper around fontProgressDialog, also connecting some signals/slots.   */  void initialise_progress_dialog(int total_steps,                                  const QString& label_text,                                  const QString& whats_this_text,                                  const QString& tooltip_text,                                  const QString& caption);  /** Spawns the external process having connected slots to the child   *  process's stdin and stdout streams.   */  void start(const QString& command,             const QStringList& args,             const QString& working_directory,             const QString& error_message);  /** The real implementation of the abort_process() slot that is   *  called when the fontProcessDialog is closed by the user,   *  indicating that the export should be halted.   */  virtual void abort_process_impl();  /** The real implementation of the finished() slot that is called   *  when the external process finishes.   *  @param exit_code the exit code retuned by the external process.   */  //virtual void finished_impl(int exit_code);  virtual void finished_impl();private slots:  /// Calls an impl() inline so that derived classes don't need slots.  void abort_process() { abort_process_impl(); }  //void finished(int exit_code) { finished_impl(exit_code); }  void finished(KProcess*) { finished_impl(); }  /** This slot receives all output from the child process's stdin   *  and stdout streams.   */  //void output_receiver();  void output_receiver(KProcess *, char *, int);private:  QString error_message_;  bool started_;  KProcess* process_;  fontProgressDialog* progress_;  dviRenderer* parent_;  QWidget* parent_widget_;};class DVIExportToPDF : public DVIExport{public:  /** @param parent is stored internally in order to inform the parent   *  that the external process has finished.   *  @param parent_widget is passed to all Qt widgets.   */  DVIExportToPDF(dviRenderer& parent, QWidget* parent_widget);};class DVIExportToPS : public DVIExport{public:  /** @param parent is stored internally in order to inform the parent   *  that the external process has finished.   *  @param parent_widget is passed to all Qt widgets.   *  @param output_name is the name of the PostScript file that is   *  to contain the exported data. If this variable is empty, the   *  user will be asked to supply a file name.   *  @param options extra command line arguments that are to be   *  passed to the external process's argv command line.   *  @param printer having generated the PostScript file, it is passed   *  to @c printer (if not null).   */  DVIExportToPS(dviRenderer& parent,                QWidget* parent_widget,                const QString& output_name,                const QStringList& options,                KPrinter* printer);private:  virtual void abort_process_impl();  //virtual void finished_impl(int exit_code);  virtual void finished_impl();  KPrinter* printer_;  QString output_name_;  QString tmpfile_name_;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -