wxWidgets/misc/msvc/wxWidgets.natvis

86 lines
3.0 KiB
Plaintext
Raw Normal View History

<?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>