wxWidgets/misc/msvc/wxWidgets.natvis
Vadim Zeitlin 35353e0ff0 Display wxString in more readable way in MSVS debug visualizer.
Use "sb" format specifier to avoid having L"..." around the string and then
add just the quotes back manually.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-15 12:58:12 +00:00

86 lines
3.0 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!--
This file contains visualizers for Visual Studio 2012+ debugger.
It should be copied into the %USERPROFILE%\My Documents\Visual Studio 2012\Visualizers\
directory (or the corresponding location for newer versions, e.g. ...2013\Visualizers).
Introductory reference for the format:
http://blogs.msdn.com/b/vcblog/archive/2012/07/12/10329460.aspx
http://code.msdn.microsoft.com/windowsdesktop/Writing-type-visualizers-2eae77a2#content
-->
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<!-- We want to avoid showing 'L' before the string, this is useless and
makes the display less readable. But we still do want to put quotes
around the string to show that it is, in fact, a string. So we use
"sb" qualifier to get rid of L"..." around the string and then add
the quotes back. This also has a (nice) side effect of not doubling
the backslashes inside the string. -->
<Type Name="wxString">
<DisplayString>"{m_impl,sb}"</DisplayString>
<StringView>m_impl</StringView>
</Type>
<Type Name="wxPoint">
<DisplayString>{x}, {y}</DisplayString>
</Type>
<Type Name="wxSize">
<DisplayString>{x} × {y}</DisplayString>
</Type>
<Type Name="wxRect">
<DisplayString>{x}, {y} {width} × {height}</DisplayString>
</Type>
<Type Name="wxLongLong">
<DisplayString>{m_ll}</DisplayString>
</Type>
<Type Name="wxULongLong">
<DisplayString>{m_ll}</DisplayString>
</Type>
<Type Name="wxArrayString">
<DisplayString Condition="m_nCount==0">empty</DisplayString>
<DisplayString Condition="m_nCount==1">{m_pItems[0]}</DisplayString>
<DisplayString Condition="m_nCount==2">{m_pItems[0]} and {m_pItems[1]}</DisplayString>
<DisplayString>size={m_nCount}: {m_pItems[0]}, {m_pItems[1]}, ...</DisplayString>
<Expand>
<ArrayItems>
<Size>m_nCount</Size>
<ValuePointer>m_pItems</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!--
Defining visualizer for wxListBase is not really useful, so do it for
the most commonly used "concrete" list type.
-->
<Type Name="wxWindowList">
<DisplayString>size={m_count}</DisplayString>
<Expand>
<Item Name="[size]">m_count</Item>
<LinkedListItems>
<Size>m_count</Size>
<HeadPointer>m_nodeFirst</HeadPointer>
<NextPointer>m_next</NextPointer>
<ValueNode>(wxWindow*)m_data</ValueNode>
</LinkedListItems>
</Expand>
</Type>
<Type Name="wxVector&lt;*&gt;">
<DisplayString>size={m_size}</DisplayString>
<Expand>
<Item Name="[size]">m_size</Item>
<Item Name="[capacity]">m_capacity</Item>
<ArrayItems>
<Size>m_size</Size>
<ValuePointer>m_values</ValuePointer>
</ArrayItems>
</Expand>
</Type>
</AutoVisualizer>