Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 Build 1836: Implement Interface - Feedback
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

dinaiz
Junior Member

France
13 Posts

Posted - Nov 19 2010 :  02:35:27 AM  Show Profile  Reply with Quote
Wow ! I was just wondering how I could do that in VA X, when I saw it's just been made available in the latest beta.
Now I'm glad I choosed to download the beta instead of the official release when purchassing VA X :)

I think this feature is great, and, so far it's worked as expected for me.

I can see a good improvement though : what about implementing all interfaces at once, when using multiple inheritance ?

Like I have Class A : public class B, public class C

when the carret is on class A, it could be nice that it implements all the pure virtual methods for class B and class C.

Oh and of course, I guess adding this function to the context menu is a must, but I guess this is already planned !

Good job guys, VA X is really a must-have and this function is just great ! :)

sean
Whole Tomato Software

USA
2817 Posts

Posted - Nov 19 2010 :  12:41:56 PM  Show Profile  Reply with Quote
Thanks - that is a good suggestion. It gets a bit more convoluted if we descend into the base classes, but doing all immediate base classes is probably the better next step. case=52445
Go to Top of Page

dinaiz
Junior Member

France
13 Posts

Posted - Nov 23 2010 :  04:34:22 AM  Show Profile  Reply with Quote
Great :)
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Jan 24 2011 :  4:01:39 PM  Show Profile  Reply with Quote
case=52445 is implemented in build 1840

Whole Tomato Software, Inc.
Go to Top of Page

haa
New Member

3 Posts

Posted - Jan 25 2011 :  04:41:56 AM  Show Profile  Reply with Quote
Great feature! Thanks.

It would be even greater for us, if it would descend into the inheritance hierarchy, because we often use reflexive mixins to add standard methods to our implementations, like so:

template<typename BaseInterface>
class StandardImpl : public BaseInterface
{
public:
... some standard methods ...
};

If we then write a regular implementation, it reads like this:

class MyImplementation : public StandardImpl<MyInterface>
{
public:
... method stubs should be generated here from MyInterface and StandardImpl ...
};
Go to Top of Page

__Daniel__
Senior Member

Poland
36 Posts

Posted - Jan 25 2011 :  10:43:42 AM  Show Profile  Reply with Quote
I use "override" keyword :)

__interface I
{
  void Foo();
}


to:
class A : public I
{
public:
  virtual void Foo() override;
  ...
}
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Jan 26 2011 :  11:54:50 AM  Show Profile  Reply with Quote
haa we are looking into extending this refactoring command to go further than the first base class:

case=52138

zen is the art of being at one with the two'ness
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Jan 26 2011 :  11:58:20 AM  Show Profile  Reply with Quote
__Daniel__ I don't understand your post. Is this a feature request or bug report?

zen is the art of being at one with the two'ness
Go to Top of Page

haa
New Member

3 Posts

Posted - Jan 28 2011 :  04:22:39 AM  Show Profile  Reply with Quote
I seems currently not possible to have VA X add the keyword "override" to the method signature.
I can't add the keyword to the snippet "Refactor Create Implementation", because it produces a method implementation block in the source file tagged with "override", which is wrong. It needs to be in the method declaration in the class header, and only there. But I did not find a snippet to specify the template for the method declaration separate from the method definition.
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Jan 28 2011 :  11:11:55 AM  Show Profile  Reply with Quote
Thanks for the feedback. I've opened two cases.

case=54585 : optionally add keyword override to generated declaration
case=54586 : add keyword virtual to generated declaration when it is not explicit in the base interface
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Mar 17 2011 :  11:44:29 PM  Show Profile  Reply with Quote
case=54586 is fixed in build 1845

Whole Tomato Software, Inc.
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - May 12 2011 :  12:45:10 AM  Show Profile  Reply with Quote
case=54585 is fixed in build 1848

Whole Tomato Software, Inc.
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - May 12 2011 :  01:27:40 AM  Show Profile  Reply with Quote
The override keyword can optionally be added in C++ during Implement Interface. The option is off by default. The binary registry value is named: UseOverrideKeywordInImplementInterface
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Aug 09 2012 :  01:50:08 AM  Show Profile  Reply with Quote
case=52138 is implemented in build 1912

Whole Tomato Software, Inc.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000