reorder GetLabel(), GetLabelText(), SetLabel() and SetLabelText() function declarations, implementations and relative documentations.

Add wxStaticTextBase::GetLabelWithoutMarkup() and use it in the wxMSW implementation of wxStaticText::SetLabel() to close bug #11446; the function RemoveMarkup() which was previously used in fact could not check for presence/absence of wxST_MARKUP style since it's a static function.

Add wxStaticTextBase::SetLabelText() functions for symmetry with wxControlBase::SetLabelText()

Add test unit for both wxControl::*Label* and wxStaticText::*Label* functions.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2010-03-21 21:39:15 +00:00
parent 90497db95b
commit 32ee98eb76
18 changed files with 522 additions and 381 deletions

View File

@@ -71,6 +71,7 @@ public:
// get the control alignment (left/right/centre, top/bottom/centre)
int GetAlignment() const { return m_windowStyle & wxALIGN_MASK; }
// set label with mnemonics
virtual void SetLabel(const wxString& label)
{
m_labelOrig = label;
@@ -80,21 +81,19 @@ public:
wxWindow::SetLabel(label);
}
virtual wxString GetLabel() const
{
// return the original string, as it was passed to SetLabel()
// (i.e. with wx-style mnemonics)
return m_labelOrig;
}
// return the original string, as it was passed to SetLabel()
// (i.e. with wx-style mnemonics)
virtual wxString GetLabel() const { return m_labelOrig; }
// get just the text of the label, without mnemonic characters ('&')
wxString GetLabelText() const { return GetLabelText(GetLabel()); }
void SetLabelText(const wxString& text)
// set label text (mnemonics will be escaped)
virtual void SetLabelText(const wxString& text)
{
SetLabel(EscapeMnemonics(text));
}
// get just the text of the label, without mnemonic characters ('&')
virtual wxString GetLabelText() const { return GetLabelText(GetLabel()); }
// controls by default inherit the colours of their parents, if a
// particular control class doesn't want to do it, it can override
// ShouldInheritColours() to return false
@@ -114,23 +113,29 @@ public:
// static utilities
// ----------------
// static utilities for mnemonics char (&) handling
// ------------------------------------------------
// replaces parts of the (multiline) string with ellipsis if needed
static wxString Ellipsize(const wxString& label, const wxDC& dc,
wxEllipsizeMode mode, int maxWidth,
int flags = wxELLIPSIZE_FLAGS_DEFAULT);
// get the string without mnemonic characters ('&')
// returns the given string without mnemonic characters ('&')
static wxString GetLabelText(const wxString& label);
// removes the mnemonics characters
// returns the given string without mnemonic characters ('&')
// this function is identic to GetLabelText() and is provided for clarity
// and for symmetry with the wxStaticText::RemoveMarkup() function.
static wxString RemoveMnemonics(const wxString& str);
// escapes (by doubling them) the mnemonics
static wxString EscapeMnemonics(const wxString& str);
// miscellaneous static utilities
// ------------------------------
// replaces parts of the given (multiline) string with an ellipsis if needed
static wxString Ellipsize(const wxString& label, const wxDC& dc,
wxEllipsizeMode mode, int maxWidth,
int flags = wxELLIPSIZE_FLAGS_DEFAULT);
// return the accel index in the string or -1 if none and puts the modified
// string into second parameter if non NULL
static int FindAccelIndex(const wxString& label,

View File

@@ -51,16 +51,24 @@ public:
}
// get the string without mnemonic characters ('&') and without markup
// (if wxST_MARKUP is being used)
// (if the wxST_MARKUP style is set)
virtual wxString GetLabelText() const;
// public utilities (symmetric to those in wxControl about mnemonics):
// set label text (mnemonics and markup, if the wxST_MARKUP style is set,
// will be escaped)
virtual void SetLabelText(const wxString& text);
// static utilities for markup handling
// (symmetric to those in wxControl about mnemonics)
// -------------------------------------------------
// get the string without mnemonic characters ('&') and without markup
// (note that markup is always removed; this function is static and cannot
// check for wxST_MARKUP style presence/absence!)
static wxString GetLabelText(const wxString& label);
// removes the markup accepted by wxStaticText when wxST_MARKUP is used,
// and then returns the cleaned string
// removes the markup recognized by wxStaticText and returns the cleaned string
static wxString RemoveMarkup(const wxString& str);
// escapes all special symbols (<>"'&) present in the given string
@@ -72,7 +80,14 @@ protected: // functions required for wxST_ELLIPSIZE_* support
// choose the default border for this window
virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
// just calls RemoveMarkup & Ellipsize on the original label.
// calls only RemoveMarkup() on the original label
// if the wxST_MARKUP style is set
// (but unlike GetLabelText won't remove mnemonics)
virtual wxString GetLabelWithoutMarkup() const;
// just calls RemoveMarkup() & Ellipsize() on the original label
// if the wxST_MARKUP & wxST_ELLIPSIZE_* styles are set
// (but unlike GetLabelText won't remove mnemonics)
virtual wxString GetEllipsizedLabelWithoutMarkup() const;
// replaces parts of the string with ellipsis if needed

View File

