~efargaspro/+junk/codeblocks-16.01-release

1 by damienlmoore at gmail
Code::Blocks 16.01
1
/*
2
* This file is part of wxSmithAui plugin for Code::Blocks Studio
3
* Copyright (C) 2008-2009  César Fernández Domínguez
4
*
5
* wxSmithAui is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 3 of the License, or
8
* (at your option) any later version.
9
*
10
* wxSmithAui is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with wxSmithAui. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#include "wxSmithAuiToolBar.h"
20
21
#if wxCHECK_VERSION(2,8,9)
22
23
// missing wxITEM_* items, the same as in wx/auibar.cpp, needed for adding spacer exception
24
enum
25
{
26
    wxITEM_CONTROL = wxITEM_MAX,
27
    wxITEM_LABEL,
28
    wxITEM_SPACER
29
};
30
31
wxSmithAuiToolBar::wxSmithAuiToolBar(wxWindow* parent,wxWindowID id,const wxPoint& position,const wxSize& size,long style)
32
    : wxAuiToolBar(parent,id,position,size,style)
33
{
34
    //ctor
35
}
36
37
wxSmithAuiToolBar::~wxSmithAuiToolBar()
38
{
39
    //dtor
40
}
41
42
int wxSmithAuiToolBar::HitTest(const wxPoint& pt)
43
{
44
    for (unsigned int i=0; i<m_items.Count(); i++)
45
    {
46
        wxAuiToolBarItem& Item = m_items.Item(i);
47
48
        if (!Item.GetSizerItem())
49
            continue;
50
51
        wxRect rect = Item.GetSizerItem()->GetRect();
52
        if ( Item.GetKind() == wxITEM_SPACER )
53
        {
54
            if ( rect.Contains(pt.x,rect.y) )
55
            {
56
                return GetToolIndex(Item.GetId());
57
            }
58
        }
59
60
        if ( rect.Contains(pt.x,pt.y) )
61
        {
62
            return GetToolIndex(Item.GetId());
63
        }
64
    }
65
66
    return wxNOT_FOUND;
67
}
68
69
void wxSmithAuiToolBar::AddSpacer(int pixels,wxWindowID SpacerId)
70
{
71
    wxAuiToolBarItem Item;
72
    Item.SetHasDropDown(false);
73
    Item.SetSpacerPixels(pixels);
74
    Item.SetId(SpacerId);
75
    Item.SetKind(wxITEM_SPACER);
76
    Item.SetSticky(false);
77
78
    m_items.Add(Item);
79
}
80
81
void wxSmithAuiToolBar::AddStretchSpacer(int proportion,wxWindowID SpacerId)
82
{
83
    wxAuiToolBarItem item;
84
    item.SetHasDropDown(false);
85
    item.SetId(SpacerId);
86
    item.SetProportion(proportion);
87
    item.SetSticky(false);
88
89
    m_items.Add(item);
90
}
91
92
#endif // wxCHECK_VERSION(2,8,9)