-//-----------------------------------------------------------------------------
-// wxListMainWindow (internal)
-//-----------------------------------------------------------------------------
-
-class wxListMainWindow: public wxScrolledWindow
-{
- DECLARE_DYNAMIC_CLASS(wxListMainWindow);
-
- public:
- long m_mode;
- wxList m_lines;
- wxList m_columns;
- wxListLineData *m_current;
- int m_visibleLines;
- wxBrush *m_hilightBrush;
- wxColour *m_hilightColour;
- wxFont *m_myFont;
- int m_xScroll,m_yScroll;
- bool m_dirty;
- wxImageList *m_small_image_list;
- wxImageList *m_normal_image_list;
- int m_small_spacing;
- int m_normal_spacing;
- bool m_hasFocus;
- bool m_usedKeys;
- bool m_lastOnSame;
- wxTimer *m_renameTimer;
-// wxListTextCtrl *m_text;
- bool m_renameAccept;
- wxString m_renameRes;
- bool m_isCreated;
- int m_dragCount;
-
- public:
- wxListMainWindow(void);
- wxListMainWindow( wxWindow *parent, wxWindowID id,
- const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
- long style = 0, const wxString &name = "listctrl" );
- ~wxListMainWindow(void);
- void RefreshLine( wxListLineData *line );
- void OnPaint( wxPaintEvent &event );
- void HilightAll( bool on );
- void ActivateLine( wxListLineData *line );
- void SendNotify( wxListLineData *line, wxEventType command );
- void FocusLine( wxListLineData *line );
- void UnfocusLine( wxListLineData *line );
- void SelectLine( wxListLineData *line );
- void DeselectLine( wxListLineData *line );
- void DeleteLine( wxListLineData *line );
- void RenameLine( wxListLineData *line, const wxString &newName );
- void StartLabelEdit( wxListLineData *line );
- void OnRenameTimer(void);
- void OnRenameAccept(void);
- void OnMouse( wxMouseEvent &event );
- void MoveToFocus( void );
- void OnArrowChar( wxListLineData *newCurrent, bool shiftDown );
- void OnChar( wxKeyEvent &event );
- void OnSetFocus( wxFocusEvent &event );
- void OnKillFocus( wxFocusEvent &event );
- void OnSize( wxSizeEvent &event );
- wxFont *GetMyFont( void );
- void DrawImage( int index, wxPaintDC *dc, int x, int y );
- void GetImageSize( int index, int &width, int &height );
- int GetIndexOfLine( const wxListLineData *line );
- int GetTextLength( wxString &s ); // should be const
-
- void SetImageList( wxImageList *imageList, int which );
- void SetItemSpacing( int spacing, bool isSmall = FALSE );
- int GetItemSpacing( bool isSmall = FALSE );
- void SetColumn( int col, wxListItem &item );
- void SetColumnWidth( int col, int width );
- void GetColumn( int col, wxListItem &item );
- int GetColumnWidth( int vol );
- int GetColumnCount( void );
- int GetCountPerPage( void );
- void SetItem( wxListItem &item );
- void GetItem( wxListItem &item );
- void SetItemState( long item, long state, long stateMask );
- int GetItemState( long item, long stateMask );
- int GetItemCount( void );
- void GetItemRect( long index, wxRectangle &rect );
- bool GetItemPosition(long item, wxPoint& pos);
- int GetSelectedItemCount( void );
- void SetMode( long mode );
- long GetMode( void ) const;
- void CalculatePositions( void );
- void RealizeChanges(void);
- long GetNextItem( long item, int geometry, int state );
- void DeleteItem( long index );
- void DeleteAllItems( void );
- void DeleteColumn( int col );
- void DeleteEverything( void );
- void EnsureVisible( long index );
- long FindItem(long start, const wxString& str, bool partial = FALSE );
- long FindItem(long start, long data);
- long HitTest( int x, int y, int &flags );
- void InsertItem( wxListItem &item );
-// void AddItem( wxListItem &item );
- void InsertColumn( long col, wxListItem &item );
-// void AddColumn( wxListItem &item );
- void SortItems( wxListCtrlCompare fn, long data );
- virtual bool OnListNotify( wxListEvent &event );
-
- DECLARE_EVENT_TABLE()