<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/103613/">https://git.reviewboard.kde.org/r/103613/</a>
</td>
</tr>
</table>
<br />
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'd really love to have someone pick this up... Otherwise it's a lot of wasted effort. Any volunteers (newcomers)?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">TODO: Needs porting to KF5, plus needs to be moved to the Clang plugin.</p></pre>
<br />
<p>- Kevin Funk</p>
<br />
<p>On April 11th, 2012, 9:02 a.m. UTC, Jonas Jacobi wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for KDevelop.</div>
<div>By Jonas Jacobi.</div>
<p style="color: grey;"><i>Updated April 11, 2012, 9:02 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kdevelop
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">UPDATE: I also added the possibility to create getters/setters via code completion (can be turned off in the options)
The settings can now also be edited via the project configuration dialog.
---
Generate accessors (getters/setters) for C++.
This patch adds the possibility to create accessor methods for class member variables via the gui.
The dialog offers the following features:
- shows all members of a selected class in a tree view (with getters/setters as children), if it was opened on a class member that one is pre-selected
- only shows setters if applicable (non-const member)
- accessor method definitions can be created inline or separate (in the fitting source file, if applicable)
- configurable automatic creation of method names with manual override for each accessor method
- access policy (visibility) setting global and individualy for each accessor method
- configurable default setter parameter name with manual override for each setter (void setFoo(int myParamterName))
- selectable getter return type (e.g. Type, Type&, const Type& for a member of type Type)
- create setters as slots for QObject subclasses
Regards,
Jonas</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>languages/cpp/CMakeLists.txt <span style="color: grey">(1577a7b)</span></li>
<li>languages/cpp/codecompletion/context.h <span style="color: grey">(a5fdea7)</span></li>
<li>languages/cpp/codecompletion/context.cpp <span style="color: grey">(33dcad1)</span></li>
<li>languages/cpp/codecompletion/generateaccessorshelperitem.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codecompletion/generateaccessorshelperitem.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/cppgenerateaccessors.ui <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessors.kcfg <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessors.kcfgc <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorsconfiguration.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorsconfiguration.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorsdialog.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorsdialog.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorseditor.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorseditor.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorsitem.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorsitem.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorspreferenceskcmodule.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorspreferenceskcmodule.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorssettings.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorssettings.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/accessors/generateaccessorssettingsdialog.ui <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/codegen/simplerefactoring.h <span style="color: grey">(b2187c3)</span></li>
<li>languages/cpp/codegen/simplerefactoring.cpp <span style="color: grey">(8ae4e46)</span></li>
<li>languages/cpp/cppduchain/sourcemanipulation.h <span style="color: grey">(6f8a79b)</span></li>
<li>languages/cpp/cppduchain/sourcemanipulation.cpp <span style="color: grey">(3f40eb2)</span></li>
<li>languages/cpp/cppduchain/tests/test_duchain.cpp <span style="color: grey">(02ed83e)</span></li>
<li>languages/cpp/cppduchain/typeutils.h <span style="color: grey">(a686c3b)</span></li>
<li>languages/cpp/cppduchain/typeutils.cpp <span style="color: grey">(a801d47)</span></li>
<li>languages/cpp/tests/CMakeLists.txt <span style="color: grey">(24d9597)</span></li>
<li>languages/cpp/tests/testaccessorsettings.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/tests/testaccessorsettings.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/tests/testcppgenerateaccessors.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>languages/cpp/tests/testcppgenerateaccessors.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>pics/mini/CMakeLists.txt <span style="color: grey">(c3316e7)</span></li>
<li>pics/mini/accessor_reader.png <span style="color: grey">(PRE-CREATION)</span></li>
<li>pics/mini/accessor_writer.png <span style="color: grey">(PRE-CREATION)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/103613/diff/" style="margin-left: 3em;">View Diff</a></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2012/04/02/0001-fixed-whitespaces.patch">whitespace fix first</a></li>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2012/04/02/0002-Added-accessor-getter-setter-generation-via.patch">actual patch - second</a></li>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2012/04/11/kcm_kdevgenerateaccessors_settings.desktop">.desktop for project config</a></li>
</ul>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Screenshots </h1>
<div>
<a href="https://git.reviewboard.kde.org/r/103613/s/412/"><img src="https://git.reviewboard.kde.org/media/uploaded/images/2012/01/10/create_getter_example1_400x100.png" style="border: 1px black solid;" alt="" /></a>
<a href="https://git.reviewboard.kde.org/r/103613/s/413/"><img src="https://git.reviewboard.kde.org/media/uploaded/images/2012/01/10/create_setter_example1_400x100.png" style="border: 1px black solid;" alt="" /></a>
</div>
</td>
</tr>
</table>
</div>
</body>
</html>