@@ -93,6 +93,89 @@ public:
*/
virtual void Command(wxCommandEvent& event);
/**
Returns the control's label, as it was passed to SetLabel().
Note that the returned string may contains mnemonics ("&" characters) if they were
passed to the SetLabel() function; use GetLabelText() if they are undesired.
Also note that the returned string is always the string which was passed to
SetLabel() but may be different from the string passed to SetLabelText()
(since this last one escapes mnemonic characters).
*/
wxString GetLabel() const;
/**
Returns the control's label without mnemonics.
Note that because of the stripping of the mnemonics the returned string may differ
from the string which was passed to SetLabel().
*/
wxString GetLabelText() const;
/**
Sets the control's label.
All "&" characters in the @a label are special and indicate that the
following character is a @e mnemonic for this control and can be used to
activate it from the keyboard (typically by using @e Alt key in
combination with it). To insert a literal ampersand character, you need
to double it, i.e. use use "&&". If this behaviour is undesirable, use
SetLabelText() instead.
*/
void SetLabel(const wxString& label);
/**
Sets the control's label to exactly the given string.
Unlike SetLabel(), this function shows exactly the @a text passed to it
in the control, without interpreting ampersands in it in any way.
Notice that it means that the control can't have any mnemonic defined
for it using this function.
@see EscapeMnemonics()
*/
void SetLabelText(const wxString& text);
public: // static functions
/**
Returns the given @a label string without mnemonics ("&" characters).
*/
static wxString GetLabelText(const wxString& label);
/**
Returns the given @a str string without mnemonics ("&" characters).
@note This function is identic to GetLabelText() and is provided both for symmetry
with the wxStaticText::RemoveMarkup() function and to allow to write more
readable code (since this function has a more descriptive name respect GetLabelText()).
*/
static wxString RemoveMnemonics(const wxString& str);
/**
Escapes the special mnemonics characters ("&") in the given string.
This function can be helpful if you need to set the controls label to a
user-provided string. If the string contains ampersands, they wouldn't
appear on the display but be used instead to indicate that the
character following the first of them can be used as a control mnemonic.
While this can sometimes be desirable (e.g. to allow the user to
configure mnemonics of the controls), more often you will want to use
this function before passing a user-defined string to SetLabel().
Alternatively, if the label is entirely user-defined, you can just call
SetLabelText() directly -- but this function must be used if the label
is a combination of a part defined by program containing the control
mnemonics and a user-defined part.
@param text
The string such as it should appear on the display.
@return
The same string with the ampersands in it doubled.
*/
static wxString EscapeMnemonics(const wxString& text);
/**
Replaces parts of the @a label string with ellipsis, if needed, so
that it doesn't exceed @a maxWidth.
@@ -120,74 +203,5 @@ public:
static wxString Ellipsize(const wxString& label, const wxDC& dc,
wxEllipsizeMode mode, int maxWidth,
int flags = wxELLIPSIZE_FLAGS_DEFAULT);
/**
Returns the control's text.
@note The returned string contains mnemonics ("&" characters) if it has
any, use GetLabelText() if they are undesired.
*/
wxString GetLabel() const;
/**
Returns the control's label without mnemonics.
*/
wxString GetLabelText() const;
/**
Returns the given @a label string without mnemonics ("&" characters).
*/
static wxString GetLabelText(const wxString& label);
/**
Removes the mnemonics ("&" characters) from the given string.
*/
static wxString RemoveMnemonics(const wxString& str);
/**
Escape the special mnemonics characters ("&") in the given string.
This function can be helpful if you need to set the controls label to a
user-provided string. If the string contains ampersands, they wouldn't
appear on the display but be used instead to indicate that the
character following the first of them can be used as a control mnemonic.
While this can sometimes be desirable (e.g. to allow the user to
configure mnemonics of the controls), more often you will want to use
this function before passing a user-defined string to SetLabel().
Alternatively, if the label is entirely user-defined, you can just call
SetLabelText() directly -- but this function must be used if the label
is a combination of a part defined by program containing the control
mnemonics and a user-defined part.
@param text
The string such as it should appear on the display.
@return
The same string with the ampersands in it doubled.
*/
static wxString EscapeMnemonics(const wxString& text);
/**
Sets the item's text.
Any "&" characters in the @a label are special and indicate that the
following character is a @e mnemonic for this control and can be used to
activate it from the keyboard (typically by using @e Alt key in
combination with it). To insert a literal ampersand character, you need
to double it, i.e. use use "&&". If this behaviour is undesirable, use
SetLabelText() instead.
*/
void SetLabel(const wxString& label);
/**
Sets the item's text to exactly the given string.
Unlike SetLabel(), this function shows exactly the @a text passed to it
in the control, without interpreting ampersands in it in any way.
Notice that it means that the control can't have any mnemonic defined
for it using this function.
@see EscapeMnemonics()
*/
void SetLabelText(const wxString& text);
};

View File

