1 20 21 package org.apache.directory.ldapstudio.browser.common.actions; 22 23 24 import org.apache.directory.ldapstudio.browser.common.BrowserCommonActivator; 25 import org.apache.directory.ldapstudio.browser.common.BrowserCommonConstants; 26 import org.apache.directory.ldapstudio.browser.common.widgets.browser.BrowserEntryPage; 27 import org.apache.directory.ldapstudio.browser.common.widgets.browser.BrowserSearchResultPage; 28 import org.apache.directory.ldapstudio.browser.core.model.IBookmark; 29 import org.apache.directory.ldapstudio.browser.core.model.IEntry; 30 import org.apache.directory.ldapstudio.browser.core.model.ISearch; 31 import org.apache.directory.ldapstudio.browser.core.model.ISearchResult; 32 import org.eclipse.jface.resource.ImageDescriptor; 33 import org.eclipse.jface.viewers.ITreeContentProvider; 34 import org.eclipse.jface.viewers.StructuredSelection; 35 import org.eclipse.jface.viewers.TreeViewer; 36 37 38 44 public class UpAction extends BrowserAction 45 { 46 protected TreeViewer viewer; 47 48 49 55 public UpAction( TreeViewer viewer ) 56 { 57 super(); 58 this.viewer = viewer; 59 } 60 61 62 65 public String getText() 66 { 67 return "Up"; 68 } 69 70 71 74 public ImageDescriptor getImageDescriptor() 75 { 76 return BrowserCommonActivator.getDefault().getImageDescriptor( BrowserCommonConstants.IMG_PARENT ); 77 } 78 79 80 83 public String getCommandId() 84 { 85 return "org.apache.directory.ldapstudio.browser.action.openSearchResult"; 86 } 87 88 89 92 public void run() 93 { 94 IEntry[] entries = getSelectedEntries(); 95 ISearch[] searches = getSelectedSearches(); 96 ISearchResult[] searchResults = getSelectedSearchResults(); 97 IBookmark[] bookmarks = getSelectedBookmarks(); 98 BrowserEntryPage[] browserEntryPages = getSelectedBrowserEntryPages(); 99 BrowserSearchResultPage[] browserSearchResultPages = getSelectedBrowserSearchResultPages(); 100 101 Object selection = null; 102 103 if ( entries.length > 0 ) 104 { 105 selection = entries[0]; 106 } 107 else if ( searches.length > 0 ) 108 { 109 selection = searches[0]; 110 } 111 else if ( searchResults.length > 0 ) 112 { 113 selection = searchResults[0]; 114 } 115 else if ( bookmarks.length > 0 ) 116 { 117 selection = bookmarks[0]; 118 } 119 else if ( browserEntryPages.length > 0 ) 120 { 121 selection = browserEntryPages[0]; 122 } 123 else if ( browserSearchResultPages.length > 0 ) 124 { 125 selection = browserSearchResultPages[0]; 126 } 127 128 if ( selection != null ) 129 { 130 ITreeContentProvider contentProvider = ( ITreeContentProvider ) viewer.getContentProvider(); 131 Object newSelection = contentProvider.getParent( selection ); 132 viewer.reveal( newSelection ); 133 viewer.setSelection( new StructuredSelection( newSelection ), true ); 134 } 135 } 136 137 138 141 public boolean isEnabled() 142 { 143 IEntry[] entries = getSelectedEntries(); 144 ISearch[] searches = getSelectedSearches(); 145 ISearchResult[] searchResults = getSelectedSearchResults(); 146 IBookmark[] bookmarks = getSelectedBookmarks(); 147 BrowserEntryPage[] browserEntryPages = getSelectedBrowserEntryPages(); 148 BrowserSearchResultPage[] browserSearchResultPages = getSelectedBrowserSearchResultPages(); 149 150 return entries.length > 0 || searches.length > 0 || searchResults.length > 0 || bookmarks.length > 0 151 || browserEntryPages.length > 0 || browserSearchResultPages.length > 0; 152 } 153 } 154 | Popular Tags |