Auto adding definition and mutator method
-
wrote on 10 Mar 2011, 18:18 last edited by
Hi,
I was wondering if there is any way in the Creator to auto add the definition of methods in the .cpp, when I declare
the prototype in the .h or auto add getter and setter methods when I declare a member variable.This features are a great improvement, but I'm still missing them in the Creator.
I would be happy if there is a way to get this features.
Thanks for the information. -
wrote on 10 Mar 2011, 19:23 last edited by
I believe there is a Qt Creator plugin for that, but I am not quite sure.
-
wrote on 11 Mar 2011, 12:28 last edited by
I am not sure when this was introduced (before 2.1 feature freeze or afterwards): Add a method to a .h file, move cursor on the method name and hit Alt-Enter.
Not really obvious, I agree. The refactoring indicator is still missing in C++ files.
I am not aware about anything for the getter/setter methods though.
-
wrote on 11 Mar 2011, 12:38 last edited by
Works in my 2.1.0 RC, so I guess it was before ;-)
Good to know! I would have expected this to appear in the context menu for the declaration though, instead of the Switch Between Method Declaration/Definition item if there is no definition yet.
-
wrote on 11 Mar 2011, 14:50 last edited by
Andre: But then it would be too obvious:-)
Technically it is a C++ Quick Fix operation and we trigger those by Alt-Enter. There are more (like make a char array translatable, turn one into a QLatin1String, etc.), but as I said before: The indication when those can be triggered are still missing... which would make this really nice feature way more useful since people actually have a chance to find it.
-
wrote on 11 Mar 2011, 16:43 last edited by
Ok thanks Tobias, this was pretty helpful and I guess I should have to get on it by myself.
But yes it isn't really obvious ; )I'm wondering if there is no one else missing the auto add of getter and setter methods because they took much time.
I would be really interessted in that kind of helpers.
-
wrote on 11 Mar 2011, 17:07 last edited by
I do miss automatic generation of getter and setter method, but I would like to see them being auto-generated by the Q_PROPERTY macro.
-
wrote on 11 Mar 2011, 18:07 last edited by
Thats a nice idea, as far as i can affect the behavior of these methods.
-
wrote on 11 Mar 2011, 18:14 last edited by
[quote author="Schneidi" date="1299866850"]Thats a nice idea, as far as i can affect the behavior of these methods.[/quote]
Obviously. I was thinking about something like this:
@
//not actual code, just an idea
Q_PROPERTY (QString myString READ myString MEMBER m_myString GENERATED_WRITE setMyString GENERATED_NOTIFY myStringChanged)
@The idea is that you specify the member variable to use, and that the macro can generate the getter, setter and/or the signal by using a different keyword than the standard READ and WRITE. In this case, the read method would not be generated, but the write and the signal would be.
-
wrote on 11 Mar 2011, 18:32 last edited by
Ok, but this approach would generate the most basic kind of getter and setter methods right ?
This is a nice way to save much time for basic member access.IMHO it would be enough to generate the mutator methods. If I want to add more logic to these methods i guess that would be a good and easy to maintain approach.
Other IDEs already offer these features. The Creator is a fantastic piece of software but there are some nice features missing yet.
-
wrote on 11 Mar 2011, 18:39 last edited by
Yes, that is the idea. I guess having QtCreator generate the methods would already be a big help, but having them generated by Q_PROPERTY would be more maintainable. Deleting the Q_PROPERTY also gets rid of the generated methods that way.
-
wrote on 12 Mar 2011, 09:31 last edited by
You guys are developers, so I am looking forward to your Merge Requests about those helpers;-)
Seriously: It is not that hard to write them, using the existing examples as a guide. http://qt.gitorious.org/qt-creator/qt-creator/blobs/master/src/plugins/cppeditor/cppquickfixes.cpp has most of the code of the existing ones.
-
wrote on 12 Mar 2011, 09:33 last edited by
I just might... But first, I am going to see how a previous merge request is going to fare. I know it is my turn now for that request, but I have seen others stalled for about a year. Thanks for the ALT-Enter tip though!
-
wrote on 12 Mar 2011, 15:41 last edited by
Believe it or not,
I take this into consideration, but if there is already such a plug-in or whatever why should I do another.
But at the moment my skills arn't at the level to write plug-ins for the creator.Maybe in the near future ^^
-
wrote on 12 Mar 2011, 18:03 last edited by
Andre: We try to process MRs as fast as possible, but sometimes they do stall:-( The people doing the reviews are the developers that work on creator. Unfortunately we all are rather swamped with work... We try to keep up, but some MRs fall through the cracks, others are reviewed but awaiting action by the submitters. Gitorious does not send notification on updates to MRs, so sending a mail to the reviewer does help getting your MRs through the review faster.
Feel free to send me a message if you feel your MR did not get the attention it deserved. I'm happy to poke my coworkers;-)
-
wrote on 12 Mar 2011, 18:04 last edited by
Schneidi: Quickfixes should just be a couple of lines of code, no need to put those into a separate plugin.
-
wrote on 13 Mar 2011, 09:41 last edited by
Tobias, I understand that you do, and I wasn't talking about Creator either but about Qt proper. Perhaps the smaller group working on Creator is a bit more agile and processes merge requests faster. I have no experience with that. I hope the situation will improve for Qt itself too with the implementation of the Open Governance strategy.
-
wrote on 13 Mar 2011, 15:49 last edited by
Andre: Our track record in Qt Creator is unfortunately not perfect, either:-(
All of us here hope to see open governance asap! It will make things so much easier for us!
-
wrote on 15 Mar 2011, 16:54 last edited by
Good news: Just noticed that Qt Creator 2.2 will have support to implement getters and setters based in a Q_PROPERTY.
We still have a few too many bugs open against the 2.2 branch to release a Qt Creator 2.2 beta, but we are working on those right now.
-
wrote on 15 Mar 2011, 16:56 last edited by
[quote]Good news: Just noticed that Qt Creator 2.2 will have support to implement getters and setters based in a Q_PROPERTY.[/quote]
Nice!
Thanks! Is that something added just now by you because of this thread? ;)
1/25