PageRenderTime 59ms CodeModel.GetById 27ms RepoModel.GetById 1ms app.codeStats 0ms

/src/mpv5/ui/panels/ProductPanelContactSub.java

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/
Java | 250 lines | 193 code | 31 blank | 26 comment | 10 complexity | bd67fbb970cf1f300909cb69755ef522 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. * ProductPanelContactSub.java
  7. *
  8. * Created on 01.03.2010, 15:57:49
  9. */
  10. package mpv5.ui.panels;
  11. import java.awt.Container;
  12. import java.awt.event.ActionEvent;
  13. import java.awt.event.ActionListener;
  14. import javax.swing.ButtonGroup;
  15. import javax.swing.SwingUtilities;
  16. import mpv5.db.common.Context;
  17. import mpv5.db.common.DatabaseObject;
  18. import mpv5.db.common.NodataFoundException;
  19. import mpv5.db.objects.Contact;
  20. import mpv5.logging.Log;
  21. import mpv5.utils.models.MPComboBoxModelItem;
  22. /**
  23. *
  24. * @author anti
  25. */
  26. public class ProductPanelContactSub extends javax.swing.JPanel {
  27. public static ButtonGroup group = new ButtonGroup();
  28. private final Contact contact;
  29. /** Creates new form ProductPanelContactSub
  30. * @param c
  31. * @param defaults
  32. */
  33. public ProductPanelContactSub(Contact c, final boolean defaults) {
  34. initComponents();
  35. group.add(jRadioButton1);
  36. contactname.setSearchEnabled(true);
  37. contactname.setEditable(true);
  38. contactname.setContext(Context.getSupplier());
  39. contactname.getComboBox().addActionListener(new ActionListener() {
  40. @Override
  41. public void actionPerformed(ActionEvent e) {
  42. final MPComboBoxModelItem item = contactname.getSelectedItem();
  43. if (item != null && item.isValid()) {
  44. Runnable runnable = new Runnable() {
  45. @Override
  46. public void run() {
  47. try {
  48. Contact dbo = (Contact) DatabaseObject.getObject(Context.getContact(), Integer.valueOf(item.getId()));
  49. contactcity.setText(dbo.__getCity());
  50. contactcompany.setText(dbo.__getCompany());
  51. contactid.setText(dbo.__getCNumber());
  52. if (defaults) {
  53. jRadioButton1.setSelected(true);
  54. }
  55. } catch (NodataFoundException ex) {
  56. }
  57. }
  58. };
  59. SwingUtilities.invokeLater(runnable);
  60. }
  61. }
  62. });
  63. if (c != null && c.isExisting()) {
  64. try {
  65. Contact owner = c;
  66. contactname.setModel(owner);
  67. contactcity.setText(owner.__getCity());
  68. contactcompany.setText(owner.__getCompany());
  69. contactid.setText(String.valueOf(owner.__getCNumber()));
  70. } catch (Exception ex) {
  71. Log.Debug(ex);
  72. }
  73. } else {
  74. contactname.setModel(new Object[0][0]);
  75. contactcity.setText("");
  76. contactcompany.setText("");
  77. contactid.setText(String.valueOf(""));
  78. }
  79. this.contact = c;
  80. }
  81. /** This method is called from within the constructor to
  82. * initialize the form.
  83. * WARNING: Do NOT modify this code. The content of this method is
  84. * always regenerated by the Form Editor.
  85. */
  86. @SuppressWarnings("unchecked")
  87. // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
  88. private void initComponents() {
  89. jPanel6 = new javax.swing.JPanel();
  90. contactid = new javax.swing.JTextField();
  91. contactcity = new javax.swing.JTextField();
  92. contactcompany = new javax.swing.JTextField();
  93. contactname = new mpv5.ui.beans.LabeledCombobox();
  94. jRadioButton1 = new javax.swing.JRadioButton();
  95. jButton1 = new javax.swing.JButton();
  96. jButton2 = new javax.swing.JButton();
  97. setName("Form"); // NOI18N
  98. jPanel6.setBackground(new java.awt.Color(230, 223, 223));
  99. jPanel6.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(204, 204, 204), 1, true));
  100. jPanel6.setForeground(new java.awt.Color(204, 204, 204));
  101. jPanel6.setName("jPanel6"); // NOI18N
  102. contactid.setEditable(false);
  103. java.util.ResourceBundle bundle = mpv5.i18n.LanguageManager.getBundle(); // NOI18N
  104. contactid.setText(bundle.getString("ProductPanel.contactid.text")); // NOI18N
  105. contactid.setName("contactid"); // NOI18N
  106. contactcity.setEditable(false);
  107. contactcity.setText(bundle.getString("ProductPanel.contactcity.text")); // NOI18N
  108. contactcity.setName("contactcity"); // NOI18N
  109. contactcompany.setEditable(false);
  110. contactcompany.setText(bundle.getString("ProductPanel.contactcompany.text")); // NOI18N
  111. contactcompany.setName("contactcompany"); // NOI18N
  112. contactname.set_Label(bundle.getString("ProductPanel.contactname._Label")); // NOI18N
  113. contactname.setName("contactname"); // NOI18N
  114. jRadioButton1.setText(bundle.getString("ProductPanelContactSub.jRadioButton1.text")); // NOI18N
  115. jRadioButton1.setName("jRadioButton1"); // NOI18N
  116. jRadioButton1.setOpaque(false);
  117. jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/16/add.png"))); // NOI18N
  118. jButton1.setText(bundle.getString("ProductPanelContactSub.jButton1.text")); // NOI18N
  119. jButton1.setMargin(new java.awt.Insets(1, 1, 1, 1));
  120. jButton1.setName("jButton1"); // NOI18N
  121. jButton1.addActionListener(new java.awt.event.ActionListener() {
  122. public void actionPerformed(java.awt.event.ActionEvent evt) {
  123. jButton1ActionPerformed(evt);
  124. }
  125. });
  126. jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/16/remove.png"))); // NOI18N
  127. jButton2.setText(bundle.getString("ProductPanelContactSub.jButton2.text")); // NOI18N
  128. jButton2.setMargin(new java.awt.Insets(1, 1, 1, 1));
  129. jButton2.setName("jButton2"); // NOI18N
  130. jButton2.addActionListener(new java.awt.event.ActionListener() {
  131. public void actionPerformed(java.awt.event.ActionEvent evt) {
  132. jButton2ActionPerformed(evt);
  133. }
  134. });
  135. javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
  136. jPanel6.setLayout(jPanel6Layout);
  137. jPanel6Layout.setHorizontalGroup(
  138. jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  139. .addGroup(jPanel6Layout.createSequentialGroup()
  140. .addContainerGap()
  141. .addComponent(contactname, javax.swing.GroupLayout.PREFERRED_SIZE, 239, javax.swing.GroupLayout.PREFERRED_SIZE)
  142. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  143. .addComponent(contactcity, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)
  144. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  145. .addComponent(contactcompany, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)
  146. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  147. .addComponent(contactid, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)
  148. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  149. .addComponent(jRadioButton1)
  150. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  151. .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
  152. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  153. .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
  154. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  155. );
  156. jPanel6Layout.setVerticalGroup(
  157. jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  158. .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
  159. .addComponent(contactcity, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  160. .addComponent(contactcompany, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  161. .addComponent(contactid, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  162. .addComponent(jRadioButton1)
  163. .addComponent(contactname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  164. .addComponent(jButton1)
  165. .addComponent(jButton2))
  166. );
  167. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
  168. this.setLayout(layout);
  169. layout.setHorizontalGroup(
  170. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  171. .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  172. );
  173. layout.setVerticalGroup(
  174. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  175. .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  176. );
  177. }// </editor-fold>//GEN-END:initComponents
  178. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
  179. getParent().add(new ProductPanelContactSub(null, false));
  180. getParent().validate();
  181. getParent().getParent().validate();
  182. }//GEN-LAST:event_jButton1ActionPerformed
  183. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
  184. Container p = getParent();
  185. getParent().remove(this);
  186. if(isDefault()){
  187. if(p.getComponentCount()>0) {
  188. ((ProductPanelContactSub) p.getComponent(0)).setDefault(true);
  189. }
  190. }
  191. p.validate();
  192. p.getParent().validate();
  193. }//GEN-LAST:event_jButton2ActionPerformed
  194. public boolean isDefault() {
  195. return jRadioButton1.isSelected();
  196. }
  197. public void setDefault(boolean def){
  198. jRadioButton1.setSelected(def);
  199. }
  200. public Contact getContact() {
  201. try {
  202. //main supplier here
  203. int suppliersids_ = Integer.valueOf(contactname.getSelectedItem().getId());
  204. return (Contact) DatabaseObject.getObject(Context.getContact(), suppliersids_);
  205. } catch (Exception numberFormatException) {
  206. return null;
  207. }
  208. }
  209. // Variables declaration - do not modify//GEN-BEGIN:variables
  210. private javax.swing.JTextField contactcity;
  211. private javax.swing.JTextField contactcompany;
  212. private javax.swing.JTextField contactid;
  213. private mpv5.ui.beans.LabeledCombobox contactname;
  214. private javax.swing.JButton jButton1;
  215. private javax.swing.JButton jButton2;
  216. private javax.swing.JPanel jPanel6;
  217. private javax.swing.JRadioButton jRadioButton1;
  218. // End of variables declaration//GEN-END:variables
  219. }