OSDN Git Service

変数名変更
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / gui / FfmpegParamPanel.java
1 package yukihane.inqubus.gui;
2
3 import javax.swing.BorderFactory;
4 import javax.swing.GroupLayout;
5 import javax.swing.GroupLayout.Alignment;
6 import javax.swing.JCheckBox;
7 import javax.swing.JComboBox;
8 import javax.swing.JLabel;
9 import javax.swing.JPanel;
10 import javax.swing.JTextField;
11 import javax.swing.LayoutStyle.ComponentPlacement;
12 import saccubus.FFmpegSelectedItem;
13 import saccubus.OptionComboBoxModel;
14
15 /**
16  *
17  * @author yuki
18  */
19 class FfmpegParamPanel extends JPanel {
20
21     private static final long serialVersionUID = 1L;
22     // ffmpeg - ffmpegパラメータ
23     final OptionComboBoxModel mdlFfmpegOption = new OptionComboBoxModel();
24     final JComboBox<FFmpegSelectedItem> cmbFfmpegOptionFile = new JComboBox<>(mdlFfmpegOption);
25     final JTextField fldFfmpegOptionExtension = new JTextField();
26     final JTextField fldFfmpegOptionMain = new JTextField();
27     final JTextField fldFfmpegOptionIn = new JTextField();
28     final JTextField fldFfmpegOptionOut = new JTextField();
29     final JTextField fldFfmpegOptionAv = new JTextField();
30     final JCheckBox cbFfmpegOptionResize = new JCheckBox("次のサイズに収まるよう縮小(-s)");
31     final JTextField fldFfmpegOptionResizeWidth = new JTextField();
32     final JTextField fldFfmpegOptionResizeHeight = new JTextField();
33     final JCheckBox cbFfmpegOptionKeepAspect = new JCheckBox("アスペクト比を維持");
34
35     FfmpegParamPanel() {
36         final JLabel lblFfmpegOptionExtension = new JLabel("出力動画の拡張子");
37         final JLabel lblFfmpegOptionMain = new JLabel("メインオプション");
38         final JLabel lblFfmpegOptionIn = new JLabel("入力オプション");
39         final JLabel lblFfmpegOptionOut = new JLabel("出力オプション");
40         final JLabel lblFfmpegOptionAvfilter = new JLabel("avfilterオプション");
41         final JLabel lblFfmpegOptionResizeWidth = new JLabel("横");
42         final JLabel lblFfmpegOptionResizeHeight = new JLabel("縦");
43
44
45
46         final JPanel pnlFfmpegParamOption = new JPanel();
47         pnlFfmpegParamOption.setBorder(BorderFactory.createEtchedBorder());
48
49         final GroupLayout glFfmpegParamOption = new GroupLayout(pnlFfmpegParamOption);
50         pnlFfmpegParamOption.setLayout(glFfmpegParamOption);
51         glFfmpegParamOption.setHorizontalGroup(
52             glFfmpegParamOption.createParallelGroup(Alignment.LEADING)
53             .addGroup(glFfmpegParamOption.createSequentialGroup()
54                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.LEADING)
55                     .addGroup(glFfmpegParamOption.createSequentialGroup()
56                         .addContainerGap()
57                         .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.LEADING)
58                             .addComponent(lblFfmpegOptionAvfilter)
59                             .addComponent(lblFfmpegOptionExtension)
60                             .addComponent(lblFfmpegOptionMain)
61                             .addComponent(lblFfmpegOptionIn)
62                             .addComponent(lblFfmpegOptionOut))
63                         .addPreferredGap(ComponentPlacement.RELATED)
64                         .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.LEADING)
65                             .addComponent(fldFfmpegOptionExtension, GroupLayout.PREFERRED_SIZE, 51, GroupLayout.PREFERRED_SIZE)
66                             .addComponent(fldFfmpegOptionMain, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
67                             .addComponent(fldFfmpegOptionIn, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
68                             .addComponent(fldFfmpegOptionOut, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
69                             .addComponent(fldFfmpegOptionAv, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)))
70                     .addGroup(glFfmpegParamOption.createSequentialGroup()
71                         .addGap(12, 12, 12)
72                         .addComponent(cbFfmpegOptionResize)
73                         .addPreferredGap(ComponentPlacement.UNRELATED)
74                         .addComponent(lblFfmpegOptionResizeWidth)
75                         .addPreferredGap(ComponentPlacement.RELATED)
76                         .addComponent(fldFfmpegOptionResizeWidth, GroupLayout.PREFERRED_SIZE, 48, GroupLayout.PREFERRED_SIZE)
77                         .addGap(12, 12, 12)
78                         .addComponent(lblFfmpegOptionResizeHeight)
79                         .addPreferredGap(ComponentPlacement.RELATED)
80                         .addComponent(fldFfmpegOptionResizeHeight, GroupLayout.PREFERRED_SIZE, 48, GroupLayout.PREFERRED_SIZE))
81                     .addGroup(glFfmpegParamOption.createSequentialGroup()
82                         .addGap(33, 33, 33)
83                         .addComponent(cbFfmpegOptionKeepAspect)))
84                 .addContainerGap())
85         );
86         glFfmpegParamOption.setVerticalGroup(
87             glFfmpegParamOption.createParallelGroup(Alignment.LEADING)
88             .addGroup(glFfmpegParamOption.createSequentialGroup()
89                 .addContainerGap()
90                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
91                     .addComponent(lblFfmpegOptionExtension)
92                     .addComponent(fldFfmpegOptionExtension, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
93                 .addPreferredGap(ComponentPlacement.RELATED)
94                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
95                     .addComponent(lblFfmpegOptionMain)
96                     .addComponent(fldFfmpegOptionMain, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
97                 .addPreferredGap(ComponentPlacement.RELATED)
98                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
99                     .addComponent(lblFfmpegOptionIn)
100                     .addComponent(fldFfmpegOptionIn, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
101                 .addPreferredGap(ComponentPlacement.RELATED)
102                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
103                     .addComponent(lblFfmpegOptionOut)
104                     .addComponent(fldFfmpegOptionOut, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
105                 .addPreferredGap(ComponentPlacement.RELATED)
106                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
107                     .addComponent(lblFfmpegOptionAvfilter)
108                     .addComponent(fldFfmpegOptionAv, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
109                 .addPreferredGap(ComponentPlacement.RELATED)
110                 .addGroup(glFfmpegParamOption.createParallelGroup(Alignment.BASELINE)
111                     .addComponent(cbFfmpegOptionResize)
112                     .addComponent(lblFfmpegOptionResizeWidth)
113                     .addComponent(fldFfmpegOptionResizeWidth, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
114                     .addComponent(lblFfmpegOptionResizeHeight)
115                     .addComponent(fldFfmpegOptionResizeHeight, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
116                 .addPreferredGap(ComponentPlacement.RELATED)
117                 .addComponent(cbFfmpegOptionKeepAspect)
118                 .addContainerGap())
119         );
120
121
122
123         final GroupLayout glFfmpegParam = new GroupLayout(this);
124         setLayout(glFfmpegParam);
125         glFfmpegParam.setHorizontalGroup(
126             glFfmpegParam.createParallelGroup(Alignment.LEADING)
127             .addGroup(glFfmpegParam.createSequentialGroup()
128                 .addContainerGap()
129                 .addGroup(glFfmpegParam.createParallelGroup(Alignment.LEADING)
130                     .addComponent(pnlFfmpegParamOption, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
131                     .addComponent(cmbFfmpegOptionFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
132                 .addContainerGap())
133         );
134         glFfmpegParam.setVerticalGroup(
135             glFfmpegParam.createParallelGroup(Alignment.LEADING)
136             .addGroup(glFfmpegParam.createSequentialGroup()
137                 .addContainerGap()
138                 .addComponent(cmbFfmpegOptionFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
139                 .addPreferredGap(ComponentPlacement.RELATED)
140                 .addComponent(pnlFfmpegParamOption, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
141                 .addContainerGap())
142         );
143     }
144 }