// -*- C++ -*-
-/* This file is part of
- * ======================================================
- *
- * LyX, The Document Processor
- *
- * Copyright 2001 The LyX Team.
+/**
+ * \file ControlLog.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * ======================================================
+ * \author John Levon
+ * \author Angus Leeming
*
- * \file ControlLog.h
- * \author John Levon, moz@compsoc.man.ac.uk
- * \author Angus Leeming <a.leeming@ic.ac.uk>
+ * Full author contact details are available in file CREDITS.
*/
#ifndef CONTROLLOG_H
#define CONTROLLOG_H
-#include <utility>
+#include "Dialog.h"
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include "support/filename.h"
-#include "ControlDialogs.h"
-#include "buffer.h" // Buffer::LogType
+namespace lyx {
+namespace frontend {
/**
* A controller for a read-only text browser.
*/
-class ControlLog : public ControlDialog<ControlConnectBD> {
+class ControlLog : public Dialog::Controller {
public:
///
- ControlLog(LyXView &, Dialogs &);
+ ControlLog(Dialog &);
+ /** \param data should contain "<logtype> <logfile>"
+ * where <logtype> is one of "latex", "literate", "lyx2lyx", "vc".
+ */
+ virtual bool initialiseParams(std::string const & data);
///
- std::pair<Buffer::LogType, string> const & logfile()
- { return logfile_; }
-
-private:
- ///
- virtual void apply() {}
- /// set the params before show or update
- virtual void setParams();
- /// clean-up on hide.
virtual void clearParams();
+ ///
+ virtual void dispatchParams() {}
+ ///
+ virtual bool isBufferDependent() const { return true; }
- std::pair<Buffer::LogType, string> logfile_;
+ /// The title displayed by the dialog reflects the \c LOGTYPE
+ lyx::docstring const title() const;
+ /// put the log file into the ostream
+ void getContents(std::ostream & ss) const;
+
+private:
+ /// Recognized log file-types
+ enum LOGTYPE {
+ LatexLog,
+ LiterateLog,
+ Lyx2lyxLog,
+ VCLog
+ };
+
+ LOGTYPE type_;
+ support::FileName logfile_;
};
+} // namespace frontend
+} // namespace lyx
+
#endif // CONTROLLOG_H