Example usage for com.google.gwt.user.client.ui FlexTable getRowCount

List of usage examples for com.google.gwt.user.client.ui FlexTable getRowCount

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui FlexTable getRowCount.

Prototype

@Override
public int getRowCount() 

Source Link

Document

Gets the number of rows.

Usage

From source file:ch.eaternity.client.FlexTableRowDragController.java

License:Apache License

private int getWidgetRow(Widget widget, FlexTable table) {
    for (int row = 0; row < table.getRowCount(); row++) {
        for (int col = 0; col < table.getCellCount(row); col++) {
            Widget w = table.getWidget(row, col);
            if (w == widget) {
                return row;
            }/* w  w  w. jav a 2  s.  co  m*/
        }
    }
    throw new RuntimeException("Unable to determine widget row");
}

From source file:co.edu.udea.iw.rtf.client.activity.SolicitudesActivity.java

License:Open Source License

/**
 * Agrega una nueva solcitud a la tabla de solicitudes.
 * //w  w w.  j a va  2s  .c o  m
 * @param solicitud
 *            La informacin de la solicitud que se desea listar.
 * */
public void addSolicitud(final SolicitudListado solicitud, Boolean isAdministrador) {

    final SolicitudesView view = clientFactory.getSolicitudesView();
    FlexTable tabla = view.getTable();
    final int indice = tabla.getRowCount();
    tabla.setText(indice, 0, solicitud.getNombreCompletoSolicitante());
    tabla.setText(indice, 1, solicitud.getCorreoElectronico());
    tabla.setText(indice, 2, solicitud.getFechaSolicitud().toString());
    tabla.setText(indice, 3, solicitud.getNombreTipoSolicitud());
    tabla.setText(indice, 4, solicitud.getTextoSolicitud());
    tabla.getCellFormatter().setWidth(indice, 0, "100px");
    tabla.getCellFormatter().setWidth(indice, 1, "100px");
    tabla.getCellFormatter().setWidth(indice, 2, "100px");
    tabla.getCellFormatter().setWidth(indice, 3, "100px");
    tabla.getCellFormatter().setWidth(indice, 4, "100px");

    if (isAdministrador) {
        Button botonEliminar = new Button("Asignar");

        // el boton se agrega para permitir al usuario
        // asignar un
        // responsable a la solicitud.
        botonEliminar.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                cleanTable();
                goTo(new AsignarSolicitudPlace(login, solicitud));
            }
        });

        view.getTable().setWidget(indice, 7, botonEliminar);

    }
}

From source file:com.dawg6.web.dhcalc.client.FlexTableHelper.java

License:Open Source License

/**
 * Fixes problem with {@link FlexCellFormatter#setRowSpan(int, int, int)}, see comment for
 * {@link #FlexTableHelper}./*ww  w.  j  a  v  a  2s .  com*/
 */
public static void fixRowSpan(final FlexTable flexTable) {
    Set<Element> tdToRemove = new HashSet<Element>();
    {
        int rowCount = flexTable.getRowCount();
        for (int row = 0; row < rowCount; row++) {
            int cellCount = flexTable.getCellCount(row);
            //System.out.println("\tcellCount: " + row + " " + cellCount);
            for (int cell = 0; cell < cellCount; cell++) {
                int colSpan = flexTable.getFlexCellFormatter().getColSpan(row, cell);
                int rowSpan = flexTable.getFlexCellFormatter().getRowSpan(row, cell);
                if (rowSpan != 1) {
                    int column = getColumnOfCell(flexTable, row, cell);
                    for (int row2 = row + 1; row2 < row + rowSpan; row2++) {
                        int baseCell2 = getCellOfColumn(flexTable, row2, column);
                        for (int cell2 = baseCell2; cell2 < baseCell2 + colSpan; cell2++) {
                            if (cell2 != -1) {
                                /*System.out.println("remove (row,cell,column): "
                                   + row2
                                   + " "
                                   + cell2
                                   + " "
                                   + column);*/
                                Element td = flexTable.getCellFormatter().getElement(row2, cell2);
                                tdToRemove.add(td);
                            }
                        }
                    }
                }
            }
        }
    }
    // remove TD elements
    for (Element td : tdToRemove) {
        Element tr = DOM.getParent(td);
        DOM.removeChild(tr, td);
    }
}

