From 5c6e930259f0e10eb401888ae9895a7c4d6cbcea Mon Sep 17 00:00:00 2001 From: Ricardo Gudwin Date: Wed, 25 May 2022 17:47:48 -0300 Subject: [PATCH] Updated to use cst-bindings 1.0.4 and cst 1.2.0 --- README.md | 4 +-- build.gradle | 4 +-- .../unicamp/cst/util/viewer/MindRenderer.java | 12 +++++++ .../unicamp/cst/util/viewer/TreeElement.java | 5 +++ .../representation/idea/IdeaEditor.form | 4 --- .../representation/idea/IdeaEditor.java | 9 ++--- .../representation/idea/IdeaTreeNode.java | 32 +++++++++++++++++- src/main/resources/episode-p.png | Bin 0 -> 5913 bytes src/main/resources/object-e.png | Bin 0 -> 5711 bytes src/main/resources/object-p.png | Bin 0 -> 5755 bytes src/main/resources/property-p.png | Bin 0 -> 5723 bytes 11 files changed, 57 insertions(+), 13 deletions(-) create mode 100644 src/main/resources/episode-p.png create mode 100644 src/main/resources/object-e.png create mode 100644 src/main/resources/object-p.png create mode 100644 src/main/resources/property-p.png diff --git a/README.md b/README.md index be5cb0c..6734fd9 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Note: This library is still under development, and some concepts or features mig ``` dependencies { ... - implementation 'com.github.CST-Group:cst-desktop:1.0.2' + implementation 'com.github.CST-Group:cst-desktop:1.0.3' } ``` @@ -57,7 +57,7 @@ Sometimes, the version number (tag) in this README gets out of date, as maintain com.github.CST-Group cst-desktop - 1.0.2 + 1.0.3 ``` diff --git a/build.gradle b/build.gradle index f3e827a..6130740 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ description = "CST-Desktop" sourceCompatibility = 1.8 targetCompatibility = 1.8 -version = '1.0.2' +version = '1.0.3' repositories { flatDir { @@ -35,7 +35,7 @@ configurations { dependencies { //api('com.github.CST-Group:cst:30fe97d') - api('com.github.CST-Group:cst-bindings:1.0.3') + api('com.github.CST-Group:cst-bindings:1.0.4') api group: 'org.jfree', name: 'jfreechart', version: '1.0.19' api 'com.soartech:jsoar-core:4.1.0' diff --git a/src/main/java/br/unicamp/cst/util/viewer/MindRenderer.java b/src/main/java/br/unicamp/cst/util/viewer/MindRenderer.java index a7caf30..63658c5 100644 --- a/src/main/java/br/unicamp/cst/util/viewer/MindRenderer.java +++ b/src/main/java/br/unicamp/cst/util/viewer/MindRenderer.java @@ -121,7 +121,19 @@ public Component getTreeCellRendererComponent(JTree tree, Object value, boolean break; case TreeElement.ICON_EPISODECATEGORY: img = new ImageIcon(this.getClass().getClassLoader().getResource("episodeCategory.png")); + break; + case TreeElement.ICON_PROPERTYPOSSIBILITY: + img = new ImageIcon(this.getClass().getClassLoader().getResource("property-p.png")); + break; + case TreeElement.ICON_OBJECTPOSSIBILITY: + img = new ImageIcon(this.getClass().getClassLoader().getResource("object-p.png")); + break; + case TreeElement.ICON_EPISODEPOSSIBILITY: + img = new ImageIcon(this.getClass().getClassLoader().getResource("episode-p.png")); break; + case TreeElement.ICON_OBJECTEXISTENCE: + img = new ImageIcon(this.getClass().getClassLoader().getResource("object-e.png")); + break; } setOpenIcon(img); setClosedIcon(img); diff --git a/src/main/java/br/unicamp/cst/util/viewer/TreeElement.java b/src/main/java/br/unicamp/cst/util/viewer/TreeElement.java index 80e64be..88c3d0c 100644 --- a/src/main/java/br/unicamp/cst/util/viewer/TreeElement.java +++ b/src/main/java/br/unicamp/cst/util/viewer/TreeElement.java @@ -55,6 +55,11 @@ public class TreeElement { public static final int ICON_PROPERTYCATEGORY = 21; public static final int ICON_OBJECTCATEGORY = 22; public static final int ICON_EPISODECATEGORY = 23; + public static final int ICON_PROPERTYPOSSIBILITY = 24; + public static final int ICON_OBJECTPOSSIBILITY = 25; + public static final int ICON_EPISODEPOSSIBILITY = 26; + public static final int ICON_OBJECTEXISTENCE = 27; + public TreeElement(String name, int node_type, Object element, int typeIcon) { diff --git a/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaEditor.form b/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaEditor.form index 45255c8..5a36f7e 100644 --- a/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaEditor.form +++ b/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaEditor.form @@ -43,9 +43,6 @@ - - - @@ -83,7 +80,6 @@ - diff --git a/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaEditor.java b/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaEditor.java index ed1e692..209c083 100644 --- a/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaEditor.java +++ b/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaEditor.java @@ -25,6 +25,7 @@ public class IdeaEditor extends javax.swing.JFrame { IdeaPanel wmp; Idea root; List listeners; + public boolean finished = false; /** * Creates new form IdeaEditor @@ -81,9 +82,6 @@ private void initComponents() { mClose = new javax.swing.JMenuItem(); jMenu2 = new javax.swing.JMenu(); - setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); - - jToolBar1.setFloatable(false); jToolBar1.setRollover(true); zoom_in.setIcon(new javax.swing.ImageIcon(getClass().getResource("/zoom-in-icon.png"))); // NOI18N @@ -200,7 +198,10 @@ private void mSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:e private void mCloseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mCloseActionPerformed // TODO add your handling code here: - this.dispose(); + finished = true; + System.out.println("Setting finished to "+finished); + //this.dispose(); + //this.setVisible(false); }//GEN-LAST:event_mCloseActionPerformed private void mLoadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mLoadActionPerformed diff --git a/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaTreeNode.java b/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaTreeNode.java index 4ae02ca..73cc1f8 100644 --- a/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaTreeNode.java +++ b/src/main/java/br/unicamp/cst/util/viewer/representation/idea/IdeaTreeNode.java @@ -116,6 +116,15 @@ else if (category_type.equalsIgnoreCase("ObjectCategory")) { else if (category_type.equalsIgnoreCase("EpisodeCategory")) { node.setType(11); } + else if (category_type.equalsIgnoreCase("PropertyPossibility")) { + node.setType(12); + } + else if (category_type.equalsIgnoreCase("ObjectPossibility")) { + node.setType(13); + } + else if (category_type.equalsIgnoreCase("EpisodePossibility")) { + node.setType(14); + } } } @@ -127,7 +136,7 @@ public void representIdea(Idea node) { switch(node.getType()) { case 0: // This type is for Idea objects if (te.getIcon() != TreeElement.ICON_MIND) - te.setIcon(TreeElement.ICON_OBJECT3); + te.setIcon(TreeElement.ICON_OBJECTEXISTENCE); if (value.equalsIgnoreCase("")) te.setName(node.getName()); else te.setName(node.getName()+" ["+value+"]"); @@ -208,7 +217,28 @@ public void representIdea(Idea node) { if (value.equalsIgnoreCase("")) te.setName(node.getName()); else te.setName(node.getName()+" ["+value+"]"); + break; + case 12: // This type is for a PropertyCategory + if (te.getIcon() != TreeElement.ICON_MIND) + te.setIcon(TreeElement.ICON_PROPERTYPOSSIBILITY); + if (value.equalsIgnoreCase("")) + te.setName(node.getName()); + else te.setName(node.getName()+": "+value); break; + case 13: // This type is for a ObjectCategory + if (te.getIcon() != TreeElement.ICON_MIND) + te.setIcon(TreeElement.ICON_OBJECTPOSSIBILITY); + if (value.equalsIgnoreCase("")) + te.setName(node.getName()); + else te.setName(node.getName()+" ["+value+"]"); + break; + case 14: // This type is for a EpisodeCategory + if (te.getIcon() != TreeElement.ICON_MIND) + te.setIcon(TreeElement.ICON_EPISODEPOSSIBILITY); + if (value.equalsIgnoreCase("")) + te.setName(node.getName()); + else te.setName(node.getName()+" ["+value+"]"); + break; default: if (te.getIcon() != TreeElement.ICON_MIND) te.setIcon(TreeElement.ICON_OBJECT3); if (value.equalsIgnoreCase("")) diff --git a/src/main/resources/episode-p.png b/src/main/resources/episode-p.png new file mode 100644 index 0000000000000000000000000000000000000000..eae3d137aac3b75f9e1f224a0e48d54a78dc6362 GIT binary patch literal 5913 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 WKh)eCID$|VjHj!&OObQv`u_lLQ9#rH literal 0 HcmV?d00001 diff --git a/src/main/resources/object-e.png b/src/main/resources/object-e.png new file mode 100644 index 0000000000000000000000000000000000000000..9c1d6102339f19f97137abb3e603c940e7605b29 GIT binary patch literal 5711 zcmeHKX;c&05)Pt(fGa4AA~AxpCF!gr84zXP!WzK^flj9r1KCId38=s*;{wCxf{G|2 zFp7$bAS0rpBOr(ZGmd}?qTm85BBG-Ximww~&znEK^X8v9r#qcnRo|`p?$>p5HwXB6 zOwu*gMWIlWygXflkngFgOGgX2n-9MSQK<3d39O~^AW(spNX1;f07lE>B`_LR^0_FK z^5#G&zu9hq{@WI7>3Bi;&feqRRf{w7+5OE|)(qz~ZpFAIbmi7hs<1vJi1dB`xCI(O@^IQKkZOYGzL@F%dt_1)D!23lIdHBq#8#}ZEX@3p%4d`d>e z-VM(?vpR>4;WL^S5vLJ;j+#4MFjmdgdA@DRcKM?RY?iR(M%ZX$@eaGOf#>drZ zk;md$x-z4Hv;z$q=;2H5ME%T%0TM<~FD@SEe0xY9F>zCU%A?zH2|@QO`_`U~ zU(z(xkHK4PtX{K1+)xt=2fhbRT!V&Wj!#ZaJA2$I2_l`F4wqDO7x2SmWdx|=ep@9M0tI&s8%d&B0# zzVABE@Fm+Un1+~k%W8vjWv!;v8&PemQnP0j*c#;h{&SkYc(`91y23)ANRUkkyRubq ze&^+@3r;VdX1bA8qjTurx+DAj&T6F} z$|W!GTjzG|KoHlpb`vuxF0ANO4|AgBOl--$)Mq6}|2B;}vOM@|`fl)Vui7Qc&eHf^HnJr6GHwD~1uT}5Pjd&f~HyE4Ypm`Rl_-gljMJwI_M zE@$Q|y~$RI7wh6B%iG*<)Pk{|W)5sd{Z=t9$3c;Gof@3mtnIX-9=I|Cyfzo=ncir;JwGF%G?b=55&ewe@;S81?&toaF-=b1WOo^1D7Q<0 zd|n@3+bB4_GS~XL#3PHXw^{(~(7*dymv;YBqH!duD`3E3Sjaxn8IP_CpT3hZe&mmY z;h;wpkAXK=rv26zQdl`C;hpo3+8k=^ zf7%!pI3Jv`JQk>Wp_faxu*PMqi@tCnv+mIPwDO~qkFG<%*68WGSJa2G9K~B#Y#O?A z%6#ytRYeZHgr zY|ELcW_Aj|*2HGWFvd5Ka`_c+We80i6JkqgJG~$Yv^Z93C)@L2>XxOo(_MA40$ogI zEZubNP&OOG9GN)f{k~qKM$4^-_1!ZjunL@|Z|@{Mt6otK(C^N7o4)8-U8R$Iax1R& z$gRI#l?mNGV_`?+GS<2D0#h0WQFIA$8!dsK7BIKO)4EtL>VrT{s_IlFbCOY z-tm#`WGT~^0f~h;kRxWpIHgd6Y&R&BgOgGMLea1s&4zh=kt1fXx(0*ha~v_D6ehrw zxWKFUo(WPoIKhtvB}7AX4#sJru7i?+00?0@h*k;(A{j&Jh*9G*kZ08}9)ni9$fF%G zOPK*^7qJvZlW}AmfOS*y%9qIbVi8(}39`kpaz_jXv7@pDkuaT$479e1S$!nl950zNWhW-5)DgZbJ$om zjQ~@K6cUk4<$M9*FXbbu1O;DarGnxhP%w>1BNEs!mP@A6v1Bqt#65%JUp72%A<0bY(6A`bXG5+DHOTqM8|#DJQ;pX<`_N!kkf>$DBN_`Ae#aVS6Ue1SN^PZ4*Bp&wIFA z!?@S(Z`g&up{U9Cx8alKhJjO`H|lK8)X|-Sf(*r^PCXy(Uk=WAQI!Kj%iPn}BsO`@ zP1Y$wnXaF?d4jcJ;q}fvr`qiDwet2H%W?Q^KJVdb4P#BCbM$mCqkFR*oO=vV=ULm` zM$h`p&+mG=#d!csTJ&~EGs^D=@Mufnkpfe1VQiMo+_nP`D$*kqtik?xlMWp y+UM=!Q-(S?YpZO+d(YgW?a64EYc%?%e%9Tz?Z1~5#N1J>pqHDU>rv;(b^ihKl&c{C literal 0 HcmV?d00001 diff --git a/src/main/resources/object-p.png b/src/main/resources/object-p.png new file mode 100644 index 0000000000000000000000000000000000000000..b93500514d1ceaac33fa4788b50f554ad1d61664 GIT binary patch literal 5755 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 rSW+awYkM?! literal 0 HcmV?d00001