@@ -22,11 +22,11 @@
Center the text (horizontally).
@style{wxST_NO_AUTORESIZE}
By default, the control will adjust its size to exactly fit to the
size of the text when SetLabel is called. If this style flag is
size of the text when SetLabel() is called. If this style flag is
given, the control will not change its size (this style is
especially useful with controls which also have wxALIGN_RIGHT or
CENTER style because otherwise they won't make sense any longer
after a call to SetLabel).
especially useful with controls which also have the @c wxALIGN_RIGHT or
the @c wxALIGN_CENTRE style because otherwise they won't make sense any
longer after a call to SetLabel()).
@style{wxST_ELLIPSIZE_START}
If the labeltext width exceeds the control width, replace the beginning
of the label with an ellipsis; uses wxControl::Ellipsize.
@@ -89,23 +89,12 @@ public:
const wxSize& size = wxDefaultSize, long style = 0,
const wxString& name = wxStaticTextNameStr);
// NB: when writing docs for the following function remember that Doxygen
// will always expand HTML entities (e.g. &quot;) and thus we need to
// write e.g. "&amp;lt;" to have in the output the "&lt;" string.
/**
Escapes all the symbols of @a str that have a special meaning (<tt><>&quot;'&</tt>) for
wxStaticText objects with the @c wxST_MARKUP style.
Those symbols are replaced the corresponding entities
(&amp;lt; &amp;gt; &amp;quot; &amp;apos; &amp;amp;).
*/
static wxString EscapeMarkup(const wxString& str);
/**
Returns the contents of the control.
Note that the returned string contains both the mnemonics (@& characters),
Note that the returned string may contain both the mnemonics (@& characters),
if any, and markup tags, if any.
Use GetLabelText() if only the label text is needed.
*/
wxString GetLabel() const;
@@ -116,29 +105,19 @@ public:
*/
wxString GetLabelText() const;
/**
This overload returns the given @a label string without the
mnemonics characters (if any) and without the markup.
*/
static wxString GetLabelText(const wxString& label);
/**
Returns @true if the window styles for this control contains one of the
@c wxST_ELLIPSIZE_START, @c wxST_ELLIPSIZE_MIDDLE or @c wxST_ELLIPSIZE_END styles.
*/
bool IsEllipsized() const;
/**
Removes the markup accepted by wxStaticText when the @c wxST_MARKUP style is used,
and then returns the cleaned string.
See SetLabel() for more info about the markup.
*/
static wxString RemoveMarkup(const wxString& str);
// NB: when writing docs for the following function remember that Doxygen
// will always expand HTML entities (e.g. &quot;) and thus we need to
// write e.g. "&amp;lt;" to have in the output the "&lt;" string.
/**
Sets the static text label and updates the controls size to exactly fit the
label unless the control has wxST_NO_AUTORESIZE flag.
label unless the control has @c wxST_NO_AUTORESIZE flag.
This function allows to set decorated static label text on platforms which
support it (currently only GTK+ 2). For the other platforms, the markup is
@@ -146,6 +125,10 @@ public:
The supported tags are:
<TABLE>
<TR>
<TD><b>Tag</b></TD>
<TD><b>Description</b></TD>
</TR>
<TR>
<TD>&lt;b&gt;</TD>
<TD>bold text</TD>
@@ -231,6 +214,17 @@ public:
It may contain newline characters and the markup tags described above.
*/
virtual void SetLabel(const wxString& label);
/**
Sets the control's label to exactly the given string.
Unlike SetLabel(), this function shows exactly the @a text passed to it
in the control, without interpreting ampersands in it in any way.
Notice that it means that the control can't have any mnemonic defined
for it using this function.
*/
virtual void SetLabelText(const wxString& text);
/**
This functions wraps the controls label so that each of its lines becomes at
@@ -244,5 +238,34 @@ public:
@since 2.6.2
*/
void Wrap(int width);
public: // static functions
/**
Returns the given @a label string without the mnemonics characters (if any)
and without the markup.
Note that since this function is static it will always remove markup
(since it cannot check @c wxST_MARKUP presence/absence!).
*/
static wxString GetLabelText(const wxString& label);
/**
Escapes all the symbols of @a str that have a special meaning (<tt><>&quot;'&</tt>) for
wxStaticText objects with the @c wxST_MARKUP style.
Those symbols are replaced the corresponding entities
(&amp;lt; &amp;gt; &amp;quot; &amp;apos; &amp;amp;).
*/
static wxString EscapeMarkup(const wxString& str);
/**
Removes the markup accepted by wxStaticText when the @c wxST_MARKUP style is used,
and then returns the cleaned string.
See SetLabel() for more info about the markup.
*/
static wxString RemoveMarkup(const wxString& str);
};

View File

@@ -88,13 +88,6 @@ bool wxControlBase::CreateControl(wxWindowBase *parent,
return true;
}
/* static */
wxString wxControlBase::GetLabelText(const wxString& label)
{
// we don't want strip the TABs here, just the mnemonics
return wxStripMenuCodes(label, wxStrip_Mnemonics);
}
void wxControlBase::Command(wxCommandEvent& event)
{
(void)GetEventHandler()->ProcessEvent(event);
@@ -154,9 +147,17 @@ void wxControlBase::DoUpdateWindowUI(wxUpdateUIEvent& event)
#endif // wxUSE_RADIOBTN
}
/* static */
wxString wxControlBase::GetLabelText(const wxString& label)
{
// we don't want strip the TABs here, just the mnemonics
return wxStripMenuCodes(label, wxStrip_Mnemonics);
}
/* static */
wxString wxControlBase::RemoveMnemonics(const wxString& str)
{
// we don't want strip the TABs here, just the mnemonics
return wxStripMenuCodes(str, wxStrip_Mnemonics);
}

