litesoft
@ 947
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 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.client.taskbar.nonpublic; import org.litesoft.GWT.client.commands.*; import org.litesoft.GWT.client.widgets.*; import org.litesoft.core.simpletypes.*; import com.google.gwt.user.client.ui.*; import com.google.gwt.user.client.*; public class AbstractGridIconCommandContextPopup extends AbstractContextPopup { private PointToCommandMap mCommands = new PointToCommandMap(); protected Grid mGrid; public AbstractGridIconCommandContextPopup( boolean pAutoHide, int pRows, int pColumns ) { super( pAutoHide ); mGrid = new TightGrid( pRows, pColumns ); mGrid.addTableListener( new TableListener() { public void onCellClicked( SourcesTableEvents sender, int row, int cell ) { Command zCommand = mCommands.get( new PointXY( cell, row ) ); if ( zCommand != null ) { DeferredCommand.addCommand( zCommand ); hide(); } } } ); } protected Widget createPopupWidget() { return mGrid; } protected void addIconCommand( int pRow, int pColumn, CssBackgroundCommand pCommand ) { BGImageButton zButton = null; // todo: translate: new BGImageButton( pCommand.getCssBaseClassname(), pCommand.getTooltip() ); if ( pCommand.isEnabled() ) { mCommands.put( new PointXY( pColumn, pRow ), pCommand ); } else { zButton.setEnabled( false ); } mGrid.setWidget( pRow, pColumn, zButton ); mGrid.getCellFormatter().setHorizontalAlignment( pRow, pColumn, HasHorizontalAlignment.ALIGN_CENTER ); } } |