Subversion Repository Public Repository

litesoft

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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
// This Source Code is in the Public Domain per: http://unlicense.org
package org.litesoft.GWT.client.nonpublic;

import org.litesoft.GWT.client.*;
import org.litesoft.GWT.client.widgets.*;
import org.litesoft.GWT.client.widgets.Button;
import org.litesoft.GWT.forms.client.components.nonpublic.*;
import org.litesoft.commonfoundation.base.*;

import com.google.gwt.user.client.ui.*;

public abstract class AbstractMessageDialog extends AbstractDialog // PopupPanel is a SimplePanel
{
    private SizeableVerticalPanel mOuterPanel = new SizeableVerticalPanel().stretchable();
    protected String mBodyPanelStyle;
    protected String mBodyPanelMessageHtmlStyle;
    protected String mDialogIconReference;
    protected String mButtonBarStyle;
    private Button[] mButtons;

    protected AbstractMessageDialog( String pDefaultTitle, String pMainPanelStyle, //
                                     String pBodyPanelStyle, String pBodyPanelMessageHtmlStyle, String pButtonBarStyle, String pDialogIconReference ) {
        super( pDefaultTitle, Opaqueness.None );
        mOuterPanel.addStyleName( pMainPanelStyle );
        mBodyPanelStyle = pBodyPanelStyle;
        mBodyPanelMessageHtmlStyle = pBodyPanelMessageHtmlStyle;
        mDialogIconReference = pDialogIconReference;
        mButtonBarStyle = pButtonBarStyle;
    }

    protected void initialize( String pTitle, String pMessage, DialogCloseCallBack pCloseCallBack ) {
        mOuterPanel.add( createMainBodyPanel( pMessage ) );
        augmentMainPanelBeforeButtons( mOuterPanel );
        mOuterPanel.add( new SizeableSpacer().stretchableVertically() );
        mOuterPanel.add( createButtonPanel() );
        initialize( pTitle, pCloseCallBack );
    }

    @Override
    protected Widget createBodyPanel() {
        return mOuterPanel;
    }

    protected SizeableHorizontalPanel createMainBodyPanel( String pMessage ) {
        SizeableHorizontalPanel zPanel = new SizeableHorizontalPanel().stretchableHorizontally();
        zPanel.add( new BackgroundImage( mDialogIconReference ) );
        zPanel.add( new Spacer( 8 ) );
        zPanel.add( wrapWithSizeable( createBodyPanelMessageHTML( ConstrainTo.significantOrNull( pMessage, //
                                                                                                 "Unknown" ) ) ) );
        zPanel.add( new Spacer( 20 ) );
        return zPanel.style( mBodyPanelStyle );
    }

    protected void augmentMainPanelBeforeButtons( HasWidgets pVerticalPanel ) {
    }

    protected Widget createButtonPanel() {
        SizeableHorizontalPanel zPanel = new SizeableHorizontalPanel() {
            @Override
            protected void onAttach() {
                super.onAttach();
                DialogButtonPanel.sizeAllButtons( mButtons );
            }
        };
        zPanel.stretchableHorizontally();
        zPanel.add( new SizeableSpacer().stretchableHorizontally() );
        mButtons = createButtons();
        zPanel.add( mButtons[0] );
        for ( int i = 1; i < mButtons.length; i++ ) {
            zPanel.add( new Spacer( 20 ) );
            zPanel.add( mButtons[i] );
        }
        zPanel.add( new SizeableSpacer().stretchableHorizontally() );
        return zPanel.style( mButtonBarStyle );
    }

    protected Button[] createButtons() {
        return new Button[]{OKButton.factory().add( new HideCommand() ).create()};
    }

    private Widget wrapWithSizeable( Widget pWidget ) {
        Grid zGrid = new Grid( 2, 2 );
        zGrid.setWidget( 0, 0, pWidget );
        zGrid.setWidget( 0, 1, new Spacer() );
        zGrid.setWidget( 1, 0, new Spacer() );
        zGrid.setWidget( 1, 1, new Spacer( 22 ) );
        return new SizeableSimplePanel( false, zGrid ).stretchableHorizontally();
    }

    protected Widget createBodyPanelMessageHTML( String pText ) {
        Widget rv = new HTML( wrapWithPre( pText ) );
        rv.setStyleName( mBodyPanelMessageHtmlStyle );
        return rv;
    }

    protected String wrapWithPre( String pText ) {
        return "<pre style='font-family:sans-serif; font-size:smaller; margin:0; padding:0;'>" + pText + "</pre>";
    }
}

Commits for litesoft/trunk/Java/GWT/Client/src/org/litesoft/GWT/client/nonpublic/AbstractMessageDialog.java

Diff revisions: vs.
Revision Author Commited Message
950 Diff Diff GeorgeS picture GeorgeS Thu 19 Jun, 2014 17:57:04 +0000

New Lines

948 Diff Diff GeorgeS picture GeorgeS Sat 07 Jun, 2014 23:42:39 +0000

Jusefuls Formatter Updated to New Code Format

947 Diff Diff GeorgeS picture GeorgeS Fri 06 Jun, 2014 23:36:56 +0000

Correct Spelling of package!

939 Diff Diff GeorgeS picture GeorgeS Mon 02 Jun, 2014 21:30:31 +0000

Extracting commonfoundation

801 Diff Diff GeorgeS picture GeorgeS Wed 15 Aug, 2012 03:59:02 +0000
135 Diff Diff GeorgeS picture GeorgeS Wed 09 Mar, 2011 15:19:54 +0000
133 Diff Diff GeorgeS picture GeorgeS Wed 09 Mar, 2011 00:33:28 +0000
49 Diff Diff GeorgeS picture GeorgeS Mon 12 Apr, 2010 02:59:10 +0000

License Text

23 Diff Diff GeorgeS picture GeorgeS Wed 24 Feb, 2010 00:34:32 +0000
2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000