[Kde-bindings] qyoto - patch - member variable access modifier
Dimitar Dobrev
dpldobrev at yahoo.com
Thu Jan 31 21:02:15 UTC 2013
Pushed. Thanks.
Regards,
Dimitar Dobrev
________________________________
From: David Lechner <david at lechnology.com>
To: kde-bindings at kde.org
Sent: Thursday, January 31, 2013 9:42 PM
Subject: [Kde-bindings] qyoto - patch - member variable access modifier
I just started using qyoto and I am really liking it. I have a patch to submit.
The most recent commit added some options to the uics tool, so
this should be fresh in someones memory. I would like to add one
more option. Namely the ability to specify the access modifier for
member variables.
Here is the patch:
From 128e12578f4ee20a9491337464cc3ed9dd6ed93b Mon Sep 17 00:00:00
2001
From: David Lechner <david at lechnology.com>
Date: Thu, 31 Jan 2013 12:50:46 -0600
Subject: [PATCH] add member access modifier option
---
tools/uics/cs/cswritedeclaration.cpp | 28
+++++++++++++++++++++++-----
tools/uics/main.cpp | 10 +++++++++-
tools/uics/option.h | 1 +
3 files changed, 33 insertions(+), 6 deletions(-)
diff --git a/tools/uics/cs/cswritedeclaration.cpp
b/tools/uics/cs/cswritedeclaration.cpp
index ccfb3ef..efccdf1 100644
--- a/tools/uics/cs/cswritedeclaration.cpp
+++ b/tools/uics/cs/cswritedeclaration.cpp
@@ -163,10 +163,13 @@ void WriteDeclaration::acceptUI(DomUI *node)
void WriteDeclaration::acceptWidget(DomWidget *node)
{
QString className = QLatin1String("QWidget");
+ QString memberAccess = QString("public").trimmed();
if (node->hasAttributeClass())
className = node->attributeClass();
+ if (!option.memberAccess.isEmpty())
+ memberAccess = option.memberAccess;
- output << option.indent << "public " <<
uic->customWidgetsInfo()->realClassName(className) <<
" " << driver->findOrInsertWidget(node) << ";\n";
+ output << option.indent << memberAccess <<
" " <<
uic->customWidgetsInfo()->realClassName(className) <<
" " << driver->findOrInsertWidget(node) << ";\n";
TreeWalker::acceptWidget(node);
}
@@ -174,31 +177,46 @@ void
WriteDeclaration::acceptWidget(DomWidget *node)
void WriteDeclaration::acceptLayout(DomLayout *node)
{
QString className = QLatin1String("QLayout");
+ QString memberAccess = QString("public").trimmed();
if (node->hasAttributeClass())
className = node->attributeClass();
+ if (!option.memberAccess.isEmpty())
+ memberAccess = option.memberAccess;
- output << option.indent << "public " <<
className << " " <<
driver->findOrInsertLayout(node) << ";\n";
+ output << option.indent << memberAccess <<
" " << className << " " <<
driver->findOrInsertLayout(node) << ";\n";
TreeWalker::acceptLayout(node);
}
void WriteDeclaration::acceptSpacer(DomSpacer *node)
{
- output << option.indent << "public QSpacerItem "
<< driver->findOrInsertSpacer(node) << ";\n";
+ QString memberAccess = QString("public").trimmed();
+ if (!option.memberAccess.isEmpty())
+ memberAccess = option.memberAccess;
+
+ output << option.indent << memberAccess <<
" QSpacerItem " << driver->findOrInsertSpacer(node)
<< ";\n";
TreeWalker::acceptSpacer(node);
}
void WriteDeclaration::acceptActionGroup(DomActionGroup *node)
{
- output << option.indent << "public QActionGroup "
<< driver->findOrInsertActionGroup(node) << ";\n";
+ QString memberAccess = QString("public").trimmed();
+ if (!option.memberAccess.isEmpty())
+ memberAccess = option.memberAccess;
+
+ output << option.indent << memberAccess <<
" QActionGroup " << driver->findOrInsertActionGroup(node)
<< ";\n";
TreeWalker::acceptActionGroup(node);
}
void WriteDeclaration::acceptAction(DomAction *node)
{
- output << option.indent << "public QAction "
<< driver->findOrInsertAction(node) << ";\n";
+ QString memberAccess = QString("public").trimmed();
+ if (!option.memberAccess.isEmpty())
+ memberAccess = option.memberAccess;
+
+ output << option.indent << memberAccess <<
" QAction " << driver->findOrInsertAction(node) <<
";\n";
TreeWalker::acceptAction(node);
}
diff --git a/tools/uics/main.cpp b/tools/uics/main.cpp
index 719b227..4dc3153 100644
--- a/tools/uics/main.cpp
+++ b/tools/uics/main.cpp
@@ -45,7 +45,8 @@ void showHelp(const char *appName)
" -x generate extra code to
test the class\n"
" -n, -namespace generate the class in
this namespace\n"
" -c, -class generate the class with
this name\n"
- " -a, -access the access modofier of
the class\n"
+ " -a, -access the access modifier of
the class\n"
+ " -ma, -member-access the access modifier of
the member variables\n"
"\n", appName);
}
@@ -129,6 +130,13 @@ int main(int argc, char *argv[])
return 1;
}
driver.option().access = QLatin1String(argv[arg]);
+ } else if (opt == QLatin1String("-ma") || opt ==
QLatin1String("-member-access")) {
+ ++arg;
+ if (!argv[arg]) {
+ showHelp(argv[0]);
+ return 1;
+ }
+ driver.option().memberAccess =
QLatin1String(argv[arg]);
} else if (!fileName) {
fileName = argv[arg];
} else {
diff --git a/tools/uics/option.h b/tools/uics/option.h
index a785452..867ed52 100644
--- a/tools/uics/option.h
+++ b/tools/uics/option.h
@@ -49,6 +49,7 @@ struct Option
QString name_space;
QString klass;
QString access;
+ QString memberAccess;
QString translateFunction;
QString uic3;
#ifdef QT_UIC_JAVA_GENERATOR
--
1.7.10.4
_______________________________________________
Kde-bindings mailing list
Kde-bindings at kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-bindings/attachments/20130131/1e5f55dd/attachment-0001.html>
More information about the Kde-bindings
mailing list