void ExpanderWindow::RefsReceived(BMessage* msg) { entry_ref ref; int32 i = 0; int8 destination_folder = 0x63; fSettings.FindInt8("destination_folder", &destination_folder); while (msg->FindRef("refs", i++, &ref) == B_OK) { BEntry entry(&ref, true); BPath path(&entry); BNode node(&entry); if (node.IsFile()) { fSourceChanged = true; fSourceRef = ref; fSourceText->SetText(path.Path()); if (destination_folder == 0x63) { BPath parent; path.GetParent(&parent); fDestText->SetText(parent.Path()); get_ref_for_path(parent.Path(), &fDestRef); } else if (destination_folder == 0x65) { fSettings.FindRef("destination_folder_use", &fDestRef); BEntry dEntry(&fDestRef, true); BPath dPath(&dEntry); fDestText->SetText(dPath.Path()); } BEntry dEntry(&fDestRef, true); if (dEntry.Exists()) { fExpandButton->SetEnabled(true); fExpandItem->SetEnabled(true); } if (fShowContents->Value() == B_CONTROL_ON) { StopListing(); StartListing(); } else { fShowContents->SetEnabled(true); fShowItem->SetEnabled(true); } bool fromApp; if (msg->FindBool("fromApp", &fromApp) == B_OK) { AutoExpand(); } else AutoListing(); } else if (node.IsDirectory()) { fDestRef = ref; fDestText->SetText(path.Path()); } } }
void CGridAlleleBase::OnCellChange(wxGridEvent &e) { if(AutoExpand()) { int nRows = GetNumberRows(); int nThisRow = e.GetRow(); int nThisCol = e.GetCol(); if(nThisRow >= (nRows - 2)) { // last or second to last row, add some rows wxString sValue = GetCellValue(nThisRow,nThisCol); nwxString::Trim(&sValue); if(sValue.Len()) { nwxGrid::SetRowCount(nRows + 4); } } } e.Skip(); }