ab7ce33c56
GNU compiler included with Mac OS X 10.2 (Jaguar) as well as August Developer Tools update contain a bug concerning #pragma interface handling that can only be worked around by not using them (and they are not necessary anyways) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
98 lines
4.1 KiB
C++
98 lines
4.1 KiB
C++
//-----------------------------------------------------------------------------
|
|
// 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
|
|
// RCS-ID: $Id$
|
|
// 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_
|
|
|
|
//----------------------------------------------------------------------------------------
|
|
// GCC interface
|
|
//----------------------------------------------------------------------------------------
|
|
|
|
#if defined(__GNUG__) && !defined(__APPLE__)
|
|
#pragma interface "custclas.h"
|
|
#endif
|
|
|
|
//----------------------------------------------------------------------------------------
|
|
// 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 wxWindows macro required for wxWindows-RTTI tracing: By using this
|
|
// you will see "Leaked one object of type myResizeableListCtrl" 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.
|
|
DECLARE_DYNAMIC_CLASS( MyResizableListCtrl )
|
|
|
|
public:
|
|
|
|
// Constructor.
|
|
/*
|
|
These parameters are the same as a wxWindows 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 wxWindows wxListBox docs for details.
|
|
\param validator Window validator. See wxWindows 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 = -1,
|
|
const wxPoint &pos = wxDefaultPosition,
|
|
const wxSize &size = wxDefaultSize,
|
|
long style = wxLC_REPORT,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString &name = wxT("myResizableListCtrl")
|
|
);
|
|
|
|
// Destuctor.
|
|
~MyResizableListCtrl();
|
|
|
|
protected:
|
|
|
|
// A custom function for a context sensitive menu.
|
|
void ContextSensitiveMenu( wxMouseEvent& event );
|
|
|
|
// This is a wxWindows 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:
|
|
|
|
// wxWindows macro, required to be able to use Event tables in the .cpp file.
|
|
DECLARE_EVENT_TABLE()
|
|
|
|
};
|
|
|
|
//----------------------------------------------------------------------------------------
|
|
// End single inclusion of this .h file condition
|
|
//----------------------------------------------------------------------------------------
|
|
|
|
#endif //_CUSTCLAS_H_
|
|
|