/*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.kenai.redminenb.timetracker;
import com.kenai.redminenb.issue.RedmineIssue;
import com.kenai.redminenb.ui.Defaults;
import com.kenai.redminenb.util.TimeUtil;
import com.taskadapter.redmineapi.bean.TimeEntryActivity;
import javax.swing.DefaultComboBoxModel;
class TimeEntryForm extends javax.swing.JPanel {
private RedmineIssue issue;
/**
* Creates new form TimeEntryForm
*/
public TimeEntryForm() {
initComponents();
}
public RedmineIssue getIssue() {
return issue;
}
public void setIssue(RedmineIssue issue) {
this.issue = issue;
activityInput.setRenderer(new Defaults.TimeEntryActivityLCR());
DefaultComboBoxModel timeEntryActivityModel = new DefaultComboBoxModel(
issue.getRepository().getTimeEntryActivities().toArray()
);
for (int i = 0; i < timeEntryActivityModel.getSize(); i++) {
TimeEntryActivity tea = (TimeEntryActivity) timeEntryActivityModel.getElementAt(i);
if (tea.isDefault()) {
timeEntryActivityModel.setSelectedItem(tea);
break;
}
}
activityInput.setModel(timeEntryActivityModel);
commentInput.setColumns(50);
repositoryInfo.setText(issue.getRepository().getDisplayName());
issueInfo.setText(Bundle.MSG_Issue(issue.getID(), issue.getDisplayName()));
}
public void setTime(long time) {
hoursInput.setText(TimeUtil.millisecondsToDecimalHours(time));
}
public long getTime() {
return TimeUtil.decimalHoursToMilliseconds(hoursInput.getText());
}
public String getComment() {
return commentInput.getText();
}
public TimeEntryActivity getTimeEntryActivity() {
return (TimeEntryActivity) activityInput.getSelectedItem();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
repositoryLabel = new javax.swing.JLabel();
repositoryInfo = new javax.swing.JLabel();
issueLabel = new javax.swing.JLabel();
issueInfo = new javax.swing.JLabel();
hoursInfo = new javax.swing.JLabel();
activityLabel = new javax.swing.JLabel();
commentLabel = new javax.swing.JLabel();
hoursInput = new javax.swing.JTextField();
hoursUnit = new javax.swing.JLabel();
commentInput = new javax.swing.JTextField();
activityInput = new javax.swing.JComboBox();
setLayout(new java.awt.GridBagLayout());
org.openide.awt.Mnemonics.setLocalizedText(repositoryLabel, org.openide.util.NbBundle.getMessage(TimeEntryForm.class, "TimeEntryForm.repositoryLabel.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE_LEADING;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
add(repositoryLabel, gridBagConstraints);
org.openide.awt.Mnemonics.setLocalizedText(repositoryInfo, org.openide.util.NbBundle.getMessage(TimeEntryForm.class, "TimeEntryForm.repositoryInfo.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE_LEADING;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
add(repositoryInfo, gridBagConstraints);
org.openide.awt.Mnemonics.setLocalizedText(issueLabel, org.openide.util.NbBundle.getMessage(TimeEntryForm.class, "TimeEntryForm.issueLabel.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE_LEADING;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
add(issueLabel, gridBagConstraints);
org.openide.awt.Mnemonics.setLocalizedText(issueInfo, org.openide.util.NbBundle.getMessage(TimeEntryForm.class, "TimeEntryForm.issueInfo.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE_LEADING;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
add(issueInfo, gridBagConstraints);
org.openide.awt.Mnemonics.setLocalizedText(hoursInfo, org.openide.util.NbBundle.getMessage(TimeEntryForm.class, "TimeEntryForm.hoursInfo.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE_LEADING;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
add(hoursInfo, gridBagConstraints);
org.openide.awt.Mnemonics.setLocalizedText(activityLabel, org.openide.util.NbBundle.getMessage(TimeEntryForm.class, "TimeEntryForm.activityLabel.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE_LEADING;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
add(activityLabel, gridBagConstraints);
org.openide.awt.Mnemonics.setLocalizedText(commentLabel, org.openide.util.NbBundle.getMessage(TimeEntryForm.class, "TimeEntryForm.commentLabel.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 4;
gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE_LEADING;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
add(commentLabel, gridBagConstraints);
hoursInput.setColumns(6);
hoursInput.setHorizontalAlignment(javax.swing.JTextField.TRAILING);
hoursInput.setText(org.openide.util.NbBundle.getMessage(TimeEntryForm.class, "TimeEntryForm.hoursInput.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE_LEADING;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
add(hoursInput, gridBagConstraints);
org.openide.awt.Mnemonics.setLocalizedText(hoursUnit, org.openide.util.NbBundle.getMessage(TimeEntryForm.class, "TimeEntryForm.hoursUnit.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE_LEADING;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
add(hoursUnit, gridBagConstraints);
commentInput.setText(org.openide.util.NbBundle.getMessage(TimeEntryForm.class, "TimeEntryForm.commentInput.text")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 4;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE_LEADING;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
add(commentInput, gridBagConstraints);
activityInput.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 3;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE_LEADING;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
add(activityInput, gridBagConstraints);
}// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JComboBox activityInput;
private javax.swing.JLabel activityLabel;
private javax.swing.JTextField commentInput;
private javax.swing.JLabel commentLabel;
private javax.swing.JLabel hoursInfo;
private javax.swing.JTextField hoursInput;
private javax.swing.JLabel hoursUnit;
private javax.swing.JLabel issueInfo;
private javax.swing.JLabel issueLabel;
private javax.swing.JLabel repositoryInfo;
private javax.swing.JLabel repositoryLabel;
// End of variables declaration//GEN-END:variables
}