View File

@@ -154,15 +154,28 @@ wxString wxStaticTextBase::GetLabelText() const
return RemoveMnemonics(ret);
}
/*static*/
void wxStaticTextBase::SetLabelText(const wxString& text)
{
wxString str = text;
if (HasFlag(wxST_MARKUP))
str = EscapeMarkup(str); // escapes markup and the & characters (which are also mnemonics)
else
str = EscapeMnemonics(text); // escape only the mnemonics
SetLabel(str);
}
/* static */
wxString wxStaticTextBase::GetLabelText(const wxString& label)
{
// remove markup
wxString ret = RemoveMarkup(label);
// always remove the markup (this function is static
// and cannot check for wxST_MARKUP presence/absence)
return RemoveMnemonics(ret);
}
/*static*/
/* static */
wxString wxStaticTextBase::RemoveMarkup(const wxString& text)
{
// strip out of "text" the markup for platforms which don't support it natively
@@ -293,6 +306,17 @@ void wxStaticTextBase::UpdateLabel()
DoSetLabel(newlabel);
}
wxString wxStaticTextBase::GetLabelWithoutMarkup() const
{
wxString ret(m_labelOrig);
if (HasFlag(wxST_MARKUP))
ret = RemoveMarkup(ret);
// unlike GetLabelText() we don't remove the mnemonics here!
return ret;
}
wxString wxStaticTextBase::GetEllipsizedLabelWithoutMarkup() const
{
// this function should be used only by ports which do not support

View File

@@ -214,13 +214,13 @@ void wxStaticText::SetLabel(const wxString& label)
}
#endif // SS_ENDELLIPSIS
// this call will save the label in m_labelOrig and set it into this window
// (through wxWindow::SetLabel)
// save the label in m_labelOrig with both the markup (if any) and
// the mnemonics characters (if any)
m_labelOrig = label;
#ifdef SS_ENDELLIPSIS
if ( styleReal & SS_ENDELLIPSIS )
DoSetLabel(RemoveMarkup(label));
DoSetLabel(GetLabelWithoutMarkup());
else
#endif // SS_ENDELLIPSIS
DoSetLabel(GetEllipsizedLabelWithoutMarkup());

View File

@@ -141,6 +141,7 @@ TEST_GUI_OBJECTS = \
test_gui_config.o \
test_gui_comboboxtest.o \
test_gui_headerctrltest.o \
test_gui_label.o \
test_gui_listctrltest.o \
test_gui_textctrltest.o \
test_gui_textentrytest.o \
@@ -590,6 +591,9 @@ test_gui_comboboxtest.o: $(srcdir)/controls/comboboxtest.cpp $(TEST_GUI_ODEP)
test_gui_headerctrltest.o: $(srcdir)/controls/headerctrltest.cpp $(TEST_GUI_ODEP)
$(CXXC) -c -o $@ $(TEST_GUI_CXXFLAGS) $(srcdir)/controls/headerctrltest.cpp
test_gui_label.o: $(srcdir)/controls/label.cpp $(TEST_GUI_ODEP)
$(CXXC) -c -o $@ $(TEST_GUI_CXXFLAGS) $(srcdir)/controls/label.cpp
test_gui_listctrltest.o: $(srcdir)/controls/listctrltest.cpp $(TEST_GUI_ODEP)
$(CXXC) -c -o $@ $(TEST_GUI_CXXFLAGS) $(srcdir)/controls/listctrltest.cpp

213
tests/controls/label.cpp Normal file
View File

