Commit f6cc172d authored by Leandro Melo's avatar Leandro Melo

Initial code for the generic highlighter.

parent 65124a6b
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/css">
<sub-class-of type="text/plain"/>
<comment>CSS file</comment>
<glob pattern="*.css"/>
</mime-type>
<mime-type type="text/x-fortran">
<sub-class-of type="text/plain"/>
<comment>Fortran file</comment>
<glob pattern="*.f90"/>
</mime-type>
<mime-type type="text/html">
<sub-class-of type="text/plain"/>
<comment>HTML file</comment>
<glob pattern="*.htm"/>
<glob pattern="*.html"/>
<glob pattern="*.shtml"/>
</mime-type>
<mime-type type="text/x-java">
<sub-class-of type="text/plain"/>
<comment>Java file</comment>
<glob pattern="*.java"/>
</mime-type>
<mime-type type="application/x-javascript">
<sub-class-of type="text/plain"/>
<comment>Javascript file</comment>
<glob pattern="*.js"/>
</mime-type>
<mime-type type="application/x-perl">
<sub-class-of type="text/plain"/>
<comment>Perl file</comment>
<glob pattern="*.pl"/>
<glob pattern="*.pm"/>
</mime-type>
<mime-type type="application/x-php">
<sub-class-of type="text/plain"/>
<comment>PHP file</comment>
<glob pattern="*.php"/>
</mime-type>
<mime-type type="text/x-python">
<sub-class-of type="text/plain"/>
<comment>Python file</comment>
<glob pattern="*.py"/>
</mime-type>
<mime-type type="text/x-ruby">
<sub-class-of type="text/plain"/>
<comment>Ruby file</comment>
<glob pattern="*.rb"/>
</mime-type>
<mime-type type="text/x-sql">
<sub-class-of type="text/plain"/>
<comment>SQL file</comment>
<glob pattern="*.sql"/>
</mime-type>
<mime-type type="application/x-tcl">
<sub-class-of type="text/plain"/>
<comment>TCL file</comment>
<glob pattern="*.tcl"/>
</mime-type>
<mime-type type="text/x-csrc">
<sub-class-of type="text/plain"/>
<comment>C Source file</comment>
<glob pattern="*.c"/>
<!-- NVIDIA CUDA files are like C -->
<glob pattern="*.cu"/>
</mime-type>
<!-- A C Header file is virtually undistinguishable from the C++ header -->
<mime-type type="text/x-chdr">
<sub-class-of type="text/x-csrc"/>
<comment>C Header file</comment>
<glob pattern="*.h"/>
</mime-type>
<!-- Those are used to find matching headers by the CppTools plugin,
so, they should match -->
<mime-type type="text/x-c++hdr">
<sub-class-of type="text/x-chdr"/>
<comment>C++ Header file</comment>
<comment>C++ header</comment>
<glob pattern="*.h"/>
<glob pattern="*.hh"/>
<glob pattern="*.hxx"/>
<glob pattern="*.h++"/>
<glob pattern="*.H"/>
<glob pattern="*.hpp"/>
<glob pattern="*.hp"/>
<!-- Find include guards of header files without extension, for
example, STL ones like <string> -->
<magic priority="50">
<match value="#ifndef" type="string" offset="0:1000"/>
</magic>
</mime-type>
<mime-type type="text/x-c++src">
<comment>C++ Source file</comment>
<sub-class-of type="text/x-csrc"/>
<comment>C++ source code</comment>
<glob pattern="*.cpp"/>
<glob pattern="*.cp"/>
<glob pattern="*.cc"/>
<glob pattern="*.cxx"/>
<glob pattern="*.c++"/>
<glob pattern="*.C"/>
<glob pattern="*.inl"/>
<glob pattern="*.moc"/>
<glob pattern="*.qdoc"/>
</mime-type>
<mime-type type="text/x-objcsrc">
<comment>Objective-C source code</comment>
<sub-class-of type="text/x-csrc"/>
<magic priority="30">
<match value="#import" type="string" offset="0"/>
</magic>
<glob pattern="*.m"/>
<glob pattern="*.mm"/>
</mime-type>
</mime-info>
<plugin name="GenericEditor" version="1.3.84" compatVersion="1.3.84">
<vendor>Nokia Corporation</vendor>
<copyright>(C) 2010 Nokia Corporation</copyright>
<license>
Commercial Usage
Licensees holding valid Qt Commercial licenses may use this plugin in accordance with the Qt Commercial License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Nokia.
GNU Lesser General Public License Usage
Alternatively, this plugin may be used under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation. Please review the following information to ensure the GNU Lesser General Public License version 2.1 requirements will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
</license>
<category>Qt Creator</category>
<description>Generic editor with highlighting for a variety of languages.</description>
<url>http://qt.nokia.com</url>
<dependencyList>
<dependency name="Core" version="1.3.84"/>
<dependency name="TextEditor" version="1.3.84"/>
</dependencyList>
</plugin>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
This file is part of KDE's kate project.
copyright : (C) 2004 by Dominik Haumann
email : dhdev at gmx dot de
**********************************************************************
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; if not, write to the *
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
**********************************************************************
This file is included in every file that highlights the "alerts" keywords.
That's why extensions and mimetype are empty.
-->
<language version="1.08" kateversion="2.3" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
<highlighting>
<list name="alerts">
<item> ### </item>
<item> ALERT </item>
<item> BUG </item>
<item> DANGER </item>
<item> DEPRECATED </item>
<item> FIXME </item>
<item> HACK </item>
<item> NOTE </item>
<item> NOTICE </item>
<item> SECURITY </item>
<item> TASK </item>
<item> TEST </item>
<item> TESTING </item>
<item> TODO </item>
<item> WARNING </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
<keyword attribute="Alert" context="#stay" String="alerts" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Alert" defStyleNum="dsAlert"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="1"/>
</general>
</language>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Javadoc" version="1.04" kateversion="2.4" section="Markup" extensions="" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)">
<highlighting>
<contexts>
<context name="Start" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="FindJavadoc" />
</context>
<context name="FindJavadoc" attribute="Normal Text" lineEndContext="#stay">
<StringDetect attribute="JavadocFS" context="#stay" String="/**/"/>
<StringDetect attribute="JavadocFS" context="JavadocFSar" String="/**" beginRegion="Javadoc"/>
</context>
<context attribute="JavadocFS" lineEndContext="#stay" name="JavadocFSar">
<Detect2Chars attribute="JavadocFS" context="#pop" char="*" char1="/" endRegion="Javadoc"/>
<RegExpr attribute="JavadocFS" context="Javadocar" String="(!|\?)" />
<RegExpr attribute="JavadocFS" context="Javadocar" String="(\.\s*$)" />
<RegExpr attribute="JavadocFS" context="Javadocar" String="(\.\s)(?![\da-z])" />
<RegExpr attribute="JavadocFS" context="Javadocar" String="\**\s*(?=@(author|deprecated|exception|param|return|see|serial|serialData|serialField|since|throws|version)(\s|$))" firstNonSpace="true"/>
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code " />
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code&#009;" />
<StringDetect attribute="InlineTag" context="#stay" String="{@docRoot}" />
<StringDetect attribute="InlineTag" context="#stay" String="{@inheritDoc}" />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link " />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link&#009;" />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain " />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain&#009;" />
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal " />
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal&#009;" />
<StringDetect attribute="InlineTag" context="#stay" String="{@value}" />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value " />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value&#009;" />
<IncludeRules context="##HTML"/>
</context>
<context attribute="Javadoc" lineEndContext="#stay" name="Javadocar">
<Detect2Chars attribute="JavadocFS" context="#pop#pop" char="*" char1="/" endRegion="Javadoc"/>
<RegExpr attribute="JavadocFS" context="#stay" String="\*+(?!/)" firstNonSpace="true"/>
<StringDetect attribute="BlockTag" context="#stay" String="@author " />
<StringDetect attribute="BlockTag" context="#stay" String="@deprecated " />
<StringDetect attribute="BlockTag" context="JavadocParam" String="@exception " />
<StringDetect attribute="BlockTag" context="JavadocParam" String="@param " />
<StringDetect attribute="BlockTag" context="#stay" String="@return " />
<StringDetect attribute="BlockTag" context="SeeTag" String="@see "/>
<StringDetect attribute="BlockTag" context="#stay" String="@serial " />
<StringDetect attribute="BlockTag" context="#stay" String="@serialData " />
<StringDetect attribute="BlockTag" context="#stay" String="@serialField " />
<StringDetect attribute="BlockTag" context="#stay" String="@since " />
<StringDetect attribute="BlockTag" context="JavadocParam" String="@throws " />
<StringDetect attribute="BlockTag" context="#stay" String="@version " />
<StringDetect attribute="BlockTag" context="#stay" String="@author&#009;" />
<StringDetect attribute="BlockTag" context="#stay" String="@deprecated&#009;" />
<StringDetect attribute="BlockTag" context="JavadocParam" String="@exception&#009;" />
<StringDetect attribute="BlockTag" context="JavadocParam" String="@param&#009;" />
<StringDetect attribute="BlockTag" context="#stay" String="@return&#009;" />
<StringDetect attribute="BlockTag" context="SeeTag" String="@see&#009;" />
<StringDetect attribute="BlockTag" context="#stay" String="@serial&#009;" />
<StringDetect attribute="BlockTag" context="#stay" String="@serialData&#009;" />
<StringDetect attribute="BlockTag" context="#stay" String="@serialField&#009;" />
<StringDetect attribute="BlockTag" context="#stay" String="@since&#009;" />
<StringDetect attribute="BlockTag" context="JavadocParam" String="@throws&#009;" />
<StringDetect attribute="BlockTag" context="#stay" String="@version&#009;" />
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code " />
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code&#009;" />
<StringDetect attribute="InlineTag" context="#stay" String="{@docRoot}" />
<StringDetect attribute="InlineTag" context="#stay" String="{@inheritDoc}" />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link " />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link&#009;" />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain " />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain&#009;" />
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal " />
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal&#009;" />
<StringDetect attribute="InlineTag" context="#stay" String="{@value}" />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value " />
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value&#009;" />
<IncludeRules context="##HTML"/>
</context>
<context attribute="Javadoc" lineEndContext="#pop" name="JavadocParam">
<DetectSpaces />
<RegExpr attribute="JavadocParam" context="#pop#pop" String="\S*(?=\*/)" />
<RegExpr attribute="JavadocParam" context="#pop" String="\S*(\s|$)" />
</context>
<context attribute="InlineTag" lineEndContext="#pop" name="InlineTagar">
<DetectChar attribute="InlineTag" context="#pop" char="}" />
<Detect2Chars attribute="JavadocFS" context="#pop#pop#pop" char="*" char1="/" />
<IncludeRules context="##HTML"/>
</context>
<context attribute="InlineTag" lineEndContext="#pop" name="LiteralTagar">
<DetectChar attribute="InlineTag" context="#pop" char="}" />
<Detect2Chars attribute="JavadocFS" context="#pop#pop#pop" char="*" char1="/" />
</context>
<context attribute="SeeTag" lineEndContext="#pop" name="SeeTag">
<Detect2Chars attribute="JavadocFS" context="#pop#pop#pop" char="*" char1="/" />
<IncludeRules context="##HTML"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="BlockTag" defStyleNum="dsKeyword" color="#808080" selColor="#FFFFFF" bold="1" italic="0"/>
<itemData name="InlineTag" defStyleNum="dsKeyword" color="#808080" selColor="#FFFFFF" bold="0" italic="0"/>
<itemData name="JavadocParam" defStyleNum="dsKeyword" color="#008080" selColor="#FFFFFF" bold="0" italic="1"/>
<itemData name="SeeTag" defStyleNum="dsKeyword" color="#008080" selColor="#FFFFFF" bold="0" italic="1"/>
<itemData name="JavadocFS" defStyleNum="dsComment" color="#008000" selColor="#FFFFFF" bold="1" italic="0"/>
<itemData name="Javadoc" defStyleNum="dsComment" color="#008000" selColor="#FFFFFF"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="1"/>
</general>
</language>
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Objective-C" version="1.07" kateversion="2.3" section="Sources" extensions="*.m;*.h" mimetype="text/x-objc-src;text/x-c-hdr">
<highlighting>
<list name="keywords">
<item> break </item>
<item> case </item>
<item> continue </item>
<item> default </item>
<item> do </item>
<item> else </item>
<item> enum </item>
<item> extern </item>
<item> for </item>
<item> goto </item>
<item> if </item>
<item> return </item>
<item> sizeof </item>
<item> struct </item>
<item> switch </item>
<item> typedef </item>
<item> union </item>
<item> while </item>
<item> @class </item>
<item> @defs </item>
<item> @encode </item>
<item> @end </item>
<item> @implementation </item>
<item> @interface </item>
<item> @private </item>
<item> @protected </item>
<item> @protocol </item>
<item> @public </item>
<item> @selector </item>
<item> self </item>
<item> super </item>
</list>
<list name="types">
<item> auto </item>
<item> char </item>
<item> const </item>
<item> double </item>
<item> float </item>
<item> int </item>
<item> long </item>
<item> register </item>
<item> short </item>
<item> signed </item>
<item> static </item>
<item> unsigned </item>
<item> void </item>
<item> volatile </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Default">
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Data Type" context="#stay" String="types"/>
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
<Float attribute="Float" context="#stay">
<AnyChar String="fF" attribute="Float" context="#stay"/>
</Float>
<HlCOct attribute="Octal" context="#stay"/>
<HlCHex attribute="Hex" context="#stay"/>
<Int attribute="Decimal" context="#stay" >
<StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="U" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="L" insensitive="TRUE"/>
</Int>
<HlCChar attribute="Char" context="#stay"/>
<DetectChar attribute="String" context="String" char="&quot;"/>
<Detect2Chars attribute="Comment" context="SingleLineComment" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*"/>
<AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
<RegExpr attribute="Preprocessor" context="Preprocessor" String="^#"/>
<Detect2Chars attribute="String" context="String" char="@" char1="&quot;" />
</context>
<context attribute="String" lineEndContext="#pop" name="String">
<LineContinue attribute="String" context="#stay"/>
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="SingleLineComment"/>
<context attribute="Comment" lineEndContext="#stay" name="MultiLineComment">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
</context>
<context attribute="Preprocessor" lineEndContext="Default" name="Preprocessor">
<LineContinue attribute="Preprocessor" context="#stay"/>
<RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
<RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="SingleLineComment" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="MultiLineCommentPrep" char="/" char1="*"/>
</context>
<context attribute="Comment" lineEndContext="#stay" name="MultiLineCommentPrep">
<Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsChar"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Symbol" defStyleNum="dsNormal"/>
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
<itemData name="Prep. Lib" defStyleNum="dsOthers"/> <!--,Qt::darkYellow,Qt::yellow,false,false)); -->
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//" />
<comment name="multiLine" start="/*" end="*/" />
</comments>
<keywords casesensitive="1" />
</general>
</language>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** Commercial Usage
**
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Nokia.
**
** GNU Lesser General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** If you are unsure which license is appropriate for your use, please
** contact the sales department at http://qt.nokia.com/contact.
**
**************************************************************************/
#include "context.h"
#include "rule.h"
#include "reuse.h"
#include "dynamicrule.h"
#include "highlightdefinition.h"
using namespace Highlight;
using namespace Internal;
Context::Context() : m_fallthrough(false), m_dynamic(false)
{}
Context::Context(const Context &context) :
m_id(context.m_id), m_name(context.m_name), m_lineBeginContext(context.m_lineBeginContext),
m_lineEndContext(context.m_lineEndContext), m_fallthroughContext(context.m_fallthroughContext),
m_itemData(context.m_itemData), m_fallthrough(context.m_fallthrough),
m_dynamic(context.m_dynamic), m_instructions(context.m_instructions),
m_definition(context.m_definition)
{
// Rules need to be deeply copied because of dynamic contexts.
foreach (const QSharedPointer<Rule> &rule, context.m_rules)
m_rules.append(QSharedPointer<Rule>(rule->clone()));
}
const Context &Context::operator=(Context copy)
{
swap(copy);
return *this;
}
Context::~Context()
{}
void Context::swap(Context &context)
{
qSwap(m_id, context.m_id);
qSwap(m_name, context.m_name);
qSwap(m_lineBeginContext, context.m_lineBeginContext);
qSwap(m_lineEndContext, context.m_lineEndContext);
qSwap(m_fallthroughContext, context.m_fallthroughContext);
qSwap(m_itemData, context.m_itemData);
qSwap(m_fallthrough, context.m_fallthrough);
qSwap(m_dynamic, context.m_dynamic);
qSwap(m_rules, context.m_rules);
qSwap(m_instructions, context.m_instructions);
qSwap(m_definition, context.m_definition);
}
void Context::configureId(const int unique)
{ m_id.append(QString::number(unique)); }
const QString &Context::id() const
{ return m_id; }
void Context::setName(const QString &name)
{
m_name = name;
m_id = name;
}
const QString &Context::name() const
{ return m_name; }
void Context::setLineBeginContext(const QString &context)
{ m_lineBeginContext = context; }
const QString &Context::lineBeginContext() const
{ return m_lineBeginContext; }
void Context::setLineEndContext(const QString &context)
{ m_lineEndContext = context; }
const QString &Context::lineEndContext() const
{ return m_lineEndContext; }
void Context::setFallthroughContext(const QString &context)
{ m_fallthroughContext = context; }
const QString &Context::fallthroughContext() const
{ return m_fallthroughContext; }
void Context::setItemData(const QString &itemData)
{ m_itemData = itemData; }
const QString &Context::itemData() const
{ return m_itemData; }
void Context::setFallthrough(const QString &fallthrough)
{ m_fallthrough = toBool(fallthrough); }
bool Context::isFallthrough() const
{ return m_fallthrough; }
void Context::setDynamic(const QString &dynamic)
{ m_dynamic = toBool(dynamic); }
bool Context::isDynamic() const
{ return m_dynamic; }
void Context::updateDynamicRules(const QStringList &captures) const
{
H