// Modified by:
// Created: 31.05.03
// RCS-ID: $Id$
-// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
+// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#define _WX_VLBOX_H_
#include "wx/vscroll.h" // base class
+#include "wx/bitmap.h"
class WXDLLEXPORT wxSelectionStore;
// is this item the current one?
bool IsCurrent(size_t item) const { return item == (size_t)m_current; }
+ #ifdef __WXUNIVERSAL__
+ bool IsCurrent() const { return wxVScrolledWindow::IsCurrent(); }
+ #endif
// is this item selected?
bool IsSelected(size_t item) const;
// set the number of items to be shown in the control
//
// this is just a synonym for wxVScrolledWindow::SetLineCount()
- void SetItemCount(size_t count);
+ virtual void SetItemCount(size_t count);
// delete all items from the control
void Clear() { SetItemCount(0); }
void SetSelectionBackground(const wxColour& col);
+ virtual wxVisualAttributes GetDefaultAttributes() const
+ {
+ return GetClassDefaultAttributes(GetWindowVariant());
+ }
+
+ static wxVisualAttributes
+ GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
protected:
// the derived class must implement this function to actually draw the item
// with the given index on the provided DC
// the base class version doesn't do anything
virtual void OnDrawSeparator(wxDC& dc, wxRect& rect, size_t n) const;
+ // this method is used to draw the items background and, maybe, a border
+ // around it
+ //
+ // the base class version implements a reasonable default behaviour which
+ // consists in drawing the selected item with the standard background
+ // colour and drawing a border around the item if it is either selected or
+ // current
+ virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const;
// we implement OnGetLineHeight() in terms of OnMeasureItem() because this
// allows us to add borders to the items easily
//
- // this function is not upposed to be overridden by the derived classes
+ // this function is not supposed to be overridden by the derived classes
virtual wxCoord OnGetLineHeight(size_t line) const;
// the selection bg colour
wxColour m_colBgSel;
+ // double buffer
+ wxBitmap* m_doubleBuffer;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxVListBox)
+ DECLARE_ABSTRACT_CLASS(wxVListBox)
};
#endif // _WX_VLBOX_H_