diff options
Diffstat (limited to 'qface/helper/qtcpp.py')
-rw-r--r-- | qface/helper/qtcpp.py | 32 |
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, + } |