From source file:com.ephesoft.dcma.gwt.rv.client.view.TableExtractionView.java

License:Open Source License

private void clearSelectedRowStyle(final FlexTable flexTable) {
    for (int i = 0; i < flexTable.getRowCount(); i++) {
        for (int j = 0; j < flexTable.getCellCount(i); j++) {
            if (flexTable.getWidget(i, j) != null) {
                flexTable.getWidget(i, j).removeStyleName(ReviewValidateConstants.ROW_SELECTION_STYLE);
            }//from   w  ww .  j a v  a 2s.  c o m
        }
    }
}

From source file:com.google.gwt.sample.healthyeatingapp.client.FoodLog.FoodLog.java

public FlowPanel onModuleLoad() {

    rpcUserNameCall();//from w  ww.  j  av a 2 s  .co  m
    rpcCall();

    // Create a Flex Table
    final FlexTable flexTable = new FlexTable();
    FlexCellFormatter cellFormatter = flexTable.getFlexCellFormatter();
    flexTable.addStyleName("flexTable");
    flexTable.setCellSpacing(2);
    flexTable.setCellPadding(2);

    lbFG = new ListBox();
    lbFN = new ListBox();
    submit = new Button("Submit");
    cancel = new Button("Pick a New Date");

    fp = new FlowPanel();
    // Add some text
    cellFormatter.setHorizontalAlignment(0, 1, HasHorizontalAlignment.ALIGN_CENTER);
    flexTable.setHTML(0, 0, "This table allows you to log your food entries:");
    cellFormatter.setColSpan(0, 0, 2);

    lbFG.setVisibleItemCount(1);

    lbFN.setVisible(false);
    lbFG.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {
            fp.remove(SuccessLabel);
            int selectedIndex = lbFG.getSelectedIndex();
            int numRows = 0;

            if (selectedIndex > 0) {

                numRows = flexTable.getRowCount();
                flexTable.setWidget(numRows - 1, 0, lbFG);
                lbFN.clear();
                caloriesText.setText("", Direction.DEFAULT);

                String test = lbFG.getValue(lbFG.getSelectedIndex());
                String[] str = getFoodNames(ret, test);
                lbFN.addItem("");
                for (String s : str) {
                    lbFN.addItem(s);
                }
                lbFN.setSelectedIndex(0);
                lbFN.setVisible(true);

                flexTable.setWidget(numRows - 1, 1, lbFN);
            }

        }
    });

    lbFN.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {
            int selectedIndex = lbFN.getSelectedIndex();
            int numRows = 0;
            if (selectedIndex > 0)

                numRows = flexTable.getRowCount();
            flexTable.setWidget(numRows - 1, 1, lbFN);

            String test = lbFN.getValue(lbFN.getSelectedIndex());
            String str = "" + getCalories(ret, test);
            caloriesText.setText(str, Direction.DEFAULT);
            flexTable.setWidget(numRows - 1, 2, caloriesText);

        }
    });

    // Add a button that will add more rows to the table
    final Button addRowButton = new Button("Add a Row");
    Button btn2 = new Button("Update");
    addRowButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            fp.remove(SuccessLabel);
            addRow(flexTable);
        }
    });

    addRowButton.addStyleName("fixedWidthButton");

    VerticalPanel buttonPanel = new VerticalPanel();
    buttonPanel.setStyleName("flexTable-buttonPanel");
    buttonPanel.add(addRowButton);
    flexTable.setWidget(0, 1, buttonPanel);
    cellFormatter.setVerticalAlignment(0, 1, HasVerticalAlignment.ALIGN_TOP);

    // Add two rows to start
    // addRow(flexTable);

    final DatePicker datePicker = new DatePicker();

    // Set the value in the text box when the user selects a date
    datePicker.addValueChangeHandler(new ValueChangeHandler<Date>() {

        public void onValueChange(ValueChangeEvent<Date> event) {

            Date date = event.getValue();
            DateFormat dfm = new SimpleDateFormat("yyyy-MM-dd");
            dateString = dfm.format(date);
            dateLabel.setText(dateString, Direction.DEFAULT);
            selectedDate = dateLabel.getText();
            queryRpcCall(userNameTyped, selectedDate);

        }
    });
    final Button Btn2 = new Button();
    ret = new ArrayList<FoodLogItems>();
    Btn2.setSize("100px", "30px");
    Btn2.setText("View/Update");
    Btn2.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            Btn2.setVisible(false);
            datePicker.setVisible(false);

            selectedDate = dateLabel.getText();
            String[] dbRows;
            String[] dbElements;

            // Window.alert(prevFoodData);
            if (!(prevFoodData.equals(""))) {

                dbRows = prevFoodData.split(";");
                for (String s : dbRows)

                {
                    dbElements = s.split(":");
                    FoodLogData e = new FoodLogData(userNameTyped, dbElements[2],
                            Integer.parseInt(dbElements[1]), dbElements[0], selectedDate);
                    foodEntries.add(e);
                }

            }

            String[] temp;
            if (foodLogItems != null) {
                array = foodLogItems.split(";");
                // String s="";
                for (String s : array)

                {
                    temp = s.split(":");
                    FoodLogItems e = new FoodLogItems(temp[0], Integer.parseInt(temp[1]), temp[2]);
                    ret.add(e);
                }
                lbFG.addItem("");

                String[] input = new String[ret.size()];
                int i = 0;
                for (FoodLogItems e : ret) {

                    input[i] = e.FoodGroup();
                    i++;

                }

                Set<String> tmp = new LinkedHashSet<String>();
                for (String each : input) {
                    tmp.add(each);
                }
                String[] output = new String[tmp.size()];
                int j = 0;
                for (String each : tmp) {
                    output[j++] = each;
                }

                for (String s : output) {
                    lbFG.addItem(s);
                }

                lbFG.setSelectedIndex(0);

            }

            int numRows = flexTable.getRowCount();
            // Window.alert(""+numRows);
            flexTable.removeAllRows();
            flexTable.insertRow(0);

            int i = 0;
            for (FoodLogData j : foodEntries) {

                flexTable.insertRow(i + 1);
                numRows = flexTable.getRowCount();

                flexTable.setText(numRows - 1, 0, j.getFoodGroup());
                flexTable.setText(numRows - 1, 1, j.getFoodName());
                flexTable.setText(numRows - 1, 2, j.getCalories() + "");

                flexTable.getFlexCellFormatter().setRowSpan(0, 1, numRows + 1);

                i++;

            }
            numRows = flexTable.getRowCount();
            lbFG.setSelectedIndex(0);
            flexTable.setWidget(numRows, 0, lbFG);
            flexTable.getFlexCellFormatter().setRowSpan(0, 1, numRows + 1);

            fp.add(flexTable);
            fp.add(addRowButton);
            fp.add(submit);
            fp.add(cancel);

        }
    });

    InlineLabel dateMessageLabel = new InlineLabel();
    dateMessageLabel.setText("Pick a date: ");

    submit.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            System.out.println("Submitting these items");
            for (FoodLogData e : foodEntries) {
                System.out.println("Food name is " + e.getFoodName());
                insertRpcCall(e.getUserName(), e.getFoodName(), e.getDate(), e.getCalories());
            }
            fp.add(SuccessLabel);
            foodEntries.clear();
        }

    });
    cancel.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {

            // TODO Auto-generated method stub
            fp.remove(SuccessLabel);
            Window.Location.reload();
        }

    });

    fp.add(dateMessageLabel);
    fp.add(dateLabel);
    fp.add(datePicker);
    fp.add(Btn2);

    return fp;

}

