void JXSaveFileDialog::SetObjects ( JXScrollbarSet* scrollbarSet, JXStaticText* promptLabel, const JCharacter* prompt, JXSaveFileInput* fileNameInput, const JCharacter* origName, JXStaticText* pathLabel, JXPathInput* pathInput, JXPathHistoryMenu* pathHistory, JXStaticText* filterLabel, JXInputField* filterInput, JXStringHistoryMenu* filterHistory, JXTextButton* saveButton, JXTextButton* cancelButton, JXTextButton* upButton, JXTextButton* homeButton, JXTextButton* desktopButton, JXNewDirButton* newDirButton, JXTextCheckbox* showHiddenCB, JXCurrentPathMenu* currPathMenu, const JCharacter* message ) { itsSaveButton = saveButton; itsFileNameInput = fileNameInput; itsFileNameInput->ShouldBroadcastAllTextChanged(kJTrue); // want every keypress JXWindow* window = scrollbarSet->GetWindow(); window->SetTitle("Save file"); SetButtons(itsSaveButton, cancelButton); JXCSFDialogBase::SetObjects( scrollbarSet, pathLabel, pathInput, pathHistory, filterLabel, filterInput, filterHistory, itsSaveButton, upButton, homeButton, desktopButton, newDirButton, showHiddenCB, currPathMenu, message); JXDirTable* table = GetFileBrowser(); table->AllowSelectFiles(kJFalse, kJFalse); table->AllowDblClickInactive(kJTrue); promptLabel->SetText(prompt); itsFileNameInput->SetText(origName); JXDirTable* fileBrowser = GetFileBrowser(); fileBrowser->ShouldSelectWhenChangePath(kJFalse); const JRect frame = itsFileNameInput->GetFrame(); const JCoordinate w = frame.height(); itsXDSSource = new JXDirectSaveSource(this, itsFileNameInput, window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, frame.left, frame.top, w, frame.height()); assert( itsXDSSource != NULL ); itsFileNameInput->Move(w, 0); itsFileNameInput->AdjustSize(-w, 0); UpdateDisplay(); ListenTo(fileBrowser); ListenTo(&(fileBrowser->GetTableSelection())); ListenTo(itsFileNameInput); cancelButton->SetShortcuts("^["); }
void JXChooseFileDialog::SetObjects ( JXScrollbarSet* scrollbarSet, JXStaticText* pathLabel, JXPathInput* pathInput, JXPathHistoryMenu* pathHistory, JXStaticText* filterLabel, JXInputField* filterInput, JXStringHistoryMenu* filterHistory, JXTextButton* openButton, JXTextButton* cancelButton, JXTextButton* upButton, JXTextButton* homeButton, JXTextButton* selectAllButton, JXTextCheckbox* showHiddenCB, JXCurrentPathMenu* currPathMenu, const JCharacter* origName, const JCharacter* message ) { if (itsSelectMultipleFlag) { (scrollbarSet->GetWindow())->SetTitle("Choose files"); } else { (scrollbarSet->GetWindow())->SetTitle("Choose file"); } itsOpenButton = openButton; itsSelectAllButton = selectAllButton; SetButtons(openButton, cancelButton); JXCSFDialogBase::SetObjects( scrollbarSet, pathLabel, pathInput, pathHistory, filterLabel, filterInput, filterHistory, openButton, upButton, homeButton, NULL, showHiddenCB, currPathMenu, message); JXDirTable* fileBrowser = GetFileBrowser(); fileBrowser->AllowSelectFiles(kJTrue, itsSelectMultipleFlag); ListenTo(fileBrowser); ListenTo(&(fileBrowser->GetTableSelection())); if (itsSelectMultipleFlag) { ListenTo(itsSelectAllButton); } else { itsSelectAllButton->Hide(); } cancelButton->SetShortcuts("^["); //homeButton->SetShortcuts("#H"); //upButton->SetShortcuts("#U"); //showHiddenCB->SetShortcuts("#S"); // select initial file JIndex index; if (!JStringEmpty(origName) && fileBrowser->ClosestMatch(origName, &index)) { const JDirEntry& entry = (GetDirInfo())->GetEntry(index); if (entry.GetName() == origName) { fileBrowser->UpdateScrollbars(); fileBrowser->SelectSingleEntry(index); } } }