Gridarta Editor
ControlServerAction.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.Frame;
23 import javax.swing.Action;
24 import javax.swing.JOptionPane;
28 import net.sf.japi.swing.action.ActionBuilder;
29 import net.sf.japi.swing.action.ActionBuilderFactory;
30 import net.sf.japi.swing.action.ActionMethod;
31 import org.jetbrains.annotations.NotNull;
32 import org.jetbrains.annotations.Nullable;
33 
37 public class ControlServerAction implements EditorAction {
38 
42  @NotNull
43  private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.gridarta");
44 
45  @NotNull
47 
48  @NotNull
49  private final Frame parent;
50 
55  @Nullable
57 
61  public ControlServerAction(@NotNull final AppPreferencesModel appPreferencesModel, @NotNull final Frame parent) {
62  this.appPreferencesModel = appPreferencesModel;
63  this.parent = parent;
64  }
65 
70  @ActionMethod
71  public void controlServer() {
72  final ProcessRunner tmpControlServer;
73  if (controlServer == null) {
74  tmpControlServer = new ProcessRunner("controlServer", new String[] { appPreferencesModel.getServer(), });
75  controlServer = tmpControlServer;
76  ACTION_BUILDER.showOnetimeMessageDialog(parent, JOptionPane.WARNING_MESSAGE, "controlServerWarning");
77  } else {
78  tmpControlServer = controlServer;
79  tmpControlServer.setCommand(new String[] { appPreferencesModel.getServer(), });
80  }
81  tmpControlServer.showDialog(parent);
82  }
83 
84  @Override
85  public void setAction(@NotNull final Action action, @NotNull final String name) {
86  }
87 
88 }
name
name
Definition: ArchetypeTypeSetParserTest-ignoreDefaultAttribute1-result.txt:2
net.sf.gridarta.utils.AppPreferencesModel
Maintains the application preferences state.
Definition: AppPreferencesModel.java:32
net.sf.gridarta.action.ControlServerAction.ControlServerAction
ControlServerAction(@NotNull final AppPreferencesModel appPreferencesModel, @NotNull final Frame parent)
Creates a new instance.
Definition: ControlServerAction.java:61
net.sf.gridarta.action.ControlServerAction.parent
final Frame parent
Definition: ControlServerAction.java:49
net.sf.gridarta
Base package of all Gridarta classes.
net.sf
net.sf.gridarta.utils.ProcessRunner
Class to run an external process.
Definition: ProcessRunner.java:52
net.sf.gridarta.action.ControlServerAction.ACTION_BUILDER
static final ActionBuilder ACTION_BUILDER
The ActionBuilder.
Definition: ControlServerAction.java:43
net.sf.gridarta.action.ControlServerAction.controlServer
ProcessRunner controlServer
The ProcessRunner instance that controls the server.
Definition: ControlServerAction.java:56
net.sf.gridarta.utils.AppPreferencesModel.getServer
String getServer()
Returns the server setting.
Definition: AppPreferencesModel.java:117
net
net.sf.gridarta.action.ControlServerAction.appPreferencesModel
final AppPreferencesModel appPreferencesModel
Definition: ControlServerAction.java:46
net.sf.gridarta.utils.ProcessRunner.setCommand
void setCommand(@NotNull final String @NotNull[] command)
Sets the command to be executed by this ProcessRunner.
Definition: ProcessRunner.java:216
net.sf.gridarta.action.ControlServerAction.setAction
void setAction(@NotNull final Action action, @NotNull final String name)
Sets the Action instance for this editor action.
Definition: ControlServerAction.java:85
net.sf.gridarta.utils.EditorAction
A global editor action.
Definition: EditorAction.java:29
net.sf.gridarta.action.ControlServerAction.controlServer
void controlServer()
The action method for "controlServer".
Definition: ControlServerAction.java:71
net.sf.gridarta.action.ControlServerAction
Definition: ControlServerAction.java:37
net.sf.gridarta.utils.ProcessRunner.showDialog
void showDialog(@NotNull final Frame parent)
Show a dialog if not already visible.
Definition: ProcessRunner.java:189
net.sf.gridarta.utils
Definition: ActionBuilderUtils.java:20