Inheritance diagram for os::ListView:
Public Types | |
enum | scroll_direction { SCROLL_UP, SCROLL_DOWN } |
enum | { AUTOSCROLL_BORDER = 20 } |
enum | { F_MULTI_SELECT = 0x0001, F_NO_AUTO_SORT = 0x0002, F_RENDER_BORDER = 0x0004, F_DONT_SCROLL = 0x0008, F_NO_HEADER = 0x0010, F_NO_COL_REMAP = 0x0020, F_NO_SORT = 0x0040 } |
enum | { INV_HEIGHT = 0x01, INV_WIDTH = 0x02, INV_VISUAL = 0x04 } |
typedef std::vector< ListViewRow * >::const_iterator | const_iterator |
typedef std::vector< int > | column_map |
Public Member Functions | |
ListView (const Rect &cFrame, const String &cTitle, uint32 nModeFlags=F_MULTI_SELECT|F_RENDER_BORDER, uint32 nResizeMask=CF_FOLLOW_LEFT|CF_FOLLOW_TOP, uint32 nFlags=WID_WILL_DRAW|WID_FULL_UPDATE_ON_RESIZE) | |
~ListView () | |
virtual void | LabelChanged (const String &cNewLabel) |
virtual void | EnableStatusChanged (bool bIsEnabled) |
virtual bool | Invoked (Message *pcMessage) |
Intercept outgoing messages. | |
virtual void | Invoked (int nFirstRow, int nLastRow) |
virtual void | SelectionChanged (int nFirstRow, int nLastRow) |
virtual bool | DragSelection (const Point &cPos) |
void | StartScroll (scroll_direction eDirection, bool bSelect) |
void | StopScroll () |
bool | IsMultiSelect () const |
void | SetMultiSelect (bool bMulti) |
bool | IsAutoSort () const |
void | SetAutoSort (bool bAuto) |
bool | HasBorder () const |
void | SetRenderBorder (bool bRender) |
bool | HasColumnHeader () const |
void | SetHasColumnHeader (bool bFlag) |
Turn column header on or off. | |
void | MakeVisible (int nRow, bool bCenter=true) |
Make row visible. | |
int | InsertColumn (const char *pzTitle, int nWidth, int nPos=-1) |
const column_map & | GetColumnMapping () const |
void | SetColumnMapping (const column_map &cMap) |
void | InsertRow (int nPos, ListViewRow *pcRow, bool bUpdate=true) |
Insert a row. | |
void | InsertRow (ListViewRow *pcRow, bool bUpdate=true) |
Insert a row. | |
ListViewRow * | RemoveRow (int nIndex, bool bUpdate=true) |
Remove a row. | |
void | InvalidateRow (int nRow, uint32 nFlags) |
Refresh row. | |
uint | GetRowCount () const |
Get row count. | |
ListViewRow * | GetRow (const Point &cPos) const |
Find row at a certain position. | |
ListViewRow * | GetRow (uint nIndex) const |
Get a row. | |
int | HitTest (const Point &cPos) const |
Find row at a certain position. | |
float | GetRowPos (int nRow) |
Get row vertical position. | |
void | Clear () |
Clear list. | |
bool | IsSelected (uint nRow) const |
Check if a row is selected. | |
void | Select (int nFirst, int nLast, bool bReplace=true, bool bSelect=true) |
void | Select (int nRow, bool bReplace=true, bool bSelect=true) |
void | ClearSelection () |
void | Highlight (int nFirst, int nLast, bool bReplace, bool bHighlight=true) |
void | Highlight (int nRow, bool bReplace, bool bHighlight=true) |
void | SetCurrentRow (int nRow) |
void | Sort () |
Sort rows. | |
int | GetFirstSelected () const |
Get first selected row. | |
int | GetLastSelected () const |
void | SetSelChangeMsg (Message *pcMsg) |
void | SetInvokeMsg (Message *pcMsg) |
Message * | GetSelChangeMsg () const |
Message * | GetInvokeMsg () const |
virtual void | Paint (const Rect &cUpdateRect) |
Called by the system update "damaged" areas of the view. | |
virtual void | FrameSized (const Point &cDelta) |
Virtual hook called by the system when the view is resized. | |
virtual void | KeyDown (const char *pzString, const char *pzRawString, uint32 nQualifiers) |
Hook called by the system when a key is pressed while the view has focus. | |
virtual void | AllAttached () |
virtual bool | HasFocus (void) const |
virtual void | SortRows (std::vector< ListViewRow * > *pcRows, int nColumn) |
Sort rows. | |
virtual void | MouseDown (const Point &, uint32) |
Hook called by the system when a mouse button is pressed. | |
virtual void | MouseUp (const Point &cPosition, uint32 nButton, Message *pcData) |
Hook called by the system when a mouse button is release. | |
virtual void | MouseMove (const Point &cNewPos, int nCode, uint32 nButtons, Message *pcData) |
Hook called by the system when the mouse is moved. | |
const_iterator | begin () const |
STL iterator interface. | |
const_iterator | end () const |
STL iterator interface. | |
void | RefreshLayout () |
Refresh layout. | |
Friends | |
class | ListViewContainer |
class | ListViewHeader |
Classes | |
class | Private |
typedef std::vector<ListViewRow*>::const_iterator os::ListView::const_iterator |
typedef std::vector<int> os::ListView::column_map |
anonymous enum |
ListView::ListView | ( | const Rect & | cFrame, | |
const String & | cTitle, | |||
uint32 | nModeFlags = F_MULTI_SELECT|F_RENDER_BORDER , |
|||
uint32 | nResizeMask = CF_FOLLOW_LEFT|CF_FOLLOW_TOP , |
|||
uint32 | nFlags = WID_WILL_DRAW|WID_FULL_UPDATE_ON_RESIZE | |||
) |
ListView::~ListView | ( | ) |
void ListView::LabelChanged | ( | const String & | cNewLabel | ) | [virtual] |
Reimplemented from os::Control.
void ListView::EnableStatusChanged | ( | bool | bIsEnabled | ) | [virtual] |
Implements os::Control.
bool ListView::Invoked | ( | Message * | pcMessage | ) | [virtual] |
pcMessage | Pointer to the message that is about to be sendt. You can do any modification you like to this message (but never delete it). |
Reimplemented from os::Control.
void ListView::Invoked | ( | int | nFirstRow, | |
int | nLastRow | |||
) | [virtual] |
Reimplemented in os::DirectoryView.
void ListView::SelectionChanged | ( | int | nFirstRow, | |
int | nLastRow | |||
) | [virtual] |
bool ListView::DragSelection | ( | const Point & | cPos | ) | [virtual] |
Reimplemented in os::DirectoryView.
void ListView::StartScroll | ( | scroll_direction | eDirection, | |
bool | bSelect | |||
) |
void ListView::StopScroll | ( | ) |
bool ListView::IsMultiSelect | ( | ) | const |
void ListView::SetMultiSelect | ( | bool | bMulti | ) |
bool ListView::IsAutoSort | ( | ) | const |
void ListView::SetAutoSort | ( | bool | bAuto | ) |
bool ListView::HasBorder | ( | ) | const |
void ListView::SetRenderBorder | ( | bool | bRender | ) |
bool ListView::HasColumnHeader | ( | ) | const |
void ListView::SetHasColumnHeader | ( | bool | bFlag | ) |
void ListView::MakeVisible | ( | int | nRow, | |
bool | bCenter = true | |||
) |
nRow | Index to row to make visible. | |
bCenter | Set to true to have the view centred on nRow. |
int ListView::InsertColumn | ( | const char * | pzTitle, | |
int | nWidth, | |||
int | nPos = -1 | |||
) |
const std::vector< int > & ListView::GetColumnMapping | ( | ) | const |
void ListView::SetColumnMapping | ( | const column_map & | cMap | ) |
void ListView::InsertRow | ( | int | nPos, | |
ListViewRow * | pcRow, | |||
bool | bUpdate = true | |||
) |
nPos | Row index. | |
bUpdate | Update display. If many operations are performed, often only the last one need to update the display. |
void ListView::InsertRow | ( | ListViewRow * | pcRow, | |
bool | bUpdate = true | |||
) |
bUpdate | Update display. If many operations are performed, often only the last one need to update the display. |
ListViewRow * ListView::RemoveRow | ( | int | nIndex, | |
bool | bUpdate = true | |||
) |
nIndex | Row index. | |
bUpdate | Update display. If many operations are performed, often only the last one need to update the display. |
Reimplemented in os::TreeView.
void ListView::InvalidateRow | ( | int | nRow, | |
uint32 | nFlags | |||
) |
nIndex | Row index. | |
nFlags | Flags. Use INV_VISUAL. |
uint ListView::GetRowCount | ( | ) | const |
ListViewRow * ListView::GetRow | ( | const Point & | cPos | ) | const |
cPos | Coordinates referenced to ListView control. |
ListViewRow * ListView::GetRow | ( | uint | nIndex | ) | const |
nIndex | Row index. |
int ListView::HitTest | ( | const Point & | cPos | ) | const |
cPos | Screen coordinate to look for a row at. |
float ListView::GetRowPos | ( | int | nRow | ) |
nRow | Row index to look at. |
void ListView::Clear | ( | ) |
bool ListView::IsSelected | ( | uint | nRow | ) | const |
nRow | Row to check. |
void ListView::Select | ( | int | nFirst, | |
int | nLast, | |||
bool | bReplace = true , |
|||
bool | bSelect = true | |||
) |
void ListView::Select | ( | int | nRow, | |
bool | bReplace = true , |
|||
bool | bSelect = true | |||
) |
void ListView::ClearSelection | ( | ) |
void ListView::Highlight | ( | int | nFirst, | |
int | nLast, | |||
bool | bReplace, | |||
bool | bHighlight = true | |||
) |
void ListView::Highlight | ( | int | nRow, | |
bool | bReplace, | |||
bool | bHighlight = true | |||
) |
void ListView::SetCurrentRow | ( | int | nRow | ) |
void ListView::Sort | ( | ) |
int ListView::GetFirstSelected | ( | ) | const |
int ListView::GetLastSelected | ( | ) | const |
void ListView::SetSelChangeMsg | ( | Message * | pcMsg | ) |
void ListView::SetInvokeMsg | ( | Message * | pcMsg | ) |
Message * ListView::GetSelChangeMsg | ( | ) | const |
Message * ListView::GetInvokeMsg | ( | ) | const |
void ListView::Paint | ( | const Rect & | cUpdateRect | ) | [virtual] |
cUpdateRect | A rectangle enclosing all damaged areas. This is just a rough "worst-case", further fine-grained clipping will be performed by the Application Server to avoid updating non-damaged pixels and make the update as fast and flicker-free as possible. |
Reimplemented from os::View.
Reimplemented in os::TreeView.
void ListView::FrameSized | ( | const Point & | cDelta | ) | [virtual] |
cDelta
calue from the current size. cDelta | The distance the bottom/right corner was moved relative to the upper/left corner. |
Reimplemented from os::View.
void ListView::KeyDown | ( | const char * | pzString, | |
const char * | pzRawString, | |||
uint32 | nQualifiers | |||
) | [virtual] |
pzString | String containing a single UTF-8 encoded character. This is the character generated by the pressed key according to the current keymap accounting for any qualifiers that might be pressed. | |
pzRawString | Same as pzString except that the key is converted without accounting for qualifiers. Ie. if 'A' is pressed while pressing <SHIFT> pzString will contain 'A' and pzRawString will contain 'a'. | |
nQualifiers | Bitmask describing which qualifiers that was active when the key was pressed. |
Reimplemented from os::View.
Reimplemented in os::DirectoryView.
void ListView::AllAttached | ( | ) | [virtual] |
Reimplemented from os::View.
bool ListView::HasFocus | ( | void | ) | const [virtual] |
Reimplemented from os::View.
void ListView::SortRows | ( | std::vector< ListViewRow * > * | pcRows, | |
int | nColumn | |||
) | [virtual] |
pcRows | std::vector of ListViewRows to be sorted. | |
nColumn | The column to sort by. |
Reimplemented in os::TreeView.
void ListView::MouseDown | ( | const Point & | cPos, | |
uint32 | nButtons | |||
) | [virtual] |
cPosition | Mouse position in the views coordinate system at the time the mouse was pressed. | |
nButtons | Index of the pressed button. Buttons start at 1 for the left button, 2 for the right button, 3 for the middle button. Additional buttons might be supported by the mouse driver and will then be assigned numbers from 4 and up. |
Reimplemented from os::View.
pcData
member will point to a Message containing the dragged data. Look at BeginDrag() for a more detailed description of the drag and drop system. cPosition | Mouse position in the views coordinate system at the time the mouse was pressed. | |
nButtons | Index of the pressed button. Buttons start at 1 for the left button, 2 for the right button, 3 for the middle button. Additional buttons might be supported by the mouse driver and will then be assigned numbers from 4 and up. | |
pcData | Pointer to a Message object containing the dragged data if this mouse-up was the end of a drag and drop operation. If no data was dragged it will be NULL. |
Reimplemented from os::View.
Reimplemented in os::DirectoryView.
void ListView::MouseMove | ( | const Point & | cNewPos, | |
int | nCode, | |||
uint32 | nButtons, | |||
Message * | pcData | |||
) | [virtual] |
cNewPos | New mouse position given in the views coordinate system. | |
nCode | Enter/exit code. This is MOUSE_ENTERED when the mouse first enter the view, MOUSE_EXITED when the mouse leaves the view, MOUSE_INSIDE whenever the mouse move withing the boundary of the view and MOUSE_OUTSIDE when the mouse move outside the view (will only happen if the view has focus). | |
nButtons | Bitmask telling which buttons that are currently pressed. Bit 0 is button 1 (left), bit 1 is button 2 (right), and bit 2 is button 3 (middle), and so on. | |
pcData | Pointer to a Message object containing the dragged data if the user is in the middle of a drag and drop operation. Otherwise this pointer is NULL. Look at BeginDrag() for a more detailed description of the drag and drop system. |
Reimplemented from os::View.
Reimplemented in os::DirectoryView.
ListView::const_iterator ListView::begin | ( | ) | const |
ListView::const_iterator ListView::end | ( | ) | const |
void ListView::RefreshLayout | ( | ) |
friend class ListViewContainer [friend] |
friend class ListViewHeader [friend] |