From 1746410490c9cb3f32b57d9a802d9a5e3ce02b59 Mon Sep 17 00:00:00 2001 From: Bojo Date: Tue, 4 Sep 2018 08:59:11 +0200 Subject: [PATCH] #152 add swiss method in team pairing screen --- src/tourma/JdgChangePairing.java | 8 +++- src/tourma/JdgPairing.form | 15 +++++- src/tourma/JdgPairing.java | 57 +++++++++++++++++++++++ src/tourma/MainFrame.java | 2 +- src/tourma/images/swiss.png | Bin 0 -> 1637 bytes src/tourma/languages/language.properties | 3 +- 6 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 src/tourma/images/swiss.png diff --git a/src/tourma/JdgChangePairing.java b/src/tourma/JdgChangePairing.java index 08142f06..937c7daa 100644 --- a/src/tourma/JdgChangePairing.java +++ b/src/tourma/JdgChangePairing.java @@ -156,18 +156,22 @@ private void jbtOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:e if (m instanceof TeamMatch) { Team t1 = (Team) mPlayersTmp.get(2 * i); Team t2 = (Team) mPlayersTmp.get(2 * i + 1); + + ArrayList list1=new ArrayList<>(); + ArrayList list2=new ArrayList<>(); + if ((m.getCompetitor1() != t1) || (m.getCompetitor2() != t2)) { // Remove matchs from coachs for (int j = 0; j < ((TeamMatch) m).getMatchCount(); j++) { CoachMatch cm = ((TeamMatch) m).getMatch(j); for (int k = 0; k < ((IContainCoachs) m.getCompetitor1()).getCoachsCount(); k++) { - Coach c = ((IContainCoachs) m.getCompetitor1()).getCoach(k); + Coach c = ((IContainCoachs) m.getCompetitor1()).getCoach(k); c.removeMatch(cm); } for (int k = 0; k < ((IContainCoachs) m.getCompetitor2()).getCoachsCount(); k++) { - Coach c = ((IContainCoachs) m.getCompetitor2()).getCoach(k); + Coach c = ((IContainCoachs) m.getCompetitor2()).getCoach(k); c.removeMatch(cm); } } diff --git a/src/tourma/JdgPairing.form b/src/tourma/JdgPairing.form index 4b52a76a..c6fa2002 100644 --- a/src/tourma/JdgPairing.form +++ b/src/tourma/JdgPairing.form @@ -18,7 +18,7 @@ - + @@ -164,6 +164,19 @@ + + + + + + + + + + + + + diff --git a/src/tourma/JdgPairing.java b/src/tourma/JdgPairing.java index 21e7ce0f..6306fc03 100644 --- a/src/tourma/JdgPairing.java +++ b/src/tourma/JdgPairing.java @@ -23,8 +23,10 @@ import tourma.data.Round; import tourma.data.Team; import tourma.data.TeamMatch; +import tourma.data.Tournament; import tourma.languages.Translate; import tourma.tableModel.MjtMatches; +import tourma.tableModel.MjtRankingIndiv; import tourma.utility.StringConstants; /** @@ -126,6 +128,7 @@ private void initComponents() { jPanel4 = new javax.swing.JPanel(); jbtAdd = new javax.swing.JButton(); jbtRemove = new javax.swing.JButton(); + jbtSwiss = new javax.swing.JButton(); jbtRandom = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE); @@ -187,6 +190,15 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { }); jPanel4.add(jbtRemove); + jbtSwiss.setIcon(new javax.swing.ImageIcon(getClass().getResource("/tourma/images/swiss.png"))); // NOI18N + jbtSwiss.setText(bundle.getString("Swiss")); // NOI18N + jbtSwiss.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtSwissActionPerformed(evt); + } + }); + jPanel4.add(jbtSwiss); + jbtRandom.setIcon(new javax.swing.ImageIcon(getClass().getResource("/tourma/images/Dice.png"))); // NOI18N jbtRandom.setText(bundle.getString("Random")); // NOI18N jbtRandom.addActionListener(new java.awt.event.ActionListener() { @@ -258,6 +270,50 @@ private void jbtRandomActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIR update(); }//GEN-LAST:event_jbtRandomActionPerformed + private void jbtSwissActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtSwissActionPerformed + + // Sort items by ranking + ArrayList list1=new ArrayList<>(); + ArrayList list2=new ArrayList<>(); + for (String item:mItems1) + { + list1.add(mCoachs.get(item)); + } + for (String item:mItems2) + { + list2.add(mCoachs.get(item)); + } + MjtRankingIndiv indivR1=new MjtRankingIndiv(Tournament.getTournament().getRoundIndex(mRound), list1, true, false); + MjtRankingIndiv indivR2=new MjtRankingIndiv(Tournament.getTournament().getRoundIndex(mRound), list2, true, false); + + list1=new ArrayList<>(); + list2=new ArrayList<>(); + + for (int i=0; i 0) && (list2.size() > 0)) { + + final CoachMatch m = new CoachMatch(mRound); + m.setCompetitor1(list1.get(0)); + m.setCompetitor2(list2.get(0)); + mMatchs.add(m); + list1.remove(0); + list2.remove(0); + } + mItems1.clear(); + mItems2.clear(); + + update(); + }//GEN-LAST:event_jbtSwissActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel jLabel1; private javax.swing.JPanel jPanel2; @@ -268,6 +324,7 @@ private void jbtRandomActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIR private javax.swing.JButton jbtOK; private javax.swing.JButton jbtRandom; private javax.swing.JButton jbtRemove; + private javax.swing.JButton jbtSwiss; private javax.swing.JComboBox jcbTeam1; private javax.swing.JComboBox jcbTeam2; private javax.swing.JTable jtbMatches; diff --git a/src/tourma/MainFrame.java b/src/tourma/MainFrame.java index f68b3df0..645b5bc9 100644 --- a/src/tourma/MainFrame.java +++ b/src/tourma/MainFrame.java @@ -1981,7 +1981,7 @@ private void jmiChangePairingActionPerformed(java.awt.event.ActionEvent evt) {// if (jpnContent instanceof JPNRound) { JPNRound jpnr = (JPNRound) jpnContent; - Round round = jpnr.getRound(); + Round round = jpnr.getRound(); final JdgChangePairing jdg = new JdgChangePairing(MainFrame.getMainFrame(), true, round); jdg.setVisible(true); jpnr.update(); diff --git a/src/tourma/images/swiss.png b/src/tourma/images/swiss.png new file mode 100644 index 0000000000000000000000000000000000000000..4ffb8be957df951ea5efb331f934f79ba2e07ad1 GIT binary patch literal 1637 zcmV-r2AcVaP)}{P+3ypEEOB+KYR$ z_+R$gYkhy;-}iS}yv?uBkGHhI|2j7d^D9^8=F$(!tMHhx{($mnM*li#-v0wYAY=@b z?>ZUyKHp z3@sZ7q7I#mBuTckMruLr3GF>ME531&_Md-~)0+VhKdrdp2KkrgnwwuSZ^eSj0A>I3 zgn>>cOOj4wY|~h&cEtAf9r9-%mL8graq3l^Ve{g;P+b3c`Mxy^)shA0I7?wDC`FZl zp~_Hcpfaaaib{o2rBut#R#flTd}T{~{yF*S)9Iqz{m1#l{fbXsne*KjSukhbiY0}4 zg<`V7#TS_S@TEc~D1<=$hZof^{8g(F6p~U2j_zXOBo{q`&!VRCYa?htdvscjPOY(}mcx=ZZ>hEDY~V1@ou(FaFRu&hdv&X|R;^X%R%u>iPBhRd zQR?RBK^+mA-A>pv%> zQR{Mhiod(G^R$_O*BH-?kw(&an)`8Lr!vlF!sZd~TE|FZTVvEW7?TCYM*U)KZYNgv zF`qL{*G@rhtNXdFk;X`^)i{I)guBq3t{msF^!StFgXc+~DAfv4=*5@lBcn7-jU>;w zAZt@?WUSU{dKZq>#>NvZ=sYAo*h-Jj_5~*a2yFg}TlNZ%?$?x)?f(--ol>Ra$*1_v zZ9?k9F9gRQ`@Mw`yQ?=rP%6p+TPlo zyVdj|x1qMJvE5Vtn&eMHd$0JdKT3CC^K?Do>vhGUWUduI^clYYKIx;&7-B%*n8!Xd zCM~x5V)iPY5Fh@Ncg+6C2VwJe>LgA9Lr1Rjo`06Y2v!p{Z;oeg=3p6S j0L`8QcQ(x4PS?KyMj!I4Flu