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
 Double tooltips
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

mackomilos
Senior Member

35 Posts

Posted - May 22 2008 :  06:05:32 AM  Show Profile  Reply with Quote
Everytime during the typing parameters to the function, two tooltips with parameter information are always displayed (as you can see on the screenshot, one tooltip is behind the other).



Due to this problem, there is also problem to see, whether the function is overriden or not, because the bottom tooltip has ability to switch between overrides using up/down arrow key. If I switch to another override, the upper tooltip will disappear.

If I turn VA off, only bottom tooltip is displayed, which is correct behaviour.

VA's system info:
VA_X.dll file version 10.4.1639.0 built 2008.05.15
Licensed to:
VA X: xxxxx (1-user license) Support ends 2009.04.10
DevEnv.exe version 9.0.21022.8
msenv.dll version 9.0.21022.8
Font: Consolas 11(Pixels)
Comctl32.dll version 6.0.2900.5512
Windows XP 5.1 Build 2600 Service Pack 3
2 processors

Platform: Win32
Stable Includes:
C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\include;
C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\atlmfc\\include;
C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\include;
C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\include;
Z:\\-- stable_lib\\Win32\\includes;

Other Includes:

Stable Source Directories:
C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\atlmfc\\src\\mfc;
C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\atlmfc\\src\\mfcm;
C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\atlmfc\\src\\atl;
C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\crt\\src;

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - May 22 2008 :  08:56:07 AM  Show Profile  Reply with Quote
What language are you programming in? I am guessing C++

Do you see this problem with all functions, or only some functions? As a simple test I have just added this code to a cpp file:

static void testGeneralCode()
{
	char szBuffer[20];
	strcpy(szBuffer|);
}


when I type a comma here, to trigger the parameter info tooltip I only see a single tooltip. Can you try the same test on your system please?

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

mackomilos
Senior Member

35 Posts

Posted - May 22 2008 :  12:16:13 PM  Show Profile  Reply with Quote
Yes, the language is C++

It seems that this problem is related to the functions from current solution only. Everything from stable directories evidently works as it should.

What is strange is if I write function without class scope, after I type opening parenthesis I will get following tooltip (there is no info that the function is overriden):


If I type same function with class scope first, the tooltip looks different (I assume that this is correct VA behaviour):


Both functions are declared in same class scope and are not static.

Last screenshot is taken from bottom tooltip (when two of them are displayed as in my first post). Notice the information about overrides, which is fully different from screenshot no.2:



I can reproduce the problem by this simple code (I've created new console project with default settings and typed this code after main function):
class MyClass
{
public:
   void someFunction(int a, int b);
   void someFunction(int c);

   void myFunction();
};

void MyClass::myFunction()
{
   someFunction(1, )
}

If you type parenthesis, one tooltip is displayed but without any info about overrides. Then after you type comma, second tooltip will appear behind the previous one.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - May 22 2008 :  6:36:11 PM  Show Profile  Reply with Quote
I am seeing the same effect here with the overlapping tooltips. Thank you for the clear description.

case=16970

In your simple test code VA only shows one overload because the class is declared in the cpp file. If the class declaration is moved to a matching header file then the VA tooltip shows two parameters.

I have put this down as a high priority bug. For now you may want to try turning off:

IDE tools menu -> Options -> Text Editor -> C/C++ -> Parameter information

which should help.

Your 2nd and 3rd screen shots, the second screen shot is the VA parameter info tooltip (we do not have up and down arrows in our tooltips) while the 3rd screen shot shows the IDE parameter info tooltip. Also notice that one tooltip is showing overload 1 and the other tooltip is showing overload 2, so they should be showing different information.

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

mackomilos
Senior Member

35 Posts

Posted - May 23 2008 :  05:01:25 AM  Show Profile  Reply with Quote
I'm glad that I'm not only one who can see this problem

One small notice: You're right that in my last simple test if I put class declaration into header file, everything works fine. But it seems that it works only for small projects. The problem still exists in my general project (all screenshots I have post from) where the class declaration sits in header file and implementation in CPP file.

I can live with this problem so far, because turning showing parameter information off doesn't solve any situation except the devenv tooltip won't appear after I press SHIFT+CTRL+SPACE, but I still cannot see overloaded functions in my general project until I don't add class scope before the function.

And finally, both tooltips (second and third one) from my previous post show right informations, only their overloaded indexes are exchanged.

Edited by - mackomilos on May 23 2008 05:09:35 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - May 23 2008 :  1:31:48 PM  Show Profile  Reply with Quote
I am not quite sure what is going on here. If you place the caret into the function call, and simply press CTRL-SHIFT-SPACE, without typing anything, what happens?

For me I get a single tooltip showing the parameters. There is no problem with overlapping tooltips. I have:

IDE tools menu -> Options -> Text Editor -> C/C++ -> Parameter information

turned On, but I still get the VA tooltip. If the function is seen as overloaded then the tooltip starts with [1 of 2], and does Not have any up and down arrows to click on with the mouse. Are you seeing the same thing?

I want to separate the missing overloads out from the other problems, since I suspect they are independent problems.

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

mackomilos
Senior Member

35 Posts

Posted - May 24 2008 :  09:36:31 AM  Show Profile  Reply with Quote
I'm really sorry if I made you confused, but it wasn't so easy to describe this unpredictable behaviour.
Now that's already make sense for me that we have more problems here, so I'll try to separate them from my descriptions.

I have following class declaration in H file:
class SyncMlContactSync
{
   ... (other declarations related to the class)
   void alertSynchronization();
   void getAlertingData(Out ByteBuffer& data, Out Uint32& alertCmdId);
   void getAlertingData(Out ByteBuffer& data);
};

1) Lets reproduce problem with overlapping tooltips. CPP file:
void SyncMlContactSync::alertSynchronization
{   
   Uint32 alertCmdId;
   ByteBuffer alertingData;
   getAlertingData(alertingData,|)
}
Everytime after I type first parameter and press comma, overlapping tooltips are here (as on screenshot from my first post). Now if I press up or down key, upper tooltip will disappear and only IDE tooltip remains (screenshot 3 from previous post).

