Gridarta Editor
RecentMapMenuPreferences.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2015 The Gridarta Developers.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 package net.sf.gridarta.gui.mapmenu;
21 
22 import javax.swing.tree.DefaultMutableTreeNode;
24 import org.jetbrains.annotations.NotNull;
25 
32 
36  private static final int RECENT_SIZE = 10;
37 
42  public RecentMapMenuPreferences(@NotNull final PathManager pathManager) {
43  super("recent", pathManager);
44  }
45 
46  @Override
47  public void addEntry(@NotNull final MapMenuEntryMap mapMenuEntry) {
48  final MapMenu mapMenu = getMapMenu();
49  final DefaultMutableTreeNode parent = mapMenu.getRoot();
50  MapMenuUtils.removeMap(parent, mapMenuEntry.getMapFile());
51  mapMenu.insertNodeInto(mapMenuEntry, parent, 0);
52  while (parent.getChildCount() > RECENT_SIZE) {
53  parent.remove(RECENT_SIZE);
54  }
55  }
56 
57 }
An AbstractMapMenuPreferences implementation that manages recent menu entries.
This class contains methods for converting relative map paths to absolute map paths and vice versa...
Reading and writing of maps, handling of paths.
Abstract base class for MapMenuPreferences implementations.
Manages the contents of a recent or bookmark menu.
Definition: MapMenu.java:44
void addEntry(@NotNull final MapMenuEntryMap mapMenuEntry)
Adds a new entry to the menu.
Base package of all Gridarta classes.
DefaultMutableTreeNode getRoot()
Returns the root node.
Definition: MapMenu.java:390
Utility class for MapMenu related functions.
RecentMapMenuPreferences(@NotNull final PathManager pathManager)
Creates a new instance.
TreePath insertNodeInto(@NotNull final MapMenuEntry mapEntry, @NotNull final DefaultMutableTreeNode parent, final int index)
Inserts a new node into the tree.
Definition: MapMenu.java:280
A MapMenuEntry that represents a map.
static final int RECENT_SIZE
The maximum number of entries in the recent menu.
static void removeMap(@NotNull final MutableTreeNode treeNode, @NotNull final MapFile mapFile)
Removes all entries for a given map file.