litesoft
@ 151
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.GWT.client; import org.litesoft.GWT.client.nonpublic.*; import org.litesoft.GWT.client.widgets.*; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.*; public class AlertErrorDialog extends AbstractMessageDialog { private static final String VERSION_PANEL_STYLE = "litesoft-AlertErrorDialogVersionPanel"; protected AlertErrorDialog() { super( "Error", "litesoft-AlertErrorDialog", // "litesoft-AlertErrorDialogBodyPanel", "litesoft-AlertErrorDialogHTML", "litesoft-AlertErrorDialogButtonBar", "litesoft-AlertErrorDialogIcon" ); } private String mVersion, mDetail; public AlertErrorDialog( String pTitle, String pMessage, String pVersion, String pDetail, DialogCloseCallBack pCloseCallBack ) { this(); mVersion = UtilsGwt.noEmpty( pVersion ); mDetail = UtilsGwt.noEmpty( pDetail ); initialize( pTitle, pMessage, pCloseCallBack ); } @Override protected SizeableHorizontalPanel createMainBodyPanel( final String pMessage ) { SizeableHorizontalPanel zPanel = super.createMainBodyPanel( pMessage ); if ( mDetail != null ) { zPanel.add( new Button( "Details", new ClickListener() { @Override public void onClick( Widget sender ) { UtilsGwt.windowOpenWithHtml( "", "location=0,menubar=1,status=0,scrollbars=1", "<html><body style='font-family:sans-serif; overflow:auto;'><h4>" + pMessage + "</h4>" + wrapWithPre( mDetail ) + "</body></html>" ); } } ) ); } return zPanel; } @Override protected void augmentMainPanelBeforeButtons( HasWidgets pVerticalPanel ) { if ( mVersion != null ) { pVerticalPanel.add( createVersionPanel( mVersion ) ); } } private Widget createVersionPanel( String pMessage ) { SizeableHorizontalPanel zPanel = new SizeableHorizontalPanel().stretchableHorizontally(); zPanel.add( new SizeableSpacer().stretchableHorizontally() ); zPanel.add( createBodyPanelMessageHTML( pMessage ) ); zPanel.add( new SizeableSpacer().stretchableHorizontally() ); return zPanel.style( VERSION_PANEL_STYLE ); } } |