Please note that 'IDE tools menu -> Options -> Text Editor -> C/C++ -> Parameter information' is turned on.


2) And now problem with overloads:
void SyncMlContactSync::alertSynchronization
{   
   Uint32 alertCmdId;
   ByteBuffer alertingData;
   getAlertingData(|)
}
Here I'll get tooltip as is on screenshot 1 from my previous post, where is no info about overloads.

I add class scope before the function call:
void SyncMlContactSync::alertSynchronization
{   
   Uint32 alertCmdId;
   ByteBuffer alertingData;
   SyncMlContactSync::getAlertingData(|)
}
Here I'll get correct VA tooltip with overloaded informations (screenshot 2).
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - May 24 2008 :  11:27:23 AM  Show Profile  Reply with Quote
Confusion is quite common here The trick is to realise when it is happening, and try and remove it

The first problem, with the overlapping tooltips, I am seeing the same problem here, and I have put in case=16970 for this bug.

The second problem, the tooltip appearing with only one overload listed when you call the function, so far I cannot reproduce this. I have added your class declaration to a header file, and the implementation of SyncMlContactSync::alertSynchronization to the matching cpp file. When I call the function I get the correct tooltip, listing both overloads.

Just to double check, in your situation is the class declaration in a header file?

If it is then I suspect something is confusing VA's parser.

With the code:

void SyncMlContactSync::alertSynchronization
{   
   Uint32 alertCmdId;
   ByteBuffer alertingData;
   getAlertingData(|)
}


If you move the caret into the function call getAlertingData and press alt-g what happens? Do you get a VA menu listing the two overloads, or are you taken directly to one of the overloads?

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

mackomilos
Senior Member

35 Posts

Posted - May 24 2008 :  12:25:03 PM  Show Profile  Reply with Quote
Yes, the class declaration is surely in H file - this is my obvious technique to place declarations to H file and implementation to CPP file. Probably you point on my last simple test, where I put class declaration together with its implementation into one CPP file - I can assure you this was just simple test

Most likely you thought to have caret on function name, because if it's in function call (between parethesis), I will get a system sound and nothing happen after alt+g.
So when I move curson on right place I'll get menu with 4 symbols. Two of them come from CPP file (implementations) and remaining two from H file (declarations), so VA has proper informations.

But what is strange is different behaviours, if I type function call with and without class scope. Please look at my screenshot no.1 and no.2 from my earlier post:
no.1: If the call is without class scope, after I press CTRL+SHIFT+SPACE, I will get VA tooltip containg also class name before function name and there is no info about overloads.
no.2: If the class scope is added before function call, the VA tooltip contains overloaded informations ([1 of 2]) and there isn't class name before the function name.

Edited by - mackomilos on May 24 2008 12:26:21 PM
Go to Top of Page

BigHands
Senior Member

28 Posts

Posted - May 26 2008 :  10:30:12 AM  Show Profile  Reply with Quote
I would just like to add that I am also seeing the same issue:




VA_X.dll file version 10.4.1638.0 built 2008.05.08
DevEnv.exe version 8.0.50727.762
msenv.dll version 8.0.50727.762
Font: Courier New 13(Pixels)
Comctl32.dll version 6.0.2900.2982
Windows XP 5.1 Build 2600 Service Pack 2
2 processors
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - May 26 2008 :  7:22:49 PM  Show Profile  Reply with Quote
BigHands this seems to be the same problem, and should be covered by case=16970

mackomilos after some fiddling around I seem to have reproduced this problem where only one overload is listed when you trigger the tooltip on the function call without the class name:

case=8019

I have no idea why I could not reproduce this at first, or why I can now reproduce it on demand *sigh*. Interestingly turning On:

VA Options -> Advanced -> Listboxes -> Get content from default Intellisense

fixes this problem for me. It is possible turning this on and keeping:

IDE tools menu -> Options -> Text Editor -> C/C++ -> Parameter information

turned on will fix both problems for you.

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

mackomilos
Senior Member

35 Posts

Posted - May 27 2008 :  09:32:55 AM  Show Profile  Reply with Quote
I'm afraid, but your suggestion doesn't quite work for me - both problems are still here and it doesn't matter whether 'Get content from...' is turned on or off. But what is slightly different if it is turned on, is that in some cases (f.e. after SHIFT+CTRL+SPACE) only tooltip coming from IDE is displayed (with up and down arrows), so there are no overlaps and I have proper informations about overloads.

But good news is you have finally reproduced even second problem, so we will see whether fixed version helps or not...
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - May 27 2008 :  11:21:35 AM  Show Profile  Reply with Quote
Currently I do not have an estimate on either bug, but the double tooltips is down as an urgent bug, so will hopefully be fixed fairly soon.

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

support
Whole Tomato Software

5566 Posts

Posted - Jul 14 2008 :  2:36:47 PM  Show Profile  Reply with Quote
case=16970 is fixed in build 1645

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