From source file:com.google.gwt.sample.healthyeatingapp.client.FoodLog.FoodLog.java

private void addRow(FlexTable flexTable) {
    int numRows = flexTable.getRowCount();

    if ((lbFG.getSelectedIndex() != 0)) {

        if ((lbFN.getSelectedIndex() != 0)) {

            String str2 = lbFG.getValue(lbFG.getSelectedIndex());
            String str3 = lbFN.getValue(lbFN.getSelectedIndex());
            String str4 = flexTable.getText(numRows - 1, 2);

            FoodLogData e = new FoodLogData(userNameTyped, str3, Integer.parseInt(str4), str2, selectedDate);
            foodEntries.add(e);//  w w w .ja va 2  s. co  m
            //Kevin's code
            flexTable.insertRow(flexTable.getRowCount());
            numRows = flexTable.getRowCount();
            flexTable.setText(numRows - 2, 0, e.getFoodGroup());
            flexTable.setText(numRows - 2, 1, e.getFoodName());
            flexTable.setText(numRows - 2, 2, e.getCalories() + "");
            flexTable.getFlexCellFormatter().setRowSpan(0, 1, numRows + 1);
            //Kevin's code ends
            //Window.alert(""+numRows);

            /*Nadeem's original code
            flexTable.removeAllRows();
            flexTable.insertRow(0);
            numRows = flexTable.getRowCount();
                    
                    
            int i = 0;
            for (FoodLogData j : foodEntries) {               
                       
               flexTable.insertRow(i + 1);
               numRows = flexTable.getRowCount();
                    
               flexTable.setText(numRows - 1, 0, j.getFoodGroup());
               flexTable.setText(numRows - 1, 1, j.getFoodName());
               flexTable.setText(numRows - 1, 2, j.getCalories()+"");
                    
               flexTable.getFlexCellFormatter().setRowSpan(0, 1,
             numRows + 1);
                       
               i++;
                    
            }*/
            //Nadeem's code ends

            numRows = flexTable.getRowCount();
            lbFG.setSelectedIndex(0);
            flexTable.setWidget(numRows, 0, lbFG);
            flexTable.getFlexCellFormatter().setRowSpan(0, 1, numRows + 1);
        } else {
            Window.alert("Food Item Not Selected.");
        }

    } else if (numRows <= 1) {
        lbFG.setSelectedIndex(0);
        flexTable.setWidget(numRows, 0, lbFG);
        flexTable.getFlexCellFormatter().setRowSpan(0, 1, numRows + 1);
    } else {
        Window.alert("Food Item Not Selected.");

    }

}

