OSDN Git Service

836ed9e5451a3a586486aaac7d363af56fc97ef9
[importpicture/importpicture.git] / src / osm / jp / gpx / matchtime / gui / restamp / CardImageFile.java
1 package osm.jp.gpx.matchtime.gui.restamp;
2
3 import java.awt.BorderLayout;
4 import java.awt.Dimension;
5 import java.awt.Window;
6 import javax.swing.BoxLayout;
7 import javax.swing.JLabel;
8 import javax.swing.JPanel;
9 import javax.swing.JTabbedPane;
10 import static osm.jp.gpx.matchtime.gui.AdjustTime.i18n;
11 import osm.jp.gpx.matchtime.gui.Card;
12 import osm.jp.gpx.matchtime.gui.PanelAction;
13 import osm.jp.gpx.matchtime.gui.ParameterPanelImageFile;
14 import osm.jp.gpx.matchtime.gui.ParameterPanelTime;
15
16 /**
17  * [基準画像(開始/終了)]選択パネル
18  * @author yuu
19  */
20 public class CardImageFile extends Card  implements PanelAction {
21     //JPanel argsPanel;         // パラメータ設定パネル       (上部)
22     ParameterPanelImageFile arg_baseTimeImg;
23     ParameterPanelTime arg_basetime;
24     
25     /**
26      * コンストラクタ
27      * @param tabbe parent panel
28      * @param arg_basetime              // 開始画像の基準時刻:
29      * @param owner
30      * @param text
31      * @param pre
32      * @param next
33      */
34     public CardImageFile(
35             JTabbedPane tabbe, 
36             ParameterPanelTime arg_basetime,
37             Window owner,
38             String text,
39             int pre, int next
40     ) {
41         super(
42                 tabbe, 
43                 //AdjustTime.i18n.getString(first ? "tab.restamp.200" : "tab.restamp.250"), 
44                 text, pre, next
45                 //(first ? 0 : 1), 
46                 //(first ? 2 : 3)
47         );
48         arg_basetime.setOwner(owner);
49         this.arg_baseTimeImg = arg_basetime.getImageFile();
50         this.arg_basetime = arg_basetime;
51         
52         JPanel argsPanel = new JPanel();
53         argsPanel.setLayout(new BoxLayout(argsPanel, BoxLayout.PAGE_AXIS));
54         argsPanel.add(packLine(new JLabel(i18n.getString("label.200")), new JPanel()));
55         argsPanel.add(arg_baseTimeImg);
56         
57         JPanel separater = new JPanel();
58         separater.setMinimumSize(new Dimension(40, 20));
59         argsPanel.add(separater);
60
61         argsPanel.add(packLine(new JLabel(i18n.getString("label.300")), new JPanel()));
62         argsPanel.add(arg_basetime);
63         
64         // ラジオボタン: 「EXIF日時を基準にする」
65         if (arg_basetime.exifBase != null) {
66             argsPanel.add(arg_basetime.exifBase);
67         }
68         
69         // ラジオボタン: 「File更新日時を基準にする」
70         if (arg_basetime.fupdateBase != null) {
71             argsPanel.add(arg_basetime.fupdateBase);
72         }
73         
74         JPanel space = new JPanel();
75         space.setMinimumSize(new Dimension(40, 20));
76         space.setMaximumSize(new Dimension(40, Short.MAX_VALUE));
77         argsPanel.add(space);
78         
79         this.mainPanel.add(argsPanel, BorderLayout.CENTER);
80     }
81     
82     /**
83      *  入力条件が満たされているかどうか
84      * @return
85      */
86     @Override
87     public boolean isEnable() {
88        return (arg_baseTimeImg.isEnable() && arg_basetime.isEnable());
89     }
90     
91     @Override
92     @SuppressWarnings("empty-statement")
93     public void openAction() {
94        ; // 何もしない
95     }
96 }