package com.tilusnet.josm.plugins.alignways;
import static org.openstreetmap.josm.tools.I18n.tr;
import org.openstreetmap.josm.Main;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.gui.IconToggleButton;
import org.openstreetmap.josm.gui.MainMenu;
import org.openstreetmap.josm.gui.MapFrame;
import org.openstreetmap.josm.plugins.Plugin;
import org.openstreetmap.josm.plugins.PluginInformation;
/**
* @author tilusnet <tilusnet@gmail.com>
*
*/
public class AlignWaysPlugin extends Plugin {
private static AlignWaysMode awMode;
private static IconToggleButton btn;
private static JosmAction awAction;
private static AlignWaysDialog awDialog;
private static IconToggleButton optBtn;
// The major version is e.g. used to decide when to trigger What's New windows
public static final int AlignWaysMajorVersion = 2;
public AlignWaysPlugin(PluginInformation info) {
super(info);
// Add the action entries to the Tools Menu
Main.main.menu.moreToolsMenu.addSeparator();
awAction = new AlignWaysAction();
MainMenu.add(Main.main.menu.moreToolsMenu, awAction);
}
@Override
public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
if (newFrame != null) {
// Construct the AlignWays mode toggle button
awMode = new AlignWaysMode(Main.map, "alignways", tr("Align Ways mode"));
btn = new IconToggleButton(awMode);
btn.setVisible(true);
newFrame.addMapMode(btn);
optBtn = newFrame.addToggleDialog(awDialog = new AlignWaysDialog(awMode));
} else {
awDialog = null;
optBtn = null;
btn = null;
awMode = null;
}
}
/**
* @return the awAction
*/
public static JosmAction getAwAction() {
return awAction;
}
/**
* @return the awMode
*/
public static AlignWaysMode getAwMode() {
return awMode;
}
/**
* @return the awDialog
*/
public static AlignWaysDialog getAwDialog() {
return awDialog;
}
/**
* @return the optBtn
*/
public static IconToggleButton getOptBtn() {
return optBtn;
}
}