From f0beae83f2da6b14568ea461b4def9728da88968 Mon Sep 17 00:00:00 2001 From: Paul McCarthy <pauld.mccarthy@gmail.com> Date: Fri, 22 Jan 2016 12:25:44 +0000 Subject: [PATCH] New spanner icon, so I can add the overlay display panel shortcut back in. --- README | 8 ++++++-- fsl/fsleyes/controls/lightboxtoolbar.py | 4 ++-- fsl/fsleyes/controls/orthotoolbar.py | 4 ++-- fsl/fsleyes/controls/overlaydisplaytoolbar.py | 19 +++++++++++++++--- fsl/fsleyes/icons/sources/spanner.xcf | Bin 0 -> 5592 bytes .../icons/sources/spannerHighlight.xcf | Bin 0 -> 19522 bytes fsl/fsleyes/icons/spanner24.png | Bin 0 -> 661 bytes fsl/fsleyes/icons/spanner24@2x.png | Bin 0 -> 1410 bytes fsl/fsleyes/icons/spannerHighlight24.png | Bin 0 -> 1723 bytes fsl/fsleyes/icons/spannerHighlight24@2x.png | Bin 0 -> 4110 bytes 10 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 fsl/fsleyes/icons/sources/spanner.xcf create mode 100644 fsl/fsleyes/icons/sources/spannerHighlight.xcf create mode 100644 fsl/fsleyes/icons/spanner24.png create mode 100644 fsl/fsleyes/icons/spanner24@2x.png create mode 100644 fsl/fsleyes/icons/spannerHighlight24.png create mode 100644 fsl/fsleyes/icons/spannerHighlight24@2x.png diff --git a/README b/README index 708d50b69..596ee2daa 100644 --- a/README +++ b/README @@ -8,7 +8,7 @@ Dependencies: - matplotlib 1.3.1 - nibabel 1.3.0 - Pillow 2.5.3 (for screenshots of any type other than PNG) - + - PyParsing 2.0.3 - wxPython 3.0.0.0 - OSMesa 6.5.3 (for off-screen rendering) @@ -17,7 +17,11 @@ Dependencies: - OpenGL 1.4, with the following extensions: - ARB_vertex_program - ARB_fragment_program - - OpenGL 2.1 + - EXT_framebuffer_object + - OpenGL 2.1, with the following extensions: + - EXT_framebuffer_object + - ARB_instanced_arrays + - ARB_draw_instanced Some of the icons are derived from the Freeline icon set, by Enes Dal, available at https://www.iconfinder.com/Enesdal, and released under the diff --git a/fsl/fsleyes/controls/lightboxtoolbar.py b/fsl/fsleyes/controls/lightboxtoolbar.py index ea72863e9..ae7d38d81 100644 --- a/fsl/fsleyes/controls/lightboxtoolbar.py +++ b/fsl/fsleyes/controls/lightboxtoolbar.py @@ -60,8 +60,8 @@ class LightBoxToolBar(fsltoolbar.FSLEyesToolBar): fslicons.findImageFile('movieHighlight24'), fslicons.findImageFile('movie24')], 'toggleCanvasSettingsPanel' : [ - fslicons.findImageFile('gearHighlight24'), - fslicons.findImageFile('gear24')], + fslicons.findImageFile('spannerHighlight24'), + fslicons.findImageFile('spanner24')], 'zax' : { 0 : [fslicons.findImageFile('sagittalSliceHighlight24'), diff --git a/fsl/fsleyes/controls/orthotoolbar.py b/fsl/fsleyes/controls/orthotoolbar.py index 2b2065829..297aa8cd6 100644 --- a/fsl/fsleyes/controls/orthotoolbar.py +++ b/fsl/fsleyes/controls/orthotoolbar.py @@ -98,8 +98,8 @@ class OrthoToolBar(fsltoolbar.FSLEyesToolBar): fslicons.findImageFile('axialSliceHighlight24'), fslicons.findImageFile('axialSlice24')], 'toggleCanvasSettingsPanel' : [ - fslicons.findImageFile('gearHighlight24'), - fslicons.findImageFile('gear24')], + fslicons.findImageFile('spannerHighlight24'), + fslicons.findImageFile('spanner24')], 'resetZoom' : fslicons.findImageFile('resetZoom24'), 'centreCursor' : fslicons.findImageFile('centre24'), diff --git a/fsl/fsleyes/controls/overlaydisplaytoolbar.py b/fsl/fsleyes/controls/overlaydisplaytoolbar.py index 5bc7e5eeb..bf8d6c0fb 100644 --- a/fsl/fsleyes/controls/overlaydisplaytoolbar.py +++ b/fsl/fsleyes/controls/overlaydisplaytoolbar.py @@ -217,7 +217,15 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar): briSpec = dispSpecs['brightness'] conSpec = dispSpecs['contrast'] - # Button which toggles overlay info + # Buttons which toggle overlay + # info and display panel + panelSpec = actions.ToggleActionButton( + 'toggleDisplayPanel', + actionKwargs={'floatPane' : True}, + icon=[icons.findImageFile('gearHighlight24'), + icons.findImageFile('gear24')], + tooltip=fsltooltips.actions[viewPanel, 'toggleDisplayPanel']) + infoSpec = actions.ToggleActionButton( 'toggleOverlayInfo', actionKwargs={'floatPane' : True}, @@ -236,7 +244,8 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar): nameTypePanel.SetSizer(nameTypeSizer) briconPanel .SetSizer(briconSizer) - + + panelWidget = props.buildGUI(self, viewPanel, panelSpec) infoWidget = props.buildGUI(self, viewPanel, infoSpec) nameWidget = props.buildGUI(nameTypePanel, display, nameSpec) typeWidget = props.buildGUI(nameTypePanel, display, typeSpec) @@ -264,7 +273,11 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar): briconSizer.Add(conLabel) briconSizer.Add(conWidget) - return [infoWidget, nameTypePanel, alphaPanel, briconPanel] + return [panelWidget, + infoWidget, + nameTypePanel, + alphaPanel, + briconPanel] def __makeVolumeOptsTools(self, opts): diff --git a/fsl/fsleyes/icons/sources/spanner.xcf b/fsl/fsleyes/icons/sources/spanner.xcf new file mode 100644 index 0000000000000000000000000000000000000000..dda3bce71f7a68ee3730ce854ddf80e650e6072c GIT binary patch literal 5592 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 H_L}?;D#KK` literal 0 HcmV?d00001 diff --git a/fsl/fsleyes/icons/sources/spannerHighlight.xcf b/fsl/fsleyes/icons/sources/spannerHighlight.xcf new file mode 100644 index 0000000000000000000000000000000000000000..c9269a5f7a606ba80bab9f9e5fd1991d24e50d39 GIT binary patch literal 19522 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 literal 0 HcmV?d00001 diff --git a/fsl/fsleyes/icons/spanner24.png b/fsl/fsleyes/icons/spanner24.png new file mode 100644 index 0000000000000000000000000000000000000000..d97cf6b861e981c72369a3c5fd33bd79c7f8d21a GIT binary patch literal 661 zcmV;G0&4w<P)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru-~kp44H-&Zzc>H@0wPI7 zK~zY`t=3J5PEi;K@ZWgno1rYmM_G-mY|LuPLhO{Xuuzg%`6y+970JrNic*?|hC-}Z zC|?U(5k{eieAQrxd}}Z^|2y4ouh-0&r%vxZ&-0xB`JeyuoO@rU&YH&UtYg#gJI{Ss zjBb3zGhD%E)bMMv%zAMT?=e~$zwr*6CrEmXIcy5pHw<DgR$?0-CiY~a$`ncK1MmWC zO7T8iPHX^+;_u3DZ9JRI#~XYMAavkdfbXXsg{_EOYsV|m?f@Oid}ijaur9t9G>7rE z6nS_&+PC0*06PLOH}f?m@TQE_i9N#ioMx<u^)~3h!nEQyw1@dHmL>03*pEiG12~2@ zENHYr5$nW<5*VDqs??_mBRHJAgZPxZwnh@w!uUeim9_4T?<>w?SLXYYcQTu<ZnQxg z=0%RtFs+qZw+B0LEAfx<x8iA}T+nEPx%iRATPv5YDW|DkM%bA(7aLu;9=uNC_6kUI zMZ(U~x(#WDQOvFf-iA3CO461}ykNaNQWUlXmr5sI`ZxC7b!2I-<P20^bj29K<1|2B zn}e4XS(;0QgQJNLrd6-wD*E%js#lXSJCeowEB*rfc;a^>Wh<tq4*#?++$r^Y^@0@O zHv-%qmbFUj{?%sTK{`N%S%1K9#y@F05uiOK-|3Ppt^fPMUV^u!S3uDnw<B5mWPu9} vhw|Z`5h<SI3^w8meop0Ij#;J8-hbO4=}L?dyImZO00000NkvXXu0mjf?@2N6 literal 0 HcmV?d00001 diff --git a/fsl/fsleyes/icons/spanner24@2x.png b/fsl/fsleyes/icons/spanner24@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3c2df6f1e369c98d7f965badd16872e48a06fe45 GIT binary patch literal 1410 zcmV-|1%3L7P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru-~kp44JQ0Mk_7+&1rJF? zK~!ko)tFm|Rb>>%e|yf%IHQA?C>n+6`p`>s!EO+d1eK{#jFeOm8Bs)_L_tKp2oXet zWe)UEL}d?3P*YlvY5F3JDU=Tpky%X>!;FoR>D<maz5Ev}7JJXxXU?8E(}K-+_SxTM zegAK*|61RI|G6Y{v`&kjB&=BlDtfB(5ug^JEoa|0^{;z@*_2kG8+aV}1UM<At3Vm} z8Q2MI04{K+kTer<Tl^v5E2pqMlfanT_-!|ESF<)@3tkL-@9f&po&?5$DSfl|xRG<f zZFv_h6{vg_SOXjbmWI<vfYZP!;5cv;_(y#vfG&+s<O>%8yWG69D(0k5Ikd|T(Ooj9 z6&d4qIMcGzczdqQ$QF3eQKBh62wX2m_We8b`##_=r@W2Z5XhxeprxeBm9pD$w}G#N zQ+p)4fp67sT<v+_Ltuf%c!j%wg|l%Y7M%J5`ky)q_3aAab%(Z@*&bkJ3X8RiT2BD| zI?cj1kw~$XfkA!*mN*1W`DcNVU@il|jlt0g;|{vHM}TXJ3{U_E0-E=yFx(INHl_9y z@RFOSCBv`QrT9m0QKygy>8j)Mqwbq6@UrVO3cLd>3m|049}0M$7zQ-HwTM&L931hH zls-?o#ow$WiQMeQO}OA!1+J|lznYdhzm)0N1|oYT3TWow{W*|tQzZXebDsvDQP49J ze7>kW?supBU<hjd_fJBxT4Mv&f2Tu#oBkVdb9`J>7BT21-J7DEE%2&SXl;!-Z*Xzp zZ14vI>#$#IrpK@_ATa7KC?;j0`hngnz{VPW@SX^vL+MAWo6BTzQA{-8P&trc9<9KI zz_64U1+K_2oyXiseIo@8;6L43`*X5bO(#B~Nz1^$E_$Zj$Ub+<osmMlz)kAc2@E;& zS>@)qL{4q-;N3=jz&7x{CLB|{WSV2$6!?51MDQc-cV8I0M#>utZETc<Ov&9L4qR7b z+?`^TLqT~<0?+DwaZv8H(EqAN;y@|n@D&|-S{%rdPGC83FYu943sdfeV0uek%3ak> zuWP2}lLSQkrDc6iW=OPntUz21+?)c`){yCLZPaXbxMMfuAD$tt*=E{PQgnbjoWG1K z8h1C6dG<QwP5GW#y5U_e=9zNNyJaRoS?BF3SH_;4be7~aEt6ZEL)-IRN~)4u`CgaL z8)ZJ4Q~6TLX|_v|_VB$Mcq66UH~=h4i7~kr?sX`b**s8Zwc-`s16F0MvsRRR#;sKm zSfk2L3uBu+X5-CaUrP1uJn&n%X;tK`-b9ZzQjyp`4cpY3aFN<Q&h#dP=$LcLDfgeR zXbdTG*PZVea$6c;n@+X+Ls`)yomEmC0-jLts#|F*;jMFJ68pAZmE}@MYqO+ZdA((m z=X8te1a1W`Q@Laq_(ge8pOQmEeQG8tLK5zv^{|aG#9oJbMeXW3oW7xJ;)||~QFa9? zaw;DkwhY`JGRGw4DJ=RO7yADGnm2Il3&>BpI{%!>pi7Mp<zRu16t*$5xx1*!L0(y) zwAIl6qQ(Z&*e1(t=1hJ~xgt(yLPvyp+1<=m(**HX#Iob(=iDYruC=087TdJYBw6mF zuPL@E^jRinpEqU`lecXyVwPPM;WMSQMza-{zudz-kye@0!BBOM)dc@vPqUHF@`<;c zd5pVjo%zSG(uG1QWJQZH&!sA)o)pCnig})%kEqwWNp)nH+q{>g#(UG{KbhkM<WySo Q{{R3007*qoM6N<$f&_b`u>b%7 literal 0 HcmV?d00001 diff --git a/fsl/fsleyes/icons/spannerHighlight24.png b/fsl/fsleyes/icons/spannerHighlight24.png new file mode 100644 index 0000000000000000000000000000000000000000..09e37fa9a9e30a9f773c4df7ab4b82604efeafac GIT binary patch literal 1723 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 RH*o*}002ovPDHLkV1l&MED-<z literal 0 HcmV?d00001 diff --git a/fsl/fsleyes/icons/spannerHighlight24@2x.png b/fsl/fsleyes/icons/spannerHighlight24@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..101fe904e3cfeb7c05d4aadcb381f974234d8337 GIT binary patch literal 4110 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 M07*qoM6N<$f<@QyiU0rr literal 0 HcmV?d00001 -- GitLab