PageRenderTime 129ms CodeModel.GetById 27ms RepoModel.GetById 2ms app.codeStats 0ms

/src/mpv5/ui/dialogs/subcomponents/ControlPanel_ProductGroups.java

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/
Java | 595 lines | 482 code | 77 blank | 36 comment | 35 complexity | ad9a2a656f916d2837cb944358dd3084 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. This file is part of YaBS.
  3. YaBS is free software: you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published by
  5. the Free Software Foundation, either version 3 of the License, or
  6. (at your option) any later version.
  7. YaBS is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with YaBS. If not, see <http://www.gnu.org/licenses/>.
  13. */
  14. /*
  15. * ContactPanel.java
  16. *
  17. * Created on Nov 20, 2008, 8:17:28 AM
  18. */
  19. package mpv5.ui.dialogs.subcomponents;
  20. import java.awt.Color;
  21. import java.awt.Component;
  22. import java.awt.event.MouseEvent;
  23. import java.io.File;
  24. import java.util.ArrayList;
  25. import javax.swing.JTextField;
  26. import javax.swing.SwingUtilities;
  27. import javax.swing.tree.DefaultMutableTreeNode;
  28. import javax.swing.tree.TreeNode;
  29. import javax.swing.tree.TreeSelectionModel;
  30. import mpv5.data.PropertyStore;
  31. import mpv5.db.common.Context;
  32. import mpv5.db.common.DatabaseObject;
  33. import mpv5.db.common.NodataFoundException;
  34. import mpv5.db.common.QueryHandler;
  35. import mpv5.db.objects.ProductGroup;
  36. import mpv5.globals.Messages;
  37. import mpv5.logging.Log;
  38. import mpv5.ui.dialogs.ControlApplet;
  39. import mpv5.ui.dialogs.Popup;
  40. import mpv5.ui.dialogs.Wizard;
  41. import mpv5.ui.frames.MPView;
  42. import mpv5.ui.panels.DataPanel;
  43. import mpv5.usermanagement.MPSecurityManager;
  44. import mpv5.utils.trees.TreeFormat;
  45. import mpv5.utils.ui.TextFieldUtils;
  46. /**
  47. *
  48. *
  49. */
  50. public class ControlPanel_ProductGroups extends javax.swing.JPanel implements ControlApplet, DataPanel {
  51. private static final long serialVersionUID = 1L;
  52. private ControlPanel_ProductGroups insta;
  53. private ArrayList<Object[]> arr;
  54. private ProductGroup dataOwner;
  55. /** Creates new form ContactPanel
  56. */
  57. public ControlPanel_ProductGroups() {
  58. if (MPSecurityManager.checkAdminAccess()) {
  59. initComponents();
  60. tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
  61. gcombobox.setSearchEnabled(true);
  62. gcombobox.setContext(Context.getGroup());
  63. refresh();
  64. }
  65. }
  66. public ControlPanel_ProductGroups(ProductGroup aThis) {
  67. if (MPSecurityManager.checkAdminAccess()) {
  68. initComponents();
  69. tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
  70. gcombobox.setSearchEnabled(true);
  71. gcombobox.setContext(Context.getGroup());
  72. refresh();
  73. setDataOwner(aThis, true);
  74. }
  75. }
  76. @Override
  77. public void showRequiredFields() {
  78. TextFieldUtils.blinkerRed(cname);
  79. TextFieldUtils.blinkerGrey(parents);
  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. buttonGroup1 = new javax.swing.ButtonGroup();
  90. jPanel1 = new javax.swing.JPanel();
  91. jScrollPane1 = new javax.swing.JScrollPane();
  92. tree = new javax.swing.JTree();
  93. jLabel1 = new javax.swing.JLabel();
  94. rightpane = new javax.swing.JPanel();
  95. cname = new mpv5.ui.beans.LabeledTextField();
  96. jScrollPane3 = new javax.swing.JScrollPane();
  97. jTextArea2 = new javax.swing.JTextArea();
  98. jLabel2 = new javax.swing.JLabel();
  99. jScrollPane2 = new javax.swing.JScrollPane();
  100. desc = new javax.swing.JTextArea();
  101. jLabel3 = new javax.swing.JLabel();
  102. gcombobox = new mpv5.ui.beans.LabeledCombobox();
  103. path = new mpv5.ui.beans.LabeledTextField();
  104. parents = new mpv5.ui.beans.LabeledTextField();
  105. jPanel2 = new javax.swing.JPanel();
  106. jButton5 = new javax.swing.JButton();
  107. jSeparator1 = new javax.swing.JSeparator();
  108. jButton4 = new javax.swing.JButton();
  109. jButton3 = new javax.swing.JButton();
  110. jButton2 = new javax.swing.JButton();
  111. jButton1 = new javax.swing.JButton();
  112. java.util.ResourceBundle bundle = mpv5.i18n.LanguageManager.getBundle(); // NOI18N
  113. setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("ControlPanel_ProductGroups.border.title"))); // NOI18N
  114. setName("Form"); // NOI18N
  115. setLayout(new java.awt.BorderLayout());
  116. jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
  117. jPanel1.setName("jPanel1"); // NOI18N
  118. jScrollPane1.setName("jScrollPane1"); // NOI18N
  119. javax.swing.tree.DefaultMutableTreeNode treeNode1 = new javax.swing.tree.DefaultMutableTreeNode("root");
  120. tree.setModel(new javax.swing.tree.DefaultTreeModel(treeNode1));
  121. tree.setToolTipText(bundle.getString("ControlPanel_ProductGroups.tree.toolTipText")); // NOI18N
  122. tree.setLargeModel(true);
  123. tree.setName("tree"); // NOI18N
  124. tree.addMouseListener(new java.awt.event.MouseAdapter() {
  125. public void mouseClicked(java.awt.event.MouseEvent evt) {
  126. treeMouseClicked(evt);
  127. }
  128. });
  129. jScrollPane1.setViewportView(tree);
  130. jLabel1.setText(bundle.getString("ControlPanel_ProductGroups.jLabel1.text")); // NOI18N
  131. jLabel1.setName("jLabel1"); // NOI18N
  132. javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  133. jPanel1.setLayout(jPanel1Layout);
  134. jPanel1Layout.setHorizontalGroup(
  135. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  136. .addGroup(jPanel1Layout.createSequentialGroup()
  137. .addContainerGap()
  138. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  139. .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
  140. .addComponent(jLabel1))
  141. .addContainerGap())
  142. );
  143. jPanel1Layout.setVerticalGroup(
  144. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  145. .addGroup(jPanel1Layout.createSequentialGroup()
  146. .addContainerGap()
  147. .addComponent(jLabel1)
  148. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  149. .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 315, Short.MAX_VALUE)
  150. .addContainerGap())
  151. );
  152. add(jPanel1, java.awt.BorderLayout.CENTER);
  153. rightpane.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("ControlPanel_ProductGroups.rightpane.border.title"))); // NOI18N
  154. rightpane.setName("rightpane"); // NOI18N
  155. cname.set_Label(bundle.getString("ControlPanel_ProductGroups.cname._Label")); // NOI18N
  156. cname.setName("cname"); // NOI18N
  157. jScrollPane3.setBackground(new java.awt.Color(254, 254, 254));
  158. jScrollPane3.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
  159. jScrollPane3.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
  160. jScrollPane3.setName("jScrollPane3"); // NOI18N
  161. jTextArea2.setColumns(20);
  162. jTextArea2.setEditable(false);
  163. jTextArea2.setLineWrap(true);
  164. jTextArea2.setRows(5);
  165. jTextArea2.setText(bundle.getString("ControlPanel_ProductGroups.jTextArea2.text")); // NOI18N
  166. jTextArea2.setWrapStyleWord(true);
  167. jTextArea2.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
  168. jTextArea2.setName("jTextArea2"); // NOI18N
  169. jScrollPane3.setViewportView(jTextArea2);
  170. jLabel2.setFont(new java.awt.Font("Dialog", 0, 12));
  171. jLabel2.setText(bundle.getString("ControlPanel_ProductGroups.jLabel2.text")); // NOI18N
  172. jLabel2.setName("jLabel2"); // NOI18N
  173. jScrollPane2.setName("jScrollPane2"); // NOI18N
  174. desc.setColumns(20);
  175. desc.setRows(5);
  176. desc.setName("desc"); // NOI18N
  177. jScrollPane2.setViewportView(desc);
  178. jLabel3.setFont(new java.awt.Font("Dialog", 0, 12));
  179. jLabel3.setText(bundle.getString("ControlPanel_ProductGroups.jLabel3.text")); // NOI18N
  180. jLabel3.setName("jLabel3"); // NOI18N
  181. gcombobox.set_Label(bundle.getString("ControlPanel_ProductGroups.gcombobox._Label")); // NOI18N
  182. gcombobox.setName("gcombobox"); // NOI18N
  183. path.set_Label(bundle.getString("ControlPanel_ProductGroups.path._Label")); // NOI18N
  184. path.setName("path"); // NOI18N
  185. parents.set_Label(bundle.getString("ControlPanel_ProductGroups.parents._Label")); // NOI18N
  186. parents.setEnabled(false);
  187. parents.setName("parents"); // NOI18N
  188. javax.swing.GroupLayout rightpaneLayout = new javax.swing.GroupLayout(rightpane);
  189. rightpane.setLayout(rightpaneLayout);
  190. rightpaneLayout.setHorizontalGroup(
  191. rightpaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  192. .addGroup(rightpaneLayout.createSequentialGroup()
  193. .addContainerGap()
  194. .addGroup(rightpaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  195. .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
  196. .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
  197. .addComponent(cname, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
  198. .addComponent(jLabel2)
  199. .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
  200. .addComponent(gcombobox, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
  201. .addComponent(path, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
  202. .addComponent(parents, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE))
  203. .addContainerGap())
  204. );
  205. rightpaneLayout.setVerticalGroup(
  206. rightpaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  207. .addGroup(rightpaneLayout.createSequentialGroup()
  208. .addComponent(jLabel3)
  209. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  210. .addComponent(cname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  211. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  212. .addComponent(jLabel2)
  213. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  214. .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  215. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  216. .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)
  217. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  218. .addComponent(parents, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  219. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  220. .addComponent(path, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  221. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  222. .addComponent(gcombobox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  223. .addContainerGap(41, Short.MAX_VALUE))
  224. );
  225. add(rightpane, java.awt.BorderLayout.EAST);
  226. jPanel2.setBackground(new java.awt.Color(255, 255, 255));
  227. jPanel2.setName("jPanel2"); // NOI18N
  228. jPanel2.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));
  229. jButton5.setText(bundle.getString("ControlPanel_ProductGroups.jButton5.text")); // NOI18N
  230. jButton5.setName("jButton5"); // NOI18N
  231. jButton5.addActionListener(new java.awt.event.ActionListener() {
  232. public void actionPerformed(java.awt.event.ActionEvent evt) {
  233. jButton5ActionPerformed(evt);
  234. }
  235. });
  236. jPanel2.add(jButton5);
  237. jSeparator1.setName("jSeparator1"); // NOI18N
  238. jPanel2.add(jSeparator1);
  239. jButton4.setText(bundle.getString("ControlPanel_ProductGroups.jButton4.text")); // NOI18N
  240. jButton4.setName("jButton4"); // NOI18N
  241. jButton4.addActionListener(new java.awt.event.ActionListener() {
  242. public void actionPerformed(java.awt.event.ActionEvent evt) {
  243. jButton4ActionPerformed(evt);
  244. }
  245. });
  246. jPanel2.add(jButton4);
  247. jButton3.setText(bundle.getString("ControlPanel_ProductGroups.jButton3.text")); // NOI18N
  248. jButton3.setName("jButton3"); // NOI18N
  249. jButton3.addActionListener(new java.awt.event.ActionListener() {
  250. public void actionPerformed(java.awt.event.ActionEvent evt) {
  251. jButton3ActionPerformed(evt);
  252. }
  253. });
  254. jPanel2.add(jButton3);
  255. jButton2.setText(bundle.getString("ControlPanel_ProductGroups.jButton2.text")); // NOI18N
  256. jButton2.setName("jButton2"); // NOI18N
  257. jButton2.addActionListener(new java.awt.event.ActionListener() {
  258. public void actionPerformed(java.awt.event.ActionEvent evt) {
  259. jButton2ActionPerformed(evt);
  260. }
  261. });
  262. jPanel2.add(jButton2);
  263. jButton1.setText(bundle.getString("ControlPanel_ProductGroups.jButton1.text")); // NOI18N
  264. jButton1.setName("jButton1"); // NOI18N
  265. jButton1.addActionListener(new java.awt.event.ActionListener() {
  266. public void actionPerformed(java.awt.event.ActionEvent evt) {
  267. jButton1ActionPerformed(evt);
  268. }
  269. });
  270. jPanel2.add(jButton1);
  271. add(jPanel2, java.awt.BorderLayout.PAGE_END);
  272. }// </editor-fold>//GEN-END:initComponents
  273. private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
  274. if (Popup.Y_N_dialog(Messages.REALLY_DELETE)) {
  275. if (dataOwner != null) {
  276. DatabaseObject dato = dataOwner;
  277. dato.getPanelData(this);
  278. if (dato.__getIDS().intValue() == 1 || !dato.delete()) {
  279. Popup.notice(Messages.NOT_POSSIBLE + "\n" + Messages.IN_USE);
  280. }
  281. }
  282. refresh();
  283. }
  284. }//GEN-LAST:event_jButton4ActionPerformed
  285. private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
  286. reset();
  287. }//GEN-LAST:event_jButton3ActionPerformed
  288. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
  289. if (dataOwner != null) {
  290. DatabaseObject dato = dataOwner;
  291. dato.getPanelData(this);
  292. if (dato.save()) {
  293. } else {
  294. showRequiredFields();
  295. }
  296. }
  297. }//GEN-LAST:event_jButton2ActionPerformed
  298. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
  299. if (dataOwner == null) {
  300. dataOwner = new ProductGroup();
  301. }
  302. try {
  303. DatabaseObject dato = dataOwner;
  304. if (QueryHandler.instanceOf().clone(Context.getGroup()).checkUniqueness(Context.getGroup().getUniqueColumns(), new JTextField[]{cname.getTextField()})) {
  305. dato.getPanelData(this);
  306. dato.setIDS(-1);
  307. if (dato.save()) {
  308. } else {
  309. showRequiredFields();
  310. }
  311. }
  312. } catch (Exception e) {
  313. }
  314. refresh();
  315. }//GEN-LAST:event_jButton1ActionPerformed
  316. private void treeMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_treeMouseClicked
  317. evt.consume();
  318. DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
  319. if (evt.getButton() == MouseEvent.BUTTON2 || evt.getButton() == MouseEvent.BUTTON3) {
  320. if (node != null) {
  321. ProductGroup g = (ProductGroup) node.getUserObject();
  322. parents.set_Text(g.__getCname());
  323. path.setText(getPath(node, 0));
  324. }
  325. } else {
  326. if (node != null) {
  327. ProductGroup g = (ProductGroup) node.getUserObject();
  328. setDataOwner(g, true);
  329. path.setText(getPath(node, 1));
  330. }
  331. }
  332. }//GEN-LAST:event_treeMouseClicked
  333. private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed
  334. importf();
  335. }//GEN-LAST:event_jButton5ActionPerformed
  336. // Variables declaration - do not modify//GEN-BEGIN:variables
  337. private javax.swing.ButtonGroup buttonGroup1;
  338. private mpv5.ui.beans.LabeledTextField cname;
  339. private javax.swing.JTextArea desc;
  340. private mpv5.ui.beans.LabeledCombobox gcombobox;
  341. private javax.swing.JButton jButton1;
  342. private javax.swing.JButton jButton2;
  343. private javax.swing.JButton jButton3;
  344. private javax.swing.JButton jButton4;
  345. private javax.swing.JButton jButton5;
  346. private javax.swing.JLabel jLabel1;
  347. private javax.swing.JLabel jLabel2;
  348. private javax.swing.JLabel jLabel3;
  349. private javax.swing.JPanel jPanel1;
  350. private javax.swing.JPanel jPanel2;
  351. private javax.swing.JScrollPane jScrollPane1;
  352. private javax.swing.JScrollPane jScrollPane2;
  353. private javax.swing.JScrollPane jScrollPane3;
  354. private javax.swing.JSeparator jSeparator1;
  355. private javax.swing.JTextArea jTextArea2;
  356. private mpv5.ui.beans.LabeledTextField parents;
  357. private mpv5.ui.beans.LabeledTextField path;
  358. private javax.swing.JPanel rightpane;
  359. private javax.swing.JTree tree;
  360. // End of variables declaration//GEN-END:variables
  361. public String description_ = "";
  362. public String defaults_ = "";
  363. public String cname_ = "";
  364. public int ids_;
  365. public int groupsids_ = 1;
  366. public int intaddedby_ = 1;
  367. public int productgroupsids_;
  368. public java.util.Date dateadded_ = new java.util.Date();
  369. public String hierarchypath_ = "";
  370. @Override
  371. public void setValues(PropertyStore values) {
  372. throw new UnsupportedOperationException("Not supported yet.");
  373. }
  374. @Override
  375. public String getUname() {
  376. return "ProductGroups";
  377. }
  378. @Override
  379. public void reset() {
  380. if (dataOwner!=null && dataOwner.isExisting()) {
  381. DatabaseObject dato = dataOwner;
  382. dato.getPanelData(this);
  383. dato.reset();
  384. setDataOwner(dato, true);
  385. }
  386. }
  387. @Override
  388. public void refresh() {
  389. ArrayList<ProductGroup> data = null;
  390. try {
  391. data = DatabaseObject.getObjects(Context.getProductGroup());
  392. } catch (NodataFoundException ex) {
  393. Log.Debug(this, ex.getMessage());
  394. }
  395. ProductGroup g;
  396. try {
  397. g = (ProductGroup) DatabaseObject.getObject(Context.getProductGroup(), 1);
  398. } catch (NodataFoundException ex) {
  399. g = new ProductGroup(Messages.GROUPNAMES.toString());
  400. g.setIDS(-1);
  401. }
  402. tree.setModel(ProductGroup.toTreeModel(data, g));
  403. Runnable runnable = new Runnable() {
  404. @Override
  405. public void run() {
  406. gcombobox.triggerSearch();
  407. TreeFormat.expandTree(tree);
  408. }
  409. };
  410. SwingUtilities.invokeLater(runnable);
  411. }
  412. @Override
  413. public boolean collectData() {
  414. if (cname.getText().length() == 0) {
  415. return false;
  416. }
  417. cname_ = cname.get_Text();
  418. description_ = desc.getText();
  419. hierarchypath_ = path.getText();
  420. try {
  421. productgroupsids_ = DatabaseObject.getObject(Context.getProductGroup(), parents.get_Text()).__getIDS();
  422. } catch (NodataFoundException ex) {
  423. productgroupsids_ = 1;
  424. }
  425. try {
  426. groupsids_ = Integer.valueOf(gcombobox.getSelectedItem().getId());
  427. } catch (NumberFormatException numberFormatException) {
  428. groupsids_ = 1;
  429. }
  430. return true;
  431. }
  432. @Override
  433. public DatabaseObject getDataOwner() {
  434. return dataOwner;
  435. }
  436. @Override
  437. public void setDataOwner(DatabaseObject object, boolean p) {
  438. dataOwner = (ProductGroup) object;
  439. if (p) {
  440. dataOwner.setPanelData(this);
  441. this.exposeData();
  442. }
  443. }
  444. @Override
  445. public void exposeData() {
  446. cname.set_Text(cname_);
  447. desc.setText(description_);
  448. path.setText(hierarchypath_);
  449. try {
  450. parents.set_Text(DatabaseObject.getObject(Context.getProductGroup(), productgroupsids_).__getCname());
  451. } catch (NodataFoundException ex) {
  452. Log.Debug(this, ex.getMessage());
  453. }
  454. try {
  455. // defaults.set_Text(defaults_);
  456. gcombobox.setModel(DatabaseObject.getObject(Context.getGroup(), groupsids_));
  457. } catch (NodataFoundException ex) {
  458. Log.Debug(this, ex.getMessage());
  459. }
  460. }
  461. @Override
  462. public void paste(DatabaseObject... dbos) {
  463. for (DatabaseObject dbo : dbos) {
  464. if (dbo.getDbIdentity().equals(Context.getGroup().getDbIdentity())) {
  465. setDataOwner(dbo, true);
  466. } else {
  467. mpv5.YabsViewProxy.instance().addMessage(Messages.NOT_POSSIBLE.toString() + Messages.ACTION_PASTE, Color.RED);
  468. }
  469. }
  470. }
  471. @Override
  472. public void showSearchBar(boolean show) {
  473. throw new UnsupportedOperationException("Not supported yet.");
  474. }
  475. @Override
  476. public Component getAndRemoveActionPanel() {
  477. this.remove(jPanel2);
  478. validate();
  479. return jPanel2;
  480. }
  481. @Override
  482. public void actionAfterSave() {
  483. throw new UnsupportedOperationException("Not supported yet.");
  484. }
  485. @Override
  486. public void actionAfterCreate() {
  487. }
  488. private String getPath(DefaultMutableTreeNode node, int shift) {
  489. TreeNode[] p = node.getPath();
  490. String path1 = "";
  491. for (int i = 0; i < p.length - shift; i++) {
  492. TreeNode treeNode = p[i];
  493. path1 += treeNode.toString() + File.separator;
  494. }
  495. return path1;
  496. }
  497. private void importf() {
  498. Wizard w = new Wizard(false);
  499. w.addPanel(new wizard_CSVImport_1(w));
  500. w.addPanel(new wizard_CSV_ProductGroups_Import_1(w));
  501. w.showWiz();
  502. }
  503. public void actionBeforeCreate() {
  504. throw new UnsupportedOperationException("Not supported yet.");
  505. }
  506. public void actionBeforeSave() {
  507. throw new UnsupportedOperationException("Not supported yet.");
  508. }
  509. public void mail() {
  510. throw new UnsupportedOperationException("Not supported yet.");
  511. }
  512. public void print() {
  513. mpv5.utils.export.Export.print(this);
  514. }
  515. }