#include "wx/defs.h"
#include "wx/object.h"
-#include "wx/generic/imaglist.h"
+#include "wx/imaglist.h"
#include "wx/control.h"
#include "wx/timer.h"
-#include "wx/textctrl.h"
#include "wx/dcclient.h"
#include "wx/scrolwin.h"
#include "wx/settings.h"
// returns true if it is a virtual list control
bool IsVirtual() const { return (GetWindowStyle() & wxLC_VIRTUAL) != 0; }
+ // refresh items selectively (only useful for virtual list controls)
+ void RefreshItem(long item);
+ void RefreshItems(long itemFrom, long itemTo);
+
+ // implementation only from now on
+ // -------------------------------
+
void OnIdle( wxIdleEvent &event );
void OnSize( wxSizeEvent &event );
// We have to hand down a few functions
- bool SetBackgroundColour( const wxColour &colour );
- bool SetForegroundColour( const wxColour &colour );
- bool SetFont( const wxFont &font );
+ virtual void Freeze();
+ virtual void Thaw();
+
+ virtual bool SetBackgroundColour( const wxColour &colour );
+ virtual bool SetForegroundColour( const wxColour &colour );
+ virtual wxColour GetBackgroundColour() const;
+ virtual wxColour GetForegroundColour() const;
+ virtual bool SetFont( const wxFont &font );
+ virtual bool SetCursor( const wxCursor &cursor );
#if wxUSE_DRAG_AND_DROP
- void SetDropTarget( wxDropTarget *dropTarget );
- wxDropTarget *GetDropTarget() const;
+ virtual void SetDropTarget( wxDropTarget *dropTarget );
+ virtual wxDropTarget *GetDropTarget() const;
#endif
- bool SetCursor( const wxCursor &cursor );
- wxColour GetBackgroundColour() const;
- wxColour GetForegroundColour() const;
- bool DoPopupMenu( wxMenu *menu, int x, int y );
- void SetFocus();
+ virtual bool DoPopupMenu( wxMenu *menu, int x, int y );
+
+ virtual void SetFocus();
// implementation
// --------------
// return the icon for the given item
virtual int OnGetItemImage(long item) const;
+ // return the attribute for the item (may return NULL if none)
+ virtual wxListItemAttr *OnGetItemAttr(long item) const;
+
// it calls our OnGetXXX() functions
- friend wxListMainWindow;
+ friend class WXDLLEXPORT wxListMainWindow;
private:
+ // Virtual function hiding supression
+ virtual void Update() { wxWindow::Update(); }
+
// create the header window
void CreateHeaderWindow();
+ // reposition the header and the main window in the report view depending
+ // on whether it should be shown or not
+ void ResizeReportView(bool showHeader);
+
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxListCtrl);
};