// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "listctrl.h"
#pragma implementation "listctrlbase.h"
#endif
#include "wx/listimpl.cpp"
WX_DEFINE_LIST(wxListItemDataList);
-class WXDLLEXPORT wxListLineData
+class wxListLineData
{
public:
// the list of subitems: only may have more than one item in report mode
#include "wx/listimpl.cpp"
WX_DEFINE_LIST(wxListHeaderDataList);
-class WXDLLEXPORT wxListMainWindow : public wxScrolledWindow
+class wxListMainWindow : public wxScrolledWindow
{
public:
wxListMainWindow();
}
void wxListLineData::SetPosition( int x, int y,
- int window_width,
+ int WXUNUSED(window_width),
int spacing )
{
wxListItemDataList::compatibility_iterator node = m_items.GetFirst();
wxCHECK_RET( index >= 0 && (size_t)index < GetItemCount(),
_T("invalid index in GetItemRect") );
+ // ensure that we're laid out, otherwise we could return nonsense
+ if ( m_dirty )
+ {
+ wxConstCast(this, wxListMainWindow)->
+ RecalculatePositions(TRUE /* no refresh */);
+ }
+
rect = GetLineRect((size_t)index);
CalcScrolledPosition(rect.x, rect.y, &rect.x, &rect.y);