/** * @see NSTableView.DataSource */ public boolean outlineView_shouldEditTableColumn_item(final NSOutlineView view, final NSTableColumn c, final NSObject item) { return this.isColumnRowEditable(c, view.rowForItem(item)); }
/** * @see NSOutlineView.Delegate */ @Override public boolean outlineView_shouldExpandItem(final NSOutlineView view, final NSObject item) { NSEvent event = NSApplication.sharedApplication().currentEvent(); if(event != null) { if(NSEvent.NSLeftMouseDragged == event.type()) { if(!preferences.getBoolean("browser.view.autoexpand")) { if(log.isDebugEnabled()) { log.debug("Returning false to #outlineViewShouldExpandItem while dragging because browser.view.autoexpand == false"); } // See tickets #98 and #633 return false; } final NSInteger draggingColumn = view.columnAtPoint(view.convertPoint_fromView(event.locationInWindow(), null)); if(draggingColumn.intValue() != 0) { if(log.isDebugEnabled()) { log.debug(String.format("Returning false to #outlineViewShouldExpandItem for column %s", draggingColumn)); } // See ticket #60 return false; } } } return true; }
@Override protected Path pathAtRow(final int row) { if(row < browserOutlineView.numberOfRows().intValue()) { return cache.lookup(new NSObjectPathReference(browserOutlineView.itemAtRow(new NSInteger(row)))); } log.warn(String.format("No item at row %d", row)); return null; } }
/** * Reload the files in the prompt dialog */ public void reload() { if(log.isDebugEnabled()) { log.debug("Reload table view"); } browserView.reloadData(); browserView.selectRowIndexes(NSIndexSet.indexSetWithIndex(new NSInteger(0L)), false); statusLabel.setAttributedStringValue(NSAttributedString.attributedStringWithAttributes( MessageFormat.format(LocaleFactory.localizedString("{0} Files"), String.valueOf(browserView.numberOfRows())), TRUNCATE_MIDDLE_ATTRIBUTES)); }
public void setBrowserView(final NSOutlineView view) { this.browserView = view; this.browserView.setHeaderView(null); this.browserView.setRowHeight(new CGFloat(layoutManager.defaultLineHeightForFont( NSFont.systemFontOfSize(preferences.getFloat("browser.font.size"))).intValue() + 2)); c.setEditable(false); c.setDataCell(outlineCellPrototype); this.browserView.addTableColumn(c); this.browserView.setOutlineTableColumn(c); c.setEditable(false); c.setDataCell(textCellPrototype); this.browserView.addTableColumn(c); c.setDataCell(imageCellPrototype); c.dataCell().setAlignment(NSText.NSCenterTextAlignment); this.browserView.addTableColumn(c); cell.setAlignment(NSText.NSCenterTextAlignment); c.setDataCell(cell); this.browserView.addTableColumn(c); this.browserView.setDataSource(this.browserModel.id()); this.browserView.setDelegate((this.browserViewDelegate = new AbstractPathTableDelegate( browserView.tableColumnWithIdentifier(TransferPromptDataSource.Column.filename.name()) ) { this.browserView.setAllowsMultipleSelection(true); this.browserView.setAllowsEmptySelection(true);
browserOutlineView = view; browserOutlineView.registerForDraggedTypes(NSArray.arrayWithObjects( NSPasteboard.URLPboardType, browserOutlineView.setAllowsMultipleSelection(true); browserOutlineView.setAllowsEmptySelection(true); browserOutlineView.setAllowsColumnResizing(true); browserOutlineView.setAllowsColumnSelection(false); browserOutlineView.setAllowsColumnReordering(true); browserOutlineView.setRowHeight(new CGFloat(layoutManager.defaultLineHeightForFont( NSFont.systemFontOfSize(preferences.getFloat("browser.font.size"))).intValue() + 2)); outlineCellPrototype.setEditable(true); c.setDataCell(outlineCellPrototype); browserOutlineView.addTableColumn(c); browserOutlineView.setOutlineTableColumn(c); browserOutlineView.setDataSource((browserOutlineModel = new BrowserOutlineViewDataSource(this, cache)).id()); browserOutlineView.setDelegate((browserOutlineViewDelegate = new AbstractBrowserOutlineViewDelegate( browserOutlineView.tableColumnWithIdentifier(BrowserColumn.filename.name()) ) { @Override
switch(BrowserSwitchSegement.byPosition(preferences.getInteger("browser.view"))) { case outline: { for(int i = 0; i < browserOutlineView.numberOfRows().intValue(); i++) { final NSObject item = browserOutlineView.itemAtRow(new NSInteger(i)); final Path file = cache.lookup(new NSObjectPathReference(item)); if(null == file) { if(browserOutlineView.isItemExpanded(item)) { folders.add(file);
@Override public void render(final NSTableView view, final List<Path> folders) { super.render(view, folders); if(log.isDebugEnabled()) { log.debug(String.format("Reload table view %s for changes files %s", view, folders)); } if(controller.isMounted()) { final NSOutlineView outline = (NSOutlineView) view; if(folders.isEmpty()) { view.reloadData(); } else { for(Path folder : folders) { if(folder.equals(controller.workdir())) { outline.reloadData(); break; } else { outline.reloadItem_reloadChildren(NSObjectPathReference.get(folder), true); } } } } else { view.reloadData(); } }
@Override public void enterKeyPressed(final ID sender) { if(preferences.getBoolean("browser.enterkey.rename")) { if(browserOutlineView.numberOfSelectedRows().intValue() == 1) { if(browserOutlineViewDelegate.isColumnRowEditable(NSTableColumn.tableColumnWithIdentifier(BrowserColumn.filename.name()), browserOutlineView.selectedRow())) { renameFileButtonClicked(sender); } } } else { this.tableRowDoubleClicked(sender); } }
view.setDropItem(null, NSOutlineView.NSOutlineViewDropOnItemIndex); return super.validateDrop(view, controller.workdir(), row, draggingInfo); final int draggingColumn = view.columnAtPoint(draggingInfo.draggingLocation()).intValue(); if(-1 == draggingColumn || 0 == draggingColumn) { if(destination.isDirectory()) { view.setDropItem(item, NSOutlineView.NSOutlineViewDropOnItemIndex); return super.validateDrop(view, destination, row, draggingInfo); view.setDropItem(null, NSOutlineView.NSOutlineViewDropOnItemIndex); return super.validateDrop(view, controller.workdir(), row, draggingInfo); view.setDropItem(null, NSOutlineView.NSOutlineViewDropOnItemIndex);
@Override public void setBrowserView(NSOutlineView view) { super.setBrowserView(view); { NSTableColumn c = tableColumnsFactory.create(SyncPromptDataSource.Column.sync.name()); c.headerCell().setStringValue(StringUtils.EMPTY); c.setMinWidth(20f); c.setWidth(20f); c.setMaxWidth(20f); c.setResizingMask(NSTableColumn.NSTableColumnAutoresizingMask); c.setEditable(false); c.setDataCell(imageCellPrototype); c.dataCell().setAlignment(NSText.NSCenterTextAlignment); view.addTableColumn(c); } { NSTableColumn c = tableColumnsFactory.create(SyncPromptDataSource.Column.create.name()); c.headerCell().setStringValue(StringUtils.EMPTY); c.setMinWidth(20f); c.setWidth(20f); c.setMaxWidth(20f); c.setResizingMask(NSTableColumn.NSTableColumnAutoresizingMask); c.setEditable(false); c.setDataCell(imageCellPrototype); c.dataCell().setAlignment(NSText.NSCenterTextAlignment); view.addTableColumn(c); } view.sizeToFit(); } }
@Override public void selectionDidChange(NSNotification notification) { if(browserView.selectedRow().intValue() == -1) { remoteURLField.setStringValue(StringUtils.EMPTY); remoteSizeField.setStringValue(StringUtils.EMPTY); browserView.itemAtRow(browserView.selectedRow()))); if(item.local != null) { localURLField.setAttributedStringValue(NSAttributedString.attributedStringWithAttributes(
public String tableView_typeSelectStringForTableColumn_row(final NSTableView view, final NSTableColumn column, final NSInteger row) { return cache.lookup(new NSObjectTransferItemReference(browserView.itemAtRow(row))).remote.getName(); }
@Override public int indexOf(final NSTableView view, final Path file) { return ((NSOutlineView) view).rowForItem(NSObjectPathReference.get(file)).intValue(); }
final int draggingColumn = view.columnAtPoint(view.convertPoint_fromView(event.locationInWindow(), null)).intValue(); if(draggingColumn != 0) { log.debug("Returning 0 to #outlineViewNumberOfChildrenOfItem for column:" + draggingColumn);