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
100
101
package org.litesoft.GWT.client.view;

import org.litesoft.GWT.client.*;
import org.litesoft.GWT.client.context.*;
import org.litesoft.GWT.client.widgets.*;
import org.litesoft.GWT.forms.client.*;
import org.litesoft.GWT.forms.client.components.*;
import org.litesoft.commonfoundation.base.*;
import org.litesoft.commonfoundation.independence.*;
import org.litesoft.security.*;

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

import static org.litesoft.uispecification.FormWidgetCtrl.*;

public abstract class AbstractSecurityDialogView<T extends SecurityUserView<T>> extends DialogView {
    protected final SecurityUserViewDataProvider<T> mDataProvider;
    protected final SecurityUserViewMetaData<T> mUserViewMetaData;
    protected FormEngine mFE;
    protected FormBinder<T> mFormBinder;
    protected ButtonBase mSubmitButton;
    protected boolean mCancelable;

    public AbstractSecurityDialogView( CO pCO, Opaqueness pOpaqueness, boolean pCancelable ) {
        super( pCO, pOpaqueness );
        mCancelable = pCancelable;

        mDataProvider = Cast.it( Instance.of( SecurityUserViewDataProvider.class ) );
        mUserViewMetaData = Cast.it( Instance.of( SecurityUserViewMetaData.class ) );
    }

    @Override
    public final boolean isCancelable() {
        return mCancelable;
    }

    protected void centerContent() {
        mContent.setHorizontalAlignment( HasHorizontalAlignment.ALIGN_CENTER );
    }

    protected WidgetCtrlMap initializeFormInfrastructure( IFormComponent.Listener.Factory pListenerFactory ) {
        WidgetCtrlMap zWidgetCtrlMap = new WidgetCtrlMap( VISIBLE_AND_ACTIVE_ENABLED );

        mFE = new FormEngine( zWidgetCtrlMap, FormEngine.Mode.EditRegular, pListenerFactory ) {
            @Override
            protected void changeOccurredOn( String pName, IFormComponent pComponent, boolean pChanged ) {
                super.changeOccurredOn( pName, pComponent, pChanged );
                setDialogErrorMessage( null );
            }

            @Override
            protected void enterPressedOn( String pName, IFormComponent pComponent, KeyboardKeyModifier pModifiers ) {
                if ( processEnterPressedOn( pName ) ) {
                    super.enterPressedOn( pName, pComponent, pModifiers );
                }
            }
        };
        mFormBinder = new FormBinder<T>( mFE, mUserViewMetaData );
        return zWidgetCtrlMap;
    }

    abstract protected boolean processEnterPressedOn( String pName );

    protected T getUserView() {
        return Cast.it( Instance.of( AbstractCurrentUserViewAccessor.class ).getUser() );
    }

    protected void setEditUser( T pUserView ) {
        mFormBinder.setExistingObject( pUserView, FormEngine.Mode.EditRegular );
    }

    @Override
    public Widget getBottomBar() {
        LeftCenterRightHorizontalPanel zActionPanel = new LeftCenterRightHorizontalPanel();
        if ( mCancelable ) {
            zActionPanel.addLeft( createCancelButton() );
        }
        zActionPanel.addRight( mSubmitButton = createRightButton() );
        return zActionPanel;
    }

    protected ButtonBase createLeftButton() {
        return createCancelButton();
    }

    protected ButtonBase createRightButton() {
        return mFE.addEditSubmitButton( createSubmitButton() );
    }

    @Override
    public void aboutToShow() {
        super.aboutToShow();
        mFE.initialize();
    }

    @Override
    protected void justLoaded() {
        super.justLoaded();
        mFE.setFocus();
    }
}

Commits for litesoft/trunk/Java/GWT/Client/src/org/litesoft/GWT/client/view/AbstractSecurityDialogView.java

Diff revisions: vs.
Revision Author Commited Message
957 Diff Diff GeorgeS picture GeorgeS Tue 24 Jun, 2014 12:30:01 +0000

Dialog Code Shareing

955 Diff Diff GeorgeS picture GeorgeS Sun 22 Jun, 2014 18:11:25 +0000

Add Instance...

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

487 Diff Diff GeorgeS picture GeorgeS Thu 08 Sep, 2011 12:06:30 +0000

More elimination of uniqueness

486 Diff Diff GeorgeS picture GeorgeS Tue 06 Sep, 2011 03:00:59 +0000
398 GeorgeS picture GeorgeS Mon 15 Aug, 2011 19:57:47 +0000