import osm.jp.gpx.matchtime.gui.restamp.RestampDialog;
import java.awt.*;
-import java.awt.event.ActionEvent;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ResourceBundle;
import javax.swing.*;
import javax.swing.event.DocumentEvent;
import osm.jp.gpx.*;
-import osm.jp.gpx.matchtime.gui.restamp.CardGpxFile;
import osm.jp.gpx.matchtime.gui.restamp.CardImageFile;
import osm.jp.gpx.matchtime.gui.restamp.CardSourceFolder;
public class AdjustTime extends JFrame
{
public static final String PROGRAM_NAME = "AdjustTime for JOSM";
- public static final String PROGRAM_VARSION = "5.01";
- public static final String PROGRAM_UPDATE = "2019/09/11";
+ public static final String PROGRAM_VARSION = "5.02";
+ public static final String PROGRAM_UPDATE = "2019/10/22";
AppParameters params;
public static SimpleDateFormat dfjp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
//{{DECLARE_CONTROLS
JTabbedPane cardPanel; // ウィザード形式パネル(タブ型)
Card[] cards;
- int cardPanelNo = 0;
- JPanel argsPanel; // パラメータ設定パネル (上部)
- JScrollPane imageSPane; // スクロールパネル
- JLabel imageLabel; // 基準時刻画像表示
- //JCheckBox noFirstNode; // GPX: <trkseg>セグメントの最初の1ノードは無視する。 {ON | OFF}
- //JCheckBox gpxReuse; // 生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も対象にする。 {ON | OFF}
- JTextArea textArea; // 実行結果表示領域
-
- //ParameterPanel arg3_basetime; // 基準時刻:
- JCheckBox outputIMG; // IMGの変換 する/しない
- JCheckBox outputIMG_all; // 'out of GPX time'でもIMGの変換をする {ON | OFF}
- JCheckBox exifON; // EXIF 書き出しモード / !(EXIFの書き換えはしない)
- JCheckBox gpxOutputWpt; // GPXに<WPT>を書き出す
- JCheckBox gpxOverwriteMagvar; // ソースGPXの<MAGVAR>を無視する
- JCheckBox gpxOutputSpeed; // GPXに<SPEED>を書き出す
- ParameterPanelFolder arg5_outputFolder; // EXIF 書き出しフォルダ
-
- JPanel buttonPanel; // ボタンパネル (下部)
-
- JButton doButton; // [処理実行]ボタン
//}}
//---入力フィールド----------------------------------------------------
ParameterPanelImageFile arg2_baseTimeImg; // 開始画像ファイルパス
ParameterPanelTime arg2_basetime; // 開始画像の基準時刻:
ParameterPanelGpx arg3_gpxFile; // GPX file or Folder
+ ParameterPanelOutput arg4_output; // EXIF & 書き出しフォルダ
//{{DECLARE_MENUS
java.awt.MenuBar mainMenuBar;
else if (object == miExit) {
miExit_Action(event);
}
- else if (object == outputIMG) {
- outputIMG_Action(event);
- }
- else if (object == doButton) {
- doButton_Action(event);
- }
}
}
// 3. GPXファイルを選択
CardGpxFile card = new CardGpxFile(
- cardPanel, arg3_gpxFile, (Window)this,
+ cardPanel, arg3_gpxFile,
AdjustTime.i18n.getString("tab.400"), 1, 3);
cardPanel.addTab(card.getTitle(), card);
cardPanel.setEnabledAt(cardNo, false);
}
//---------------------------------------------------------------------
- // 4.EXIF更新設定画面
+ // 4.EXIF更新設定画面 & 実行画面
{
- Card card = new Card(cardPanel, i18n.getString("tab.500"), 3, -1);
- cardPanel.addTab(card.getTitle(), card);
- cards[cardNo] = card;
-
- // 5. EXIF変換を行うかどうかを選択してください。
- // - EXIF変換を行う場合には、変換ファイルを出力するフォルダも指定する必要があります。
- // - 出力フォルダには、書き込み権限と、十分な空き容量が必要です。
- JLabel label5 = new JLabel();
- label5.setText(
- String.format(
- "<html><p>5. %s</p><ul><li>%s</li><li>%s</li></ul>",
- i18n.getString("label.500"),
- i18n.getString("label.501"),
- i18n.getString("label.502")
- )
+ // 4. ファイル変換・実行パラメータ
+ // "出力フォルダ: "
+ arg4_output = new ParameterPanelOutput(
+ i18n.getString("label.530") + ": ",
+ params.getProperty(AppParameters.IMG_OUTPUT_FOLDER)
+ );
+ arg4_output.argField.getDocument().addDocumentListener(
+ new SimpleDocumentListener() {
+ @Override
+ public void update(DocumentEvent e) {
+ toEnable(3, arg4_output.isEnable());
+ }
+ }
);
- card.mainPanel.add(label5, BorderLayout.NORTH);
-
- JPanel tmpPanel5 = new JPanel();
- tmpPanel5.setLayout(new BoxLayout(tmpPanel5, BoxLayout.Y_AXIS));
// "IMGの変換をする"
- outputIMG = new JCheckBox(
- i18n.getString("label.510"),
- Boolean.parseBoolean(params.getProperty(AppParameters.IMG_OUTPUT))
- );
- tmpPanel5.add(outputIMG);
+ arg4_output.addCheckChangeImage(i18n.getString("label.510"), params);
// "GPXファイル時間外のファイルもコピーする"
- outputIMG_all = new JCheckBox(
- i18n.getString("label.520"),
- Boolean.parseBoolean(params.getProperty(AppParameters.IMG_OUTPUT_ALL))
- );
- tmpPanel5.add(outputIMG_all);
-
- // "出力フォルダ: "
- arg5_outputFolder = new ParameterPanelFolder(
- i18n.getString("label.530") + ": ",
- params.getProperty(AppParameters.IMG_OUTPUT_FOLDER)
- );
- tmpPanel5.add(arg5_outputFolder);
+ arg4_output.addCheckOutofGpxTime(i18n.getString("label.520"), params);
// "EXIFの変換をする"
- exifON = new JCheckBox(
- i18n.getString("label.540"),
- Boolean.parseBoolean(params.getProperty(AppParameters.IMG_OUTPUT_EXIF))
- );
- tmpPanel5.add(exifON);
+ arg4_output.addCheckOutputExif(i18n.getString("label.540"), params);
// "ポイントマーカー<WPT>をGPXファイルに出力する"
- gpxOutputWpt = new JCheckBox(
- i18n.getString("label.550"),
- Boolean.parseBoolean(params.getProperty(AppParameters.GPX_OUTPUT_WPT))
- );
- gpxOutputWpt.setEnabled(true);
- tmpPanel5.add(gpxOutputWpt);
+ arg4_output.addCheckOutputWpt(i18n.getString("label.550"), params);
// "ソースGPXの<MAGVAR>を無視する"
- gpxOverwriteMagvar = new JCheckBox(
- i18n.getString("label.560"),
- Boolean.parseBoolean(params.getProperty(AppParameters.GPX_OVERWRITE_MAGVAR))
- );
- gpxOverwriteMagvar.setEnabled(true);
- tmpPanel5.add(gpxOverwriteMagvar);
+ arg4_output.addCheckIgnoreMagvar(i18n.getString("label.560"), params);
- // "出力GPXに<SPEED>を上書きする"
- gpxOutputSpeed = new JCheckBox(
- i18n.getString("label.570"),
- Boolean.parseBoolean(params.getProperty(AppParameters.GPX_OUTPUT_SPEED))
- );
- gpxOutputSpeed.setEnabled(true);
- tmpPanel5.add(gpxOutputSpeed);
-
- card.mainPanel.add(tmpPanel5, BorderLayout.CENTER);
+ // "出力GPXに[SPEED]を上書きする"
+ arg4_output.addCheckOutputSpeed(i18n.getString("label.570"), params);
- // "処理実行"
- doButton = new JButton(
- i18n.getString("button.execute"),
- AdjustTime.createImageIcon("images/media_playback_start.png")
+ // パネル表示
+ CardExifPerform card = new CardExifPerform(
+ cardPanel,
+ arg2_basetime, arg3_gpxFile, arg4_output,
+ AdjustTime.i18n.getString("tab.500"),
+ 2, -1
);
- card.mainPanel.add(doButton, BorderLayout.SOUTH);
- cardNo++;
+ cardPanel.addTab(card.getTitle(), card);
+ cardPanel.setEnabledAt(cardNo, false);
+ cards[cardNo] = card;
}
//---------------------------------------------------------------------
miRestamp.addActionListener(lSymAction);
miExit.addActionListener(lSymAction);
arg2_baseTimeImg.openButton.addActionListener(lSymAction);
- doButton.addActionListener(lSymAction);
- outputIMG_all.addActionListener(lSymAction);
- exifON.addActionListener(lSymAction);
- gpxOutputSpeed.addActionListener(lSymAction);
//}}
}
}
}
- ImageIcon refImage;
-
- /**
- * ソースディレクトリが選択された時のアクション
- * → AdjustTime.ini に書き込む
- * @param ev
- */
- public void selectSource_Action(ActionEvent ev) {
- }
+ //ImageIcon refImage;
/** Returns an ImageIcon, or null if the path was invalid.
* @param path
return null;
}
}
-
- /**
- * checkbox[IMG変換]を変更した場合のアクション
- * ON ー> IMG出力フォルダのフィールドを有効にする
- * OFF -> IMG出力フォルダのフィールドを無効にする
- * @param event
- */
- void outputIMG_Action (ActionEvent event) {
- arg5_outputFolder.setEnabled(outputIMG.isEnabled());
- }
-
- /**
- * [実行]ボタンをクリックしたときの動作
- * @param event
- */
- @SuppressWarnings("UseSpecificCatch")
- void doButton_Action(java.awt.event.ActionEvent event) {
- doButton.setEnabled(false);
-
- String[] argv = new String[0];
- this.params.setProperty(AppParameters.GPX_NO_FIRST_NODE, String.valueOf(arg3_gpxFile.isNoFirstNodeSelected()));
- this.params.setProperty(AppParameters.GPX_REUSE, String.valueOf(arg3_gpxFile.isGpxReuseSelected()));
- this.params.setProperty(AppParameters.GPX_SOURCE_FOLDER, arg3_gpxFile.getText());
- if ((arg2_basetime.exifBase != null) && arg2_basetime.exifBase.isSelected()) {
- this.params.setProperty(AppParameters.GPX_BASETIME, "EXIF_TIME");
- }
- else {
- this.params.setProperty(AppParameters.GPX_BASETIME, "FILE_UPDATE");
- }
- try {
- this.params.setProperty(AppParameters.IMG_SOURCE_FOLDER, arg1_srcFolder.getText());
- this.params.setProperty(AppParameters.IMG_BASE_FILE, arg2_baseTimeImg.getText());
- this.params.setProperty(AppParameters.IMG_TIME, ImportPicture.toUTCString(dfjp.parse(arg2_basetime.getText())));
- this.params.setProperty(AppParameters.IMG_OUTPUT, String.valueOf(outputIMG.isSelected()));
- this.params.setProperty(AppParameters.IMG_OUTPUT_FOLDER, arg5_outputFolder.getText());
- this.params.setProperty(AppParameters.IMG_OUTPUT_ALL, String.valueOf(outputIMG_all.isSelected()));
- this.params.setProperty(AppParameters.IMG_OUTPUT_EXIF, String.valueOf(exifON.isSelected()));
- this.params.setProperty(AppParameters.GPX_OVERWRITE_MAGVAR, String.valueOf(gpxOverwriteMagvar.isSelected()));
- this.params.setProperty(AppParameters.GPX_OUTPUT_SPEED, String.valueOf(gpxOutputSpeed.isSelected()));
- this.params.setProperty(AppParameters.GPX_OUTPUT_WPT, String.valueOf(gpxOutputWpt.isSelected()));
- this.params.store();
- }
- catch(Exception e) {
- e.printStackTrace();
- }
-
- (new DoDialog(argv)).setVisible(true);
-
- doButton.setEnabled(true);
- }
}
--- /dev/null
+package osm.jp.gpx.matchtime.gui;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTabbedPane;
+import osm.jp.gpx.AppParameters;
+import osm.jp.gpx.ImportPicture;
+import static osm.jp.gpx.matchtime.gui.AdjustTime.dfjp;
+import static osm.jp.gpx.matchtime.gui.AdjustTime.i18n;
+
+/**
+ * 実行パネル
+ * @author yuu
+ */
+public class CardExifPerform extends Card implements PanelAction {
+ ParameterPanelTime arg_basetime; // 画像の基準時刻:
+ ParameterPanelGpx arg_gpxFile; // GPX file or Folder
+ ParameterPanelOutput arg_output; // EXIF & 書き出しフォルダ
+ JButton doButton; // [処理実行]ボタン
+
+ /**
+ * コンストラクタ
+ * @param tabbe parent panel
+ * @param arg_basetime // 開始画像の基準時刻:
+ * @param arg_gpxFile // GPX file or Folder:
+ * @param arg_output // EXIF & 書き出しフォルダ
+ * @param text
+ * @param pre
+ * @param next
+ */
+ public CardExifPerform(
+ JTabbedPane tabbe,
+ ParameterPanelTime arg_basetime, ParameterPanelGpx arg_gpxFile, ParameterPanelOutput arg_output,
+ String text,
+ int pre, int next
+ ) {
+ super(tabbe, text, pre, next);
+ this.arg_basetime = arg_basetime;
+ this.arg_gpxFile = arg_gpxFile;
+ this.arg_output = arg_output;
+
+ SymAction lSymAction = new SymAction();
+ JPanel argsPanel = new JPanel();
+ argsPanel.setLayout(new BoxLayout(argsPanel, BoxLayout.PAGE_AXIS));
+
+ // 5. EXIF変換を行うかどうかを選択してください。
+ // - EXIF変換を行う場合には、変換ファイルを出力するフォルダも指定する必要があります。
+ // - 出力フォルダには、書き込み権限と、十分な空き容量が必要です。
+ JLabel label5 = new JLabel();
+ label5.setText(
+ String.format(
+ "<html><p>5. %s</p><ul><li>%s</li><li>%s</li></ul>",
+ i18n.getString("label.500"),
+ i18n.getString("label.501"),
+ i18n.getString("label.502")
+ )
+ );
+ argsPanel.add(packLine(label5, new JPanel()));
+
+ // チェックボックス "IMGの変換をする"
+ if (arg_output.outputIMG != null) {
+ arg_output.outputIMG.addActionListener(lSymAction);
+ argsPanel.add(arg_output.outputIMG);
+ }
+
+ // チェックボックス "IMGの変換をする"
+ if (arg_output.outputIMG_all != null) {
+ argsPanel.add(arg_output.outputIMG_all);
+ }
+
+ // チェックボックス "EXIFの変換をする"
+ if (arg_output.exifON != null) {
+ argsPanel.add(arg_output.exifON);
+ }
+
+ // チェックボックス "ポイントマーカー<WPT>をGPXファイルに出力する"
+ if (arg_output.gpxOutputWpt != null) {
+ argsPanel.add(arg_output.gpxOutputWpt);
+ }
+
+ // チェックボックス "ソースGPXの<MAGVAR>を無視する"
+ if (arg_output.gpxOverwriteMagvar != null) {
+ argsPanel.add(arg_output.gpxOverwriteMagvar);
+ }
+
+ // チェックボックス "出力GPXに[SPEED]を上書きする"
+ if (arg_output.gpxOutputSpeed != null) {
+ argsPanel.add(arg_output.gpxOutputSpeed);
+ }
+
+ // [処理実行]ボタン
+ doButton = new JButton(
+ i18n.getString("button.execute"),
+ AdjustTime.createImageIcon("images/media_playback_start.png")
+ );
+ argsPanel.add(doButton);
+
+ this.mainPanel.add(argsPanel, BorderLayout.CENTER);
+
+ //{{REGISTER_LISTENERS
+ doButton.addActionListener(lSymAction);
+ //}}
+ }
+
+ class SymAction implements java.awt.event.ActionListener {
+ @Override
+ public void actionPerformed(java.awt.event.ActionEvent event) {
+ Object object = event.getSource();
+ if (object == doButton) {
+ doButton_Action(event);
+ }
+ else if (object == arg_output.outputIMG) {
+ outputIMG_Action(event);
+ }
+ }
+ }
+
+ /**
+ * checkbox[IMG変換]を変更した場合のアクション
+ * ON ー> IMG出力フォルダのフィールドを有効にする
+ * OFF -> IMG出力フォルダのフィールドを無効にする
+ * @param event
+ */
+ void outputIMG_Action (ActionEvent event) {
+ setEnabled(isEnabled());
+ }
+
+ /**
+ * [実行]ボタンをクリックしたときの動作
+ * @param event
+ */
+ @SuppressWarnings("UseSpecificCatch")
+ void doButton_Action(java.awt.event.ActionEvent event) {
+ doButton.setEnabled(false);
+
+ ParameterPanelImageFile arg_baseTimeImg = arg_basetime.imageFile; // 基準時刻画像
+ ParameterPanelFolder arg_srcFolder = arg_baseTimeImg.paramDir;
+
+ try {
+ AppParameters params = new AppParameters();
+
+ String[] argv = new String[0];
+ params.setProperty(AppParameters.GPX_NO_FIRST_NODE, String.valueOf(arg_gpxFile.isNoFirstNodeSelected()));
+ params.setProperty(AppParameters.GPX_REUSE, String.valueOf(arg_gpxFile.isGpxReuseSelected()));
+ params.setProperty(AppParameters.GPX_SOURCE_FOLDER, arg_gpxFile.getText());
+ if ((arg_basetime.exifBase != null) && arg_basetime.exifBase.isSelected()) {
+ params.setProperty(AppParameters.GPX_BASETIME, "EXIF_TIME");
+ }
+ else {
+ params.setProperty(AppParameters.GPX_BASETIME, "FILE_UPDATE");
+ }
+ params.setProperty(AppParameters.IMG_SOURCE_FOLDER, arg_srcFolder.getText());
+ params.setProperty(AppParameters.IMG_BASE_FILE, arg_baseTimeImg.getText());
+ params.setProperty(AppParameters.IMG_TIME, ImportPicture.toUTCString(dfjp.parse(arg_basetime.getText())));
+ params.setProperty(AppParameters.IMG_OUTPUT, String.valueOf(arg_output.outputIMG.isSelected()));
+ params.setProperty(AppParameters.IMG_OUTPUT_ALL, String.valueOf(arg_output.outputIMG_all.isSelected()));
+ params.setProperty(AppParameters.IMG_OUTPUT_FOLDER, arg_output.getText());
+ params.setProperty(AppParameters.IMG_OUTPUT_EXIF, String.valueOf(arg_output.exifON.isSelected()));
+ params.setProperty(AppParameters.GPX_OVERWRITE_MAGVAR, String.valueOf(arg_output.gpxOverwriteMagvar.isSelected()));
+ params.setProperty(AppParameters.GPX_OUTPUT_SPEED, String.valueOf(arg_output.gpxOutputSpeed.isSelected()));
+ params.setProperty(AppParameters.GPX_OUTPUT_WPT, String.valueOf(arg_output.gpxOutputWpt.isSelected()));
+ params.store();
+ }
+ catch(Exception e) {
+ e.printStackTrace();
+ }
+
+ (new DoDialog(new String[0])).setVisible(true);
+
+ doButton.setEnabled(true);
+ }
+
+ /**
+ * 入力条件が満たされているかどうか
+ * @return
+ */
+ @Override
+ public boolean isEnable() {
+ return (arg_basetime.isEnable() && arg_gpxFile.isEnable());
+ }
+
+ @Override
+ @SuppressWarnings("empty-statement")
+ public void openAction() {
+ ; // 何もしない
+ }
+}
-package osm.jp.gpx.matchtime.gui.restamp;
+package osm.jp.gpx.matchtime.gui;
import java.awt.BorderLayout;
import java.awt.Dimension;
-import java.awt.Window;
import javax.swing.BoxLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import static osm.jp.gpx.matchtime.gui.AdjustTime.i18n;
-import osm.jp.gpx.matchtime.gui.Card;
-import osm.jp.gpx.matchtime.gui.PanelAction;
-import osm.jp.gpx.matchtime.gui.ParameterPanelGpx;
/**
* [GPXファイル]選択パネル
* @author yuu
*/
public class CardGpxFile extends Card implements PanelAction {
- //JPanel argsPanel; // パラメータ設定パネル (上部)
ParameterPanelGpx arg_gpxFile;
- //JCheckBox noFirstNode; // GPX: <trkseg>セグメントの最初の1ノードは無視する。 {ON | OFF}
- //JCheckBox gpxReuse; // 生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も対象にする。 {ON | OFF}
- //private final boolean gpxReuseV;
/**
* コンストラクタ
* @param tabbe parent panel
* @param arg_gpxFile // 開始画像の基準時刻:
- * @param owner
* @param text
* @param pre
* @param next
public CardGpxFile(
JTabbedPane tabbe,
ParameterPanelGpx arg_gpxFile,
- Window owner,
String text,
int pre, int next
- //boolean noFirstNodeV,
- //boolean gpxReuseV
) {
- super(tabbe, text, 2, 4);
+ super(tabbe, text, pre, next);
this.arg_gpxFile = arg_gpxFile;
// 4. ヒモ付を行うGPXファイルを選択してください。
public File getDirectory() throws FileNotFoundException {
String path = this.argField.getText();
if (path == null) {
- throw new FileNotFoundException("Image folder is Not specifiyed yet.");
+ throw new FileNotFoundException("Folder is Not specifiyed yet.");
}
File sdir = new File(path);
if (!sdir.exists()) {
- throw new FileNotFoundException(String.format("Image folder '%s' is Not exists.", path));
+ throw new FileNotFoundException(String.format("Folder '%s' is Not exists.", path));
}
if (!sdir.isDirectory()) {
- throw new FileNotFoundException(String.format("Image folder '%s' is Not directory.", path));
+ throw new FileNotFoundException(String.format("Folder '%s' is Not directory.", path));
}
return sdir;
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == selectButton){
- System.out.println("ParameterPanelFolder.actionPerformed(openButton)");
File sdir;
try {
sdir = getDirectory();
public boolean isGpxReuseSelected() {
return (gpxReuse != null) && gpxReuse.isSelected();
}
-
+
/**
* このフィールドに有効な値が設定されているかどうか
* @return
--- /dev/null
+package osm.jp.gpx.matchtime.gui;
+
+import javax.swing.JCheckBox;
+import javax.swing.JFileChooser;
+import osm.jp.gpx.AppParameters;
+
+@SuppressWarnings("serial")
+public class ParameterPanelOutput extends ParameterPanelFolder
+{
+ JCheckBox outputIMG; // IMGの変換 する/しない
+ JCheckBox outputIMG_all; // 'out of GPX time'でもIMGの変換をする {ON | OFF}
+ JCheckBox exifON; // EXIF 書き出しモード / !(EXIFの書き換えはしない)
+ JCheckBox gpxOutputWpt; // GPXに<WPT>を書き出す
+ JCheckBox gpxOverwriteMagvar; // ソースGPXの<MAGVAR>を無視する
+ JCheckBox gpxOutputSpeed; // GPXに<SPEED>を書き出す
+
+ /**
+ * コンストラクタ
+ * ディレクトリのみ選択可能なダイアログ
+ * @param label
+ * @param text
+ */
+ public ParameterPanelOutput(String label, String text) {
+ super(label, text, JFileChooser.DIRECTORIES_ONLY);
+ }
+
+ /**
+ * チェックボックス "IMGの変換をする"
+ * @param label テキスト
+ * @param params プロパティ
+ */
+ public void addCheckChangeImage(String label, AppParameters params) {
+ boolean selected = false;
+ if (params.getProperty(AppParameters.IMG_OUTPUT).equals("true")) {
+ selected = true;
+ }
+ outputIMG = new JCheckBox(label, selected);
+ }
+
+ /**
+ * チェックボックス "GPXファイル時間外のファイルもコピーする"
+ * @param label
+ * @param params
+ */
+ public void addCheckOutofGpxTime(String label, AppParameters params) {
+ boolean selected = false;
+ if (params.getProperty(AppParameters.IMG_OUTPUT_ALL).equals("true")) {
+ selected = true;
+ }
+ outputIMG_all = new JCheckBox(label, selected);
+ }
+
+ /**
+ * チェックボックス "EXIFの変換をする"
+ * @param label
+ * @param params
+ */
+ public void addCheckOutputExif(String label, AppParameters params) {
+ boolean selected = false;
+ if (params.getProperty(AppParameters.IMG_OUTPUT_EXIF).equals("true")) {
+ selected = true;
+ }
+ exifON = new JCheckBox(label, selected);
+ }
+
+ /**
+ * チェックボックス "ポイントマーカー[WPT]をGPXファイルに出力する"
+ * @param label
+ * @param params
+ */
+ public void addCheckOutputWpt(String label, AppParameters params) {
+ boolean selected = false;
+ if (params.getProperty(AppParameters.GPX_OUTPUT_WPT).equals("true")) {
+ selected = true;
+ }
+ gpxOutputWpt = new JCheckBox(label, selected);
+ gpxOutputWpt.setEnabled(true);
+ }
+
+ /**
+ * チェックボックス "ソースGPXの<MAGVAR>を無視する"
+ * @param label
+ * @param params
+ */
+ public void addCheckIgnoreMagvar(String label, AppParameters params) {
+ boolean selected = false;
+ if (params.getProperty(AppParameters.GPX_OVERWRITE_MAGVAR).equals("true")) {
+ selected = true;
+ }
+ gpxOverwriteMagvar = new JCheckBox(label, selected);
+ gpxOverwriteMagvar.setEnabled(true);
+ }
+
+ /**
+ * チェックボックス "出力GPXに[SPEED]を上書きする"
+ * @param label
+ * @param params
+ */
+ public void addCheckOutputSpeed(String label, AppParameters params) {
+ boolean selected = false;
+ if (params.getProperty(AppParameters.GPX_OUTPUT_SPEED).equals("true")) {
+ selected = true;
+ }
+ gpxOutputSpeed = new JCheckBox(label, selected);
+ gpxOutputSpeed.setEnabled(true);
+ }
+
+ /**
+ * checkbox[IMG変換]を変更した場合のアクション
+ * ON ー> IMG出力フォルダのフィールドを有効にする
+ * OFF -> IMG出力フォルダのフィールドを無効にする
+ * @param event
+ */
+ class ChangeImageAction implements java.awt.event.ActionListener {
+ @Override
+ public void actionPerformed(java.awt.event.ActionEvent event) {
+ Object object = event.getSource();
+ if (object == outputIMG) {
+ setEnabled(outputIMG.isEnabled());
+ }
+ }
+ }
+}
\ No newline at end of file
#by AdjustTime
-#Sun Aug 25 16:00:56 JST 2019
+#Tue Oct 22 11:27:01 JST 2019
GPX.OVERWRITE_MAGVAR=false
IMG.BASE_FILE=00009.jpg
-GPX.SOURCE_FOLDER=/home/yuu/work/mapping/Unmapped_2019-08-24_\u4E2D\u5C71\u9053_\u7B20\u53D6\u5CE0/GPX
+GPX.SOURCE_FOLDER=/home/yuu/work/mapping/Unmapped_2019-08-24_\u4E2D\u5C71\u9053_\u7B20\u53D6\u5CE0/GPX/2019-08-24 15.44.09 Day.gpx
IMG.SOURCE_FOLDER=/home/yuu/work/mapping/Unmapped_2019-08-24_\u4E2D\u5C71\u9053_\u7B20\u53D6\u5CE0/img/20190824_132842A
GPX.OUTPUT_SPEED=false
IMG.OUTPUT_FOLDER=/home/yuu/work/mapping/Unmapped_2019-08-24_\u4E2D\u5C71\u9053_\u7B20\u53D6\u5CE0/Movie
-GPX.noFirstNode=false
+GPX.noFirstNode=true
GPX.gpxSplit=true
IMG.OUTPUT=true
GPX.OUTPUT_WPT=false
GPX.REUSE=false
-IMG.TIME=2019-08-24T04\:29\:23Z
+IMG.TIME=2019-08-24T04\:29\:17Z
IMG.OUTPUT_EXIF=true
IMG.OUTPUT_ALL=false
GPX.BASETIME=FILE_UPDATE