void TrackerSettingsWindow::_HandleChangedSettingsView() { int32 currentSelection = fSettingsTypeListView->CurrentSelection(); if (currentSelection < 0) return; BView* oldView = fSettingsContainerBox->ChildAt(0); if (oldView != NULL) oldView->RemoveSelf(); SettingsItem* selectedItem = dynamic_cast<SettingsItem*>( fSettingsTypeListView->ItemAt(currentSelection)); if (selectedItem != NULL) { fSettingsContainerBox->SetLabel(selectedItem->Text()); BView* view = selectedItem->View(); view->SetViewColor(fSettingsContainerBox->ViewColor()); view->Hide(); fSettingsContainerBox->AddChild(view); view->Show(); } }
SettingsView* TrackerSettingsWindow::_ViewAt(int32 i) { if (!Lock()) return NULL; SettingsItem* item = dynamic_cast<SettingsItem*>( fSettingsTypeListView->ItemAt(i)); Unlock(); return item != NULL ? item->View() : NULL; }