df24d925df
This simple class has a collapsed state which is indicated by a small button and a label. It is now used in the generic implementation of wxCollapsiblePane. It could be used in more complex layouts than wxCollapsiblePane and is therefore available and documented to the user.
98 lines
2.8 KiB
C++
98 lines
2.8 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 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 = 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 = wxCollapsibleHeaderCtrlNameStr);
|
|
|
|
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))
|
|
|
|
// There currently only is the native implementation, use for all ports
|
|
|
|
#include "wx/generic/collheaderctrl.h"
|
|
|
|
class 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 = wxCollapsibleHeaderCtrlNameStr)
|
|
{
|
|
Create(parent, id, label, pos, size, style, validator, name);
|
|
}
|
|
|
|
private:
|
|
|
|
wxDECLARE_NO_COPY_CLASS(wxCollapsibleHeaderCtrl);
|
|
};
|
|
|
|
#endif // wxUSE_COLLPANE
|
|
|
|
#endif // _WX_COLLAPSIBLEHEADER_CTRL_H_
|