1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/gtk/collpane.h
3// Purpose:     wxCollapsiblePane
4// Author:      Francesco Montorsi
5// Modified by:
6// Created:     8/10/2006
7// RCS-ID:      $Id: collpane.h 43853 2006-12-07 07:22:55Z PC $
8// Copyright:   (c) Francesco Montorsi
9// Licence:     wxWindows Licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_COLLAPSABLE_PANEL_H_GTK_
13#define _WX_COLLAPSABLE_PANEL_H_GTK_
14
15#include "wx/generic/collpaneg.h"
16
17// ----------------------------------------------------------------------------
18// wxCollapsiblePane
19// ----------------------------------------------------------------------------
20
21class WXDLLIMPEXP_CORE wxCollapsiblePane : public wxGenericCollapsiblePane
22{
23public:
24    wxCollapsiblePane() { Init(); }
25
26    wxCollapsiblePane(wxWindow *parent,
27                        wxWindowID winid,
28                        const wxString& label,
29                        const wxPoint& pos = wxDefaultPosition,
30                        const wxSize& size = wxDefaultSize,
31                        long style = wxCP_DEFAULT_STYLE,
32                        const wxValidator& val = wxDefaultValidator,
33                        const wxString& name = wxCollapsiblePaneNameStr)
34    {
35        Init();
36
37        Create(parent, winid, label, pos, size, style, val, name);
38    }
39
40    void Init()
41    {
42        m_bIgnoreNextChange = false;
43    }
44
45    bool Create(wxWindow *parent,
46                wxWindowID winid,
47                const wxString& label,
48                const wxPoint& pos = wxDefaultPosition,
49                const wxSize& size = wxDefaultSize,
50                long style = wxCP_DEFAULT_STYLE,
51                const wxValidator& val = wxDefaultValidator,
52                const wxString& name = wxCollapsiblePaneNameStr);
53
54    void Collapse(bool collapse = true);
55    bool IsCollapsed() const;
56    void SetLabel(const wxString &str);
57
58protected:
59    virtual wxSize DoGetBestSize() const;
60
61public:     // used by GTK callbacks
62    bool m_bIgnoreNextChange;
63    wxSize m_szCollapsed;
64
65private:
66    void OnSize(wxSizeEvent&);
67
68    DECLARE_DYNAMIC_CLASS(wxCollapsiblePane)
69    DECLARE_EVENT_TABLE()
70};
71
72#endif // _WX_COLLAPSABLE_PANEL_H_GTK_
73