Doxygen
rtfstyle.h 文件参考
#include <map>
#include <string>
#include "qcstring.h"
+ rtfstyle.h 的引用(Include)关系图:
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  Rtf_Style_Default
 
struct  StyleData
 

类型定义

using StyleDataMap = std::map< std::string, StyleData >
 

函数

void loadExtensions (const QCString &name)
 
void loadStylesheet (const QCString &name, StyleDataMap &map)
 

变量

const int rtf_pageWidth = 8748
 
QCString rtf_title
 
QCString rtf_subject
 
QCString rtf_comments
 
QCString rtf_company
 
QCString rtf_logoFilename
 
QCString rtf_author
 
QCString rtf_manager
 
QCString rtf_documentType
 
QCString rtf_documentId
 
QCString rtf_keywords
 
char rtf_Style_Reset []
 
Rtf_Style_Default rtf_Style_Default []
 
StyleDataMap rtf_Style
 

类型定义说明

◆ StyleDataMap

using StyleDataMap = std::map<std::string,StyleData>

在文件 rtfstyle.h69 行定义.

函数说明

◆ loadExtensions()

void loadExtensions ( const QCString name)

在文件 rtfstyle.cpp315 行定义.

316 {
317  std::ifstream file(name.str());
318  if (!file.is_open())
319  {
320  err("Can't open RTF extensions file %s. Using defaults.",qPrint(name));
321  return;
322  }
323  msg("Loading RTF extensions %s...\n",qPrint(name));
324 
325  uint lineNr=1;
326 
327  for (std::string line ; getline(file,line) ; ) // for each line
328  {
329  if (line.empty() || line[0]=='#') continue; // skip blanks & comments
330  static const reg::Ex assignment_splitter(R"(\s*=\s*)");
332  if (reg::search(line,match,assignment_splitter))
333  {
334  std::string key = match.prefix().str();
335  std::string value = match.suffix().str();
336  auto it = g_styleMap.find(key);
337  if (it!=g_styleMap.end())
338  {
339  it->second = value;
340  }
341  else
342  {
343  warn(name,lineNr,"Ignoring unknown extension key '%s'...",key.c_str());
344  }
345  }
346  else
347  {
348  warn(name,lineNr,"Assignment of style sheet name expected!");
349  }
350  lineNr++;
351  }
352 }

引用了 err(), g_styleMap, reg::match(), msg(), qPrint(), reg::search(), QCString::str() , 以及 warn().

被这些函数引用 RTFGenerator::init().

◆ loadStylesheet()

void loadStylesheet ( const QCString name,
StyleDataMap map 
)

在文件 rtfstyle.cpp273 行定义.

274 {
275  std::ifstream file(name.str());
276  if (!file.is_open())
277  {
278  err("Can't open RTF style sheet file %s. Using defaults.",qPrint(name));
279  return;
280  }
281  msg("Loading RTF style sheet %s...\n",qPrint(name));
282 
283  uint lineNr=1;
284 
285  for (std::string line ; getline(file,line) ; ) // for each line
286  {
287  if (line.empty() || line[0]=='#') continue; // skip blanks & comments
288  static const reg::Ex assignment_splitter(R"(\s*=\s*)");
290  if (reg::search(line,match,assignment_splitter))
291  {
292  std::string key = match.prefix().str();
293  std::string value = match.suffix().str();
294  auto it = map.find(key);
295  if (it!=map.end())
296  {
297  StyleData& styleData = it->second;
298  styleData.setStyle(value,key);
299  }
300  else
301  {
302  warn(name,lineNr,"Unknown style sheet name %s ignored.",key.data());
303  }
304  }
305  else
306  {
307  warn(name,lineNr,"Assignment of style sheet name expected line='%s'!",line.c_str());
308  }
309  lineNr++;
310  }
311 }

引用了 QCString::data(), err(), reg::match(), msg(), qPrint(), reg::search(), StyleData::setStyle(), QCString::str() , 以及 warn().

被这些函数引用 RTFGenerator::init().

变量说明

◆ rtf_author

QCString rtf_author

在文件 rtfstyle.cpp28 行定义.

被这些函数引用 RTFGenerator::endIndexSection() , 以及 RTFGenerator::startIndexSection().

◆ rtf_comments

QCString rtf_comments

在文件 rtfstyle.cpp25 行定义.

被这些函数引用 RTFGenerator::startIndexSection().

◆ rtf_company

QCString rtf_company

在文件 rtfstyle.cpp26 行定义.

被这些函数引用 RTFGenerator::endIndexSection() , 以及 RTFGenerator::startIndexSection().

◆ rtf_documentId

QCString rtf_documentId

在文件 rtfstyle.cpp31 行定义.

被这些函数引用 RTFGenerator::endIndexSection().

◆ rtf_documentType

QCString rtf_documentType

在文件 rtfstyle.cpp30 行定义.

被这些函数引用 RTFGenerator::endIndexSection() , 以及 RTFGenerator::startIndexSection().

◆ rtf_keywords

QCString rtf_keywords

在文件 rtfstyle.cpp32 行定义.

被这些函数引用 RTFGenerator::startIndexSection().

◆ rtf_logoFilename

QCString rtf_logoFilename

在文件 rtfstyle.cpp27 行定义.

被这些函数引用 RTFGenerator::endIndexSection().

◆ rtf_manager

QCString rtf_manager

在文件 rtfstyle.cpp29 行定义.

被这些函数引用 RTFGenerator::startIndexSection().

◆ rtf_pageWidth

const int rtf_pageWidth = 8748

◆ rtf_Style

◆ rtf_Style_Default

Rtf_Style_Default rtf_Style_Default[]

在文件 rtfstyle.cpp88 行定义.

被这些函数引用 RTFGenerator::init() , 以及 RTFGenerator::writeStyleSheetFile().

◆ rtf_Style_Reset

◆ rtf_subject

QCString rtf_subject

在文件 rtfstyle.cpp24 行定义.

被这些函数引用 RTFGenerator::startIndexSection().

◆ rtf_title

QCString rtf_title

在文件 rtfstyle.cpp23 行定义.

被这些函数引用 RTFGenerator::endIndexSection().

reg::match
bool match(const std::string &str, Match &match, const Ex &re)
Matches a given string str for a match against regular expression re.
Definition: regex.cpp:729
QCString::str
std::string str() const
Definition: qcstring.h:442
err
void err(const char *fmt,...)
Definition: message.cpp:203
warn
void warn(const QCString &file, int line, const char *fmt,...)
Definition: message.cpp:151
StyleData
Definition: rtfstyle.h:48
uint
unsigned uint
Definition: qcstring.h:40
g_styleMap
static std::map< std::string, QCString & > g_styleMap
Definition: rtfstyle.cpp:34
reg::Match
Object representing the matching results.
Definition: regex.h:163
StyleData::setStyle
bool setStyle(const std::string &command, const std::string &styleName)
Definition: rtfstyle.cpp:252
reg::Ex
Class representing a regular expression.
Definition: regex.h:48
msg
void msg(const char *fmt,...)
Definition: message.cpp:53
qPrint
const char * qPrint(const char *s)
Definition: qcstring.h:589
reg::search
bool search(const std::string &str, Match &match, const Ex &re, size_t pos)
Search in a given string str starting at position pos for a match against regular expression re.
Definition: regex.cpp:718