PageRenderTime 50ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/src/mpv5/ui/panels/ScheduleDayEventsPanel.java

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/
Java | 227 lines | 176 code | 25 blank | 26 comment | 9 complexity | e252ac77cfb7e5c9d91b09f522eb34c5 MD5 | raw file
Possible License(s): LGPL-3.0, Apache-2.0, GPL-3.0, GPL-2.0, AGPL-3.0, JSON, BSD-3-Clause
  1. /*
  2. * To change this template, choose Tools | Templates
  3. * and open the template in the editor.
  4. */
  5. /*
  6. * SplashScreen.java
  7. *
  8. * Created on 30.03.2009, 21:55:52
  9. */
  10. package mpv5.ui.panels;
  11. import java.util.ArrayList;
  12. import java.util.Calendar;
  13. import java.util.Date;
  14. import javax.swing.JPanel;
  15. import mpv5.db.common.Context;
  16. import mpv5.db.common.DatabaseObject;
  17. import mpv5.db.common.NodataFoundException;
  18. import mpv5.db.common.QueryCriteria;
  19. import mpv5.db.objects.Schedule;
  20. import mpv5.db.objects.User;
  21. import mpv5.globals.Headers;
  22. import mpv5.logging.Log;
  23. import mpv5.ui.dialogs.ScheduleEvents;
  24. import mpv5.ui.panels.calendar.ScheduleCalendarDayChooser;
  25. import mpv5.utils.models.MPTableModel;
  26. import mpv5.utils.tables.TableFormat;
  27. /**
  28. *
  29. *
  30. */
  31. public class ScheduleDayEventsPanel extends JPanel {
  32. private static final long serialVersionUID = 1L;
  33. private static ScheduleDayEventsPanel icke;
  34. public static ScheduleDayEventsPanel instanceOf() {
  35. if (icke == null) {
  36. icke = new ScheduleDayEventsPanel();
  37. } else {
  38. // icke.refresh(null);
  39. }
  40. return icke;
  41. }
  42. /**
  43. *
  44. * @param day
  45. */
  46. private ScheduleDayEventsPanel() {
  47. initComponents();
  48. }
  49. /** This method is called from within the constructor to
  50. * initialize the form.
  51. * WARNING: Do NOT modify this code. The content of this method is
  52. * always regenerated by the Form Editor.
  53. */
  54. @SuppressWarnings("unchecked")
  55. // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
  56. private void initComponents() {
  57. jPanel1 = new javax.swing.JPanel();
  58. but4 = new javax.swing.JButton();
  59. jScrollPane1 = new javax.swing.JScrollPane();
  60. jTable1 = new javax.swing.JTable();
  61. but5 = new javax.swing.JButton();
  62. setName("Form"); // NOI18N
  63. setLayout(new java.awt.BorderLayout());
  64. java.util.ResourceBundle bundle = mpv5.i18n.LanguageManager.getBundle(); // NOI18N
  65. jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("ScheduleDayEventsPanel.jPanel1.border.title_1"))); // NOI18N
  66. jPanel1.setName("jPanel1"); // NOI18N
  67. but4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/32/view_right.png"))); // NOI18N
  68. but4.setText(bundle.getString("ScheduleDayEventsPanel.but4.text")); // NOI18N
  69. but4.setToolTipText(bundle.getString("ScheduleDayEventsPanel.but4.toolTipText")); // NOI18N
  70. but4.setContentAreaFilled(false);
  71. but4.setFocusable(false);
  72. but4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  73. but4.setName("but4"); // NOI18N
  74. but4.setPressedIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/32/xclock.png"))); // NOI18N
  75. but4.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/32/view_right.png"))); // NOI18N
  76. but4.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
  77. but4.addActionListener(new java.awt.event.ActionListener() {
  78. public void actionPerformed(java.awt.event.ActionEvent evt) {
  79. but4ActionPerformed(evt);
  80. }
  81. });
  82. jScrollPane1.setName("jScrollPane1"); // NOI18N
  83. jTable1.setModel(new javax.swing.table.DefaultTableModel(
  84. new Object [][] {
  85. {},
  86. {},
  87. {},
  88. {}
  89. },
  90. new String [] {
  91. }
  92. ));
  93. jTable1.setName("jTable1"); // NOI18N
  94. jScrollPane1.setViewportView(jTable1);
  95. but5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/32/edittrash.png"))); // NOI18N
  96. but5.setText(bundle.getString("ScheduleDayEventsPanel.but5.text")); // NOI18N
  97. but5.setToolTipText(bundle.getString("ScheduleDayEventsPanel.but5.toolTipText")); // NOI18N
  98. but5.setContentAreaFilled(false);
  99. but5.setFocusable(false);
  100. but5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  101. but5.setName("but5"); // NOI18N
  102. but5.setPressedIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/32/xclock.png"))); // NOI18N
  103. but5.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/32/bright_edittrash.png"))); // NOI18N
  104. but5.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
  105. but5.addActionListener(new java.awt.event.ActionListener() {
  106. public void actionPerformed(java.awt.event.ActionEvent evt) {
  107. but5ActionPerformed(evt);
  108. }
  109. });
  110. javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  111. jPanel1.setLayout(jPanel1Layout);
  112. jPanel1Layout.setHorizontalGroup(
  113. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  114. .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
  115. .addGap(19, 19, 19)
  116. .addComponent(but4, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
  117. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 109, Short.MAX_VALUE)
  118. .addComponent(but5, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
  119. .addGap(19, 19, 19))
  120. .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 225, Short.MAX_VALUE)
  121. );
  122. jPanel1Layout.setVerticalGroup(
  123. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  124. .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
  125. .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 410, Short.MAX_VALUE)
  126. .addGap(18, 18, 18)
  127. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  128. .addComponent(but5, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
  129. .addComponent(but4, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE))
  130. .addGap(15, 15, 15))
  131. );
  132. add(jPanel1, java.awt.BorderLayout.LINE_START);
  133. }// </editor-fold>//GEN-END:initComponents
  134. private void but4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_but4ActionPerformed
  135. Log.Debug(this,
  136. "adding new schedule from Homescreen");
  137. ScheduleEvents.instanceOf();
  138. }//GEN-LAST:event_but4ActionPerformed
  139. private void but5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_but5ActionPerformed
  140. Schedule d = (Schedule) jTable1.getModel().getValueAt(jTable1.convertRowIndexToModel(jTable1.getSelectedRow()), 0);
  141. Log.Debug(this,
  142. "deleting the marked entry from Homescreen (and database :-) )");
  143. Calendar cal = Calendar.getInstance();
  144. cal.setTime(d.__getStartdate());
  145. Date oldDate = cal.getTime();
  146. ScheduleCalendarDayChooser.instanceOf().refreshDayPanels(oldDate, d, Boolean.FALSE);
  147. d.delete();
  148. refresh(ScheduleCalendarDayChooser.instanceOf().getScheduledEvents(d.__getStartdate()));
  149. }//GEN-LAST:event_but5ActionPerformed
  150. // Variables declaration - do not modify//GEN-BEGIN:variables
  151. private javax.swing.JButton but4;
  152. private javax.swing.JButton but5;
  153. private javax.swing.JPanel jPanel1;
  154. private javax.swing.JScrollPane jScrollPane1;
  155. private javax.swing.JTable jTable1;
  156. // End of variables declaration//GEN-END:variables
  157. private void refresh(ArrayList<Schedule> list) {
  158. Log.Debug(this, "Refreshing SDEPanel ...");
  159. if (list != null) {
  160. Object[][] data = new Object[list.size()][4];
  161. for (int i = 0; i < list.size(); i++) {
  162. Schedule schedule = list.get(i);
  163. data[i][0] = schedule;
  164. data[i][1] = schedule.__getCname();
  165. QueryCriteria qc = new QueryCriteria("USERSIDS", User.getCurrentUser().getID());
  166. qc.addAndCondition("IDS", schedule.__getEventtype());
  167. Log.Debug(this, "EventID: " + schedule.__getEventtype());
  168. ArrayList<DatabaseObject> SType;
  169. try {
  170. SType = DatabaseObject.getObjects(Context.getScheduleTypes(),
  171. qc);
  172. data[i][3] = SType.get(0).__getCname();
  173. } catch (NodataFoundException ex) {
  174. Log.Debug(this, ex);
  175. }
  176. }
  177. MPTableModel m = new MPTableModel(data, Headers.SCHEDULE_PANEL);
  178. jTable1.setModel(m);
  179. TableFormat.stripColumn(jTable1, 0);
  180. TableFormat.stripColumn(jTable1, 2);
  181. TableFormat.format(jTable1, 0, 140);
  182. if (list.isEmpty()) {
  183. but5.setEnabled(false);
  184. } else {
  185. but5.setEnabled(true);
  186. }
  187. } else {
  188. Object[][] data = new Object[0][4];
  189. MPTableModel m = new MPTableModel(data, Headers.SCHEDULE_PANEL);
  190. jTable1.setModel(m);
  191. TableFormat.stripColumn(jTable1, 0);
  192. TableFormat.stripColumn(jTable1, 2);
  193. TableFormat.format(jTable1, 0, 140);
  194. Log.Debug(this, "Delete off");
  195. but5.setEnabled(false);
  196. }
  197. this.validate();
  198. }
  199. public void setDayEvents(ArrayList<Schedule> list) {
  200. refresh(list);
  201. }
  202. }