#include "insets/InsetCode.h"
#include "support/FileName.h"
-#include "support/docstring.h"
-#include "support/docstream.h"
+#include "support/strfwd.h"
#include "support/types.h"
-#include <iosfwd>
#include <string>
-#include <utility>
#include <vector>
class Language;
class MacroData;
class OutputParams;
+class Paragraph;
class ParConstIterator;
class ParIterator;
class ParagraphList;
/// Mark this buffer as dirty.
void markDirty();
+ /// Returns the buffer's filename. It is always an absolute path.
+ support::FileName fileName() const;
+
/// Returns the buffer's filename. It is always an absolute path.
std::string absFileName() const;
std::string latexName(bool no_path = true) const;
/// Get thee name and type of the log.
- std::pair<LogType, std::string> logName() const;
+ std::string logName(LogType * type = 0) const;
/// Change name of buffer. Updates "read-only" flag.
void setFileName(std::string const & newfile);
//
// Macro handling
//
- ///
- void buildMacros();
- ///
+ /// Collect macros in paragraphs
+ void updateMacros();
+ /// Look for macro defined before par (or in the master buffer)
+ bool hasMacro(docstring const & name, Paragraph const & par) const;
+ /// Look for macro defined anywhere in the buffer (or in the master buffer)
bool hasMacro(docstring const & name) const;
- ///
+ /// Return macro defined before par (or in the master buffer)
+ MacroData const & getMacro(docstring const & name, Paragraph const & par) const;
+ /// Return macro defined anywhere in the buffer (or in the master buffer)
MacroData const & getMacro(docstring const & name) const;
- ///
- void insertMacro(docstring const & name, MacroData const & data);
/// Replace the inset contents for insets which InsetCode is equal
/// to the passed \p inset_code.
/// This function is called when the buffer busy status change.
void setBusy(bool on) const;
/// This function is called when the buffer readonly status change.
- void readonly(bool on) const;
+ void setReadOnly(bool on) const;
/// Update window titles of all users.
void updateTitles() const;
/// Reset autosave timers for all users.