aboutsummaryrefslogtreecommitdiffstats
path: root/qface/helper/qtcpp.py
diff options
context:
space:
mode:
Diffstat (limited to 'qface/helper/qtcpp.py')
-rw-r--r--qface/helper/qtcpp.py32
1 files changed, 23 insertions, 9 deletions
diff --git a/qface/helper/qtcpp.py b/qface/helper/qtcpp.py
index db959b4..5561fe5 100644
--- a/qface/helper/qtcpp.py
+++ b/qface/helper/qtcpp.py
@@ -3,10 +3,7 @@ Provides helper functionality specificially for Qt C++/QML code generators
"""
import qface.idl.domain as domain
from jinja2 import environmentfilter
-
-def upper_first(s):
- s = str(s)
- return s[0].upper() + s[1:]
+from ..filters import upper_first
class Filters(object):
@@ -126,6 +123,11 @@ class Filters(object):
return 'using namespace {0};'.format(id)
@staticmethod
+ def ns(symbol):
+ '''generates a namespace x::y::z statement from a symbol'''
+ return '::'.join(symbol.module.name_parts)
+
+ @staticmethod
def signalName(s):
if isinstance(s, domain.Property):
return '{0}Changed'.format(s)
@@ -178,11 +180,23 @@ class Filters(object):
return str(s).lower().replace('.', '_')
@staticmethod
- def upper_first(s):
- s = str(s)
- return s[0].upper() + s[1:]
-
- @staticmethod
def path(s):
return str(s).replace('.', '/')
+ @staticmethod
+ def get_filters():
+ return {
+ 'defaultValue': Filters.defaultValue,
+ 'returnType': Filters.returnType,
+ 'parameterType': Filters.parameterType,
+ 'open_ns': Filters.open_ns,
+ 'close_ns': Filters.close_ns,
+ 'using_ns': Filters.using_ns,
+ 'ns': Filters.ns,
+ 'signalName': Filters.signalName,
+ 'parameters': Filters.parameters,
+ 'signature': Filters.signature,
+ 'identifier': Filters.identifier,
+ 'path': Filters.path,
+ 'className': Filters.className,
+ }