git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			97 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/editlbox.h
 | |
| // Purpose:     ListBox with editable items
 | |
| // Author:      Vaclav Slavik
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) Vaclav Slavik
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| 
 | |
| #ifndef __WX_EDITLBOX_H__
 | |
| #define __WX_EDITLBOX_H__
 | |
| 
 | |
| #include "wx/defs.h"
 | |
| 
 | |
| #if wxUSE_EDITABLELISTBOX
 | |
| 
 | |
| #include "wx/panel.h"
 | |
| 
 | |
| class WXDLLIMPEXP_FWD_CORE wxBitmapButton;
 | |
| class WXDLLIMPEXP_FWD_CORE wxListCtrl;
 | |
| class WXDLLIMPEXP_FWD_CORE wxListEvent;
 | |
| 
 | |
| #define wxEL_ALLOW_NEW          0x0100
 | |
| #define wxEL_ALLOW_EDIT         0x0200
 | |
| #define wxEL_ALLOW_DELETE       0x0400
 | |
| #define wxEL_NO_REORDER         0x0800
 | |
| #define wxEL_DEFAULT_STYLE      (wxEL_ALLOW_NEW | wxEL_ALLOW_EDIT | wxEL_ALLOW_DELETE)
 | |
| 
 | |
| extern WXDLLIMPEXP_DATA_ADV(const char) wxEditableListBoxNameStr[];
 | |
| 
 | |
| // This class provides a composite control that lets the
 | |
| // user easily enter list of strings
 | |
| 
 | |
| class WXDLLIMPEXP_ADV wxEditableListBox : public wxPanel
 | |
| {
 | |
| public:
 | |
|     wxEditableListBox() { Init(); }
 | |
| 
 | |
|     wxEditableListBox(wxWindow *parent, wxWindowID id,
 | |
|                       const wxString& label,
 | |
|                       const wxPoint& pos = wxDefaultPosition,
 | |
|                       const wxSize& size = wxDefaultSize,
 | |
|                       long style = wxEL_DEFAULT_STYLE,
 | |
|                       const wxString& name = wxEditableListBoxNameStr)
 | |
|     {
 | |
|         Init();
 | |
|         Create(parent, id, label, pos, size, style, name);
 | |
|     }
 | |
| 
 | |
|     bool Create(wxWindow *parent, wxWindowID id,
 | |
|                 const wxString& label,
 | |
|                 const wxPoint& pos = wxDefaultPosition,
 | |
|                 const wxSize& size = wxDefaultSize,
 | |
|                 long style = wxEL_DEFAULT_STYLE,
 | |
|                 const wxString& name = wxEditableListBoxNameStr);
 | |
| 
 | |
|     void SetStrings(const wxArrayString& strings);
 | |
|     void GetStrings(wxArrayString& strings) const;
 | |
| 
 | |
|     wxListCtrl* GetListCtrl()       { return m_listCtrl; }
 | |
|     wxBitmapButton* GetDelButton()  { return m_bDel; }
 | |
|     wxBitmapButton* GetNewButton()  { return m_bNew; }
 | |
|     wxBitmapButton* GetUpButton()   { return m_bUp; }
 | |
|     wxBitmapButton* GetDownButton() { return m_bDown; }
 | |
|     wxBitmapButton* GetEditButton() { return m_bEdit; }
 | |
| 
 | |
| protected:
 | |
|     wxBitmapButton *m_bDel, *m_bNew, *m_bUp, *m_bDown, *m_bEdit;
 | |
|     wxListCtrl *m_listCtrl;
 | |
|     int m_selection;
 | |
|     long m_style;
 | |
| 
 | |
|     void Init()
 | |
|     {
 | |
|         m_style = 0;
 | |
|         m_selection = 0;
 | |
|         m_bEdit = m_bNew = m_bDel = m_bUp = m_bDown = NULL;
 | |
|         m_listCtrl = NULL;
 | |
|     }
 | |
| 
 | |
|     void OnItemSelected(wxListEvent& event);
 | |
|     void OnEndLabelEdit(wxListEvent& event);
 | |
|     void OnNewItem(wxCommandEvent& event);
 | |
|     void OnDelItem(wxCommandEvent& event);
 | |
|     void OnEditItem(wxCommandEvent& event);
 | |
|     void OnUpItem(wxCommandEvent& event);
 | |
|     void OnDownItem(wxCommandEvent& event);
 | |
| 
 | |
|     DECLARE_CLASS(wxEditableListBox)
 | |
|     DECLARE_EVENT_TABLE()
 | |
| };
 | |
| 
 | |
| #endif  // wxUSE_EDITABLELISTBOX
 | |
| 
 | |
| #endif // __WX_EDITLBOX_H__
 |