107 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        wx/collheaderctrl.h
 | 
						|
// Purpose:     wxCollapsibleHeaderCtrl
 | 
						|
// Author:      Tobias Taschner
 | 
						|
// Created:     2015-09-19
 | 
						|
// Copyright:   (c) 2015 wxWidgets development team
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef _WX_COLLAPSIBLEHEADER_CTRL_H_
 | 
						|
#define _WX_COLLAPSIBLEHEADER_CTRL_H_
 | 
						|
 | 
						|
#include "wx/defs.h"
 | 
						|
 | 
						|
#if wxUSE_COLLPANE
 | 
						|
 | 
						|
#include "wx/control.h"
 | 
						|
 | 
						|
// class name
 | 
						|
extern WXDLLIMPEXP_DATA_CORE(const char) wxCollapsibleHeaderCtrlNameStr[];
 | 
						|
 | 
						|
//
 | 
						|
// wxGenericCollapsibleHeaderCtrl
 | 
						|
//
 | 
						|
 | 
						|
class WXDLLIMPEXP_CORE wxCollapsibleHeaderCtrlBase : public wxControl
 | 
						|
{
 | 
						|
public:
 | 
						|
    wxCollapsibleHeaderCtrlBase() { }
 | 
						|
 | 
						|
    wxCollapsibleHeaderCtrlBase(wxWindow *parent,
 | 
						|
        wxWindowID id,
 | 
						|
        const wxString& label,
 | 
						|
        const wxPoint& pos = wxDefaultPosition,
 | 
						|
        const wxSize& size = wxDefaultSize,
 | 
						|
        long style = wxBORDER_NONE,
 | 
						|
        const wxValidator& validator = wxDefaultValidator,
 | 
						|
        const wxString& name = wxASCII_STR(wxCollapsibleHeaderCtrlNameStr))
 | 
						|
    {
 | 
						|
        Create(parent, id, label, pos, size, style, validator, name);
 | 
						|
    }
 | 
						|
 | 
						|
    bool Create(wxWindow *parent,
 | 
						|
        wxWindowID id,
 | 
						|
        const wxString& label,
 | 
						|
        const wxPoint& pos = wxDefaultPosition,
 | 
						|
        const wxSize& size = wxDefaultSize,
 | 
						|
        long style = wxBORDER_NONE,
 | 
						|
        const wxValidator& validator = wxDefaultValidator,
 | 
						|
        const wxString& name = wxASCII_STR(wxCollapsibleHeaderCtrlNameStr))
 | 
						|
    {
 | 
						|
        if ( !wxControl::Create(parent, id, pos, size, style, validator, name) )
 | 
						|
            return false;
 | 
						|
 | 
						|
        SetLabel(label);
 | 
						|
 | 
						|
        return true;
 | 
						|
    }
 | 
						|
 | 
						|
    virtual void SetCollapsed(bool collapsed = true) = 0;
 | 
						|
 | 
						|
    virtual bool IsCollapsed() const = 0;
 | 
						|
 | 
						|
private:
 | 
						|
 | 
						|
    wxDECLARE_NO_COPY_CLASS(wxCollapsibleHeaderCtrlBase);
 | 
						|
};
 | 
						|
 | 
						|
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COLLAPSIBLEHEADER_CHANGED, wxCommandEvent);
 | 
						|
 | 
						|
#define wxCollapsibleHeaderChangedHandler(func) \
 | 
						|
    wxEVENT_HANDLER_CAST(wxCommandEventFunction, func)
 | 
						|
 | 
						|
#define EVT_COLLAPSIBLEHEADER_CHANGED(id, fn) \
 | 
						|
    wx__DECLARE_EVT1(wxEVT_COLLAPSIBLEHEADER_CHANGED, id, wxCollapsibleHeaderChangedHandler(fn))
 | 
						|
 | 
						|
// Currently there is only the native implementation, use it for all ports.
 | 
						|
 | 
						|
#include "wx/generic/collheaderctrl.h"
 | 
						|
 | 
						|
class WXDLLIMPEXP_CORE wxCollapsibleHeaderCtrl
 | 
						|
    : public wxGenericCollapsibleHeaderCtrl
 | 
						|
{
 | 
						|
public:
 | 
						|
    wxCollapsibleHeaderCtrl() { }
 | 
						|
 | 
						|
    wxCollapsibleHeaderCtrl(wxWindow *parent,
 | 
						|
        wxWindowID id,
 | 
						|
        const wxString& label,
 | 
						|
        const wxPoint& pos = wxDefaultPosition,
 | 
						|
        const wxSize& size = wxDefaultSize,
 | 
						|
        long style = wxBORDER_NONE,
 | 
						|
        const wxValidator& validator = wxDefaultValidator,
 | 
						|
        const wxString& name = wxASCII_STR(wxCollapsibleHeaderCtrlNameStr))
 | 
						|
    {
 | 
						|
        Create(parent, id, label, pos, size, style, validator, name);
 | 
						|
    }
 | 
						|
 | 
						|
private:
 | 
						|
 | 
						|
    wxDECLARE_NO_COPY_CLASS(wxCollapsibleHeaderCtrl);
 | 
						|
};
 | 
						|
 | 
						|
#endif // wxUSE_COLLPANE
 | 
						|
 | 
						|
#endif // _WX_COLLAPSIBLEHEADER_CTRL_H_
 |