const wxColour& color)
{
wxImage img = wxBitmap((const char*)bits, w, h).ConvertToImage();
- img.Replace(255,255,255,123,123,123);
- img.Replace(0,0,0,color.Red(),color.Green(),color.Blue());
+ img.Replace(0,0,0,123,123,123);
+ img.Replace(255,255,255,color.Red(),color.Green(),color.Blue());
img.SetMaskColour(123,123,123);
return wxBitmap(img);
}
void wxAuiTabContainer::DrawTab(wxDC* dc,
const wxRect& in_rect,
- const wxString& caption,
+ const wxString& caption_text,
bool active,
wxRect* out_rect,
int* x_extent)
wxCoord textx, texty;
+ // if the caption is empty, measure some temporary text
+ wxString caption = caption_text;
+ if (caption_text.empty())
+ caption = wxT("Xj");
+
// measure text
dc->SetFont(m_measuring_font);
dc->GetTextExtent(caption, &measured_textx, &measured_texty);
dc->SetFont(m_normal_font);
dc->GetTextExtent(caption, &normal_textx, &normal_texty);
+ caption = caption_text;
wxCoord tab_height = measured_texty + 4;
wxCoord tab_width = measured_textx + tab_height + 5;
// true if a tab was hit, otherwise false
bool wxAuiTabContainer::TabHitTest(int x, int y, wxWindow** hit) const
{
- if (!m_rect.Inside(x,y))
+ if (!m_rect.Contains(x,y))
return false;
size_t i, page_count = m_pages.GetCount();
for (i = 0; i < page_count; ++i)
{
wxAuiNotebookPage& page = m_pages.Item(i);
- if (page.rect.Inside(x,y))
+ if (page.rect.Contains(x,y))
{
*hit = page.window;
return true;
bool wxAuiTabContainer::ButtonHitTest(int x, int y,
wxAuiTabContainerButton** hit) const
{
- if (!m_rect.Inside(x,y))
+ if (!m_rect.Contains(x,y))
return false;
size_t i, button_count = m_buttons.GetCount();
for (i = 0; i < button_count; ++i)
{
wxAuiTabContainerButton& button = m_buttons.Item(i);
- if (button.rect.Inside(x,y))
+ if (button.rect.Contains(x,y))
{
*hit = &button;
return true;
m_hover_button = NULL;
// FIXME: copied from dockart-- needs to put in a common place
+#if defined( __WXMAC__ )
+ static unsigned char close_bits[]={
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0x03, 0xF8, 0x01, 0xF0, 0x19, 0xF3,
+ 0xB8, 0xE3, 0xF0, 0xE1, 0xE0, 0xE0, 0xF0, 0xE1, 0xB8, 0xE3, 0x19, 0xF3,
+ 0x01, 0xF0, 0x03, 0xF8, 0x0F, 0xFE, 0xFF, 0xFF };
+#elif defined( __WXGTK__)
+ static unsigned char close_bits[]={
+ 0xff, 0xff, 0xff, 0xff, 0x07, 0xf0, 0xfb, 0xef, 0xdb, 0xed, 0x8b, 0xe8,
+ 0x1b, 0xec, 0x3b, 0xee, 0x1b, 0xec, 0x8b, 0xe8, 0xdb, 0xed, 0xfb, 0xef,
+ 0x07, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
+#else
static unsigned char close_bits[]={
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xfb,0xcf,0xf9,
0x9f,0xfc,0x3f,0xfe,0x3f,0xfe,0x9f,0xfc,0xcf,0xf9,0xef,0xfb,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
+#endif
AddButton(101, BitmapFromBits(close_bits, 16, 16, *wxBLACK));
}
m_tabs->SetSize(m_rect.x, m_rect.y, m_rect.width, tab_height);
m_tabs->SetRect(wxRect(0, 0, m_rect.width, tab_height));
m_tabs->Refresh();
+ m_tabs->Update();
wxAuiNotebookPageArray& pages = m_tabs->GetPages();
size_t i, page_count = pages.GetCount();
wxAuiNotebookPage& info = ctrl->GetPage(ctrl_idx);
info.caption = text;
ctrl->Refresh();
+ ctrl->Update();
}
-
return true;
}
continue;
wxTabFrame* tabframe = (wxTabFrame*)all_panes.Item(i).window;
- if (tabframe->m_tab_rect.Inside(pt))
+ if (tabframe->m_tab_rect.Contains(pt))
return tabframe->m_tabs;
}