Gridarta Editor
src
gridarta
src
main
java
net
sf
gridarta
action
ReleaseDragAction.java
Go to the documentation of this file.
1
/*
2
* Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3
* Copyright (C) 2000-2023 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.action;
21
22
import
java.awt.Point;
23
import
javax.swing.Action;
24
import
net
.
sf
.
gridarta
.
model
.
archetype
.
Archetype
;
25
import
net
.
sf
.
gridarta
.
model
.
gameobject
.
GameObject
;
26
import
net
.
sf
.
gridarta
.
model
.
maparchobject
.
MapArchObject
;
27
import
net
.
sf
.
gridarta
.
model
.
mapcursor
.
MapCursor
;
28
import
net
.
sf
.
gridarta
.
utils
.
EditorAction
;
29
import
net
.
sf
.japi.swing.action.ActionMethod;
30
import
org.jetbrains.annotations.NotNull;
31
import
org.jetbrains.annotations.Nullable;
32
38
public
class
ReleaseDragAction
<G
extends
GameObject
<G, A, R>, A extends
MapArchObject
<A>, R extends
Archetype
<G, A, R>> extends
AbstractMapCursorAction
<G, A, R> implements
EditorAction
{
39
44
@Nullable
45
private
Action
action
;
46
47
@Override
48
public
void
setAction
(@NotNull
final
Action
action
, @NotNull
final
String
name
) {
49
this.action =
action
;
50
updateAction
();
51
}
52
56
@ActionMethod
57
public
void
releaseDrag
() {
58
doReleaseDrag
(
true
);
59
}
60
66
private
boolean
doReleaseDrag
(
final
boolean
performAction) {
67
final
MapCursor<G, A, R>
mapCursor =
getActiveMapCursor
();
68
if
(mapCursor ==
null
) {
69
return
false
;
70
}
71
72
if
(performAction) {
73
if
(mapCursor.
isDragging
()) {
74
mapCursor.
dragRelease
();
75
}
else
{
76
final
Point location = mapCursor.
getLocation
();
77
mapCursor.
deactivate
();
78
mapCursor.
setLocation
(location);
79
}
80
}
81
82
return
true
;
83
}
84
85
@Override
86
protected
void
updateAction
() {
87
if
(
action
!=
null
) {
88
action
.setEnabled(
doReleaseDrag
(
false
));
89
}
90
}
91
92
}
net.sf.gridarta
net.sf.gridarta.action.AbstractMapCursorAction
Definition:
AbstractMapCursorAction.java:38
net.sf.gridarta.model.maparchobject.MapArchObject
Definition:
MapArchObject.java:40
net.sf
net.sf.gridarta.model.mapcursor.MapCursor.deactivate
final void deactivate()
Definition:
MapCursor.java:355
net.sf.gridarta.action.ReleaseDragAction.action
Action action
Definition:
ReleaseDragAction.java:45
net.sf.gridarta.model.archetype
Definition:
AbstractArchetype.java:20
net.sf.gridarta.action.ReleaseDragAction.setAction
void setAction(@NotNull final Action action, @NotNull final String name)
Definition:
ReleaseDragAction.java:48
net.sf.gridarta.action.ReleaseDragAction
Definition:
ReleaseDragAction.java:38
net.sf.gridarta.model.gameobject.GameObject
Definition:
GameObject.java:36
net.sf.gridarta.model.mapcursor.MapCursor
Definition:
MapCursor.java:58
net.sf.gridarta.model.mapcursor.MapCursor.isDragging
boolean isDragging()
Definition:
MapCursor.java:411
net.sf.gridarta.model.gameobject
Definition:
AbstractGameObject.java:20
net.sf.gridarta.action.ReleaseDragAction.releaseDrag
void releaseDrag()
Definition:
ReleaseDragAction.java:57
net
net.sf.gridarta.model.mapcursor.MapCursor.dragRelease
void dragRelease()
Definition:
MapCursor.java:319
net.sf.gridarta.action.ReleaseDragAction.updateAction
void updateAction()
Definition:
ReleaseDragAction.java:86
net.sf.gridarta.model.mapcursor.MapCursor.getLocation
Point getLocation()
Definition:
MapCursor.java:227
name
name
Definition:
ArchetypeTypeSetParserTest-ignoreDefaultAttribute1-result.txt:2
net.sf.gridarta.model
net.sf.gridarta.action.ReleaseDragAction.doReleaseDrag
boolean doReleaseDrag(final boolean performAction)
Definition:
ReleaseDragAction.java:66
net.sf.gridarta.utils.EditorAction
Definition:
EditorAction.java:29
net.sf.gridarta.model.maparchobject
Definition:
AbstractMapArchObject.java:20
net.sf.gridarta.model.mapcursor.MapCursor.setLocation
void setLocation(@NotNull final Point p)
Definition:
MapCursor.java:236
net.sf.gridarta.model.mapcursor
Definition:
MapCursor.java:20
net.sf.gridarta.action.AbstractMapCursorAction< G, A, R >::getActiveMapCursor
MapCursor< G, A, R > getActiveMapCursor()
Definition:
AbstractMapCursorAction.java:52
net.sf.gridarta.model.archetype.Archetype
Definition:
Archetype.java:41
net.sf.gridarta.utils
Definition:
ActionBuilderUtils.java:20
Generated by
1.8.17