/* * 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 }