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

import org.litesoft.GWT.client.*;
import org.litesoft.GWT.client.widgets.*;
import org.litesoft.bo.views.*;
import org.litesoft.commonfoundation.base.*;
import org.litesoft.core.*;
import org.litesoft.commonfoundation.independence.*;
import org.litesoft.core.util.*;

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

public class RestrictedResourceSwitcher implements AlternateOptionsView {
    private final OurImage mPickerButton = new OurImage( "common/images/misc/sites_button.gif" );
    private final AlternateOptionPickerWidgetPanel mPickerWidgetPanel;
    private final RestrictedResourceSwitcherCallBack mCallBack;

    /*
     * length = 0 means no alternative sites
     * length > 0 means alternative sites to display
     * null means dialog will be shown (due to too many to list)
     */
    private AlternateRestrictedResourceOption[] mAlternateOptions = new AlternateRestrictedResourceOption[0];

    public RestrictedResourceSwitcher( AlternateOptionPickerWidgetPanel pPickerWidgetPanel, RestrictedResourceSwitcherCallBack pCallBack ) {
        mPickerWidgetPanel = Confirm.isNotNull( "PickerWidgetPanel", pPickerWidgetPanel );
        mCallBack = Confirm.isNotNull( "CallBack", pCallBack );

        mPickerButton.setWidth( "13" );
        mPickerButton.setHeight( "14" );
        mPickerButton.addClickHandler( new ClickHandler() {
            @Override
            public void onClick( ClickEvent pEvent ) {
                if ( mAlternateOptions == null ) {
                    new DialogViewDialog(
                            Instance.of( RestrictedResourcePickerDialogViewFactory.class ).createDialog( Dialog.Opaqueness.Semi, mCallBack ) ).show();
                    return;
                }

                // list
                String[] labels = new String[mAlternateOptions.length];
                for ( int i = 0; i < mAlternateOptions.length; i++ ) {
                    labels[i] = mAlternateOptions[i].getName();
                }
                ListTable list = new ListTable();
                list.setData( labels );

                // popup
                final PopupPanel zPopup = new PopupPanel( true, false );
                zPopup.addStyleName( "RestrictedResourcesPopupPanel" );
                zPopup.setWidget( list );

                list.setClickCommand( new ObjectCommand<Integer>() {
                    @Override
                    public void execute( Integer pIndex ) {
                        mCallBack.switchToRestrictedResource( mAlternateOptions[pIndex] );
                        zPopup.hide( false );
                    }
                } );

                zPopup.setPopupPositionAndShow( new PopupPanel.PositionCallback() {
                    @Override
                    public void setPosition( int offsetWidth, int offsetHeight ) {
                        int left = mPickerButton.getAbsoluteLeft() - 10;
                        int top = mPickerButton.getAbsoluteTop() - offsetHeight;
                        zPopup.setPopupPosition( left, top );
                    }
                } );
            }
        } );
    }

    @Override
    public void setAlternateOptions( AlternateRestrictedResourceOption[] pAlternateOptions ) {
        mAlternateOptions = pAlternateOptions;
        boolean buttonEnabled = (mAlternateOptions == null) || (mAlternateOptions.length > 0);
        mPickerWidgetPanel.setPicker( buttonEnabled ? mPickerButton : null );
    }
}

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

Diff revisions: vs.
Revision Author Commited Message
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

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

Extracting commonfoundation

804 Diff Diff GeorgeS picture GeorgeS Wed 15 Aug, 2012 12:48:51 +0000
489 Diff Diff GeorgeS picture GeorgeS Fri 09 Sep, 2011 12:03:04 +0000

Prioritizer Dup code minimized

398 GeorgeS picture GeorgeS Mon 15 Aug, 2011 19:57:47 +0000