#ifndef WX_PRECOMP
#include "wx/settings.h"
#include "wx/image.h"
+ #include "wx/menu.h"
#endif
#include "wx/aui/tabmdi.h"
#include "wx/dcbuffer.h"
-#include "wx/menu.h"
#ifdef __WXMAC__
#include "wx/mac/carbon/private.h"
{
base_colour = wxAuiStepColour(base_colour, 92);
}
-
+
m_base_colour = base_colour;
wxColor border_colour = wxAuiStepColour(base_colour, 75);
m_fixed_tab_width = 100;
int tot_width = (int)tab_ctrl_size.x - GetIndentSize() - 4;
-
+
if (m_flags & wxAUI_NB_CLOSE_BUTTON)
tot_width -= m_active_close_bmp.GetWidth();
if (m_flags & wxAUI_NB_WINDOWLIST_BUTTON)
// we'll just use a rectangle for the clipping region for now --
dc.SetClippingRegion(tab_x, tab_y, clip_width+1, tab_height-3);
-
+
wxPoint border_points[6];
border_points[0] = wxPoint(tab_x, tab_y+tab_height-4);
border_points[1] = wxPoint(tab_x, tab_y+2);
r.width -= 4;
r.height /= 2;
r.height--;
-
+
// -- draw top gradient fill for glossy look
wxColor top_color = m_base_colour;
wxColor bottom_color = wxAuiStepColour(top_color, 160);
dc.GradientFillLinear(r, bottom_color, top_color, wxNORTH);
-
+
r.y += r.height;
r.y--;
-
+
// -- draw bottom fill for glossy look
top_color = m_base_colour;
bottom_color = m_base_colour;
const wxAuiNotebookPageArray& pages,
int active_idx)
{
- wxMenu menuPopup;
+ wxMenu menuPopup;
size_t i, count = pages.GetCount();
for (i = 0; i < count; ++i)
measure_bmp.Create(required_bmp_size.x,
required_bmp_size.y);
}
-
+
int max_y = 0;
size_t i, page_count = pages.GetCount();
true,
wxAUI_BUTTON_STATE_HIDDEN,
&x_ext);
-
+
max_y = wxMax(max_y, s.y);
}
const wxAuiNotebookPageArray& pages,
int active_idx)
{
- wxMenu menuPopup;
+ wxMenu menuPopup;
size_t i, count = pages.GetCount();
for (i = 0; i < count; ++i)
EVT_LEFT_UP(wxAuiTabCtrl::OnLeftUp)
EVT_MOTION(wxAuiTabCtrl::OnMotion)
EVT_LEAVE_WINDOW(wxAuiTabCtrl::OnLeaveWindow)
- EVT_AUINOTEBOOK_BUTTON(-1, wxAuiTabCtrl::OnButton)
+ EVT_AUINOTEBOOK_BUTTON(wxID_ANY, wxAuiTabCtrl::OnButton)
END_EVENT_TABLE()
m_dummy_wnd = NULL;
m_flags = (unsigned int)style;
m_tab_ctrl_height = 20;
-
+
m_normal_font = *wxNORMAL_FONT;
m_selected_font = *wxNORMAL_FONT;
m_selected_font.SetWeight(wxBOLD);
void wxAuiNotebook::SetTabCtrlHeight(int height)
{
m_requested_tabctrl_height = height;
-
+
// if window is already initialized, recalculate the tab height
if (m_dummy_wnd)
{
void wxAuiNotebook::SetUniformBitmapSize(const wxSize& size)
{
m_requested_bmp_size = size;
-
+
// if window is already initialized, recalculate the tab height
if (m_dummy_wnd)
{
{
// get the tab ctrl height we will use
int height = CalculateTabCtrlHeight();
-
+
// if the tab control height needs to change, update
// all of our tab controls with the new height
if (m_tab_ctrl_height != height)
void wxAuiNotebook::UpdateHintWindowSize()
{
wxSize size = CalculateNewSplitSize();
-
+
// the placeholder hint window should be set to this size
wxAuiPaneInfo& info = m_mgr.GetPane(wxT("dummy"));
if (info.IsOk())
}
wxSize new_split_size;
-
+
// if there is only one tab control, the first split
// should happen around the middle
if (tab_ctrl_count < 2)
// that needs to be implemented
new_split_size = wxSize(180,180);
}
-
+
return new_split_size;
}
// tab height
if (m_requested_tabctrl_height != -1)
return m_requested_tabctrl_height;
-
+
// find out new best tab height
wxAuiTabArt* art = m_tabs.GetArtProvider();
size_t wxAuiNotebook::SetSelection(size_t new_page)
{
// don't change the page unless necessary
- if (new_page == m_curpage)
+ if ((int)new_page == m_curpage)
return m_curpage;
-
+
wxWindow* wnd = m_tabs.GetWindowFromIdx(new_page);
if (!wnd)
return m_curpage;
void wxAuiNotebook::OnSize(wxSizeEvent& evt)
{
UpdateHintWindowSize();
-
+
evt.Skip();
}
// force the set selection function reset the selection
m_curpage = -1;
-
+
// set the active page to the one we just split off
SetSelection(m_tabs.GetIdxFromWindow(page_info.window));
-
+
UpdateHintWindowSize();
}
}