From f939252fe20c10a90c5ba3fcabb1611ffae320cf Mon Sep 17 00:00:00 2001 From: Frederico Palma Date: Thu, 13 Dec 2007 15:29:18 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@597 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../medicina/processo/mail/MailPanel.java | 153 +++++++++++++++--- .../processo/mail/icons/arrow_down.png | Bin 0 -> 326 bytes .../processo/mail/icons/arrow_down_green.png | Bin 0 -> 614 bytes .../processo/mail/icons/arrow_up_green.png | Bin 0 -> 627 bytes .../processo/mail/icons/bookmark_down.png | Bin 0 -> 791 bytes .../mail/icons/bullet_triangle_green.png | Bin 0 -> 469 bytes .../processo/mail/icons/colorwheel.png | Bin 0 -> 823 bytes .../medicina/processo/mail/icons/copy.png | Bin 0 -> 651 bytes .../medicina/processo/mail/icons/cut.png | Bin 0 -> 636 bytes .../medicina/processo/mail/icons/font.png | Bin 0 -> 692 bytes .../processo/mail/icons/mail_attachment.png | Bin 0 -> 828 bytes .../processo/mail/icons/mail_forward.png | Bin 0 -> 849 bytes .../medicina/processo/mail/icons/mail_out.png | Bin 0 -> 860 bytes .../medicina/processo/mail/icons/paste.png | Bin 0 -> 699 bytes .../processo/mail/icons/text_align_center.png | Bin 0 -> 499 bytes .../mail/icons/text_align_justified.png | Bin 0 -> 506 bytes .../processo/mail/icons/text_align_left.png | Bin 0 -> 509 bytes .../processo/mail/icons/text_align_right.png | Bin 0 -> 496 bytes .../processo/mail/icons/text_bold.png | Bin 0 -> 570 bytes .../processo/mail/icons/text_italics.png | Bin 0 -> 554 bytes .../processo/mail/icons/text_underlined.png | Bin 0 -> 560 bytes 21 files changed, 135 insertions(+), 18 deletions(-) create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/arrow_down.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/arrow_down_green.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/arrow_up_green.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/bookmark_down.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/bullet_triangle_green.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/colorwheel.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/copy.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/cut.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/font.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/mail_attachment.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/mail_forward.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/mail_out.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/paste.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/text_align_center.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/text_align_justified.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/text_align_left.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/text_align_right.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/text_bold.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/text_italics.png create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/text_underlined.png diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/MailPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/MailPanel.java index b780e4da..97d4b9cf 100644 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/MailPanel.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/MailPanel.java @@ -3,8 +3,13 @@ package siprp.medicina.processo.mail; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import java.util.Arrays; +import java.util.Comparator; +import java.util.Vector; import javax.swing.Action; import javax.swing.ActionMap; @@ -12,14 +17,23 @@ import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextPane; +import javax.swing.text.AttributeSet; import javax.swing.text.DefaultEditorKit; +import javax.swing.text.StyleConstants; +import javax.swing.text.StyledEditorKit; import javax.swing.text.html.HTMLEditorKit; +import com.evolute.utils.images.ImageIconLoader; + public class MailPanel extends JPanel { + protected StyledEditorKit.FontSizeAction FONT_SIZE_ACTIONS[]; + protected int FONT_SIZES[]; + protected JTextPane bodyPane; public static void main( String args[] ) + throws Exception { JFrame frm = new JFrame(); frm.getContentPane().setLayout( new GridLayout( 1, 1 ) ); @@ -35,13 +49,49 @@ public class MailPanel extends JPanel } public MailPanel() + throws Exception { setupComponents(); } private void setupComponents() + throws Exception { HTMLEditorKit kit = new HTMLEditorKit(); + Action actions[] = kit.getActions(); + Vector fontSizeActions = + new Vector(); + for( int n = 0; n < actions.length; n++ ) + { + String str = actions[ n ].getValue( Action.NAME ).toString(); + if( str.toLowerCase().indexOf( "font-size" ) != -1 ) + { + int size = Integer.parseInt( str.split( "-" )[ 2 ] ); + if( size == 16 ) + { + continue; + } + fontSizeActions.add( ( StyledEditorKit.FontSizeAction ) actions[ n ] ); + } + } + + FONT_SIZE_ACTIONS = fontSizeActions.toArray( new StyledEditorKit.FontSizeAction[ fontSizeActions.size() ] ); + Arrays.sort( FONT_SIZE_ACTIONS, new Comparator(){ + public int compare( StyledEditorKit.FontSizeAction fsa1, StyledEditorKit.FontSizeAction fsa2 ) + { + String str1 = fsa1.getValue( Action.NAME ).toString(); + String str2 = fsa2.getValue( Action.NAME ).toString(); + int size1 = Integer.parseInt( str1.split( "-" )[ 2 ] ); + int size2 = Integer.parseInt( str2.split( "-" )[ 2 ] ); + return size1 > size2 ? 1 : -1; + } + } ); + FONT_SIZES = new int[ FONT_SIZE_ACTIONS.length ]; + for( int n = 0; n < FONT_SIZES.length; n++ ) + { + FONT_SIZES[ n ] = Integer.parseInt( FONT_SIZE_ACTIONS[ n ].getValue( Action.NAME ).toString().split( "-" )[ 2 ] ); + } + bodyPane = new JTextPane(); bodyPane.setEditorKit( kit ); ActionMap actionMap = bodyPane.getActionMap(); @@ -50,34 +100,101 @@ public class MailPanel extends JPanel Action copyAction = actionMap.get( DefaultEditorKit.copyAction ); Action pasteAction = actionMap.get( DefaultEditorKit.pasteAction ); - Action boldAction = actionMap.get( HTMLEditorKit.BOLD_ACTION ); - Action italicAction = actionMap.get( HTMLEditorKit.ITALIC_ACTION ); + Action boldAction = actionMap.get( "font-bold" ); + Action italicAction = actionMap.get( "font-italic" ); Action underlineAction = actionMap.get( "font-underline" ); - Action smallerAction = actionMap.get( HTMLEditorKit.FONT_CHANGE_SMALLER ); - Action biggerAction = actionMap.get( HTMLEditorKit.FONT_CHANGE_BIGGER ); + Action fontBiggerAction = new StyledEditorKit.FontSizeAction( "font-bigger", 30 ){ + /** + * + */ + private static final long serialVersionUID = 1L; + + public void actionPerformed( ActionEvent e ) + { + bodyPane.requestFocusInWindow(); + int start = bodyPane.getSelectionStart(); + AttributeSet set = bodyPane.getStyledDocument().getCharacterElement( start ).getAttributes(); + int size = StyleConstants.getFontSize( set ); + for( int n = 0; n < FONT_SIZES.length; n++ ) + { + if( size < FONT_SIZES[ n ] ) + { + FONT_SIZE_ACTIONS[ n ].actionPerformed( e ); + break; + } + } + } + }; + Action fontSmallerAction = + new StyledEditorKit.FontSizeAction( "font-smaller", 5 ){ + /** + * + */ + private static final long serialVersionUID = 1L; + + public void actionPerformed( ActionEvent e ) + { + bodyPane.requestFocusInWindow(); + int start = bodyPane.getSelectionStart(); + AttributeSet set = bodyPane.getStyledDocument().getCharacterElement( start ).getAttributes(); + int size = StyleConstants.getFontSize( set ); + for( int n = FONT_SIZES.length - 1; n >= 0; n-- ) + { + if( size > FONT_SIZES[ n ] ) + { + FONT_SIZE_ACTIONS[ n ].actionPerformed( e ); + break; + } + } + } + }; - Action alignLeftAction = actionMap.get( HTMLEditorKit.PARA_INDENT_LEFT ); + Action alignLeftAction = actionMap.get( "left-justify" ); Action alignCenterAction = actionMap.get( "center-justify" ); - Action alignRightAction = actionMap.get( HTMLEditorKit.PARA_INDENT_RIGHT ); + Action alignRightAction = actionMap.get( "right-justify" ); + Action alignJustifyAction = + new StyledEditorKit.AlignmentAction( "justify", + javax.swing.text.StyleConstants.ALIGN_JUSTIFIED ); + actionMap.put( "justify", alignJustifyAction ); + + JButton exportButton = new JButton( "X" ); + exportButton.addActionListener( new ActionListener(){ + public void actionPerformed( ActionEvent e ) + { + System.out.println( bodyPane.getText() ); + } + } ); JPanel upperPanel = new JPanel(); upperPanel.setLayout( new FlowLayout( FlowLayout.LEFT ) ); - upperPanel.add( new JButton( cutAction ) ); - upperPanel.add( new JButton( copyAction ) ); - upperPanel.add( new JButton( pasteAction ) ); - upperPanel.add( new JButton( boldAction ) ); - upperPanel.add( new JButton( italicAction ) ); - upperPanel.add( new JButton( underlineAction ) ); - upperPanel.add( new JButton( smallerAction ) ); - upperPanel.add( new JButton( biggerAction ) ); - upperPanel.add( new JButton( alignLeftAction ) ); - upperPanel.add( new JButton( alignCenterAction ) ); - upperPanel.add( new JButton( alignRightAction ) ); - + upperPanel.add( exportButton ); + upperPanel.add( createButton( cutAction, "siprp/medicina/processo/mail/icons/cut.png" ) ); + upperPanel.add( createButton( copyAction, "siprp/medicina/processo/mail/icons/copy.png" ) ); + upperPanel.add( createButton( pasteAction, "siprp/medicina/processo/mail/icons/paste.png" ) ); + upperPanel.add( createButton( boldAction, "siprp/medicina/processo/mail/icons/text_bold.png" ) ); + upperPanel.add( createButton( italicAction, "siprp/medicina/processo/mail/icons/text_italics.png" ) ); + upperPanel.add( createButton( underlineAction, "siprp/medicina/processo/mail/icons/text_underlined.png" ) ); + upperPanel.add( createButton( fontBiggerAction, "siprp/medicina/processo/mail/icons/font_bigger.png" ) ); + upperPanel.add( createButton( fontSmallerAction, "siprp/medicina/processo/mail/icons/font_smaller.png" ) ); + upperPanel.add( createButton( alignLeftAction, "siprp/medicina/processo/mail/icons/text_align_left.png" ) ); + upperPanel.add( createButton( alignCenterAction, "siprp/medicina/processo/mail/icons/text_align_center.png" ) ); + upperPanel.add( createButton( alignRightAction, "siprp/medicina/processo/mail/icons/text_align_right.png" ) ); + upperPanel.add( createButton( alignJustifyAction, "siprp/medicina/processo/mail/icons/text_align_justified.png" ) ); setLayout( new BorderLayout() ); add( upperPanel, BorderLayout.NORTH ); add( bodyPane, BorderLayout.CENTER ); } + + private JButton createButton( Action action, String iconPath ) + throws Exception + { + action.putValue( Action.SMALL_ICON, + ImageIconLoader.loadImageIcon( getClass(), iconPath ) ); + JButton button = new JButton( action ); + button.setText( null ); + + return button; + } } diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/arrow_down.png b/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/arrow_down.png new file mode 100644 index 0000000000000000000000000000000000000000..ad8f6a36c0b54271d556dd928164c85eaa890454 GIT binary patch literal 326 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqY)RhkE)4%caKYZ?lYt_f1s;*b z3=CW!K$y{KjmZq4AbW|YuPgg?9$qeE(`c*ddO)Geo-U3d5|@)x8k$^#=EU09|1JIT z_3wH4efj_Wj{i$Pk?z2@x?*Nn?Zwm||AU$z{#S}yw%SQ{&KVvc@G)TZ(dmib`E#b^ zkqQY3iMoHkzkdH8Zzsaqv&N^0$LJ6bPtYG8o&OU5>el@EI{IsT-`+3V`r&(R3{NS~jRS^`ZKss~@YtP5Vn{Z2Xb5r?+z9j@ NgQu&X%Q~loCIE#WdKcYATc)}MrC3kGB7YRATc;PF*rIkFd!>1F)%P2jj;m&000McNliru z(*h9^4iO=W-Pr&D010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00F*9 zL_t(|+QpJjNK`=_$G=P#ft~Q z>Jm{9S>(Z!Ct->55Qvb)3LzR4A@06q-&^0?_h!bQE8(w#fvwe@dJ4@ z1W+2-@;33!T?1DFLUYK2WF6H72*F^91WaLqF%CmBFwPqXfND))5J*&wOtKTEbp)6t zOBxC6Q9KM^L4$K~2%z@4VmQcEHGvc?+AmS{2-G2<0xo{?k5|&^Zs(bU+udDsph*Cu z3Xoxpj_WO`OvNfDRK8Ts$%?u`&fvJQw@4*@Yx(KWqaGUmH&z7)9aVfA9_&r)+WdKcYATc)}MrC3kGB7YRATc;PF*rIkFd!>1F)%P2jj;m&000McNliru z(*h9@FfP<@RlooM010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00GNM zL_t(|+QpK)Ym-qJ#((*~e4mY>UWQQP1;HZP4qX(-LYJ!O;Go&0|AB(5gO1r91aT5U z0z!kAv{S{Q2t^Ua#UY5**rGH^bNg=R;%jv1B_Imo3+He+=Y5{{dEWQHKaCPIvab9c zxXhWeODE$CuTLoKO{F4ICJH~t&vyZ0-=BtWoUN;u1-(w-QCSpxW~c4 z1SPUNn(pIgGk1@!Ql%ZQqm{)POPna8P;vd@^r7K(zrr2%Y_@QNv|N=(_vOxIGd{=i z`Jh~CYpdk_0zZP+r?VGw$kRXH%63% zqC$yGOFioH;Y)pdd9|^N4(B;S@&lUwrNheJ>z|9H9cze8B-Irdhg8bJm4#1RinTZP zAiZr0f!NlTM28q{z*>y(Yo)=H^A;%^5TV#gP zB47F}PCQTEI$Op*kf4cOdQ)vxKd!iO&!kkSr3;Sf#xe?bz{mUV@g44<&uCJgk?sHh N002ovPDHLkV1n{j99{qb literal 0 HcmV?d00001 diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/bookmark_down.png b/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/bookmark_down.png new file mode 100644 index 0000000000000000000000000000000000000000..b15b51f915b6575452656a878739e28e03da8a6c GIT binary patch literal 791 zcmV+y1L*vTP)WdKuQATcu_L}hv)GB7YRATTgGFf%$bGaxH4F)%O}nMk_;000McNliru z(*hd+IyX47JgEQx010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00M7G zL_t(|+NG0QNEA^R$Nw{X(cNY*HqNfQxk-?kCa$nyWJC{AP=OK^B}gwp^b!$7W%Qo) z8W|DwP)1iMDuvMOrV{uf5lEz6G%&Bc82wplS9jgF5V?AbS)Sq{LO6QRU^v36a}rno$ZaG?tW1(vd%uO^$i zw@yU=24Hhyv0DAZ6JvPL`y7VZZw%K)Ru`4M-O?KjFY5)AP+$Gp^$3U7K%z1Yl!Y5hlwM2 z*7Fvssv{6^Ar?zQndZRNU1chF-)gz^gw5V$@O2R&lcl0a2*k7kyVtD1p^(!N_Q$qr30jfw9li3S%>Er92Syz^a4JwUPUI z08KFg8bLgrHIkBSW?|;!f&0RVctc(N4O?V`0ECLoBOns-dhgjmIxRTAU<8Qqtc02G znUfWdKcYATcu_Piu4_GB7YRATcvKH8MIiF(4~2F)%Re)NcF$000McNliru z(+Uj>H4dqG1PuTH010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00AvY zL_t(|+U1c=D@1V=#()30^Lp(AMWkc`JLyS2mX91C2E6P#t=+$!9K-m0FkgT zQkvOVW32PUC0mUD8Xy9g=pUrLIo(z3Ck|NSSh~to4R9TgzD^Sn5wta>MUUAqqS^6t zmf2;6mWlw}04w**Xm18Rk)+2n&5RS@0F&`4{^dof#H5tQ2F31MAJcms>ZfW1CrN{eRR4Ph?u2w8tEt00000 LNkvXXu0mjfeILL} literal 0 HcmV?d00001 diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/colorwheel.png b/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/colorwheel.png new file mode 100644 index 0000000000000000000000000000000000000000..a655727e5d1c14b2598030b8aba41b79fb71a991 GIT binary patch literal 823 zcmV-71IYY|P)WdKBJATlx_PH%P~GB7YTATc&NF)%tbHy|r8F)%O!ku`?^000McNliru z)e9C63l4*ot)Bn@010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00NIm zL_t(|+NG0SNK;`L$A6of+nmcyooKl-vYAN`X-e7$MiNTtMOR%!Sd`sFbtBbH<&AU^ z-2{18-E^I1q(nsqK}ad6tfit^Q`+2|o;g2{r{|~)D!lTA|2drJeV*U@y#M#Su*qTg zH_%K`dJOeS5|LU55iiNhDA{~panWXU^0?^(QyT&vaHeL7sb|GjTV~O|Ozc|}ump)` zMj2S}@pVBBnVp=!@s!v90UmO_+QfWo-JvqG=fqZ+@I#;*%tPRfgR7tMbd}aomSRxX zcz+GD3b@N1mkrH-wxZhYsmg)@AB;)yuQ!m^1IOl|L=p>yX*Tiv?Q(EMqu}N(qDCDM zMs3JXDR<}Al!D&{Bk3??mF#ISO7Sj9+9UFUyTm|VX-d|QSsL`(b%3$faiEY;$VhZT z06+IjP+;W34tX5`^`L|^pr0kI1vx~`)atb+{Sm|NRWj`O!k|oo7PLv-aamM$c&(Fu zVU0?j^uwaaW^)s>4|@}Uka#h=q%k=UUjx#)2E!8fRaZh)z3ku#`SR@)rC|}ch2XmV zYXHOS;QKzMOfzNDEvFo^Nf)|lm-X380t<_}1Q4Zyoy;iH{Ejh{07NwP<;TFcvY56V zH79A+EXqV4eO69|qpPb$#Q}#_OxIvL$^z{P6C;>frY(ID)ibtMyjzqfa_F=6b<$o= zQP1GddB%I=VZ}sC0s!~I*pn}i@=C=uf+0s;TiB{6SfyzXXI2g~KDNl04&O2>=@)5| zeaT2l{KxT5KiQRiB=w)PIOA6LHZ$8ZRPqh8VoHGCo==Rt`#i-Q=V literal 0 HcmV?d00001 diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/copy.png b/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/copy.png new file mode 100644 index 0000000000000000000000000000000000000000..87cf5c96c5c2dab542d9819a4b0083034f8da5e2 GIT binary patch literal 651 zcmV;60(AX}P)WdKcYATc!{L3L*!GB7YTATcpIGch_bG$1Q5F)%RM{uz1z000McNliru z(+C+AC_2QWfp!1@010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00HAk zL_t(|+O1MONL)b>{@(cx(p&@yoK-F=hms=kr$`Yj0t#EPRHzgZZv-{z}Ll1)iaci_~*t8NIZOi^S_lEhyj>g`ff9F zFpt}e998C_|4kcOo0AaQy)aoo_U$XI=YQ5f+yH&zU0)>Q*mNG7+a+^Or;^4lf7%M3 zm$mu;QixiRQVLX#kp6vSxEHyV0!jyE^bK_4?3AJ9c>>=SH_W?xJFDY3gaXI1^YP1? zvAg99WV)Ndg@VT%-I5Fe7-QyA+&Kp0N~`wi_ukhpP}RkCJ#E0k(kc%3{^0k?CE7EM z5K2WW=xk3>a!9T8A+UOa;M^xy$*{c|fCa zNa|u?@4<$cKzlL-D<33wy#gs^_*valnh9BoOg7cy(c^lQgD0#vF#iL|MjWYYrm zN$m(*Hf7#eE8<}PmzhM|bwhxQ%Zj-?>qsHs#3nV_%X%b2vo|(17+HM-5RU`zr#{;z le4`K&MZs=eWM%%3Tmg4#4-8rBc$okI002ovPDHLkV1g2~6^sA? literal 0 HcmV?d00001 diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/cut.png b/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/cut.png new file mode 100644 index 0000000000000000000000000000000000000000..bb6237739248f1fb2445327dfeb189203c2e9cde GIT binary patch literal 636 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 literal 0 HcmV?d00001 diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/mail_out.png b/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/mail_out.png new file mode 100644 index 0000000000000000000000000000000000000000..d21b5ea96a42e22d7ef9149b19a3ebee881401dc GIT binary patch literal 860 zcmV-i1Ec(jP)WdKcSATlr@PH%P~GB7YQATlyKFf%$aH6SZ6F)%Re%fspb000McNliru z(+Lp~IRZeXvwHvl010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00Oj0 zL_t(|+NG0UNK;(dN~W3DuJae!ufOzu!5Z-#O>U z57?s+yA9PKQ3VC61YYbAcv$L%i$yn$gTdur{#T-?empQx5&tiMdV*1oBJ}O$)h*>E zM)LW)4;Zz$aM(}@w=aqX*V0cxpsx1yRnG1PD7F`(08MvOQ~M>GjV#n@(PXW}b@x&9 zygvh@QG=5wjvS)twA103?fDB}zb`7risSyNnN_SZn_&4g%1lNy*IN;3p6UA zwzirw7^oL^`^S6RfSk;9?);6{yy(6{=0z~(9mBM93GP*&jL)OhSX%#veeqfxG?<~) z(gerF+pN~pa5_hvat1W5IYm;XxUB8RfwgAbDtUmnH9uhb-hsJkH&hx5i@|vyod&~1 z5Q~Ax$;rF3Q-WH}qN}R_x#71eYmK28@p{OM&!GuqXn8 zG`g?Z5DEn_G4U1a>p(IY%>o30lZcSI>OoBn4YN64Y8DUMl6=&n4EkgW#i2P7$ydnD}dJ4GWdJ~qR|*4 z5k}Gx>1;#NVIh@bf(#S#Mx!CGLcx2LN-XXGg26WdKcSATcu_MrC3kGB7YQATcvKF)}(bF(4~2F)%O}y-DBz000McNliru z(*zh06&B|d?W6zz010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00I+9 zL_t(|+NG1hYtv91$G=IFZE0dhY;ic+QgGCZ2#RL?619gf0gYSx(K{oeDJbj_%pQ!w!I^4|OXzQ51!%M0+IkM^g7 zR;zWgP$;}qN|EPz*PG4e`k?~xlT!`2mB$KNy(5dc?U_4Pe(Hp7nkKf}@5ue|^rtH} zNeQfm!S39#2kUQ>JR_4TRTuPP@r+(_@Ue3Zm(E{79LMR=^z@C~QfSx>dJfSG&e6u& z0&kxk5|C1>8%G^LL|A(B8q3S?AqAypdQL~T^A(ND1Y^wP5LqAOWde#MKwOask8X0J zSWCYl#QrS%9TSOB4|*@I`qs>G85wu4)@?+&>>fSI44s|j)7`*9Ga#h45ttTE+!_9WJH+&#eD-a0v1Sm-`OFotOOWi_kDkh zDZZdqtBeXr8RK^XqGU+uddN%SS#m2#X*gh50ODYRAc(o@H<+fu7i$+$^n*uq0D%yz zq1QbWdKHUATlu^MrC3kGB7YRATcpIF*iChG9W83F)%Q{Dd!0Q000McNliru z(*hU`3l6)7kFEd!010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00B!$ zL_t(|+GAj#5HP|R6L!Bl!^X{R{O`{n215AN)vISGb%vS1O__Y)^O>tJ{{ANxoV)ez ze_r{jGa$VzAcC2V%~(sEiDBnm1_lnG2s;QfL)a`#KzT+84FlTp+zbNp^2TrjK+a-d zU;}H|wQ?2%3s5r?P!lT?L?ejJ3^gDwDGf~j|NEB#%>ana5eaD!S1?2PAOk>bWEU|0 zXN2oPH2|t`?c!Nr8tejQh!;SvNK1p*{`W5vb^~BGC#C>h0d)Zf3ue?YG2t)(WGhI+ zvIVmk*q9+MKn5@uFfszYfGrG|p@Ef}ng)*nTmZ!de}Dgmy8wpg&6$POb{K%`LFVAo zfZ+mU1O6cyuxK83|Dzj>9*Aep-+pflN@3Zl3E)5ig)|6**y!Nsi8~00694*4bG^A8G&q002ovPDHLkV1f>Ywy^*J literal 0 HcmV?d00001 diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/text_align_justified.png b/trunk/SIPRPSoft/src/siprp/medicina/processo/mail/icons/text_align_justified.png new file mode 100644 index 0000000000000000000000000000000000000000..639e7f63d6c436d91047b259e028e98574b3f8c9 GIT binary patch literal 506 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 y20T5#;kK4~Ovl$RcHsL