From source file:com.google.gwt.sample.showcase.client.content.tables.CwFlexTable.java

License:Apache License

/**
 * Add a row to the flex table./*from   www.j a  v a2 s . c  o m*/
 */
@ShowcaseSource
private void addRow(FlexTable flexTable) {
    int numRows = flexTable.getRowCount();
    flexTable.setWidget(numRows, 0, new Image(Showcase.images.gwtLogo()));
    flexTable.setWidget(numRows, 1, new Image(Showcase.images.gwtLogo()));
    flexTable.getFlexCellFormatter().setRowSpan(0, 1, numRows + 1);
}

From source file:com.google.gwt.sample.showcase.client.content.tables.CwFlexTable.java

License:Apache License

/**
 * Remove a row from the flex table./*  w  w w.j a  v  a 2s  .  com*/
 */
@ShowcaseSource
private void removeRow(FlexTable flexTable) {
    int numRows = flexTable.getRowCount();
    if (numRows > 1) {
        flexTable.removeRow(numRows - 1);
        flexTable.getFlexCellFormatter().setRowSpan(0, 1, numRows - 1);
    }
}

From source file:com.google.gwt.sample.stockwatcher.client.ChartUtilities.java

public static FlexTable createFlexTable(String data[][]) {

    FlexTable table = new FlexTable();
    table.setBorderWidth(1);//w ww  .ja  v a 2s.com
    table.setCellPadding(5);
    table.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);

    for (int i = table.getRowCount(); i < data.length; i++) {
        for (int j = 0; j < data[i].length; j++) {
            table.setText(i, j, data[i][j]);
        }
    }

    return table;
}

From source file:com.google.gwt.sample.stockwatcher.client.ChartUtilities.java

public static FlexTable appendFlexTable(FlexTable ft, String data[][]) {
    ft.setBorderWidth(1);//from   www. ja  v a  2s .c  o  m
    ft.setCellPadding(5);
    ft.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);

    int rowCount = ft.getRowCount();

    for (int i = 0; i < data.length; i++) {
        for (int j = 0; j < data[i].length; j++) {
            ft.setText(i + rowCount, j, data[i][j]);
        }
    }

    return ft;
}