@@ -0,0 +1,213 @@
///////////////////////////////////////////////////////////////////////////////
// Name: tests/controls/label.cpp
// Purpose: wxControl and wxStaticText label tests
// Author: Francesco Montorsi
// Created: 2010-3-21
// RCS-ID: $Id$
// Copyright: (c) 2010 Francesco Montorsi
///////////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#include "testprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/app.h"
#endif // WX_PRECOMP
#include "wx/control.h"
#include "wx/stattext.h"
#include "wx/checkbox.h"
// ----------------------------------------------------------------------------
// test class
// ----------------------------------------------------------------------------
class LabelTestCase : public CppUnit::TestCase
{
public:
LabelTestCase() { }
virtual void setUp();
virtual void tearDown();
private:
CPPUNIT_TEST_SUITE( LabelTestCase );
CPPUNIT_TEST( GetLabel );
CPPUNIT_TEST( GetLabelText );
CPPUNIT_TEST( Statics );
CPPUNIT_TEST_SUITE_END();
void GetLabel();
void GetLabelText();
void Statics();
wxStaticText *m_st, *m_stWithMarkup;
// we cannot test wxControl directly (it's abstract) so we rather test wxCheckBox
wxCheckBox *m_cb;
DECLARE_NO_COPY_CLASS(LabelTestCase)
};
// register in the unnamed registry so that these tests are run by default
CPPUNIT_TEST_SUITE_REGISTRATION( LabelTestCase );
// also include in it's own registry so that these tests can be run alone
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( LabelTestCase, "LabelTestCase" );
// ----------------------------------------------------------------------------
// test initialization
// ----------------------------------------------------------------------------
#define ORIGINAL_LABEL "original label"
void LabelTestCase::setUp()
{
m_st = new wxStaticText(wxTheApp->GetTopWindow(), wxID_ANY, ORIGINAL_LABEL);
m_stWithMarkup = new wxStaticText(wxTheApp->GetTopWindow(), wxID_ANY, ORIGINAL_LABEL,
wxDefaultPosition, wxDefaultSize, wxST_MARKUP);
m_cb = new wxCheckBox(wxTheApp->GetTopWindow(), wxID_ANY, ORIGINAL_LABEL);
CPPUNIT_ASSERT_EQUAL( ORIGINAL_LABEL, m_st->GetLabel() );
CPPUNIT_ASSERT_EQUAL( ORIGINAL_LABEL, m_stWithMarkup->GetLabel() );
CPPUNIT_ASSERT_EQUAL( ORIGINAL_LABEL, m_cb->GetLabel() );
}
void LabelTestCase::tearDown()
{
wxDELETE(m_st);
wxDELETE(m_stWithMarkup);
wxDELETE(m_cb);
}
// ----------------------------------------------------------------------------
// the tests themselves
// ----------------------------------------------------------------------------
#define SET_LABEL(str) \
m_st->SetLabel(str); \
m_stWithMarkup->SetLabel(str); \
m_cb->SetLabel(str);
#define SET_LABEL_TEXT(str) \
m_st->SetLabelText(str); \
m_stWithMarkup->SetLabelText(str); \
m_cb->SetLabelText(str);
void LabelTestCase::GetLabel()
{
const wxString testLabelArray[] = {
"label without mnemonics and markup",
"label with &mnemonic",
"label with <span foreground='blue'>some</span> <b>markup</b>",
"label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic",
};
// test calls to SetLabel() and then to GetLabel()
for ( unsigned int s = 0; s < WXSIZEOF(testLabelArray); s++ )
{
SET_LABEL(testLabelArray[s]);
// GetLabel() should always return the string passed to SetLabel()
CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_st->GetLabel() );
CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_stWithMarkup->GetLabel() );
CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_cb->GetLabel() );
}
// test calls to SetLabelText() and then to GetLabel()
const wxString& testLabel = "label without mnemonics and markup";
SET_LABEL_TEXT(testLabel);
CPPUNIT_ASSERT_EQUAL( testLabel, m_st->GetLabel() );
CPPUNIT_ASSERT_EQUAL( testLabel, m_stWithMarkup->GetLabel() );
CPPUNIT_ASSERT_EQUAL( testLabel, m_cb->GetLabel() );
const wxString& testLabel2 = "label with &mnemonic";
const wxString& testLabelText2 = "label with &&mnemonic";
SET_LABEL_TEXT(testLabel2);
CPPUNIT_ASSERT_EQUAL( testLabelText2, m_st->GetLabel() );
CPPUNIT_ASSERT_EQUAL( "label with &amp;mnemonic", m_stWithMarkup->GetLabel() );
CPPUNIT_ASSERT_EQUAL( testLabelText2, m_cb->GetLabel() );
const wxString& testLabel3 = "label with <span foreground='blue'>some</span> <b>markup</b>";
SET_LABEL_TEXT(testLabel3);
CPPUNIT_ASSERT_EQUAL( testLabel3, m_st->GetLabel() );
CPPUNIT_ASSERT_EQUAL( "label with &lt;span foreground=&apos;blue&apos;&gt;some&lt;/span&gt; &lt;b&gt;markup&lt;/b&gt;", m_stWithMarkup->GetLabel() );
CPPUNIT_ASSERT_EQUAL( testLabel3, m_cb->GetLabel() );
const wxString& testLabel4 = "label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic";
const wxString& testLabelText4 = "label with <span foreground='blue'>some</span> <b>markup</b> and &&mnemonic";
SET_LABEL_TEXT(testLabel4);
CPPUNIT_ASSERT_EQUAL( testLabelText4, m_st->GetLabel() );
CPPUNIT_ASSERT_EQUAL( "label with &lt;span foreground=&apos;blue&apos;&gt;some&lt;/span&gt; &lt;b&gt;markup&lt;/b&gt; and &amp;mnemonic", m_stWithMarkup->GetLabel() );
CPPUNIT_ASSERT_EQUAL( testLabelText4, m_cb->GetLabel() );
}
void LabelTestCase::GetLabelText()
{
// test calls to SetLabel() and then to GetLabelText()
const wxString& testLabel = "label without mnemonics and markup";
SET_LABEL(testLabel);
CPPUNIT_ASSERT_EQUAL( testLabel, m_st->GetLabelText() );
CPPUNIT_ASSERT_EQUAL( testLabel, m_stWithMarkup->GetLabelText() );
CPPUNIT_ASSERT_EQUAL( testLabel, m_cb->GetLabelText() );
const wxString& testLabel2 = "label with &mnemonic";
const wxString& testLabelText2 = "label with mnemonic";
SET_LABEL(testLabel2);
CPPUNIT_ASSERT_EQUAL( testLabelText2, m_st->GetLabelText() );
CPPUNIT_ASSERT_EQUAL( testLabelText2, m_stWithMarkup->GetLabelText() );
CPPUNIT_ASSERT_EQUAL( testLabelText2, m_cb->GetLabelText() );
const wxString& testLabel3 = "label with <span foreground='blue'>some</span> <b>markup</b>";
SET_LABEL(testLabel3);
CPPUNIT_ASSERT_EQUAL( testLabel3, m_st->GetLabelText() );
CPPUNIT_ASSERT_EQUAL( "label with some markup", m_stWithMarkup->GetLabelText() );
CPPUNIT_ASSERT_EQUAL( testLabel3, m_cb->GetLabelText() );
const wxString& testLabel4 = "label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic";
const wxString& testLabelText4 = "label with <span foreground='blue'>some</span> <b>markup</b> and mnemonic";
SET_LABEL(testLabel4);
CPPUNIT_ASSERT_EQUAL( testLabelText4, m_st->GetLabelText() );
CPPUNIT_ASSERT_EQUAL( "label with some markup and mnemonic", m_stWithMarkup->GetLabelText() );
CPPUNIT_ASSERT_EQUAL( testLabelText4, m_cb->GetLabelText() );
const wxString testLabelArray[] = {
"label without mnemonics and markup",
"label with &mnemonic",
"label with <span foreground='blue'>some</span> <b>markup</b>",
"label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic",
};
// test calls to SetLabelText() and then to GetLabelText()
for ( unsigned int s = 0; s < WXSIZEOF(testLabelArray); s++ )
{
SET_LABEL_TEXT(testLabelArray[s]);
// GetLabelText() should always return the string passed to SetLabelText()
CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_st->GetLabelText() );
CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_stWithMarkup->GetLabelText() );
CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_cb->GetLabelText() );
}
}
void LabelTestCase::Statics()
{
CPPUNIT_ASSERT_EQUAL( "mnemonic", wxControl::RemoveMnemonics("&mnemonic") );
CPPUNIT_ASSERT_EQUAL( "&mnemonic", wxControl::RemoveMnemonics("&&mnemonic") );
CPPUNIT_ASSERT_EQUAL( "&mnemonic", wxControl::RemoveMnemonics("&&&mnemonic") );
CPPUNIT_ASSERT_EQUAL( "", wxStaticText::RemoveMarkup("<b></b>") );
}

