public class RecentDirectoriesProvider implements DynamicMenuProvider { //{{{ updateEveryTime() method public boolean updateEveryTime() { return true; } //}}} //{{{ update() method public void update(JMenu menu) { final View view = GUIUtilities.getView(menu); //{{{ ActionListener... ActionListener actionListener = new ActionListener() { public void actionPerformed(ActionEvent evt) { VFSBrowser.browseDirectory(view,evt.getActionCommand()); view.getStatus().setMessage(null); } }; //}}} //{{{ MouseListener... MouseListener mouseListener = new MouseAdapter() { public void mouseEntered(MouseEvent evt) { view.getStatus().setMessage( ((JMenuItem)evt.getSource()) .getActionCommand()); } public void mouseExited(MouseEvent evt) { view.getStatus().setMessage(null); } }; //}}} HistoryModel model = HistoryModel.getModel("vfs.browser.path"); if(model.getSize() == 0) { JMenuItem menuItem = new JMenuItem( jEdit.getProperty("no-recent-dirs.label")); menuItem.setEnabled(false); menu.add(menuItem); return; } boolean sort = jEdit.getBooleanProperty("sortRecent"); int maxItems = jEdit.getIntegerProperty("menu.spillover",20); Vector menuItems = new Vector(); for(int i = 0; i < model.getSize(); i++) { String path = model.getItem(i); JMenuItem menuItem = new JMenuItem(MiscUtilities.getFileName(path)); menuItem.setActionCommand(path); menuItem.addActionListener(actionListener); menuItem.addMouseListener(mouseListener); menuItem.setIcon(FileCellRenderer.dirIcon); if(sort) menuItems.addElement(menuItem); else { if(menu.getMenuComponentCount() >= maxItems && i != model.getSize() - 1) { JMenu newMenu = new JMenu( jEdit.getProperty("common.more")); menu.add(newMenu); menu = newMenu; } menu.add(menuItem); } } if(sort) { MiscUtilities.quicksort(menuItems, new MiscUtilities.MenuItemCompare()); for(int i = 0; i < menuItems.size(); i++) { if(menu.getMenuComponentCount() >= maxItems && i != 0) { JMenu newMenu = new JMenu( jEdit.getProperty("common.more")); menu.add(newMenu); menu = newMenu; } menu.add((JMenuItem)menuItems.elementAt(i));
public class RecentFilesProvider implements DynamicMenuProvider { //{{{ updateEveryTime() method public boolean updateEveryTime() { return false; } //}}} //{{{ update() method public void update(JMenu menu) { final View view = GUIUtilities.getView(menu); //{{{ ActionListener... ActionListener actionListener = new ActionListener() { public void actionPerformed(ActionEvent evt) { jEdit.openFile(view,evt.getActionCommand()); view.getStatus().setMessage(null); } }; //}}} //{{{ MouseListener... MouseListener mouseListener = new MouseAdapter() { public void mouseEntered(MouseEvent evt) { view.getStatus().setMessage( ((JMenuItem)evt.getSource()) .getActionCommand()); } public void mouseExited(MouseEvent evt) { view.getStatus().setMessage(null); } }; //}}} List recentVector = BufferHistory.getHistory(); if(recentVector.size() == 0) { JMenuItem menuItem = new JMenuItem( jEdit.getProperty("no-recent-files.label")); menuItem.setEnabled(false); menu.add(menuItem); return; } Vector menuItems = new Vector(); boolean sort = jEdit.getBooleanProperty("sortRecent"); int maxItems = jEdit.getIntegerProperty("menu.spillover",20); Iterator iter = recentVector.iterator(); while(iter.hasNext()) { String path = ((BufferHistory.Entry)iter.next()).path; JMenuItem menuItem = new JMenuItem(MiscUtilities .getFileName(path)); menuItem.setActionCommand(path); menuItem.addActionListener(actionListener); menuItem.addMouseListener(mouseListener); menuItem.setIcon(FileCellRenderer.fileIcon); if(sort) menuItems.addElement(menuItem); else { if(menu.getMenuComponentCount() >= maxItems && iter.hasNext()) { JMenu newMenu = new JMenu( jEdit.getProperty("common.more")); menu.add(newMenu); menu = newMenu; } menu.add(menuItem); } } if(sort) { MiscUtilities.quicksort(menuItems, new MiscUtilities.MenuItemCompare()); for(int i = 0; i < menuItems.size(); i++) { if(menu.getMenuComponentCount() >= maxItems && i != 0) { JMenu newMenu = new JMenu( jEdit.getProperty("common.more")); menu.add(newMenu); menu = newMenu; } menu.add((JMenuItem)menuItems.elementAt(i));
Clone fragments detected by clone detection tool
File path: /jEdit-4.2/src/org/gjt/sp/jedit/menu/RecentDirectoriesProvider.java File path: /jEdit-4.2/src/org/gjt/sp/jedit/menu/RecentFilesProvider.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
public class RecentDirectoriesProvider implements DynamicMenuProvider
1
public class RecentFilesProvider implements DynamicMenuProvider
2
{
2
{
3
	//{{{ updateEveryTime() method
3
	//{{{ updateEveryTime() method
4
	public boolean updateEveryTime()
4
	public boolean updateEveryTime()
5
	{
5
	{
6
		return true;
6
		return false;
7
	} //}}}
7
	} //}}}
8
	//{{{ update() method
8
	//{{{ update() method
9
	public void update(JMenu menu)
9
	public void update(JMenu menu)
10
	{
10
	{
11
		final View view = GUIUtilities.getView(menu);
11
		final View view = GUIUtilities.getView(menu);
12
		//{{{ ActionListener...
12
		//{{{ ActionListener...
13
		ActionListener actionListener = new ActionListener()
13
		ActionListener actionListener = new ActionListener()
14
		{
14
		{
15
			public void actionPerformed(ActionEvent evt)
15
			public void actionPerformed(ActionEvent evt)
16
			{
16
			{
17
				VFSBrowser.browseDirectory(view,evt.getActionCommand());
17
				jEdit.openFile(view,evt.getActionCommand());
18
				view.getStatus().setMessage(null);
18
				view.getStatus().setMessage(null);
19
			}
19
			}
20
		}; //}}}
20
		}; //}}}
21
		//{{{ MouseListener...
21
		//{{{ MouseListener...
22
		MouseListener mouseListener = new MouseAdapter()
22
		MouseListener mouseListener = new MouseAdapter()
23
		{
23
		{
24
			public void mouseEntered(MouseEvent evt)
24
			public void mouseEntered(MouseEvent evt)
25
			{
25
			{
26
				view.getStatus().setMessage(
26
				view.getStatus().setMessage(
27
					((JMenuItem)evt.getSource())
27
					((JMenuItem)evt.getSource())
28
					.getActionCommand());
28
					.getActionCommand());
29
			}
29
			}
30
			public void mouseExited(MouseEvent evt)
30
			public void mouseExited(MouseEvent evt)
31
			{
31
			{
32
				view.getStatus().setMessage(null);
32
				view.getStatus().setMessage(null);
33
			}
33
			}
34
		}; //}}}
34
		}; //}}}
35
		HistoryModel model = HistoryModel.getModel("vfs.browser.path");
35
		List recentVector = BufferHistory.getHistory();
36
		if(model.getSize() == 0)
36
		if(recentVector.size() == 0)
37
		{
37
		{
38
			JMenuItem menuItem = new JMenuItem(
38
			JMenuItem menuItem = new JMenuItem(
39
				jEdit.getProperty("no-recent-dirs.label"));
39
				jEdit.getProperty("no-recent-files.label"));
40
			menuItem.setEnabled(false);
40
			menuItem.setEnabled(false);
41
			menu.add(menuItem);
41
			menu.add(menuItem);
42
			return;
42
			return;
43
		}
43
		}
44
		Vector menuItems = new Vector();
44
		boolean sort = jEdit.getBooleanProperty("sortRecent");
45
		boolean sort = jEdit.getBooleanProperty("sortRecent");
45
		int maxItems = jEdit.getIntegerProperty("menu.spillover",20);
46
		int maxItems = jEdit.getIntegerProperty("menu.spillover",20);
46
		Vector menuItems = new Vector();
47
		Iterator iter = recentVector.iterator();
47
		for(int i = 0; i < model.getSize(); i++)
48
		
48
		{
49
			String path = model.getItem(i)
49
while(iter.hasNext())
50
		{
50
;
51
			String path = ((BufferHistory.Entry)iter.next()).path;
51
			JMenuItem menuItem = new JMenuItem(MiscUtilities
52
			JMenuItem menuItem = new JMenuItem(MiscUtilities
52
.getFileName(path));
53
				.getFileName(path));
53
			menuItem.setActionCommand(path);
54
			menuItem.setActionCommand(path);
54
			menuItem.addActionListener(actionListener);
55
			menuItem.addActionListener(actionListener);
55
			menuItem.addMouseListener(mouseListener);
56
			menuItem.addMouseListener(mouseListener);
56
			menuItem.setIcon(FileCellRenderer.dirIcon);
57
			menuItem.setIcon(FileCellRenderer.fileIcon);
57
			if(sort)
58
			if(sort)
58
				menuItems.addElement(menuItem);
59
				menuItems.addElement(menuItem);
59
			else
60
			else
60
			{
61
			{
61
				if(menu.getMenuComponentCount() >= maxItems
62
				if(menu.getMenuComponentCount() >= maxItems
62
					&& i != model.getSize() - 1)
63
					&& iter.hasNext())
63
				{
64
				{
64
					JMenu newMenu = new JMenu(
65
					JMenu newMenu = new JMenu(
65
						jEdit.getProperty("common.more"));
66
						jEdit.getProperty("common.more"));
66
					menu.add(newMenu);
67
					menu.add(newMenu);
67
					menu = newMenu;
68
					menu = newMenu;
68
				}
69
				}
69
				menu.add(menuItem);
70
				menu.add(menuItem);
70
			}
71
			}
71
		}
72
		}
72
		if(sort)
73
		if(sort)
73
		{
74
		{
74
			MiscUtilities.quicksort(menuItems,
75
			MiscUtilities.quicksort(menuItems,
75
				new MiscUtilities.MenuItemCompare());
76
				new MiscUtilities.MenuItemCompare());
76
			for(int i = 0; i < menuItems.size(); i++)
77
			for(int i = 0; i < menuItems.size(); i++)
77
			{
78
			{
78
				if(menu.getMenuComponentCount() >= maxItems
79
				if(menu.getMenuComponentCount() >= maxItems
79
					&& i != 0)
80
					&& i != 0)
80
				{
81
				{
81
					JMenu newMenu = new JMenu(
82
					JMenu newMenu = new JMenu(
82
						jEdit.getProperty("common.more"));
83
						jEdit.getProperty("common.more"));
83
					menu.add(newMenu);
84
					menu.add(newMenu);
84
					menu = newMenu;
85
					menu = newMenu;
85
				}
86
				}
86
				menu.add((JMenuItem)menuItems.elementAt(i));
87
				menu.add((JMenuItem)menuItems.elementAt(i));
87
			
88
			
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones location
Number of node comparisons0