package jp.ymir.taskReporter.ui import com.toedter.calendar._ import java.awt.Insets import jp.ymir.taskReporter.core._ import scala.swing._ class TaskEditor extends GridBagPanel { import GridBagPanel.Anchor._ import GridBagPanel.Fill._ val commonInsets = new Insets(2, 3, 2, 3) add( new Label("報告日"), new Constraints { gridx = 0; gridy = 0 }) add( Component.wrap(new JDateChooser() { setDateFormatString("yyyy-MM-dd") getJCalendar().setTodayButtonVisible(true) getJCalendar().setWeekOfYearVisible(false) }), new Constraints() { gridx = 1; gridy = 0; anchor = West ipadx = 3; ipady = 3; insets = commonInsets }) add( new Label("チケットID"), new Constraints { gridx = 0; gridy = 1 }) add( new TextField(6) { val isDigit = (c : Char) => c >= '0' && c <= '9' inputVerifier = _ => wrapString(text).forall(isDigit) peer.setMargin(commonInsets) }, new Constraints() { gridx = 1; gridy = 1; anchor = West; insets = commonInsets }) add( new Label("作業名"), new Constraints { gridx = 0; gridy = 2 }) add( new TextField() { peer.setMargin(commonInsets) }, new Constraints() { gridx = 1; gridy = 2; fill = Horizontal; weightx = 1.0 insets = commonInsets }) add( new Label("作業完了予定年月日"), new Constraints { gridx = 0; gridy = 3 }) add( Component.wrap(new JDateChooser() { setDateFormatString("yyyy-MM-dd") getJCalendar().setTodayButtonVisible(true) getJCalendar().setWeekOfYearVisible(false) }), new Constraints() { gridx = 1; gridy = 3; anchor = West ipadx = 3; ipady = 3; insets = commonInsets }) add( new Label("タスク期限"), new Constraints { gridx = 0; gridy = 4 }) add( Component.wrap(new JDateChooser() { setDateFormatString("yyyy-MM-dd") getJCalendar().setTodayButtonVisible(true) getJCalendar().setNullDateButtonVisible(true) getJCalendar().setWeekOfYearVisible(false) }), new Constraints() { gridx = 1; gridy = 4; anchor = West ipadx = 3; ipady = 3; insets = commonInsets }) add( new Label("状態"), new Constraints { gridx = 0; gridy = 5 }) add( new ComboBox[Task.Status](Task.Status.all), new Constraints { gridx = 1; gridy = 5; anchor = West ipadx = 3; ipady = 3; insets = commonInsets }) add( new Label("説明"), new Constraints { gridx = 0; gridy = 6 }) add( new ScrollPane( new TextArea() { rows = 5 peer.setMargin(commonInsets) }), new Constraints() { gridx = 1; gridy = 6; fill = Horizontal; weightx = 1.0 insets = commonInsets }) }