View File

@@ -126,6 +126,7 @@ TEST_GUI_OBJECTS = \
$(OBJS)\test_gui_config.obj \
$(OBJS)\test_gui_comboboxtest.obj \
$(OBJS)\test_gui_headerctrltest.obj \
$(OBJS)\test_gui_label.obj \
$(OBJS)\test_gui_listctrltest.obj \
$(OBJS)\test_gui_textctrltest.obj \
$(OBJS)\test_gui_textentrytest.obj \
@@ -141,7 +142,7 @@ TEST_GUI_OBJECTS = \
$(OBJS)\test_gui_garbage.obj \
$(OBJS)\test_gui_settings.obj \
$(OBJS)\test_gui_socket.obj \
$(OBJS)\test_gui_boxsizer.obj \
$(OBJS)\test_gui_boxsizer.obj \
$(OBJS)\test_gui_clientsize.obj \
$(OBJS)\test_gui_setsize.obj
@@ -644,6 +645,9 @@ $(OBJS)\test_gui_comboboxtest.obj: .\controls\comboboxtest.cpp
$(OBJS)\test_gui_headerctrltest.obj: .\controls\headerctrltest.cpp
$(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\controls\headerctrltest.cpp
$(OBJS)\test_gui_label.obj: .\controls\label.cpp
$(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\controls\label.cpp
$(OBJS)\test_gui_listctrltest.obj: .\controls\listctrltest.cpp
$(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\controls\listctrltest.cpp
@@ -689,9 +693,9 @@ $(OBJS)\test_gui_settings.obj: .\misc\settings.cpp
$(OBJS)\test_gui_socket.obj: .\net\socket.cpp
$(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\net\socket.cpp
$(OBJS)\test_gui_boxsizer.obj: .\sizers\boxsizer.cpp
$(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\sizers\boxsizer.cpp
$(OBJS)\test_gui_boxsizer.obj: .\sizers\boxsizer.cpp
$(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\sizers\boxsizer.cpp
$(OBJS)\test_gui_clientsize.obj: .\window\clientsize.cpp
$(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\window\clientsize.cpp

View File

@@ -120,6 +120,7 @@ TEST_GUI_OBJECTS = \
$(OBJS)\test_gui_config.o \
$(OBJS)\test_gui_comboboxtest.o \
$(OBJS)\test_gui_headerctrltest.o \
$(OBJS)\test_gui_label.o \
$(OBJS)\test_gui_listctrltest.o \
$(OBJS)\test_gui_textctrltest.o \
$(OBJS)\test_gui_textentrytest.o \
@@ -135,7 +136,7 @@ TEST_GUI_OBJECTS = \
$(OBJS)\test_gui_garbage.o \
$(OBJS)\test_gui_settings.o \
$(OBJS)\test_gui_socket.o \
$(OBJS)\test_gui_boxsizer.o \
$(OBJS)\test_gui_boxsizer.o \
$(OBJS)\test_gui_clientsize.o \
$(OBJS)\test_gui_setsize.o
@@ -626,6 +627,9 @@ $(OBJS)\test_gui_comboboxtest.o: ./controls/comboboxtest.cpp
$(OBJS)\test_gui_headerctrltest.o: ./controls/headerctrltest.cpp
$(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\test_gui_label.o: ./controls/label.cpp
$(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\test_gui_listctrltest.o: ./controls/listctrltest.cpp
$(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
@@ -671,9 +675,9 @@ $(OBJS)\test_gui_settings.o: ./misc/settings.cpp
$(OBJS)\test_gui_socket.o: ./net/socket.cpp
$(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\test_gui_boxsizer.o: ./sizers/boxsizer.cpp
$(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\test_gui_boxsizer.o: ./sizers/boxsizer.cpp
$(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\test_gui_clientsize.o: ./window/clientsize.cpp
$(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<

View File

@@ -121,6 +121,7 @@ TEST_GUI_OBJECTS = \
$(OBJS)\test_gui_config.obj \
$(OBJS)\test_gui_comboboxtest.obj \
$(OBJS)\test_gui_headerctrltest.obj \
$(OBJS)\test_gui_label.obj \
$(OBJS)\test_gui_listctrltest.obj \
$(OBJS)\test_gui_textctrltest.obj \
$(OBJS)\test_gui_textentrytest.obj \
@@ -136,7 +137,7 @@ TEST_GUI_OBJECTS = \
$(OBJS)\test_gui_garbage.obj \
$(OBJS)\test_gui_settings.obj \
$(OBJS)\test_gui_socket.obj \
$(OBJS)\test_gui_boxsizer.obj \
$(OBJS)\test_gui_boxsizer.obj \
$(OBJS)\test_gui_clientsize.obj \
$(OBJS)\test_gui_setsize.obj
TEST_GUI_RESOURCES = \
@@ -770,6 +771,9 @@ $(OBJS)\test_gui_comboboxtest.obj: .\controls\comboboxtest.cpp
$(OBJS)\test_gui_headerctrltest.obj: .\controls\headerctrltest.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\controls\headerctrltest.cpp
$(OBJS)\test_gui_label.obj: .\controls\label.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\controls\label.cpp
$(OBJS)\test_gui_listctrltest.obj: .\controls\listctrltest.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\controls\listctrltest.cpp
@@ -815,9 +819,9 @@ $(OBJS)\test_gui_settings.obj: .\misc\settings.cpp
$(OBJS)\test_gui_socket.obj: .\net\socket.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\net\socket.cpp
$(OBJS)\test_gui_boxsizer.obj: .\sizers\boxsizer.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\sizers\boxsizer.cpp
$(OBJS)\test_gui_boxsizer.obj: .\sizers\boxsizer.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\sizers\boxsizer.cpp
$(OBJS)\test_gui_clientsize.obj: .\window\clientsize.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\window\clientsize.cpp

View File

@@ -364,6 +364,7 @@ TEST_GUI_OBJECTS = &
$(OBJS)\test_gui_config.obj &
$(OBJS)\test_gui_comboboxtest.obj &
$(OBJS)\test_gui_headerctrltest.obj &
$(OBJS)\test_gui_label.obj &
$(OBJS)\test_gui_listctrltest.obj &
$(OBJS)\test_gui_textctrltest.obj &
$(OBJS)\test_gui_textentrytest.obj &
@@ -379,7 +380,7 @@ TEST_GUI_OBJECTS = &
$(OBJS)\test_gui_garbage.obj &
$(OBJS)\test_gui_settings.obj &
$(OBJS)\test_gui_socket.obj &
$(OBJS)\test_gui_boxsizer.obj &
$(OBJS)\test_gui_boxsizer.obj &
$(OBJS)\test_gui_clientsize.obj &
$(OBJS)\test_gui_setsize.obj
@@ -681,6 +682,9 @@ $(OBJS)\test_gui_comboboxtest.obj : .AUTODEPEND .\controls\comboboxtest.cpp
$(OBJS)\test_gui_headerctrltest.obj : .AUTODEPEND .\controls\headerctrltest.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<
$(OBJS)\test_gui_label.obj : .AUTODEPEND .\controls\label.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<
$(OBJS)\test_gui_listctrltest.obj : .AUTODEPEND .\controls\listctrltest.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<
@@ -726,9 +730,9 @@ $(OBJS)\test_gui_settings.obj : .AUTODEPEND .\misc\settings.cpp
$(OBJS)\test_gui_socket.obj : .AUTODEPEND .\net\socket.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<
$(OBJS)\test_gui_boxsizer.obj : .AUTODEPEND .\sizers\boxsizer.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<
$(OBJS)\test_gui_boxsizer.obj : .AUTODEPEND .\sizers\boxsizer.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<
$(OBJS)\test_gui_clientsize.obj : .AUTODEPEND .\window\clientsize.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<

View File

@@ -122,6 +122,7 @@
config/config.cpp
controls/comboboxtest.cpp
controls/headerctrltest.cpp
controls/label.cpp
controls/listctrltest.cpp
controls/textctrltest.cpp
controls/textentrytest.cpp

View File

@@ -235,10 +235,10 @@ LINK32=link.exe
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\sizers\boxsizer.cpp
# End Source File
# Begin Source File
SOURCE=.\sizers\boxsizer.cpp
# End Source File
# Begin Source File
SOURCE=.\window\clientsize.cpp
# End Source File
# Begin Source File
@@ -293,6 +293,10 @@ SOURCE=.\image\image.cpp
# End Source File
# Begin Source File
SOURCE=.\controls\label.cpp
# End Source File
# Begin Source File
SOURCE=.\controls\listctrltest.cpp
# End Source File
# Begin Source File

View File

@@ -566,9 +566,9 @@
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\sizers\boxsizer.cpp">
</File>
<File
RelativePath=".\sizers\boxsizer.cpp">
</File>
<File
RelativePath=".\window\clientsize.cpp">
</File>
<File
@@ -655,6 +655,9 @@
<File
RelativePath=".\image\image.cpp">
</File>
<File
RelativePath=".\controls\label.cpp">
</File>
<File
RelativePath=".\controls\listctrltest.cpp">
</File>

View File

@@ -828,10 +828,10 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\sizers\boxsizer.cpp"
>
</File>
<File
RelativePath=".\sizers\boxsizer.cpp"
>
</File>
<File
RelativePath=".\window\clientsize.cpp"
>
</File>
@@ -947,6 +947,10 @@
RelativePath=".\image\image.cpp"
>
</File>
<File
RelativePath=".\controls\label.cpp"
>
</File>
<File
RelativePath=".\controls\listctrltest.cpp"
>

View File

@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="Windows-1252"?>
<!--
This project was generated by
Bakefile 0.2.8 (http://www.bakefile.org)
Do not modify, all changes will be overwritten!
-->
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="test_gui"
ProjectGUID="{9BB295D9-A6AA-510D-AA0D-9375B5D91025}"
TargetFrameworkVersion="0"
>
<Platforms>
<Platform
@@ -12,6 +18,7 @@
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
@@ -97,8 +104,8 @@
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswud\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
OutputFile="vc_mswud\test_vc9_test_gui.bsc"
/>
<Tool
Name="VCFxCopTool"
@@ -178,9 +185,9 @@
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswu\test_gui.pdb"
SubSystem="1"
TargetMachine="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
@@ -193,8 +200,8 @@
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswu\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
OutputFile="vc_mswu\test_vc9_test_gui.bsc"
/>
<Tool
Name="VCFxCopTool"
@@ -289,8 +296,8 @@
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswunivud\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
OutputFile="vc_mswunivud\test_vc9_test_gui.bsc"
/>
<Tool
Name="VCFxCopTool"
@@ -370,9 +377,9 @@
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswunivu\test_gui.pdb"
SubSystem="1"
TargetMachine="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
@@ -385,8 +392,8 @@
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswunivu\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
OutputFile="vc_mswunivu\test_vc9_test_gui.bsc"
/>
<Tool
Name="VCFxCopTool"
@@ -481,8 +488,8 @@
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswuddll\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
OutputFile="vc_mswuddll\test_vc9_test_gui.bsc"
/>
<Tool
Name="VCFxCopTool"
@@ -562,9 +569,9 @@
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswudll\test_gui.pdb"
SubSystem="1"
TargetMachine="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
@@ -577,8 +584,8 @@
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswudll\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
OutputFile="vc_mswudll\test_vc9_test_gui.bsc"
/>
<Tool
Name="VCFxCopTool"
@@ -673,8 +680,8 @@
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswunivuddll\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
OutputFile="vc_mswunivuddll\test_vc9_test_gui.bsc"
/>
<Tool
Name="VCFxCopTool"
@@ -754,9 +761,9 @@
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswunivudll\test_gui.pdb"
SubSystem="1"
TargetMachine="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
@@ -769,8 +776,8 @@
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswunivudll\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
OutputFile="vc_mswunivudll\test_vc9_test_gui.bsc"
/>
<Tool
Name="VCFxCopTool"
@@ -784,6 +791,7 @@
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
@@ -792,68 +800,28 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\sizers\boxsizer.cpp"
>
</File>
<File
RelativePath=".\sizers\boxsizer.cpp"
>
</File>
<File
RelativePath=".\window\clientsize.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\events\clone.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\graphics\colour.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\controls\comboboxtest.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\config\config.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\dummy.cpp"
@@ -930,206 +898,74 @@
<File
RelativePath=".\font\fonttest.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\misc\garbage.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\misc\guifuncs.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\controls\headerctrltest.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\html\htmlwindow.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\image\image.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\controls\label.cpp"
>
</File>
<File
RelativePath=".\controls\listctrltest.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\graphics\measuring.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\geometry\point.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\events\propagation.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\image\rawbmp.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\geometry\rect.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\misc\selstoretest.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\window\setsize.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\misc\settings.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\geometry\size.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\net\socket.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\test.cpp"
@@ -1138,38 +974,14 @@
<File
RelativePath=".\controls\textctrltest.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\controls\textentrytest.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\controls\treectrltest.cpp"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
@@ -1184,5 +996,7 @@
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>