+ {
+ wxPoint pt = dest_tabs->ScreenToClient(mouse_screen_pt);
+ wxWindow* dest_location_tab;
+
+ // -- this is an inner-tab drag/reposition
+ if (dest_tabs->TabHitTest(pt.x, pt.y, &dest_location_tab))
+ {
+ wxWindow* src_tab = src_tabs->GetWindowFromIdx(evt.GetSelection());
+ int dest_idx = dest_tabs->GetIdxFromWindow(dest_location_tab);
+ if (dest_idx != -1)
+ {
+ dest_tabs->MovePage(src_tab, dest_idx);
+ dest_tabs->SetActivePage((size_t)dest_idx);
+ dest_tabs->DoShowHide();
+ dest_tabs->Refresh();
+ }
+ }
+