bug
1 parent c379162 commit 27dfdaed8a6304c28f518d7bafe40caf0fc27d01
@haya4 haya4 authored on 6 Dec 2020
Showing 8 changed files
View
112
src/main/java/osm/jp/gpx/matchtime/gui/AdjustTerra.java
package osm.jp.gpx.matchtime.gui;
 
import osm.jp.gpx.matchtime.gui.restamp.RestampDialog;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.io.File;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ResourceBundle;
import java.util.TimeZone;
Card[] cards;
//}}
 
//---入力フィールド----------------------------------------------------
ParameterPanelFolder arg1_srcFolder; // 対象フォルダ
ParameterPanelSourceFolder arg1_srcFolder; // 対象フォルダ
ParameterPanelImageFile arg2_baseTimeImg; // 開始画像ファイルパス
ParameterPanelTime arg2_basetime; // 開始画像の基準時刻:
ParameterPanelGpx arg3_gpxFile; // GPX file or Folder
ParameterPanelOutput arg4_output; // EXIF & 書き出しフォルダ
miExit_Action(event);
}
}
}
/**
* Action : Changed 'arg1'
*
*/
class Arg1ChangedAction implements java.awt.event.ActionListener {
 
class SimpleCardListener implements PropertyChangeListener {
int cardNo;
ParameterPanel param;
SimpleCardListener(int cardNo, ParameterPanel param) {
this.cardNo = cardNo;
this.param = param;
}
@Override
public void actionPerformed(ActionEvent e) {
toEnable(0, arg1_srcFolder.isEnable());
}
}
/**
* Action : Changed 'arg2'
*
*/
class Arg2ChangedAction implements java.awt.event.ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
toEnable(1, arg2_basetime.isEnable());
public void propertyChange(PropertyChangeEvent evt) {
String propertyName = evt.getPropertyName();
if (propertyName.equals(AppParameters.IMG_SOURCE_FOLDER)) {
toEnable(cardNo, param.isEnable());
}
else {
toEnable(cardNo, param.isEnable());
}
}
}
/**
 
//---------------------------------------------------------------------
// 1.[対象フォルダ]設定パネル
{
arg1_srcFolder = new ParameterPanelFolder(
arg1_srcFolder = new ParameterPanelSourceFolder(
AppParameters.IMG_SOURCE_FOLDER,
i18n.getString("label.110") +": ",
params.getProperty(AppParameters.IMG_SOURCE_FOLDER)
);
arg1_srcFolder.argField.getDocument().addDocumentListener(
new SimpleDocumentListener() {
@Override
public void update(DocumentEvent e) {
try {
File f = arg1_srcFolder.getDirectory();
String text = f.getAbsolutePath();
arg1_srcFolder.firePropertyChange(text);
toEnable(0, arg1_srcFolder.isEnable());
}
catch (Exception ex) {}
}
}
);
arg1_srcFolder.addPropertyChangeListener(new SimpleCardListener(0, arg1_srcFolder));
Card card = new CardSourceFolder(cardPanel, arg1_srcFolder);
cardPanel.addTab(card.getTitle(), card);
cardPanel.setEnabledAt(cardNo, true);
cardNo++;
}
//---------------------------------------------------------------------
// 2.[基準時刻画像]設定パネル
// 2a.基準時刻の入力画面
// 2.[基準時刻]パネル
// 2a.基準画像を選択フィールド
// 2b.基準時刻の入力フィールド
{
// 基準時刻画像
// 2a. 基準時刻画像
arg2_baseTimeImg = new ParameterPanelImageFile(
AppParameters.IMG_BASE_FILE,
i18n.getString("label.210") +": ",
null,
arg1_srcFolder
);
 
// 2a. 基準時刻:
arg2_basetime = new ParameterPanelTime(
AppParameters.GPX_BASETIME,
i18n.getString("label.310"),
null,
arg2_baseTimeImg
);
arg2_basetime.argField.getDocument().addDocumentListener(
new SimpleDocumentListener() {
@Override
public void update(DocumentEvent e) {
toEnable(1, arg2_basetime.isEnable());
}
}
);
arg2_basetime.addPropertyChangeListener(new SimpleCardListener(1, arg2_basetime));
// EXIFの日時を基準にする
arg2_basetime.addExifBase(i18n.getString("label.220"), params);
 
// 3.GPXファイル設定画面
{
// 3. GPXファイル選択パラメータ
arg3_gpxFile = new ParameterPanelGpx(
AppParameters.GPX_SOURCE_FOLDER,
i18n.getString("label.410") + ": ",
params.getProperty(AppParameters.GPX_SOURCE_FOLDER)
);
arg3_gpxFile.argField.getDocument().addDocumentListener(
{
// 4. ファイル変換・実行パラメータ
// "出力フォルダ: "
arg4_output = new ParameterPanelOutput(
AppParameters.IMG_OUTPUT_FOLDER,
i18n.getString("label.530") + ": ",
params.getProperty(AppParameters.IMG_OUTPUT_FOLDER)
);
arg4_output.argField.getDocument().addDocumentListener(
View
17
src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanel.java
* この1インスタンスで、1パラメータをあらわす。
*/
public abstract class ParameterPanel extends JPanel implements ParamAction {
private static final long serialVersionUID = 4629824800747170556L;
public String propertyName;
public JTextField argField;
public JLabel argLabel;
public ResourceBundle i18n = ResourceBundle.getBundle("i18n");
 
public ParameterPanel(String label, String text) {
public ParameterPanel(String name, String label, String text) {
this();
this.setName(label);
this.setName(name);
this.setLabel(label);
this.setText(text);
}
 
public ParameterPanel() {
ParameterPanel() {
super();
 
propertyName = "";
argLabel = new JLabel();
argField = new JTextField();
this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
this.add(argField);
}
 
public ParameterPanel setLabel(String label) {
this.setName(label);
this.argLabel.setText(label);
return this;
}
 
public void addActionListener(ActionListener l) {
public abstract void removePropertyChangeListener(PropertyChangeListener listener);
@Override
public void setName(String name) {
this.argLabel.setText(name);
this.propertyName = name;
}
@Override
public String getName() {
return this.argLabel.getText();
return this.propertyName;
}
 
@Override
public void setText(String text) {
View
src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelFolder.java
View
src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelGpx.java
View
src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelImageFile.java
View
src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelOutput.java
View
src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelSourceFolder.java 0 → 100644
View
src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelTime.java