Changeset 13041 for OpenSceneGraph/trunk/src/osgWidget/WindowManager.cpp
- Timestamp:
- 03/21/12 18:36:20 (14 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/src/osgWidget/WindowManager.cpp
r12366 r13041 60 60 if(_flags & WM_PICK_DEBUG) { 61 61 _pickWindow = new Box("PickWindow", Box::VERTICAL); 62 62 63 63 Label* label = new Label("PickLabel"); 64 64 … … 114 114 { 115 115 if(_flags & WM_USE_LUA) _lua->close(); 116 116 117 117 if(_flags & WM_USE_PYTHON) _python->close(); 118 118 } … … 153 153 154 154 setFocused(topmostWindow); 155 155 156 156 if(ev._widget) topmostWindow->setFocused(ev._widget); 157 157 } … … 272 272 _styleManager->applyStyles(window); 273 273 } 274 274 275 275 void WindowManager::childRemoved(unsigned int start, unsigned int numChildren) { 276 276 for (unsigned int i = start; i < start+numChildren; i++) … … 281 281 282 282 if(_remove(window)) { 283 283 284 284 window->_index = 0; 285 285 window->unmanaged(this); … … 344 344 345 345 if(_flags & WM_PICK_DEBUG) _updatePickWindow(0, x, y); 346 346 347 347 return false; 348 348 } … … 384 384 warn() << "- " << i->get()->getName() << " " << i->get()->getOrCreateStateSet()->getBinNumber() << std::endl; 385 385 } 386 386 387 387 warn() << std::endl; 388 388 … … 395 395 396 396 ev._window = window; 397 397 398 398 // Inform the previously focused Window that it is going to be unfocused. 399 399 if(_focused.valid()) _focused->callMethodAndCallbacks(ev.makeType(EVENT_UNFOCUS)); … … 415 415 416 416 else if(w->getStrata() == Window::STRATA_BACKGROUND) bg.push_back(w); 417 417 418 418 else focusable.push_back(w); 419 419 } … … 451 451 // Handled our special BACKGROUND Windows. 452 452 for(Iterator w = bg.begin(); w != bg.end(); w++) w->get()->_z = -zRange * i; 453 453 454 454 // Handle our special FOREGOUND Windows. 455 455 for(Iterator w = fg.begin(); w != fg.end(); w++) w->get()->_z = -zRange; 456 456 457 457 // Update every window, regardless. 458 458 for(Iterator w = begin(); w != end(); w++) { 459 459 Window* win = w->get(); 460 460 461 461 win->_zRange = zRange; 462 462 … … 478 478 // doesn't matter in our case), assume we have either up or down movement. 479 479 if(ydiff != 0.0f) _lastVertical = ydiff > 0.0f ? PD_UP : PD_DOWN; 480 480 481 481 else _lastVertical = PD_NONE; 482 482 … … 509 509 for(Iterator i = begin(); i != end(); i++) if(i->valid()) { 510 510 if(visible && !getValue(i->get()->_index)) continue; 511 511 512 512 i->get()->resize(); 513 513 } … … 557 557 558 558 evLeave.makeMouse(x, y, EVENT_MOUSE_LEAVE); 559 559 560 560 setEventFromInterface(evLeave, _lastEvent); 561 561
