- in Win95, you can be called back to supply other information
besides text, such as state information. This saves no memory
and is probably superfluous to requirements.
- - discover why SetWindowLong doesn't properly change the
- style, requiring RecreateWindow instead.
- testing of whole API, extending current sample.
int m_format; // left, right, centre
int m_width; // width of column
- wxListItem(void);
+ wxListItem();
};
// type of compare function for wxListCtrl sort operation
* Public interface
*/
- wxListCtrl(void);
+ wxListCtrl();
inline wxListCtrl(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxLC_ICON, const wxValidator& validator = wxDefaultValidator,
{
Create(parent, id, pos, size, style, validator, name);
}
- ~wxListCtrl(void);
+ ~wxListCtrl();
bool Create(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxLC_ICON, const wxValidator& validator = wxDefaultValidator, const wxString& name = "wxListCtrl");
// Sets the background colour (GetBackgroundColour already implicit in
// wxWindow class)
- void SetBackgroundColour(const wxColour& col);
+ bool SetBackgroundColour(const wxColour& col);
// Gets information about this column
bool GetColumn(int col, wxListItem& item) const;
// visible area of the list control (list or report view)
// or the total number of items in the list control (icon
// or small icon view)
- int GetCountPerPage(void) const;
+ int GetCountPerPage() const;
// Gets the edit control for editing labels.
- wxTextCtrl* GetEditControl(void) const;
+ wxTextCtrl* GetEditControl() const;
// Gets information about the item
bool GetItem(wxListItem& info) const ;
bool SetItemPosition(long item, const wxPoint& pos) ;
// Gets the number of items in the list control
- int GetItemCount(void) const;
+ int GetItemCount() const;
// Gets the number of columns in the list control
- int GetColumnCount(void) const;
+ int GetColumnCount() const { return m_colCount; }
// Retrieves the spacing between icons in pixels.
// If small is TRUE, gets the spacing for the small icon
int GetItemSpacing(bool isSmall) const;
// Gets the number of selected items in the list control
- int GetSelectedItemCount(void) const;
+ int GetSelectedItemCount() const;
// Gets the text colour of the listview
- wxColour GetTextColour(void) const;
+ wxColour GetTextColour() const;
// Sets the text colour of the listview
void SetTextColour(const wxColour& col);
// Gets the index of the topmost visible item when in
// list or report view
- long GetTopItem(void) const ;
+ long GetTopItem() const ;
// Add or remove a single window style
void SetSingleStyle(long style, bool add = TRUE) ;
bool DeleteItem(long item);
// Deletes all items
- bool DeleteAllItems(void) ;
+ bool DeleteAllItems() ;
// Deletes a column
bool DeleteColumn(int col);
// Deletes all columns
- bool DeleteAllColumns(void);
+ bool DeleteAllColumns();
// Clears items, and columns if there are any.
- void ClearAll(void);
+ void ClearAll();
// Edit the label
wxTextCtrl* EditLabel(long item, wxClassInfo* textControlClass = CLASSINFO(wxTextCtrl));
// data is arbitrary data to be passed to the sort function.
bool SortItems(wxListCtrlCompare fn, long data);
-/* Why should we need this function? Leave for now.
- * WE NEED IT because item data may have changed,
- * but the display needs refreshing (in string callback mode)
- // Updates an item. If the list control has the wxLI_AUTO_ARRANGE style,
- // the items will be rearranged.
- bool Update(long item);
-*/
-
- void Command(wxCommandEvent& event) { ProcessCommand(event); };
-
// IMPLEMENTATION
virtual bool MSWCommand(WXUINT param, WXWORD id);
- virtual bool MSWNotify(WXWPARAM wParam, WXLPARAM lParam, WXLPARAM *result);
+ virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
- // Recreate window - seems to be necessary when changing a style.
- void RecreateWindow(void);
+ // bring the control in sync with current m_windowStyle value
+ void UpdateStyle();
// Add to pool: necessary because Windows needs to have a string
// still exist across 3 callbacks.
- char *AddPool(const wxString& str);
+ wxChar *AddPool(const wxString& str);
protected:
wxTextCtrl* m_textCtrl; // The control used for editing a label
int m_colCount; // Windows doesn't have GetColumnCount so must
// keep track of inserted/deleted columns
+private:
+ bool DoCreateControl(int x, int y, int w, int h);
};
class WXDLLEXPORT wxListEvent : public wxNotifyEvent