From 5e6459be585f01ec3b3c6ca6e7b324e9b48e6cfe Mon Sep 17 00:00:00 2001 From: Alan Bergquist Date: Wed, 4 Nov 2015 23:47:25 -0500 Subject: [PATCH 1/2] Commited Assignment 5 --- SweetHome3D/.classpath | 18 +++++++++++++++--- .../com/eteks/sweethome3d/j3d/OBJLoader.class | Bin 35657 -> 35657 bytes 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/SweetHome3D/.classpath b/SweetHome3D/.classpath index 51b2cf2b..3ea32c8a 100644 --- a/SweetHome3D/.classpath +++ b/SweetHome3D/.classpath @@ -2,9 +2,21 @@ - - - + + + + + + + + + + + + + + + diff --git a/SweetHome3D/classes/com/eteks/sweethome3d/j3d/OBJLoader.class b/SweetHome3D/classes/com/eteks/sweethome3d/j3d/OBJLoader.class index 89c2dc8912bf1d63474083720fdf3ed89a7e74af..900b3a90b937ae66cfa93bd59e34a21734e4a7c3 100644 GIT binary patch delta 17 ZcmX>(jp^hxrVU@JnOL80{#G5#4**UT2vh(7 delta 17 ZcmX>(jp^hxrVU@JnHWxQ{#G5#4**S82sHoz From 33a1bf29345ebe437951dbd86cb44810fea06007 Mon Sep 17 00:00:00 2001 From: Alan Bergquist Date: Tue, 8 Dec 2015 17:12:02 -0500 Subject: [PATCH 2/2] Changes to HomePrintableComponent to allow selective printing --- .../swing/HomePrintableComponent$1.class | Bin 1707 -> 0 bytes .../HomePrintableComponent$Variable.class | Bin 2844 -> 2844 bytes .../swing/HomePrintableComponent.class | Bin 15051 -> 7391 bytes .../swing/HomePrintableComponent.java | 50 ++++++++++++------ 4 files changed, 34 insertions(+), 16 deletions(-) delete mode 100644 SweetHome3D/classes/com/eteks/sweethome3d/swing/HomePrintableComponent$1.class diff --git a/SweetHome3D/classes/com/eteks/sweethome3d/swing/HomePrintableComponent$1.class b/SweetHome3D/classes/com/eteks/sweethome3d/swing/HomePrintableComponent$1.class deleted file mode 100644 index 3322e35720b54fa6a3d0f9e32b13f3dc6b7dfcdd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1707 zcmah~+fEZv6kVs&cAyMW%Eb#_3KVQhVJJ71;suE)Nfi2Zf4?(G?FW|~-)!(iIeDlzmOYG!8V!pQ~dQYcu9L|aY-+ABa^ zZc>E2TIPq`WEc&Atl3p=s=g9g#+M8V_Zh?2Y=C}PnoFTJ*U%2Iy~;1Q$q-#3!kwTX z70Boir#=OpNQl#bf-WctNVut>8@CvwtT5^+8y0_8uWfV3&ly9iZ0nl2sX2zIYx6NG zipj7LKqV~nOp&rD8r!LG;5uL5Y2~eyt8^iTw1RuMpTGz* zGDaDu+c#b?j)F0aGjtm6ve)d6@o>J4_Q+L))2xCV@(dlj{K9%Hn+r(U)#@csz?6(h zhT$;AzAptTXs8l~yJ_$vQ6j&T6{^1&cZQKrhkkw;Vh19F3^Ug%|Ceg={obxSI;W8& zgrW8WJS7$iwbv`EyY15cc`MdYRmKx?+CIpzCQ?wslAtXX7$IcK{=(9ZJoUAs9qbvp zTe^JmwbTu5m#^ARP4h}?xito5&9b<&Vrs6-T^Y|A@?k_;&D9)%p4LNS7a>h!CDAtq zDVY=#2P9Ks-h4^ZMw>Z8-)`I>tsXkPq5xCCNmKH}SrZe~I4a^WTv=N3ReQg`apJ;TXdOy7r%8_!xtQGdw&; zw-9HTI7TdbBAt+71j1oTkYW`Ku#ZTyPbkt^I8Hafn~up1{n5<$Wacr8IkJ}MO`t5` Y5y>bXV-Zh%#0aJ38D7N2?(skW09Z@q)Bpeg diff --git a/SweetHome3D/classes/com/eteks/sweethome3d/swing/HomePrintableComponent$Variable.class b/SweetHome3D/classes/com/eteks/sweethome3d/swing/HomePrintableComponent$Variable.class index d2a42fb6e29574ce35a00b7f35b1df221acb598e..3faec0b97d52e918ee1b623bb59c6eede2812f75 100644 GIT binary patch delta 113 zcmbOuHb-p38V*G_20;dQ1|hAsxz$!9t2d4m|( z7=jtN8A5=nLnlje1~5iX&f>ITOq#r$bAn@^O z7y=o%8G?YSgC|RJ1~5iW&f>ITOqjf!bAn<912aP=0}n$sgD67|gB(L1gCRpcgB_4| PXDDO{U?`d#!F2=x02day diff --git a/SweetHome3D/classes/com/eteks/sweethome3d/swing/HomePrintableComponent.class b/SweetHome3D/classes/com/eteks/sweethome3d/swing/HomePrintableComponent.class index 8612a36b309d6057f8adffacd729b97da2e0a81e..90da40c07673ba377c37e6fa9925ab419e5f3fd8 100644 GIT binary patch delta 2723 zcma)8ZBSg*8Ghc&E_e6l6222Q0kVKZSe9U75LNHfiFt zpy3=g%)yY~IbfKZM>={h^4{0UL@EUdvCyR4iZwz${RHLs^TAn%&R!J zM10}Fz;4FyPkbhxDk@4*@h@>u%WEV2N5?4~(r^h^bj%R*wMKXQhKyMSdh8%lbYvit zwIGX*$1%p$l&X`8B7*7jTSIS(#87X0zvsp#OC}$DiW`jE*3L( zySS@3w~}&oT9kM=VuXEc9&W?S)8QN7*Xpx(n?fT&Q>7*1N5#%6a!|hPTEKEJb>^<| z)H0o%_>8cCADQFG{3%sjF5aloaw=2ldV)i|R_d_oR8B78FIj2lgj=UdS|N^<+^}pK zt0c3PItpnOFHl+ett}d@rnM@qA(YN~FrA;TrW$dvq+6ppTBp)YgtfEDqAFUCLrfwR z@dtuFw(vA<)Ty4b*<-x;?U8^HG!vUnr3ONdxHCT|rjdtV&2MVbX)|phq$QY#jmW%( zH_LpBPM?$cg>(5?ACre#bv#OtMO$@hmql4~MXhYKHeX~Q5R~a{I(5o)=3Kfv77EX& zyLH+w)7f+BPU*_|e6LPBWIksu-;nU+T!Dvf(dkzDJRyVWwhZ$^`uJ$^L<}FR!aIrg z5<7F6Zr5oi_3=iH8X_aDL@vcHopzI7>@95-Z|7Hw7fQ?6&epI9f^9}LBV3`y> zs8fi-Vy3j&&QV0CD4C*TdGi{M_Ug2c*hjXG_Rj83PfNEfIiS-QmA)v>F5jcjy<%hT20m46J-$f5Cr({|jP{Fr%f4E9A1sLRe!d4eI1C5w zXA}>h1P`JT0@e6BHsKp+$2ZZ9heU1pTct-(gookAQEb3>u?>&lHhd5LcoboLA5o0L z#1F(xu3!wSk;3f(Z3^SwtoQ^bPjIAgYao@kAjpdqe6P!UXxI%ukA&}VV?r_CKMoaE z9=lxQsEgy7Nt|e{h~owRy)=oJTU>Gcyv{O(b6z=H7Rte|_T2BVjN{EdM~sK_eX{bJ z`9Jo_?Av`4xG=_jlUSB88qfq5&?FYqGbo^AsG%ve^Cv{j7O6C!& zwYu}HdDb{CyWEwoaiTb-^t$6@9YtE(6xqD)3DU%4YaOv^*ytp(=@cCFB7ZhtLM@#} zBb`Ary^K~mi|zDEf<$u?$t(%RL}|2;f!a_{>6F1Fvau#XEQNhgHA`nDlbm6SR8lP46Wm?dE@eHglH>C;56IORNXRo^VBAHB{{&moQ8;M4xs;_m9g zjkFktl70An@=OM-vds^#KACjM`D>_(7S=4y zqm+kcE{-Cd?ZJXMIH{eejPnugsmYJM!&u&B*)H&D_#R5=eU#A$sGtwAhQ|i_2wUi5 zY@<(DzE2ZxU!CybEwgXWM#HQJ3Q}*lBQq_ds#|lVafO-o}@^tIg-2K z=p+@Cwz^KiRuQL)u_;V@C#b4zl5SwtZj4i{xK!he(S}iExKrYCw7IQ3PLYQTH*Kxt zvc|)FX+9jMn`P7{qYim#luy!AnsVWBIm z$_&!@|E}Daq9Bid>l6z-iWQBDiWbF&Rz<@$B@JF>AqJFmM3f91R5I}(-wP!R-%_%1 zM9E1=mfSW+$)J9wZNax`fCgENTzoAdo&qn+9H2Xpl3|mdrKC_8VF_c>4C|kyJ>HYB zjP*{^@bPE0n_W-Roh*>GeH4~n4n{bz%mw>7NKFRbr)bX@cgbKU=hI!hJ(r`LM;C6y oS{|=Cg5XJDl@?a$?!@&=6l09Y;)y!`rrcBSpo47sFV{Q%3)FmlNB{r; literal 15051 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 N9(qx|uHK~7{|8S#lC}T< diff --git a/SweetHome3D/src/com/eteks/sweethome3d/swing/HomePrintableComponent.java b/SweetHome3D/src/com/eteks/sweethome3d/swing/HomePrintableComponent.java index c33faa41..44cb310b 100644 --- a/SweetHome3D/src/com/eteks/sweethome3d/swing/HomePrintableComponent.java +++ b/SweetHome3D/src/com/eteks/sweethome3d/swing/HomePrintableComponent.java @@ -37,8 +37,10 @@ import java.awt.print.PrinterException; import java.awt.print.PrinterJob; import java.security.AccessControlException; import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Date; import java.util.HashSet; +import java.util.List; import java.util.MissingResourceException; import java.util.ResourceBundle; import java.util.Set; @@ -333,21 +335,24 @@ public class HomePrintableComponent extends JComponent implements Printable { && (homePrint == null || homePrint.isFurniturePrinted())) { FurnitureTable furnitureTable = null; final FurnitureTable.FurnitureFilter furnitureFilter; - if (furnitureView instanceof FurnitureTable - && (homePrint == null - || homePrint.isPlanPrinted() - || homePrint.isView3DPrinted())) { + if (furnitureView instanceof FurnitureTable) { final Level selectedLevel = home.getSelectedLevel(); furnitureTable = (FurnitureTable)furnitureView; furnitureFilter = furnitureTable.getFurnitureFilter(); furnitureTable.setFurnitureFilter(new FurnitureTable.FurnitureFilter() { public boolean include(Home home, HomePieceOfFurniture piece) { - // Print only furniture at selected level when the plan or the 3D view is printed + // Print furniture at selected levels + List furnitureLevels = home.getPrint().getFurnitureList(); + Boolean includePiece = false; + for (int i = 0; i < furnitureLevels.size(); i++) { + if (furnitureLevels.get(i) && piece.isAtLevel(home.getLevels().get(i))) + includePiece = true; + } return (furnitureFilter == null || furnitureFilter.include(home, piece)) - && piece.isAtLevel(selectedLevel) + && includePiece && (piece.getLevel() == null || piece.getLevel().isViewable()); } - }); + }); } else { furnitureFilter = null; } @@ -363,17 +368,30 @@ public class HomePrintableComponent extends JComponent implements Printable { this.furniturePageCount++; } } - if (pageExists == NO_SUCH_PAGE - && planView != null - && (homePrint == null || homePrint.isPlanPrinted())) { - // Try to print next plan view page - pageExists = ((Printable)planView).print(g2D, pageFormat, page - this.furniturePageCount); - if (pageExists == PAGE_EXISTS - && !this.printablePages.contains(page)) { - this.printablePages.add(page); - this.planPageCount++; + + Level tempLevel = home.getSelectedLevel(); + List planLevels = homePrint.getPlanViewList(); + PlanView planToPrint; + // Loop through levels to be printed + for (int i = 0; i < planLevels.size(); i++) { + if (planLevels.get(i)) { + home.setSelectedLevel(home.getLevels().get(i)); + planToPrint = this.controller.getPlanController().getView(); + if (pageExists == NO_SUCH_PAGE ) { + // Try to print next plan view page + pageExists = ((Printable)planToPrint).print(g2D, pageFormat, page - this.furniturePageCount); + if (pageExists == PAGE_EXISTS + && !this.printablePages.contains(page)) { + this.printablePages.add(page); + this.planPageCount++; + } + } } } + home.setSelectedLevel(tempLevel); + + + View view3D = this.controller.getHomeController3D().getView(); if (pageExists == NO_SUCH_PAGE && view3D != null