1 20 21 package org.apache.directory.ldapstudio.browser.ui.views.modificationlogs; 22 23 24 import java.util.HashMap ; 25 import java.util.Iterator ; 26 import java.util.Map ; 27 28 import org.apache.directory.ldapstudio.browser.ui.actions.proxy.ModificationLogsViewActionProxy; 29 import org.eclipse.jface.action.IAction; 30 import org.eclipse.jface.action.IMenuListener; 31 import org.eclipse.jface.action.IMenuManager; 32 import org.eclipse.jface.action.Separator; 33 import org.eclipse.jface.text.source.SourceViewer; 34 import org.eclipse.ui.IActionBars; 35 36 37 43 public class ModificationLogsViewActionGroup implements IMenuListener 44 { 45 46 47 private ModificationLogsView view; 48 49 50 private static final String olderAction = "olderAction"; 51 52 53 private static final String newerAction = "newerAction"; 54 55 56 private static final String refreshAction = "refreshAction"; 57 58 59 private Map <String , ModificationLogsViewActionProxy> modificationLogsViewActionMap; 60 61 62 67 public ModificationLogsViewActionGroup( ModificationLogsView view ) 68 { 69 this.view = view; 70 SourceViewer viewer = this.view.getMainWidget().getSourceViewer(); 71 72 modificationLogsViewActionMap = new HashMap <String , ModificationLogsViewActionProxy>(); 73 modificationLogsViewActionMap.put( olderAction, new ModificationLogsViewActionProxy( viewer, new OlderAction( 74 view ) ) ); 75 modificationLogsViewActionMap.put( newerAction, new ModificationLogsViewActionProxy( viewer, new NewerAction( 76 view ) ) ); 77 modificationLogsViewActionMap.put( refreshAction, new ModificationLogsViewActionProxy( viewer, 78 new RefreshAction( view ) ) ); 79 } 80 81 82 85 public void dispose() 86 { 87 if ( view != null ) 88 { 89 for ( Iterator it = modificationLogsViewActionMap.keySet().iterator(); it.hasNext(); ) 90 { 91 String key = ( String ) it.next(); 92 ModificationLogsViewActionProxy action = ( ModificationLogsViewActionProxy ) modificationLogsViewActionMap 93 .get( key ); 94 action.dispose(); 95 action = null; 96 it.remove(); 97 } 98 modificationLogsViewActionMap.clear(); 99 modificationLogsViewActionMap = null; 100 101 view = null; 102 } 103 } 104 105 106 111 public void fillActionBars( IActionBars actionBars ) 112 { 113 actionBars.getToolBarManager().add( ( IAction ) modificationLogsViewActionMap.get( refreshAction ) ); 115 actionBars.getToolBarManager().add( new Separator() ); 116 actionBars.getToolBarManager().add( ( IAction ) modificationLogsViewActionMap.get( olderAction ) ); 117 actionBars.getToolBarManager().add( ( IAction ) modificationLogsViewActionMap.get( newerAction ) ); 118 } 119 120 121 124 public void menuAboutToShow( IMenuManager menuManager ) 125 { 126 } 127 128 129 134 public void setInput( ModificationLogsViewInput input ) 135 { 136 for ( Iterator it = modificationLogsViewActionMap.values().iterator(); it.hasNext(); ) 137 { 138 ModificationLogsViewActionProxy action = ( ModificationLogsViewActionProxy ) it.next(); 139 action.inputChanged( input ); 140 } 141 } 142 143 } 144 | Popular Tags |