| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- //-----------------------------------------------------------------------------
- // Name: custclas.h
- // Purpose: XML resources sample: A custom class to insert into a XRC file
- // Author: Robert O'Connor (rob@medicalmnemonics.com), Vaclav Slavik
- // Copyright: (c) Robert O'Connor and Vaclav Slavik
- // Licence: wxWindows licence
- //-----------------------------------------------------------------------------
- //----------------------------------------------------------------------------------------
- // Begin single inclusion of this .h file condition
- //----------------------------------------------------------------------------------------
- #ifndef _CUSTCLAS_H_
- #define _CUSTCLAS_H_
- //----------------------------------------------------------------------------------------
- // Headers
- //----------------------------------------------------------------------------------------
- #include "wx/listctrl.h"
- //----------------------------------------------------------------------------------------
- // Class definition: MyResizableListCtrl
- //----------------------------------------------------------------------------------------
- //! A custom listctrl that resizes itself and pops up a context-sensitive menu.
- class MyResizableListCtrl : public wxListCtrl
- {
- // Very helpful wxWidgets macro required for wxWidgets-RTTI tracing: By using this
- // you will see "Leaked one object of type myResizableListCtrl" in the debug log,
- // along with which line you if was created, but you forget to free the memory.
- // NOTE: Using this REQUIRES a default constructor: that means either: giving a
- // default value for all parameters in your constructor, or else having a dummy
- // MyResizableListCtrl(){} constructor in addition to your regular one.
- wxDECLARE_DYNAMIC_CLASS( MyResizableListCtrl );
- public:
- // Constructor.
- /*
- These parameters are the same as a wxWidgets constructor.
- \param parent The parent window.
- \param id The id of the progress_listbox. Will usually be -1 unless multiple
- of them on the same dialog.
- \param pos The pixel position of the listctrl on its parent window
- \param size The pixel size of the listctrl
- \param style Style of the listbox. See wxWidgets wxListBox docs for details.
- \param validator Window validator. See wxWidgets docs for details.
- \param name Windows name (rarely used).
- \param exclusion_column_caption The label of header of listctrl's exclusion
- column.
- */
- MyResizableListCtrl( wxWindow *parent = NULL,
- wxWindowID id = wxID_ANY,
- const wxPoint &pos = wxDefaultPosition,
- const wxSize &size = wxDefaultSize,
- long style = wxLC_REPORT,
- const wxValidator& validator = wxDefaultValidator,
- const wxString &name = wxT("myResizableListCtrl")
- );
- // Destructor.
- ~MyResizableListCtrl(){};
- protected:
- // A custom function for a context sensitive menu.
- void ContextSensitiveMenu( wxMouseEvent& event );
- // This is a wxWidgets function that we are going to override with our own behaviour.
- void OnSize( wxSizeEvent &event );
- // A custom function. What is called in the constructor, and in an OnSize()
- void SetColumnWidths();
- private:
- // wxWidgets macro, required to be able to use Event tables in the .cpp file.
- wxDECLARE_EVENT_TABLE();
- };
- //----------------------------------------------------------------------------------------
- // End single inclusion of this .h file condition
- //----------------------------------------------------------------------------------------
- #endif //_CUSTCLAS_H_
|