From 92d1068a6af451307338ac5f67a73919bf00e529 Mon Sep 17 00:00:00 2001 From: MaximeHerpin Date: Tue, 15 Aug 2017 16:11:38 +0200 Subject: [PATCH] replaced icons --- __init__.py | 4 +-- custom_icons/BATCH_TREE.png | Bin 0 -> 2152 bytes custom_icons/TREE.png | Bin 0 -> 1828 bytes custom_icons/TREE1.png | Bin 0 -> 2010 bytes custom_icons/TREE_UPDATE.png | Bin 0 -> 2625 bytes custom_icons/TWIG.png | Bin 0 -> 1803 bytes icons.py | 46 +++++++++++++++++++++++++++++++++++ 7 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 custom_icons/BATCH_TREE.png create mode 100644 custom_icons/TREE.png create mode 100644 custom_icons/TREE1.png create mode 100644 custom_icons/TREE_UPDATE.png create mode 100644 custom_icons/TWIG.png create mode 100644 icons.py diff --git a/__init__.py b/__init__.py index 23aa0c39..9e0411f7 100644 --- a/__init__.py +++ b/__init__.py @@ -41,8 +41,8 @@ bl_info = { "name": "Modular trees", "author": "Herpin Maxime, Jake Dube", - "version": (2, 8, 2), - "blender": (2, 77, 0), + "version": (2, 9, 1), + "blender": (2, 79, 0), "location": "View3D > Tools > Tree > Make Tree", "description": "Generates an organic tree with correctly modeled branching.", "warning": "May take a long time to generate! Save your file before generating!", diff --git a/custom_icons/BATCH_TREE.png b/custom_icons/BATCH_TREE.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1c5324c14cb48499bcafdf9971561e819af8d6 GIT binary patch literal 2152 zcmV-u2$%PXP)>?+VlPc^ zWOZy|a#V6;M1&7<5HgbVOlv zWdJfTF*YwTFfTDOATc#MG&wpnGd>+CIsgCw5OhUYbW~|=WdJZRIxsLgFfckWG3>)8 z!TCiW*mWVlu5>jyU8pM1?WC&J1kQ^$KXI`e=~SIA1cRel!V9 zxlLnyIqc|x0H5}PNm_{>KwG6syVO?&>Kz-f=Tc2le{BJwG~bo_BL+^F(&G3 zw7x09xy?1;4{;f&gxsC%aY8xHrglO*T`wsovsf3Uj8PydS@oUZfO#dx2iWPD8p_g?R*)yX1|zE=2p^viw_@HLX&EE_fY*Asnusq&q<>gw>h&-lwb7Zp+dc%vq(QvS0Yp8nb~^aINSE6A;|Xtz^FA? z@lOi}v~6yDMVnK3H-JWS6B^qg_GF0UIzpvCxNo*fax8yX8$M|houxeoJbD>JOFcKX z1|U(xj2Vr#nI)qEwRqaN<%5m?OyfF2r$iz?D%Qpuz?>(Q&!D#?NIQUAw2qA)C;2Sh zT(QORYL3ilKXf2!Oc+R8@hd63Q>AcNsEJM*tG7>&I1E9*HR@15d?ZLbanf8pLDPDV z2KNLDCs2ObII%MK-{MzNF3yMa#~-EnNFC``h3nJwm5|CbRo}+%{duYS_D_W;D@WrM zkYTTWi?^|NJI_DMQ@Flg;rDLRvhjU1F8~{v1sr_XAnp00Dtg|FPMZGX`mb(PLBOv? zbeq8}U2@^8R6v4sWFTSEoZC<|sD=>1vaZnt1IhJOI(A%NCz>aIPhHNvAl;Za9{=4v zfL2Qy_J}A)Ff=X1-A__QBOR|BeX5J$V<4UL8lHu8!Campa%vADSgcEEhFwUH0I)7Q z3;>u=geqtu2RzB-hsheR88BxQZ+B24_v&zxFDK z8%%ud6@&qE4u}Y)7EGO_tSk*-%Q+O*%iIx}PDR*4>kUn>)5>ukJV!Z^d&LbaE{hoi zjT@+=bWFl`H4eINr1XY!nv0<`)5<8nL4mSrd2@Hu>T>~+KS|!|EgG3mRQloC$`EkQ z#buq*TC_c_Op^wxAgNTlJY~}F{H&R%JVx839l%OG#3u78y$mO}p*hoEq7z1?XO+|W z)>cUc+wgS;zUYp#E|R`&?ULs3(#+doyGh$U@30sj>8Np>JOm(xQuU`n?yOW@>a;Hh zgbQE|zhLV1J?%BsIf-S4#nRfSz5B1=G<*ctX#02E%ysVY@^huftj^7e?PTwmjZ7)l z-Y~xb&g47Bgt1Wx2a~xp0+4bR+A+{Eyi0h&*#*iFbmPhp?!iqfFuMoaVM@ zn~sSaf@f%?r?r-(Nok|gEXV_==i9{-V)J9#_~9}=G_zb=ZMsbsLv%oWm+sT7q863) zA3?+j-B0D3JnL-=up4m!n8DM!4D|DGGm^86C{E%o;nMjinV;klT4+SC>Q4RG&0c!* zI?W#0M{lJUK_I`bCM^1wR?lXZVy-OEm%Nzjr77BwHBeK1l-zZzG;{V|5tDxx;yK)6 z9=1+N(ygAT{OMb{C%X|h2NDb-0X2u>Us=-DXgh5X8}R#p3TYnO5fSAgg zSBJJqRhepoQrha+w_>J(VvJ#;_nvdldEfUr=kvVh{XYMFbKPAXB}8GO002lh;jx~4 z)i`SrA^xN%CGGJA8iV(v1Av(9SqlJFHA;MF7l-qWbBKtd07xG?g+@oZ#YZ8r(PYNA z6lxqD=@=1*XONIC(V>heBF&pdpTsu#waVasg_6&RSLs4k|f5r%fsy7eD z003m!35)Ueh1OmPi1PN43p(J|MuZ(zmODmp6!h#MKfyiKSOWLqM-A8&5YL`WI+iva z&+(9z$=3;)tgKY}YtNp{QhyGHWaL6fjcMMPF@V(4j9q>+l{fJ6LvqmOtR+hFEBa7v ztL2~l`@vy#DcpzTh120AYo>)7R)zZ98WyhUp95ZyZppoxBW^QL-CN<0>(Jk?Ecoed zcJ)}s-Kcd9n26|&T zX>qawUTu_s9b%mJ?T|=oD3Zv@e`gX-ugZYA;%U)6OX9**cwT4S%4>tvHf)IL%@rH# zG(XjOS^t$#lt+m9v3e}`RAFFBt)?4xu4|$)@=a0ND~hrHGlWTJKcsPeLOet#_T1)J zVZ6_y5|GNro(e-&ll*1TOyveM?V1v|W<&^!$Z8C2h1W><;->wXjvy$^nHR5Ob1mRf zOy=O{1`1g%Ap^YHZci(&6zMK1!vE4sz;GG*aj>RpL*r(VVm!!<2be-OV=O#oCbHMq zV1W&LL1W?9DNIYcV}0G)CktW^M(*P=cTcmj&Od!gaD1UzUzKB0}Fr?jT5cq!1{Bbq4)&YW(Ryc<1@pJ%viGD z3Y4rNp`GbtUE9e7=a){W-FHA@DI&cC8?Lrs+qS#9Ttj3;(}{pS_PkguH7}i$Suzj%fH0 zn*x^dsE~<^h%TIY93j4z`n32s-eUdg)4)Cm3RbaXaq`IOEf zdW3GJ>rCls74F-L9sG*5b>VL_4ptAy-rUI+&3laoVcLJlt`pKd7B92bYy8<>&2P1T zsQ8b*lRcHvtm-ZEouAeAUz0o0~l5yYnmnI)P zp|)a!rZw(M*IfteO~P7E$k z4X@eI*=xC@u9M0Zw25Y+?*_WC#j9V{yK=Joho^++0AsHFMXt5qEZBtC8Cl=8ta?=Q zP$)Q6*Tzz?Kc#eNb|Ba)WwP?9&686VXl%_UlV@;y@aM~2Sj3!} zQ~8<4jt488bEPl9`p#2*ZP+U&Q5%08=C^k#e_sbFC|s%)ozOSC;$j;RIA16@-+4Yk zfi$Z`d%4$NIBJk|Z>*vAM}nvIXv0zwp7R+FR+b80^C7$eM=D>y+1doDS(=-_EZZe# zI(9rPpH3|ElxO;M6+JL?u=Uu+F22@#0-c%PkqDpu#=Y6Q47B%9vq7tgbOCz4cs_P- zbG&4mzM$A`;&%heI>LL$$^CP`Zi&!%!QI>X!P7o3vvLCOA;!33dLqf_ zwHpqcmCb7sJfRmiB(l}DN30M@Mv@bc z8Z?k#TJ>?+VlPc^ zWOZy|a#V6DZyFfckWFgh?WIxsQp!zRK2000Se zMObu3a$#*{05C8y!BG_=0000DbVXQnLt$-Ya$x{NVQpn{VQByF=>Px#3v@+TbW>wx zZe;*dV`Xk-#L_t(o z37uDKY*bYc{`T3Wly2K?E0k^vmqL}`sst&Z)<~?us6-Kh5EBuF7#@`rA`(K10$L*= zq7oECL?MLu10R5>i6}}D#9#zM0``_tN+}iku%)lvyMA--y?r3!uCtjtbIzGFGiPSb zV;%TEFdYlv!A$hSc;r$+2CyWw1Z%x(0XLvEYtWDDKovg6Iy`s}UM;L1kI#Z%QlKv!{(d{KACKV;?CCuss`^3^ z!&Z!)7{cxZhSQ}X)su=;uZ6-lrlMhF9{x&8#9dAe8=c>v!PSONgi-FVLOQvFCl_J% zkqkVOzYHHyrPtMhhRF>xmCzylXdCStfg-MY28X0qTqAacjwxAV)E!9J=P{#D&#oav z-xPc>`~@U>Jn(uGFxRz}oh~#?t0W~f8wjr}L*b|msH-kF`x=>=klt;#o5B4omZ{jS z6iY8{MYlYpCWT91Q`8d~(~|~{k;G2L2GF z125?(@Fqgi@05>%Q8Ye?T$mWOj9-ZWM0fF0Q|2m3E3u1c5C;>ph@HTq(@&tW?HG<; zZDL0clux@19cj>lg;<1Fq3bNnS-9Pn=y71E)kT|9-AYk_IS?c$Cu+$^bSsFm`VOMV zizB2ZXG+MJb8SZ?0tQz!8(ZP&^5Yf$)Yes!Wcr8})t9HClU@pz)kjg3~?BbeDZQg1h`L+OK)6BZCw^`kH z<<+_?l=LC)Z15h~4*LDF(7v6o{~_Sd0qo&EI0S$IpHm zhd-flkrxBmLtchOmLH-vvWV2kB)4QbfHLuR^q1Bi0&l6kC?f)t*>9u1c( zbQrlBe1R+&;h(UNX0~1Cjx%tSMxVD;-Hb|xZVXk-Tos<;pkOz6MkCt)ZVgRzy@OYE z7M*GB@S#8RohcXRujVDwJ>fqXSyx;TW^U71?Nc}Fa9z_;*Aj%$QG*ulqCc8>xW)-_ zJ0NFO#LBTjYD68#&B;Iq4=SEZd*igP$|kNkJ|@j}AWR3s(I_Gjx+R_g6XQ}w;kYA^ zKnKD!ws)b1q<{u@+i|Wu2`-)ksXi=;*MWa8!W(ER91OoWAfcB>uw=sMY(~VHi3o4P zpqvA7LR=A`!TlZy#$GG$?O+`Q)kQ3J61Ey%s z$4E&Zhd?^;WWH4mF?tf013|9PVE(7RuPZCu05IAuOEo{k&G%wnMvRs%v6vlrbQoCg zJv%_=ONYH948Eee7?LbrMi1ulPKgm>b|AzTvy;*bcIZmADnfC9xTjcCb&WTGsIkBlVVkZ<$#mCg%DE~6_KbvQ}I3Ay}KO|Uk?5&i*-5jZ_In4E{` zNWK*Y^3Q1&S1N|jRqARxW^xO*^D%ph*YNQgtoWfCt7Fru))A{Hu;KwYj-G=N;-3+T sh>?+VlPc^ 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 literal 0 HcmV?d00001 diff --git a/icons.py b/icons.py new file mode 100644 index 00000000..f1347ce1 --- /dev/null +++ b/icons.py @@ -0,0 +1,46 @@ +# Copyright 2016 Maxime Herpin, Jake Dube +# +# ##### BEGIN GPL LICENSE BLOCK ###### +# This file is part of Modular Tree. +# +# Modular Tree is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Modular Tree is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Modular Tree. If not, see . +# ##### END GPL LICENSE BLOCK ##### + +from os.path import join, dirname +from bpy.utils import previews + +# global variables +ICONS = {'TREE', 'TREE_UPDATE', 'BATCH_TREE', 'TWIG'} +ICON_COLLECTION = {} + + +def register_icons(): + preview_coll = previews.new() + icons_folder = join(dirname(__file__), "custom_icons") + + for icon in ICONS: + preview_coll.load(icon, join(icons_folder, icon + ".png"), 'IMAGE') + + ICON_COLLECTION["main"] = preview_coll + + +def unregister_icons(): + for collection in ICON_COLLECTION.values(): + previews.remove(collection) + ICON_COLLECTION.clear() + + +def get_icon(icon): + preview_coll = ICON_COLLECTION["main"] + return preview_coll[icon].icon_id