~efargaspro/+junk/codeblocks-16.01-release

« back to all changes in this revision

Viewing changes to src/plugins/contrib/wxSmithAui/wxAuiToolBar/wxSmithAuiToolBar.cpp

  • Committer: damienlmoore at gmail
  • Date: 2016-02-02 02:43:22 UTC
  • Revision ID: damienlmoore@gmail.com-20160202024322-yql5qmtbwdyamdwd
Code::Blocks 16.01

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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)