Example usage for com.google.gwt.visualization.client.visualizations AnnotatedTimeLine AnnotatedTimeLine

List of usage examples for com.google.gwt.visualization.client.visualizations AnnotatedTimeLine AnnotatedTimeLine

Introduction

In this page you can find the example usage for com.google.gwt.visualization.client.visualizations AnnotatedTimeLine AnnotatedTimeLine.

Prototype

public AnnotatedTimeLine(AbstractDataTable data, Options options, String width, String height) 

Source Link

Usage

From source file:com.facebook.tsdb.tsdash.client.plot.InteractivePlot.java

License:Apache License

@Override
public void render(final Command onRendered) {
    if (!APILoaded) {
        GWT.log("Loading the API...");
        VisualizationUtils.loadVisualizationApi(new Runnable() {
            @Override// ww w .j  a v a  2s  . c  o  m
            public void run() {
                APILoaded = true;
                GWT.log("API loaded");
                render(onRendered);
            }
        }, AnnotatedTimeLine.PACKAGE);
        return;
    }
    if (timeSeriesJSON == null) {
        GWT.log("cannot render: null data");
        return;
    }
    DataTable dataTable = DataTable.create(timeSeriesJSON.getJavaScriptObject());
    Widget w = (Widget) container;
    final AnnotatedTimeLine newChart = new AnnotatedTimeLine(dataTable, getChartOptions(),
            (w.getOffsetWidth() - 10) + "px", (w.getOffsetHeight() - 10) + "px");
    newChart.addReadyHandler(new ReadyHandler() {
        @Override
        public void onReady(ReadyEvent event) {
            endRender(newChart);
            onRendered.execute();
        }
    });
    startRender(newChart);
}

From source file:com.google.gwt.visualization.sample.visualizationshowcase.client.AnnotatedDemo.java

License:Apache License

@SuppressWarnings("deprecation")
public AnnotatedDemo() {
    @SuppressWarnings("unused")
    int year, month, day;
    Options options = Options.create();//from  ww  w . jav  a2  s .com
    options.setDisplayAnnotations(true);

    DataTable data = DataTable.create();
    data.addColumn(ColumnType.DATE, "Date");
    data.addColumn(ColumnType.NUMBER, "Sold Pencils");
    data.addColumn(ColumnType.STRING, "title1");
    data.addColumn(ColumnType.STRING, "text1");
    data.addColumn(ColumnType.NUMBER, "Sold Pens");
    data.addColumn(ColumnType.STRING, "title2");
    data.addColumn(ColumnType.STRING, "text2");
    data.addRows(6);
    try {
        data.setValue(0, 0, new Date(year = 2008 - 1900, month = 1, day = 1));
        data.setValue(1, 0, new Date(year = 2008 - 1900, month = 1, day = 2));
        data.setValue(2, 0, new Date(year = 2008 - 1900, month = 1, day = 3));
        data.setValue(3, 0, new Date(year = 2008 - 1900, month = 1, day = 4));
        data.setValue(4, 0, new Date(year = 2008 - 1900, month = 1, day = 5));
        data.setValue(5, 0, new Date(year = 2008 - 1900, month = 1, day = 6));
    } catch (JavaScriptException ex) {
        GWT.log("Error creating data table - Date bug on mac?", ex);
    }
    data.setValue(0, 1, 30000);
    data.setValue(0, 4, 40645);
    data.setValue(1, 1, 14045);
    data.setValue(1, 4, 20374);
    data.setValue(2, 1, 55022);
    data.setValue(2, 4, 50766);
    data.setValue(3, 1, 75284);
    data.setValue(3, 4, 14334);
    data.setValue(3, 5, "Out of Stock");
    data.setValue(3, 6, "Ran out of stock on pens at 4pm");
    data.setValue(4, 1, 41476);
    data.setValue(4, 2, "Bought 200k pens");
    data.setValue(4, 4, 66467);
    data.setValue(5, 1, 33322);
    data.setValue(5, 4, 39463);

    status.setText("'Ready' event was not yet fired");
    chart = new AnnotatedTimeLine(data, options, "700px", "240px");

    widget.add(chart);
    widget.add(status);
    widget.add(rangeStatus);

    addHandlers();
}

From source file:com.scalagent.appli.client.widget.QueueDetailWidget.java

License:Open Source License

@Override
public Widget asWidget() {

    queueDetailStack = new SectionStack();
    queueDetailStack.setVisibilityMode(VisibilityMode.MULTIPLE);
    queueDetailStack.setWidth100();/*from   w ww  .  ja  v a 2 s  .com*/
    queueDetailStack.setHeight100();

    refreshButton = new IButton();
    refreshButton.setAutoFit(Boolean.TRUE);
    refreshButton.setIcon("refresh.gif");
    refreshButton.setTitle(Application.messages.queueWidget_buttonRefresh_title());
    refreshButton.setPrompt(Application.messages.queueWidget_buttonRefresh_prompt());
    refreshButton.addClickHandler(new RefreshAllClickHandler(presenter));

    //    newQueueButton = new IButton();
    //    newQueueButton.setMargin(0);
    //    newQueueButton.setAutoFit(Boolean.TRUE);
    //    newQueueButton.setIcon("new.png");
    //    newQueueButton.setTitle(Application.messages.queueDetailWidget_buttonNewMessage_title());
    //    newQueueButton.setPrompt(Application.messages.queueDetailWidget_buttonNewMessage_prompt());
    //    newQueueButton.addClickHandler(new ClickHandler() {
    //      public void onClick(ClickEvent event) {
    //        drawForm(null);
    //      }
    //    });

    hl = new HLayout();
    hl.setHeight(22);
    hl.setPadding(5);
    hl.setMembersMargin(5);
    hl.addMember(refreshButton);
    //    hl.addMember(newQueueButton);

    DetailViewerField nameFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_NAME,
            Application.messages.queueWidget_nameFieldD_title());
    DetailViewerField creationDateFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_CREATIONDATE,
            Application.messages.queueWidget_creationDateFieldD_title());
    DetailViewerField DMQIdFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_DMQID,
            Application.messages.queueWidget_DMQIdFieldD_title());
    DetailViewerField destinationIdFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_DESTINATIONID,
            Application.messages.queueWidget_destinationIdFieldD_title());
    DetailViewerField nbMsgsDeliverSinceCreationFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_NBMSGSDELIVERSINCECREATION,
            Application.messages.queueWidget_nbMsgsDeliverSinceCreationFieldD_title());
    DetailViewerField nbMsgsReceiveSinceCreationFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_NBMSGSRECEIVESINCECREATION,
            Application.messages.queueWidget_nbMsgsReceiveSinceCreationFieldD_title());
    DetailViewerField nbMsgsSentToDMQSinceCreationFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.queueWidget_nbMsgsSentToDMQSinceCreationFieldD_title());
    DetailViewerField periodFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_PERIOD,
            Application.messages.queueWidget_periodFieldD_title());
    DetailViewerField rightsFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_RIGHTS,
            Application.messages.queueWidget_RightsFieldD_title());
    DetailViewerField freeReadingFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_FREEREADING,
            Application.messages.queueWidget_freeReadingFieldD_title());
    DetailViewerField freeWritingFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_FREEWRITING,
            Application.messages.queueWidget_freeWritingFieldD_title());
    DetailViewerField thresholdFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_THRESHOLD,
            Application.messages.queueWidget_thresholdFieldD_title());
    DetailViewerField waitingRequestCountFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_WAITINGREQUESTCOUNT,
            Application.messages.queueWidget_waitingRequestCountFieldD_title());
    DetailViewerField pendingMessageCountFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_PENDINGMESSAGECOUNT,
            Application.messages.queueWidget_pendingMessageCountFieldD_title());
    DetailViewerField deliveredMessagecountFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_DELIVEREDMESSAGECOUNT,
            Application.messages.queueWidget_deliveredMessageCountFieldD_title());
    DetailViewerField nbMaxMessFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_NBMAXMSG,
            Application.messages.queueWidget_nbMaxMessFieldD_title());
    freeReadingFieldD.setValueMap(etat);
    freeWritingFieldD.setValueMap(etat);

    queueDetailLeft = new DetailViewer();
    queueDetailLeft.setMargin(2);
    queueDetailLeft.setWidth("25%");
    queueDetailLeft.setLabelSuffix("");
    queueDetailLeft.setEmptyMessage(Application.messages.queueWidget_queueDetail_emptyMessage());
    queueDetailLeft.setFields(nameFieldD, creationDateFieldD, DMQIdFieldD, destinationIdFieldD,
            nbMsgsDeliverSinceCreationFieldD, nbMsgsReceiveSinceCreationFieldD,
            nbMsgsSentToDMQSinceCreationFieldD, periodFieldD);

    queueDetailRight = new DetailViewer();
    queueDetailRight.setMargin(2);
    queueDetailRight.setWidth("25%");
    queueDetailRight.setLabelSuffix("");
    queueDetailRight.setEmptyMessage(Application.messages.queueWidget_queueDetail_emptyMessage());
    queueDetailRight.setFields(rightsFieldD, freeReadingFieldD, freeWritingFieldD, thresholdFieldD,
            waitingRequestCountFieldD, pendingMessageCountFieldD, deliveredMessagecountFieldD, nbMaxMessFieldD);

    queueDetailRight.setData(new Record[] { new QueueListRecord(presenter.getQueue()) });
    queueDetailLeft.setData(new Record[] { new QueueListRecord(presenter.getQueue()) });

    chartWidth = (com.google.gwt.user.client.Window.getClientWidth() / 2) - 35;
    chart = new AnnotatedTimeLine(createTable(), createOptions(), chartWidth + "px", "170px");

    columnForm = new DynamicForm();
    columnForm.setNumCols(8);

    showReceivedBox = new CheckboxItem();
    showReceivedBox.setTitle(Application.messages.common_received());
    showReceivedBox.setValue(true);
    showReceivedBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showReceived = showReceivedBox.getValueAsBoolean().booleanValue();
            if (showReceived) {
                chart.showDataColumns(0);
            } else {
                chart.hideDataColumns(0);
            }
            enableDisableCheckbox();
        }
    });

    showDeliveredBox = new CheckboxItem();
    showDeliveredBox.setTitle(Application.messages.common_delivered());
    showDeliveredBox.setValue(true);
    showDeliveredBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showDelivered = showDeliveredBox.getValueAsBoolean().booleanValue();
            if (showDelivered) {
                chart.showDataColumns(1);
            } else {
                chart.hideDataColumns(1);
            }
            enableDisableCheckbox();
        }
    });

    showSentDMQBox = new CheckboxItem();
    showSentDMQBox.setTitle(Application.messages.common_sentDMQ());
    showSentDMQBox.setValue(true);
    showSentDMQBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showSentDMQ = showSentDMQBox.getValueAsBoolean().booleanValue();
            if (showSentDMQ) {
                chart.showDataColumns(2);
            } else {
                chart.hideDataColumns(2);
            }
            enableDisableCheckbox();
        }
    });

    showPendingBox = new CheckboxItem();
    showPendingBox.setTitle(Application.messages.common_pending());
    showPendingBox.setValue(true);
    showPendingBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showPending = showPendingBox.getValueAsBoolean().booleanValue();
            if (showPending) {
                chart.showDataColumns(3);
            } else {
                chart.hideDataColumns(3);
            }
            enableDisableCheckbox();
        }
    });

    columnForm.setFields(showReceivedBox, showDeliveredBox, showSentDMQBox, showPendingBox);

    queueChart = new VLayout();
    queueChart.setMargin(2);
    queueChart.setPadding(5);
    queueChart.setWidth("50%");
    queueChart.setHeight(175);
    queueChart.setAlign(Alignment.CENTER);
    queueChart.setAlign(VerticalAlignment.TOP);
    queueChart.setShowEdges(Boolean.TRUE);
    queueChart.setEdgeSize(1);
    queueChart.addMember(columnForm);
    queueChart.addMember(chart);
    queueChart.addDrawHandler(new DrawHandler() {
        public void onDraw(DrawEvent event) {
            redrawChart = true;
        }
    });

    hl2 = new HLayout();
    hl2.setMargin(2);
    hl2.setPadding(2);
    hl2.addMember(queueDetailLeft);
    hl2.addMember(queueDetailRight);
    hl2.addMember(queueChart);

    vl = new VLayout();
    vl.setPadding(0);
    vl.addMember(hl);
    vl.addMember(hl2);

    buttonSection = new SectionStackSection(Application.messages.queueDetailWidget_buttonSection_title());
    buttonSection.setExpanded(Boolean.TRUE);
    buttonSection.addItem(vl);

    // Liste

    messageList = new ListGrid() {

        @Override
        protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) {

            String fieldName = this.getFieldName(colNum);

            if (fieldName.equals("deleteField")) {

                IButton buttonDelete = new IButton();
                buttonDelete.setAutoFit(Boolean.TRUE);
                buttonDelete.setHeight(20);
                buttonDelete.setIcon("remove.png");
                buttonDelete.setTitle(Application.messages.queueDetailWidget_buttonDelete_title());
                buttonDelete.setPrompt(Application.messages.queueDetailWidget_buttonDelete_prompt());
                buttonDelete
                        .addClickHandler(new MessageDeleteClickHandler(presenter, (MessageListRecord) record));
                buttonDelete.setDisabled(true);

                return buttonDelete;

            } else if (fieldName.equals("editField")) {

                IButton buttonEdit = new IButton();
                buttonEdit.setAutoFit(Boolean.TRUE);
                buttonEdit.setHeight(20);
                buttonEdit.setIconSize(13);
                buttonEdit.setIcon("pencil.png");
                buttonEdit.setTitle(Application.messages.queueDetailWidget_buttonEdit_title());
                buttonEdit.setPrompt(Application.messages.queueDetailWidget_buttonEdit_prompt());
                buttonEdit.addClickHandler(new ClickHandler() {
                    public void onClick(ClickEvent event) {
                        drawForm((MessageListRecord) record);
                    }
                });
                buttonEdit.setDisabled(true);
                return buttonEdit;

            } else {
                return null;
            }
        }
    };

    messageList.setRecordComponentPoolingMode(RecordComponentPoolingMode.VIEWPORT);
    messageList.setAlternateRecordStyles(Boolean.TRUE);
    messageList.setShowRecordComponents(Boolean.TRUE);
    messageList.setShowRecordComponentsByCell(Boolean.TRUE);

    ListGridField idSFieldL = new ListGridField(MessageListRecord.ATTRIBUTE_IDS,
            Application.messages.queueDetailWidget_idFieldL_title());
    ListGridField deliverycountFieldL = new ListGridField(MessageListRecord.ATTRIBUTE_DELIVERYCOUNT,
            Application.messages.queueDetailWidget_deliveyCountFieldL_title());
    ListGridField priorityFieldL = new ListGridField(MessageListRecord.ATTRIBUTE_PRIORITY,
            Application.messages.queueDetailWidget_priorityFieldL_title());
    ListGridField typeFieldL = new ListGridField(MessageListRecord.ATTRIBUTE_TYPE,
            Application.messages.queueDetailWidget_typeFieldL_title());
    ListGridField deleteField = new ListGridField("deleteField",
            Application.messages.queueDetailWidget_deleteFieldL_title(), 114);
    deleteField.setAlign(Alignment.CENTER);
    ListGridField editField = new ListGridField("editField",
            Application.messages.queueDetailWidget_editFieldL_title(), 114);
    editField.setAlign(Alignment.CENTER);

    messageList.setFields(idSFieldL, deliverycountFieldL, priorityFieldL, typeFieldL, editField, deleteField);
    messageList.addRecordClickHandler(new RecordClickHandler() {
        public void onRecordClick(RecordClickEvent event) {
            messageDetailLeft.setData(new Record[] { event.getRecord() });
            messageDetailRight.setData(new Record[] { event.getRecord() });
        }
    });

    DetailViewerField idSFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_IDS,
            Application.messages.queueDetailWidget_idFieldD_title());
    DetailViewerField expirationFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_EXPIRATION,
            Application.messages.queueDetailWidget_expirationFieldD_title());
    DetailViewerField timestampFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_TIMESTAMP,
            Application.messages.queueDetailWidget_timestampFieldD_title());
    DetailViewerField deliverycountFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_DELIVERYCOUNT,
            Application.messages.queueDetailWidget_deliveyCountFieldD_title());
    DetailViewerField priorityFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_PRIORITY,
            Application.messages.queueDetailWidget_priorityFieldD_title());
    DetailViewerField typeFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_TYPE,
            Application.messages.queueDetailWidget_typeFieldD_title());
    DetailViewerField textFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_TEXT,
            Application.messages.queueDetailWidget_textFieldD_title());
    DetailViewerField propertiesFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_PROPERTIES,
            Application.messages.queueDetailWidget_propertiesFieldD_title());

    messageDetailLeft = new DetailViewer();
    messageDetailLeft.setMargin(2);
    messageDetailLeft.setWidth("50%");
    messageDetailLeft.setLabelSuffix("");
    messageDetailLeft.setEmptyMessage(Application.messages.queueDetailWidget_messageDetail_emptyMessage());
    messageDetailLeft.setFields(idSFieldD, expirationFieldD, timestampFieldD, deliverycountFieldD,
            priorityFieldD);

    messageDetailRight = new DetailViewer();
    messageDetailRight.setMargin(2);
    messageDetailRight.setWidth("50%");
    messageDetailRight.setLabelSuffix("");
    messageDetailRight.setEmptyMessage(Application.messages.queueDetailWidget_messageDetail_emptyMessage());
    messageDetailRight.setFields(typeFieldD, textFieldD, propertiesFieldD);

    //      queueChart = new VLayout();
    //      queueChart.setMargin(2);
    //      queueChart.setWidth("33%");
    //      queueChart.setShowEdges(Boolean.TRUE);
    //      queueChart.setAlign(Alignment.CENTER);
    //      queueChart.setAlign(VerticalAlignment.CENTER);

    queueView = new HLayout();
    queueView.setMargin(0);
    queueView.setPadding(2);
    queueView.addMember(messageDetailLeft);
    queueView.addMember(messageDetailRight);
    //      queueView.addMember(queueChart);

    // Section stack of the queue list
    listStackSection = new SectionStackSection(Application.messages.queueDetailWidget_listSection_title());
    listStackSection.setExpanded(Boolean.TRUE);
    listStackSection.addItem(messageList);

    // Section stack of the view (details & buttons)
    viewSection = new SectionStackSection(Application.messages.queueDetailWidget_detailsSection_title());
    viewSection.setExpanded(Boolean.TRUE);
    viewSection.addItem(queueView);
    viewSection.setCanReorder(Boolean.TRUE);

    queueDetailStack.addSection(buttonSection);
    queueDetailStack.addSection(listStackSection);
    queueDetailStack.addSection(viewSection);
    queueDetailStack.setCanResizeSections(Boolean.TRUE);

    presenter.initList();

    return queueDetailStack;

}

From source file:com.scalagent.appli.client.widget.QueueListWidget.java

License:Open Source License

@Override
public Widget asWidget() {

    SectionStack queueStack = new SectionStack();
    queueStack.setVisibilityMode(VisibilityMode.MULTIPLE);
    queueStack.setWidth100();// ww w. j a  v a2s  .  c  o  m
    queueStack.setHeight100();

    refreshButton = new IButton();
    refreshButton.setAutoFit(Boolean.TRUE);
    refreshButton.setIcon("refresh.gif");
    refreshButton.setTitle(Application.messages.queueWidget_buttonRefresh_title());
    refreshButton.setPrompt(Application.messages.queueWidget_buttonRefresh_prompt());
    refreshButton.addClickHandler(new RefreshAllClickHandler(presenter));

    newQueueButton = new IButton();
    newQueueButton.setMargin(0);
    newQueueButton.setAutoFit(Boolean.TRUE);
    newQueueButton.setIcon("new.png");
    newQueueButton.setTitle(Application.messages.queueWidget_buttonNewQueue_title());
    newQueueButton.setPrompt(Application.messages.queueWidget_buttonNewQueue_prompt());
    newQueueButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            drawForm(null);
        }
    });

    hl = new HLayout();
    hl.setHeight(22);
    hl.setPadding(5);
    hl.setMembersMargin(5);
    hl.addMember(refreshButton);
    hl.addMember(newQueueButton);

    buttonSection = new SectionStackSection(Application.messages.queueWidget_buttonSection_title());
    buttonSection.setExpanded(Boolean.TRUE);
    buttonSection.addItem(hl);

    // Liste
    queueList = new ListGrid() {

        @Override
        protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) {

            String fieldName = this.getFieldName(colNum);

            if (fieldName.equals("browseField")) {

                IButton buttonBrowse = new IButton();
                buttonBrowse.setAutoFit(Boolean.TRUE);
                buttonBrowse.setHeight(20);
                buttonBrowse.setIconSize(13);
                buttonBrowse.setIcon("view_right_p.png");
                buttonBrowse.setTitle(Application.messages.queueWidget_buttonBrowse_title());
                buttonBrowse.setPrompt(Application.messages.queueWidget_buttonBrowse_prompt());
                buttonBrowse.addClickHandler(new QueueDetailsClickHandler(presenter, (QueueListRecord) record));

                return buttonBrowse;

            } else if (fieldName.equals("actionField")) {

                VLayout vl = new VLayout();
                vl.setWidth(130);
                vl.setHeight(30);
                vl.setAlign(Alignment.CENTER);

                Label lab1 = new Label(Application.messages.queueWidget_labelClearWaitingRequests_title());
                lab1.setTooltip(Application.messages.queueWidget_labelClearWaitingRequests_tooltip());
                lab1.addClickHandler(new ClearWaintingRequestClickHandler(presenter, (QueueListRecord) record));
                setAllParam(lab1);

                Label lab2 = new Label(Application.messages.queueWidget_labelClearPendingMessages_title());
                lab2.setTooltip(Application.messages.queueWidget_labelClearPendingMessages_tooltip());
                lab2.addClickHandler(new ClearPendingMessageClickHandler(presenter, (QueueListRecord) record));
                setAllParam(lab2);

                vl.addMember(lab1);
                vl.addMember(lab2);

                return vl;

            } else if (fieldName.equals("deleteField")) {

                IButton buttonDelete = new IButton();
                buttonDelete.setAutoFit(Boolean.TRUE);
                buttonDelete.setHeight(20);
                buttonDelete.setIconSize(13);
                buttonDelete.setIcon("remove.png");
                buttonDelete.setTitle(Application.messages.queueWidget_buttonDelete_title());
                buttonDelete.setPrompt(Application.messages.queueWidget_buttonDelete_prompt());
                buttonDelete.addClickHandler(new QueueDeleteClickHandler(presenter, (QueueListRecord) record));

                return buttonDelete;

            } else if (fieldName.equals("editField")) {

                IButton buttonEdit = new IButton();
                buttonEdit.setAutoFit(Boolean.TRUE);
                buttonEdit.setHeight(20);
                buttonEdit.setIconSize(13);
                buttonEdit.setIcon("pencil.png");
                buttonEdit.setTitle(Application.messages.queueWidget_buttonEdit_title());
                buttonEdit.setPrompt(Application.messages.queueWidget_buttonEdit_prompt());
                buttonEdit.addClickHandler(new ClickHandler() {
                    public void onClick(ClickEvent event) {
                        drawForm((QueueListRecord) record);
                    }
                });
                return buttonEdit;

            } else {
                return null;
            }
        }
    };

    queueList.setRecordComponentPoolingMode(RecordComponentPoolingMode.VIEWPORT);
    queueList.setAlternateRecordStyles(Boolean.TRUE);
    queueList.setShowRecordComponents(Boolean.TRUE);
    queueList.setShowRecordComponentsByCell(Boolean.TRUE);
    queueList.setCellHeight(34);

    ListGridField nameFieldL = new ListGridField(QueueListRecord.ATTRIBUTE_NAME,
            Application.messages.queueWidget_nameFieldL_title(), 100);
    ListGridField nbMsgsDeliverSinceCreationFieldL = new ListGridField(
            QueueListRecord.ATTRIBUTE_NBMSGSDELIVERSINCECREATION,
            Application.messages.queueWidget_nbMsgsDeliverSinceCreationFieldL_title());
    ListGridField nbMsgsRecieveSinceCreationFieldL = new ListGridField(
            QueueListRecord.ATTRIBUTE_NBMSGSRECEIVESINCECREATION,
            Application.messages.queueWidget_nbMsgsReceiveSinceCreationFieldL_title());
    ListGridField nbMsgsSentToDMQSinceCreationFieldL = new ListGridField(
            QueueListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.queueWidget_nbMsgsSentToDMQSinceCreationFieldL_title());
    ListGridField waitingRequestCountFieldL = new ListGridField(QueueListRecord.ATTRIBUTE_WAITINGREQUESTCOUNT,
            Application.messages.queueWidget_waitingRequestFieldL_title());
    ListGridField pendingMessageCountFieldL = new ListGridField(QueueListRecord.ATTRIBUTE_PENDINGMESSAGECOUNT,
            Application.messages.queueWidget_pendingMessageFieldL_title());
    ListGridField browseField = new ListGridField("browseField",
            Application.messages.queueWidget_browseFieldL_title(), 110);
    browseField.setAlign(Alignment.CENTER);
    ListGridField actionField = new ListGridField("actionField",
            Application.messages.queueWidget_actionFieldL_title(), 130);
    actionField.setAlign(Alignment.CENTER);
    ListGridField deleteField = new ListGridField("deleteField",
            Application.messages.queueWidget_deleteFieldL_title(), 114);
    deleteField.setAlign(Alignment.CENTER);
    ListGridField editField = new ListGridField("editField",
            Application.messages.queueWidget_editFieldL_title(), 60);
    editField.setAlign(Alignment.CENTER);

    queueList.setFields(nameFieldL, nbMsgsDeliverSinceCreationFieldL, nbMsgsRecieveSinceCreationFieldL,
            nbMsgsSentToDMQSinceCreationFieldL, waitingRequestCountFieldL, pendingMessageCountFieldL,
            browseField, actionField, editField, deleteField);
    queueList.addRecordClickHandler(new RecordClickHandler() {

        public void onRecordClick(RecordClickEvent event) {
            queueDetailLeft.setData(new Record[] { event.getRecord() });
            queueDetailRight.setData(new Record[] { event.getRecord() });
            redrawChart(false);
        }
    });

    DetailViewerField nameFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_NAME,
            Application.messages.queueWidget_nameFieldD_title());
    DetailViewerField creationDateFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_CREATIONDATE,
            Application.messages.queueWidget_creationDateFieldD_title());
    DetailViewerField DMQIdFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_DMQID,
            Application.messages.queueWidget_DMQIdFieldD_title());
    DetailViewerField destinationIdFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_DESTINATIONID,
            Application.messages.queueWidget_destinationIdFieldD_title());
    DetailViewerField nbMsgsDeliverSinceCreationFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_NBMSGSDELIVERSINCECREATION,
            Application.messages.queueWidget_nbMsgsDeliverSinceCreationFieldD_title());
    DetailViewerField nbMsgsReceiveSinceCreationFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_NBMSGSRECEIVESINCECREATION,
            Application.messages.queueWidget_nbMsgsReceiveSinceCreationFieldD_title());
    DetailViewerField nbMsgsSentToDMQSinceCreationFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.queueWidget_nbMsgsSentToDMQSinceCreationFieldD_title());
    DetailViewerField periodFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_PERIOD,
            Application.messages.queueWidget_periodFieldD_title());
    DetailViewerField rightsFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_RIGHTS,
            Application.messages.queueWidget_RightsFieldD_title());
    DetailViewerField freeReadingFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_FREEREADING,
            Application.messages.queueWidget_freeReadingFieldD_title());
    DetailViewerField freeWritingFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_FREEWRITING,
            Application.messages.queueWidget_freeWritingFieldD_title());
    DetailViewerField thresholdFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_THRESHOLD,
            Application.messages.queueWidget_thresholdFieldD_title());
    DetailViewerField waitingRequestCountFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_WAITINGREQUESTCOUNT,
            Application.messages.queueWidget_waitingRequestCountFieldD_title());
    DetailViewerField pendingMessageCountFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_PENDINGMESSAGECOUNT,
            Application.messages.queueWidget_pendingMessageCountFieldD_title());
    DetailViewerField deliveredMessagecountFieldD = new DetailViewerField(
            QueueListRecord.ATTRIBUTE_DELIVEREDMESSAGECOUNT,
            Application.messages.queueWidget_deliveredMessageCountFieldD_title());
    DetailViewerField nbMaxMessFieldD = new DetailViewerField(QueueListRecord.ATTRIBUTE_NBMAXMSG,
            Application.messages.queueWidget_nbMaxMessFieldD_title());
    freeReadingFieldD.setValueMap(etat);
    freeWritingFieldD.setValueMap(etat);

    queueDetailLeft = new DetailViewer();
    queueDetailLeft.setMargin(2);
    queueDetailLeft.setWidth("25%");
    queueDetailLeft.setLabelSuffix("");
    queueDetailLeft.setEmptyMessage(Application.messages.queueWidget_queueDetail_emptyMessage());
    queueDetailLeft.setFields(nameFieldD, creationDateFieldD, DMQIdFieldD, destinationIdFieldD,
            nbMsgsDeliverSinceCreationFieldD, nbMsgsReceiveSinceCreationFieldD,
            nbMsgsSentToDMQSinceCreationFieldD, periodFieldD);

    queueDetailRight = new DetailViewer();
    queueDetailRight.setMargin(2);
    queueDetailRight.setWidth("25%");
    queueDetailRight.setLabelSuffix("");
    queueDetailRight.setEmptyMessage(Application.messages.queueWidget_queueDetail_emptyMessage());
    queueDetailRight.setFields(rightsFieldD, freeReadingFieldD, freeWritingFieldD, thresholdFieldD,
            waitingRequestCountFieldD, pendingMessageCountFieldD, deliveredMessagecountFieldD, nbMaxMessFieldD);

    chartWidth = (com.google.gwt.user.client.Window.getClientWidth() / 2) - 45;
    chart = new AnnotatedTimeLine(createTable(), createOptions(true), chartWidth + "px", "200px");

    columnForm = new DynamicForm();
    columnForm.setNumCols(8);

    showReceivedBox = new CheckboxItem();
    showReceivedBox.setTitle(Application.messages.common_received());
    showReceivedBox.setValue(true);
    showReceivedBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showReceived = showReceivedBox.getValueAsBoolean().booleanValue();
            if (showReceived) {
                chart.showDataColumns(0);
            } else {
                chart.hideDataColumns(0);
            }
            enableDisableCheckbox();
        }
    });

    showDeliveredBox = new CheckboxItem();
    showDeliveredBox.setTitle(Application.messages.common_delivered());
    showDeliveredBox.setValue(true);
    showDeliveredBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showDelivered = showDeliveredBox.getValueAsBoolean().booleanValue();
            if (showDelivered) {
                chart.showDataColumns(1);
            } else {
                chart.hideDataColumns(1);
            }
            enableDisableCheckbox();
        }
    });

    showSentDMQBox = new CheckboxItem();
    showSentDMQBox.setTitle(Application.messages.common_sentDMQ());
    showSentDMQBox.setValue(true);
    showSentDMQBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showSentDMQ = showSentDMQBox.getValueAsBoolean().booleanValue();
            if (showSentDMQ) {
                chart.showDataColumns(2);
            } else {
                chart.hideDataColumns(2);
            }
            enableDisableCheckbox();
        }
    });

    showPendingBox = new CheckboxItem();
    showPendingBox.setTitle(Application.messages.common_pending());
    showPendingBox.setValue(true);
    showPendingBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showPending = showPendingBox.getValueAsBoolean().booleanValue();
            if (showPending) {
                chart.showDataColumns(3);
            } else {
                chart.hideDataColumns(3);
            }
            enableDisableCheckbox();
        }
    });

    columnForm.setFields(showReceivedBox, showDeliveredBox, showSentDMQBox, showPendingBox);

    queueChart = new VLayout();
    queueChart.setMargin(2);
    queueChart.setPadding(5);
    queueChart.setWidth("50%");
    queueChart.setHeight(220);
    queueChart.setAlign(Alignment.CENTER);
    queueChart.setAlign(VerticalAlignment.TOP);
    queueChart.setShowEdges(Boolean.TRUE);
    queueChart.setEdgeSize(1);
    queueChart.addMember(columnForm);
    queueChart.addMember(chart);

    queueChart.addDrawHandler(new DrawHandler() {
        @Override
        public void onDraw(DrawEvent event) {
            redrawChart = true;
        }
    });

    queueView = new HLayout();
    queueView.setMargin(2);
    queueView.setPadding(2);
    queueView.addMember(queueDetailLeft);
    queueView.addMember(queueDetailRight);
    queueView.addMember(queueChart);

    // Section stack of the queue list
    listStackSection = new SectionStackSection(Application.messages.queueWidget_listStackSection_title());
    listStackSection.setExpanded(Boolean.TRUE);
    listStackSection.addItem(queueList);

    // Section stack of the view (details & buttons)
    viewSection = new SectionStackSection(Application.messages.queueWidget_viewSection_title());
    viewSection.setExpanded(Boolean.TRUE);
    viewSection.addItem(queueView);
    viewSection.setCanReorder(Boolean.TRUE);

    queueStack.addSection(buttonSection);
    queueStack.addSection(listStackSection);
    queueStack.addSection(viewSection);
    queueStack.setCanResizeSections(Boolean.TRUE);

    return queueStack;
}

From source file:com.scalagent.appli.client.widget.ServerWidget.java

License:Open Source License

@Override
public Widget asWidget() {
    vShowNetwork.trimToSize();/* w  w  w . ja  v a  2s . c o  m*/
    vShowNetworkBox.trimToSize();

    int pageWidth = com.google.gwt.user.client.Window.getClientWidth();
    refreshButton = new IButton();
    refreshButton.setMargin(0);
    refreshButton.setAutoFit(Boolean.TRUE);
    refreshButton.setIcon("refresh.gif");
    refreshButton.setTitle(Application.messages.queueWidget_buttonRefresh_title());
    refreshButton.setPrompt(Application.messages.queueWidget_buttonRefresh_prompt());
    refreshButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            presenter.refreshAll();
            redrawChart();
        }
    });

    countLabel = new Label(Application.messages.serverWidget_count());
    countLabel.setHeight(20);
    countLabel.setStyleName("title1");
    countChart = new AnnotatedTimeLine(createTableCount(), createOptions(), (pageWidth - 50) + "px", "200px");

    countForm = new DynamicForm();
    countForm.setNumCols(8);

    showQueueBox = new CheckboxItem();
    showQueueBox.setTitle(Application.messages.serverWidget_queues());
    showQueueBox.setValue(true);
    showQueueBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showQueue = showQueueBox.getValueAsBoolean().booleanValue();
            if (showQueue) {
                countChart.showDataColumns(0);
            } else {
                countChart.hideDataColumns(0);
            }
            enableDisableCheckboxCount();
        }
    });

    showTopicBox = new CheckboxItem();
    showTopicBox.setTitle(Application.messages.serverWidget_topics());
    showTopicBox.setValue(true);
    showTopicBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showTopic = showTopicBox.getValueAsBoolean().booleanValue();
            if (showTopic) {
                countChart.showDataColumns(1);
            } else {
                countChart.hideDataColumns(1);
            }
            enableDisableCheckboxCount();
        }
    });

    showUserBox = new CheckboxItem();
    showUserBox.setTitle(Application.messages.serverWidget_users());
    showUserBox.setValue(true);
    showUserBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showUser = showUserBox.getValueAsBoolean().booleanValue();
            if (showUser) {
                countChart.showDataColumns(2);
            } else {
                countChart.hideDataColumns(2);
            }
            enableDisableCheckboxCount();
        }
    });

    showSubBox = new CheckboxItem();
    showSubBox.setTitle(Application.messages.serverWidget_subscriptions());
    showSubBox.setValue(true);
    showSubBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showSub = showSubBox.getValueAsBoolean().booleanValue();
            if (showSub) {
                countChart.showDataColumns(3);
            } else {
                countChart.hideDataColumns(3);
            }
            enableDisableCheckboxCount();
        }
    });

    countForm.setFields(showQueueBox, showTopicBox, showUserBox, showSubBox);

    vCount = new VLayout();
    vCount.addMember(countLabel);
    vCount.addMember(countForm);
    vCount.addMember(countChart);

    serverLabel = new Label(Application.messages.serverWidget_engine());
    serverLabel.setHeight(20);
    serverLabel.setStyleName("title1");
    serverChart = new AnnotatedTimeLine(createTableServer(), createOptions(), (pageWidth - 50) + "px", "200px");

    serverForm = new DynamicForm();
    serverForm.setNumCols(6);

    showEngineBox = new CheckboxItem();
    showEngineBox.setTitle("Engine");
    showEngineBox.setValue(true);
    showEngineBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showEngine = showEngineBox.getValueAsBoolean();
            enableDisableCheckboxEngine();
            redrawChart();
        }
    });

    for (int it = 0; it < vShowNetworkBox.size(); it++) {

        final CheckboxItem check = new CheckboxItem();
        check.setTitle("Network " + it);
        check.setValue(true);
        final int fit = it;
        check.addChangedHandler(new ChangedHandler() {
            public void onChanged(ChangedEvent event) {
                vShowNetwork.set(fit, check.getValueAsBoolean());
                enableDisableCheckboxEngine();
                redrawChart();
            }
        });
        vShowNetworkBox.setElementAt(check, it);
    }
    enableDisableCheckboxEngine();

    CheckboxItem[] arrNetwork = new CheckboxItem[vShowNetworkBox.size()];
    vShowNetworkBox.toArray(arrNetwork);

    CheckboxItem[] arrServer = new CheckboxItem[vShowNetworkBox.size() + 1];
    arrServer[0] = showEngineBox;
    for (int i = 1; i < arrServer.length; i++) {
        arrServer[i] = arrNetwork[i - 1];
    }
    serverForm.setFields(arrServer);

    vServer = new VLayout();
    vServer.addMember(serverLabel);
    vServer.addMember(serverChart);
    vServer.addMember(serverForm);

    h1 = new HLayout();
    h1.addMember(vCount);

    h2 = new HLayout();
    h2.addMember(vServer);

    vl = new VLayout();
    vl.setWidth100();
    vl.setHeight100();
    vl.setPadding(2);
    vl.addDrawHandler(new DrawHandler() {
        public void onDraw(DrawEvent event) {
            redrawChart = true;
        }
    });
    vl.addMember(refreshButton);
    vl.addMember(h1);
    vl.addMember(h2);

    return vl;
}

From source file:com.scalagent.appli.client.widget.SubscriptionDetailWidget.java

License:Open Source License

@Override
public Widget asWidget() {

    subDetailStack = new SectionStack();
    subDetailStack.setVisibilityMode(VisibilityMode.MULTIPLE);
    subDetailStack.setWidth100();//from  w w  w.j ava  2 s. co  m
    subDetailStack.setHeight100();

    refreshButton = new IButton();
    refreshButton.setAutoFit(Boolean.TRUE);
    refreshButton.setIcon("refresh.gif");
    refreshButton.setTitle(Application.messages.queueWidget_buttonRefresh_title());
    refreshButton.setPrompt(Application.messages.queueWidget_buttonRefresh_prompt());
    refreshButton.addClickHandler(new RefreshAllClickHandler(presenter));

    //    newQueueButton = new IButton();
    //    newQueueButton.setMargin(0);
    //    newQueueButton.setAutoFit(Boolean.TRUE);
    //    newQueueButton.setIcon("new.png");
    //    newQueueButton.setTitle(Application.messages.queueDetailWidget_buttonNewMessage_title());
    //    newQueueButton.setPrompt(Application.messages.queueDetailWidget_buttonNewMessage_prompt());
    //    newQueueButton.addClickHandler(new ClickHandler() {
    //      public void onClick(ClickEvent event) {
    //        drawForm(null);
    //      }
    //    });

    hl = new HLayout();
    hl.setHeight(22);
    hl.setPadding(5);
    hl.setMembersMargin(5);
    hl.addMember(refreshButton);
    //    hl.addMember(newQueueButton);

    DetailViewerField nameFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_NAME,
            Application.messages.subscriptionWidget_nameFieldD_title());
    DetailViewerField activeFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_ACTIVE,
            Application.messages.subscriptionWidget_activeFieldD_title());
    DetailViewerField nbMaxMsgFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_NBMAXMSG,
            Application.messages.subscriptionWidget_nbMaxMsgsFieldD_title());
    DetailViewerField contextIDFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_CONTEXTID,
            Application.messages.subscriptionWidget_contextIdFieldD_title());
    DetailViewerField nbMsgsDeliveredSinceCreationFieldD = new DetailViewerField(
            SubscriptionListRecord.ATTRIBUTE_NBMSGSDELIVEREDSINCECREATION,
            Application.messages.subscriptionWidget_msgsDeliveredFieldD_title());
    DetailViewerField nbMsgsSentToDMQSinceCreationFieldD = new DetailViewerField(
            SubscriptionListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.subscriptionWidget_msgsSentFieldD_title());
    DetailViewerField pendingMessageCountFieldD = new DetailViewerField(
            SubscriptionListRecord.ATTRIBUTE_PENDINGMESSAGECOUNT,
            Application.messages.subscriptionWidget_pendingFieldD_title());
    DetailViewerField selectorFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_SELECTOR,
            Application.messages.subscriptionWidget_selectorFieldD_title());
    DetailViewerField subRequestIdFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_SUBREQUESTID,
            Application.messages.subscriptionWidget_subRequestFieldD_title());

    subDetailLeft = new DetailViewer();
    subDetailLeft.setMargin(2);
    subDetailLeft.setWidth("25%");
    subDetailLeft.setLabelSuffix("");
    subDetailLeft.setFields(nameFieldD, activeFieldD, nbMaxMsgFieldD, contextIDFieldD,
            nbMsgsDeliveredSinceCreationFieldD);

    subDetailRight = new DetailViewer();
    subDetailRight.setMargin(2);
    subDetailRight.setWidth("25%");
    subDetailRight.setLabelSuffix("");
    subDetailRight.setFields(nbMsgsSentToDMQSinceCreationFieldD, pendingMessageCountFieldD, selectorFieldD,
            subRequestIdFieldD);

    subDetailLeft.setData(new Record[] { new SubscriptionListRecord(presenter.getSubscription()) });
    subDetailRight.setData(new Record[] { new SubscriptionListRecord(presenter.getSubscription()) });

    chartWidth = (com.google.gwt.user.client.Window.getClientWidth() / 2) - 35;
    chart = new AnnotatedTimeLine(createTable(), createOptions(), chartWidth + "px", "170px");

    columnForm = new DynamicForm();
    columnForm.setNumCols(8);

    showDeliveredBox = new CheckboxItem();
    showDeliveredBox.setTitle(Application.messages.common_delivered());
    showDeliveredBox.setValue(true);
    showDeliveredBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showDelivered = showDeliveredBox.getValueAsBoolean().booleanValue();
            if (showDelivered) {
                chart.showDataColumns(1);
            } else {
                chart.hideDataColumns(1);
            }
            enableDisableCheckbox();
        }
    });

    showSentDMQBox = new CheckboxItem();
    showSentDMQBox.setTitle(Application.messages.common_sentDMQ());
    showSentDMQBox.setValue(true);
    showSentDMQBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showSentDMQ = showSentDMQBox.getValueAsBoolean().booleanValue();
            if (showSentDMQ) {
                chart.showDataColumns(2);
            } else {
                chart.hideDataColumns(2);
            }
            enableDisableCheckbox();
        }
    });

    showPendingBox = new CheckboxItem();
    showPendingBox.setTitle(Application.messages.common_pending());
    showPendingBox.setValue(true);
    showPendingBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showPending = showPendingBox.getValueAsBoolean().booleanValue();
            if (showPending) {
                chart.showDataColumns(0);
            } else {
                chart.hideDataColumns(0);
            }
            enableDisableCheckbox();
        }
    });

    columnForm.setFields(showDeliveredBox, showSentDMQBox, showPendingBox);

    queueChart = new VLayout();
    queueChart.setMargin(2);
    queueChart.setPadding(5);
    queueChart.setWidth("50%");
    queueChart.setHeight(175);
    queueChart.setAlign(Alignment.CENTER);
    queueChart.setAlign(VerticalAlignment.TOP);
    queueChart.setShowEdges(Boolean.TRUE);
    queueChart.setEdgeSize(1);
    queueChart.addMember(columnForm);
    queueChart.addMember(chart);
    queueChart.addDrawHandler(new DrawHandler() {
        public void onDraw(DrawEvent event) {
            redrawChart = true;
        }
    });

    hl2 = new HLayout();
    hl2.setMargin(2);
    hl2.setPadding(2);
    hl2.addMember(subDetailLeft);
    hl2.addMember(subDetailRight);
    hl2.addMember(queueChart);

    vl = new VLayout();
    vl.setPadding(0);
    vl.addMember(hl);
    vl.addMember(hl2);

    buttonSection = new SectionStackSection(
            Application.messages.subscriptionDetailWidget_subscriptionDetailsSection_title());
    buttonSection.setExpanded(Boolean.TRUE);
    buttonSection.addItem(vl);

    // Liste

    messageList = new ListGrid() {

        @Override
        protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) {

            String fieldName = this.getFieldName(colNum);

            if (fieldName.equals("deleteField")) {

                IButton buttonDelete = new IButton();
                buttonDelete.setAutoFit(Boolean.TRUE);
                buttonDelete.setHeight(20);
                buttonDelete.setIcon("remove.png");
                buttonDelete.setTitle(Application.messages.queueDetailWidget_buttonDelete_title());
                buttonDelete.setPrompt(Application.messages.queueDetailWidget_buttonDelete_prompt());
                buttonDelete
                        .addClickHandler(new MessageDeleteClickHandler(presenter, (MessageListRecord) record));

                return buttonDelete;

            } else {
                return null;
            }
        }
    };

    messageList.setRecordComponentPoolingMode(RecordComponentPoolingMode.VIEWPORT);
    messageList.setAlternateRecordStyles(Boolean.TRUE);
    messageList.setShowRecordComponents(Boolean.TRUE);
    messageList.setShowRecordComponentsByCell(Boolean.TRUE);

    ListGridField idSFieldL = new ListGridField(MessageListRecord.ATTRIBUTE_IDS,
            Application.messages.queueDetailWidget_idFieldL_title());
    ListGridField deliverycountFieldL = new ListGridField(MessageListRecord.ATTRIBUTE_DELIVERYCOUNT,
            Application.messages.queueDetailWidget_deliveyCountFieldL_title());
    ListGridField priorityFieldL = new ListGridField(MessageListRecord.ATTRIBUTE_PRIORITY,
            Application.messages.queueDetailWidget_priorityFieldL_title());
    ListGridField typeFieldL = new ListGridField(MessageListRecord.ATTRIBUTE_TYPE,
            Application.messages.queueDetailWidget_typeFieldL_title());
    ListGridField deleteField = new ListGridField("deleteField",
            Application.messages.queueDetailWidget_deleteFieldL_title(), 114);
    deleteField.setAlign(Alignment.CENTER);

    messageList.setFields(idSFieldL, deliverycountFieldL, priorityFieldL, typeFieldL, deleteField);
    messageList.addRecordClickHandler(new RecordClickHandler() {
        public void onRecordClick(RecordClickEvent event) {
            messageDetailLeft.setData(new Record[] { event.getRecord() });
            messageDetailRight.setData(new Record[] { event.getRecord() });
        }
    });

    DetailViewerField idSFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_IDS,
            Application.messages.queueDetailWidget_idFieldD_title());
    DetailViewerField expirationFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_EXPIRATION,
            Application.messages.queueDetailWidget_expirationFieldD_title());
    DetailViewerField timestampFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_TIMESTAMP,
            Application.messages.queueDetailWidget_timestampFieldD_title());
    DetailViewerField deliverycountFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_DELIVERYCOUNT,
            Application.messages.queueDetailWidget_deliveyCountFieldD_title());
    DetailViewerField priorityFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_PRIORITY,
            Application.messages.queueDetailWidget_priorityFieldD_title());
    DetailViewerField typeFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_TYPE,
            Application.messages.queueDetailWidget_typeFieldD_title());
    DetailViewerField textFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_TEXT,
            Application.messages.queueDetailWidget_textFieldD_title());
    DetailViewerField propertiesFieldD = new DetailViewerField(MessageListRecord.ATTRIBUTE_PROPERTIES,
            Application.messages.queueDetailWidget_propertiesFieldD_title());

    messageDetailLeft = new DetailViewer();
    messageDetailLeft.setMargin(2);
    messageDetailLeft.setWidth("50%");
    messageDetailLeft.setLabelSuffix("");
    messageDetailLeft
            .setEmptyMessage(Application.messages.subscriptionDetailWidget_messageDetail_emptyMessage());
    messageDetailLeft.setFields(idSFieldD, expirationFieldD, timestampFieldD, deliverycountFieldD,
            priorityFieldD);

    messageDetailRight = new DetailViewer();
    messageDetailRight.setMargin(2);
    messageDetailRight.setWidth("50%");
    messageDetailRight.setLabelSuffix("");
    messageDetailRight
            .setEmptyMessage(Application.messages.subscriptionDetailWidget_messageDetail_emptyMessage());
    messageDetailRight.setFields(typeFieldD, textFieldD, propertiesFieldD);

    queueView = new HLayout();
    queueView.setMargin(0);
    queueView.setPadding(2);
    queueView.addMember(messageDetailLeft);
    queueView.addMember(messageDetailRight);

    // Section stack of the queue list
    listStackSection = new SectionStackSection(
            Application.messages.subscriptionDetailWidget_messagesSection_title());
    listStackSection.setExpanded(Boolean.TRUE);
    listStackSection.addItem(messageList);

    // Section stack of the view (details & buttons)
    viewSection = new SectionStackSection(
            Application.messages.subscriptionDetailWidget_messageDetailsSection_title());
    viewSection.setExpanded(Boolean.TRUE);
    viewSection.addItem(queueView);
    viewSection.setCanReorder(Boolean.TRUE);

    subDetailStack.addSection(buttonSection);
    subDetailStack.addSection(listStackSection);
    subDetailStack.addSection(viewSection);
    subDetailStack.setCanResizeSections(Boolean.TRUE);

    presenter.initList();

    return subDetailStack;

}

From source file:com.scalagent.appli.client.widget.SubscriptionListWidget.java

License:Open Source License

@Override
public Widget asWidget() {

    subStack = new SectionStack();
    subStack.setVisibilityMode(VisibilityMode.MULTIPLE);
    subStack.setWidth100();//from   ww  w.j ava  2s . co m
    subStack.setHeight100();

    refreshButton = new IButton();
    refreshButton.setAutoFit(Boolean.TRUE);
    refreshButton.setIcon("refresh.gif");
    refreshButton.setTitle(Application.messages.queueWidget_buttonRefresh_title());
    refreshButton.setPrompt(Application.messages.queueWidget_buttonRefresh_prompt());
    refreshButton.addClickHandler(new RefreshAllClickHandler(presenter));

    //    newSubButton = new IButton();
    //    newSubButton.setMargin(0);
    //    newSubButton.setAutoFit(Boolean.TRUE);
    //    newSubButton.setIcon("new.png");
    //    newSubButton.setTitle(Application.messages.subscriptionWidget_buttonNewSubscription_title());
    //    newSubButton.setPrompt(Application.messages.subscriptionWidget_buttonNewSubscription_prompt());
    //    newSubButton.addClickHandler(new ClickHandler() {
    //      public void onClick(ClickEvent event) {
    //        drawForm(null);
    //      }
    //    });

    hl = new HLayout();
    hl.setHeight(22);
    hl.setPadding(5);
    hl.setMembersMargin(5);
    hl.addMember(refreshButton);
    //    hl.addMember(newSubButton);

    buttonSection = new SectionStackSection(Application.messages.subscriptionWidget_actionsSection_title());
    buttonSection.setExpanded(Boolean.TRUE);
    buttonSection.addItem(hl);

    subList = new ListGrid() {

        @Override
        protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) {

            String fieldName = this.getFieldName(colNum);

            if (fieldName.equals("browseField")) {

                IButton buttonBrowse = new IButton();
                buttonBrowse.setAutoFit(Boolean.TRUE);
                buttonBrowse.setHeight(20);
                buttonBrowse.setIconSize(13);
                buttonBrowse.setIcon("view_right_p.png");
                buttonBrowse.setTitle(Application.messages.queueWidget_buttonBrowse_title());
                buttonBrowse.setPrompt(Application.messages.queueWidget_buttonBrowse_prompt());
                buttonBrowse.addClickHandler(
                        new SubscriptionDetailsClickHandler(presenter, (SubscriptionListRecord) record));

                return buttonBrowse;

            } else if (fieldName.equals("deleteField")) {

                IButton buttonDelete = new IButton();
                buttonDelete.setAutoFit(Boolean.TRUE);
                buttonDelete.setHeight(20);
                buttonDelete.setIconSize(13);
                buttonDelete.setIcon("remove.png");
                buttonDelete.setTitle(Application.messages.subscriptionWidget_buttonDelete_title());
                buttonDelete.setPrompt(Application.messages.subscriptionWidget_buttonDelete_prompt());
                buttonDelete.addClickHandler(
                        new SubscriptionDeleteClickHandler(presenter, (SubscriptionListRecord) record));
                buttonDelete.setDisabled(true);

                return buttonDelete;

            } else if (fieldName.equals("editField")) {

                IButton buttonEdit = new IButton();
                buttonEdit.setAutoFit(Boolean.TRUE);
                buttonEdit.setHeight(20);
                buttonEdit.setIconSize(13);
                buttonEdit.setIcon("pencil.png");
                buttonEdit.setTitle(Application.messages.subscriptionWidget_buttonEdit_title());
                buttonEdit.setPrompt(Application.messages.subscriptionWidget_buttonEdit_prompt());
                buttonEdit.addClickHandler(new ClickHandler() {
                    public void onClick(ClickEvent event) {
                        drawForm((SubscriptionListRecord) record);
                    }
                });
                return buttonEdit;

            } else {
                return null;
            }
        }
    };
    subList.setRecordComponentPoolingMode(RecordComponentPoolingMode.VIEWPORT);
    subList.setAlternateRecordStyles(Boolean.TRUE);
    subList.setShowRecordComponents(Boolean.TRUE);
    subList.setShowRecordComponentsByCell(Boolean.TRUE);

    ListGridField nameFieldL = new ListGridField(SubscriptionListRecord.ATTRIBUTE_NAME,
            Application.messages.subscriptionWidget_nameFieldL_title());
    ListGridField activeFieldL = new ListGridField(SubscriptionListRecord.ATTRIBUTE_ACTIVE,
            Application.messages.subscriptionWidget_activeFieldL_title());
    ListGridField nbMsgsDeliveredSinceCreationFieldL = new ListGridField(
            SubscriptionListRecord.ATTRIBUTE_NBMSGSDELIVEREDSINCECREATION,
            Application.messages.subscriptionWidget_msgsDeliveredFieldL_title());
    ListGridField nbMsgsSentToDMQSinceCreationFieldL = new ListGridField(
            SubscriptionListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.subscriptionWidget_msgsSentFieldL_title());
    ListGridField pendingCountFieldL = new ListGridField(SubscriptionListRecord.ATTRIBUTE_PENDINGMESSAGECOUNT,
            Application.messages.subscriptionWidget_pendingFieldL_title());
    ListGridField browseField = new ListGridField("browseField",
            Application.messages.queueWidget_browseFieldL_title(), 110);
    browseField.setAlign(Alignment.CENTER);
    ListGridField editField = new ListGridField("editField",
            Application.messages.subscriptionWidget_editFieldL_title(), 110);
    editField.setAlign(Alignment.CENTER);
    ListGridField deleteField = new ListGridField("deleteField",
            Application.messages.subscriptionWidget_deleteFieldL_title(), 110);
    deleteField.setAlign(Alignment.CENTER);

    subList.setFields(nameFieldL, activeFieldL, nbMsgsDeliveredSinceCreationFieldL,
            nbMsgsSentToDMQSinceCreationFieldL, pendingCountFieldL, browseField, editField, deleteField);

    subList.addRecordClickHandler(new RecordClickHandler() {

        @Override
        public void onRecordClick(RecordClickEvent event) {
            subDetailLeft.setData(new Record[] { event.getRecord() });
            subDetailRight.setData(new Record[] { event.getRecord() });
            redrawChart(false);
        }
    });

    DetailViewerField nameFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_NAME,
            Application.messages.subscriptionWidget_nameFieldD_title());
    DetailViewerField activeFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_ACTIVE,
            Application.messages.subscriptionWidget_activeFieldD_title());
    DetailViewerField nbMaxMsgFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_NBMAXMSG,
            Application.messages.subscriptionWidget_nbMaxMsgsFieldD_title());
    DetailViewerField contextIDFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_CONTEXTID,
            Application.messages.subscriptionWidget_contextIdFieldD_title());
    DetailViewerField nbMsgsDeliveredSinceCreationFieldD = new DetailViewerField(
            SubscriptionListRecord.ATTRIBUTE_NBMSGSDELIVEREDSINCECREATION,
            Application.messages.subscriptionWidget_msgsDeliveredFieldD_title());
    DetailViewerField nbMsgsSentToDMQSinceCreationFieldD = new DetailViewerField(
            SubscriptionListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.subscriptionWidget_msgsSentFieldD_title());
    DetailViewerField pendingMessageCountFieldD = new DetailViewerField(
            SubscriptionListRecord.ATTRIBUTE_PENDINGMESSAGECOUNT,
            Application.messages.subscriptionWidget_pendingFieldD_title());
    DetailViewerField selectorFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_SELECTOR,
            Application.messages.subscriptionWidget_selectorFieldD_title());
    DetailViewerField subRequestIdFieldD = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_SUBREQUESTID,
            Application.messages.subscriptionWidget_subRequestFieldD_title());

    subDetailLeft = new DetailViewer();
    subDetailLeft.setMargin(2);
    subDetailLeft.setWidth("25%");
    subDetailLeft.setLabelSuffix("");
    subDetailLeft.setEmptyMessage(Application.messages.subscriptionWidget_subscriptionDetail_emptyMessage());
    subDetailLeft.setFields(nameFieldD, activeFieldD, nbMaxMsgFieldD, contextIDFieldD,
            nbMsgsDeliveredSinceCreationFieldD);

    subDetailRight = new DetailViewer();
    subDetailRight.setMargin(2);
    subDetailRight.setWidth("25%");
    subDetailRight.setLabelSuffix("");
    subDetailRight.setEmptyMessage(Application.messages.subscriptionWidget_subscriptionDetail_emptyMessage());
    subDetailRight.setFields(nbMsgsSentToDMQSinceCreationFieldD, pendingMessageCountFieldD, selectorFieldD,
            subRequestIdFieldD);

    chartWidth = (com.google.gwt.user.client.Window.getClientWidth() / 2) - 45;
    chart = new AnnotatedTimeLine(createTable(), createOptions(true), chartWidth + "px", "200px");

    columnForm = new DynamicForm();
    columnForm.setNumCols(6);

    showDeliveredBox = new CheckboxItem();
    showDeliveredBox.setTitle(Application.messages.common_delivered());
    showDeliveredBox.setValue(true);
    showDeliveredBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showDelivered = showDeliveredBox.getValueAsBoolean().booleanValue();
            if (showDelivered) {
                chart.showDataColumns(1);
            } else {
                chart.hideDataColumns(1);
            }
            enableDisableCheckbox();
        }
    });

    showSentDMQBox = new CheckboxItem();
    showSentDMQBox.setTitle(Application.messages.common_sentDMQ());
    showSentDMQBox.setValue(true);
    showSentDMQBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showSentDMQ = showSentDMQBox.getValueAsBoolean().booleanValue();
            if (showSentDMQ) {
                chart.showDataColumns(2);
            } else {
                chart.hideDataColumns(2);
            }
            enableDisableCheckbox();
        }
    });

    showPendingBox = new CheckboxItem();
    showPendingBox.setTitle(Application.messages.common_pending());
    showPendingBox.setValue(true);
    showPendingBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showPending = showPendingBox.getValueAsBoolean().booleanValue();
            if (showPending) {
                chart.showDataColumns(0);
            } else {
                chart.hideDataColumns(0);
            }
            enableDisableCheckbox();
        }
    });

    columnForm.setFields(showDeliveredBox, showSentDMQBox, showPendingBox);

    subChart = new VLayout();
    subChart.setMargin(2);
    subChart.setPadding(5);
    subChart.setWidth("50%");
    subChart.setHeight(220);
    subChart.setAlign(Alignment.CENTER);
    subChart.setAlign(VerticalAlignment.TOP);
    subChart.setShowEdges(Boolean.TRUE);
    subChart.setEdgeSize(1);
    subChart.addMember(columnForm);
    subChart.addMember(chart);
    subChart.addDrawHandler(new DrawHandler() {
        @Override
        public void onDraw(DrawEvent event) {
            redrawChart = true;
        }
    });
    subView = new HLayout();
    subView.setMargin(2);
    subView.setPadding(2);
    subView.addMember(subDetailLeft);
    subView.addMember(subDetailRight);
    subView.addMember(subChart);

    //       Section stack of the queue list
    listStackSection = new SectionStackSection(
            Application.messages.subscriptionWidget_subscriptionsSection_title());
    listStackSection.setExpanded(Boolean.TRUE);
    listStackSection.addItem(subList);

    // Section stack of the view (details & buttons)
    viewSection = new SectionStackSection(
            Application.messages.subscriptionWidget_subscriptionDetailsSection_title());
    viewSection.setExpanded(Boolean.TRUE);
    viewSection.addItem(subView);
    viewSection.setCanReorder(Boolean.TRUE);

    subStack.addSection(buttonSection);
    subStack.addSection(listStackSection);
    subStack.addSection(viewSection);
    subStack.setCanResizeSections(Boolean.TRUE);

    return subStack;
}

From source file:com.scalagent.appli.client.widget.TopicListWidget.java

License:Open Source License

@Override
public Widget asWidget() {

    SectionStack topicStack = new SectionStack();
    topicStack.setVisibilityMode(VisibilityMode.MULTIPLE);
    topicStack.setWidth100();//from   w ww. j a  v a  2s. c  o m
    topicStack.setHeight100();

    refreshButton = new IButton();
    refreshButton.setAutoFit(Boolean.TRUE);
    refreshButton.setIcon("refresh.gif");
    refreshButton.setTitle(Application.messages.topicWidget_buttonRefresh_title());
    refreshButton.setPrompt(Application.messages.topicWidget_buttonRefresh_prompt());
    refreshButton.addClickHandler(new RefreshAllClickHandler(presenter));

    newTopicButton = new IButton();
    newTopicButton.setMargin(0);
    newTopicButton.setAutoFit(Boolean.TRUE);
    newTopicButton.setIcon("new.png");
    newTopicButton.setTitle(Application.messages.topicWidget_buttonNewTopic_title());
    newTopicButton.setPrompt(Application.messages.topicWidget_buttonNewTopic_prompt());
    newTopicButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            drawForm(null);
        }
    });

    hl = new HLayout();
    hl.setHeight(22);
    hl.setPadding(5);
    hl.setMembersMargin(5);
    hl.addMember(refreshButton);
    hl.addMember(newTopicButton);

    buttonSection = new SectionStackSection(Application.messages.topicWidget_buttonSection_title());
    buttonSection.setExpanded(Boolean.TRUE);
    buttonSection.addItem(hl);

    topicList = new ListGrid() {

        @Override
        protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) {

            String fieldName = this.getFieldName(colNum);

            if (fieldName.equals("deleteField")) {

                IButton buttonDelete = new IButton();
                buttonDelete.setAutoFit(Boolean.TRUE);
                buttonDelete.setHeight(20);
                buttonDelete.setIconSize(13);
                buttonDelete.setIcon("remove.png");
                buttonDelete.setTitle(Application.messages.topicWidget_buttonDelete_title());
                buttonDelete.setPrompt(Application.messages.topicWidget_buttonDelete_prompt());
                buttonDelete.addClickHandler(new TopicDeleteClickHandler(presenter, (TopicListRecord) record));

                return buttonDelete;

            } else if (fieldName.equals("editField")) {

                IButton buttonEdit = new IButton();
                buttonEdit.setAutoFit(Boolean.TRUE);
                buttonEdit.setHeight(20);
                buttonEdit.setIconSize(13);
                buttonEdit.setIcon("pencil.png");
                buttonEdit.setTitle(Application.messages.topicWidget_buttonEdit_title());
                buttonEdit.setPrompt(Application.messages.topicWidget_buttonEdit_prompt());
                buttonEdit.addClickHandler(new ClickHandler() {
                    public void onClick(ClickEvent event) {
                        drawForm((TopicListRecord) record);
                    }
                });
                return buttonEdit;

            } else {
                return null;
            }
        }
    };

    topicList.setRecordComponentPoolingMode(RecordComponentPoolingMode.VIEWPORT);
    topicList.setAlternateRecordStyles(Boolean.TRUE);
    topicList.setShowRecordComponents(Boolean.TRUE);
    topicList.setShowRecordComponentsByCell(Boolean.TRUE);

    ListGridField nameFieldL = new ListGridField(TopicListRecord.ATTRIBUTE_NAME,
            Application.messages.topicWidget_nameFieldL_title());
    ListGridField nbMsgsDeliverSinceCreationFieldL = new ListGridField(
            TopicListRecord.ATTRIBUTE_NBMSGSDELIVERSINCECREATION,
            Application.messages.topicWidget_nbMsgsDeliverSinceCreationFieldL_title());
    ListGridField nbMsgsReceiveSinceCreationFieldL = new ListGridField(
            TopicListRecord.ATTRIBUTE_NBMSGSRECEIVESINCECREATION,
            Application.messages.topicWidget_nbMsgsReceivesSinceCreationFieldD_title());
    ListGridField nbMsgsSentToDMQSinceCreationFieldL = new ListGridField(
            TopicListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.topicWidget_nbMsgsSentSinceCreationFieldL_title());
    ListGridField freeReadingFieldL = new ListGridField(TopicListRecord.ATTRIBUTE_FREEREADING,
            Application.messages.topicWidget_freeReadingFieldL_title());
    ListGridField freeWritingFieldL = new ListGridField(TopicListRecord.ATTRIBUTE_FREEWRITING,
            Application.messages.topicWidget_freeWritingFieldL_title());
    ListGridField deleteFieldL = new ListGridField("deleteField",
            Application.messages.topicWidget_deleteFieldL_title(), 110);
    deleteFieldL.setAlign(Alignment.CENTER);
    ListGridField editFieldL = new ListGridField("editField",
            Application.messages.topicWidget_editFieldL_title(), 110);
    editFieldL.setAlign(Alignment.CENTER);
    freeReadingFieldL.setValueMap(etat);
    freeWritingFieldL.setValueMap(etat);

    topicList.setFields(nameFieldL, nbMsgsDeliverSinceCreationFieldL, nbMsgsReceiveSinceCreationFieldL,
            nbMsgsSentToDMQSinceCreationFieldL, freeReadingFieldL, freeWritingFieldL, editFieldL, deleteFieldL);

    topicList.addRecordClickHandler(new RecordClickHandler() {
        public void onRecordClick(RecordClickEvent event) {
            topicDetail.setData(new Record[] { event.getRecord() });
            redrawChart(false);
        }
    });

    topicDetail = new DetailViewer();
    topicDetail.setMargin(2);
    topicDetail.setWidth("50%");
    topicDetail.setLabelSuffix("");
    topicDetail.setEmptyMessage(Application.messages.topicWidget_topicDetail_emptyMessage());

    DetailViewerField nameFieldD = new DetailViewerField(TopicListRecord.ATTRIBUTE_NAME,
            Application.messages.topicWidget_nameFieldD_title());
    DetailViewerField creationDateFieldD = new DetailViewerField(TopicListRecord.ATTRIBUTE_CREATIONDATE,
            Application.messages.topicWidget_creationDateFieldD_title());
    DetailViewerField subscriberIdsFieldD = new DetailViewerField(TopicListRecord.ATTRIBUTE_SUBSCRIBERIDS,
            Application.messages.topicWidget_subscriberIdsFieldD_title());
    DetailViewerField DMQIdFieldD = new DetailViewerField(TopicListRecord.ATTRIBUTE_DMQID,
            Application.messages.topicWidget_DMQIdFieldD_title());
    DetailViewerField destinationIdFieldD = new DetailViewerField(TopicListRecord.ATTRIBUTE_DESTINATIONID,
            Application.messages.topicWidget_destinationIdFieldD_title());
    DetailViewerField nbMsgsDeliverSinceCreationFieldD = new DetailViewerField(
            TopicListRecord.ATTRIBUTE_NBMSGSDELIVERSINCECREATION,
            Application.messages.topicWidget_nbMsgsDeliverSinceCreationFieldD_title());
    DetailViewerField nbMsgsReceiveSinceCreationFieldD = new DetailViewerField(
            TopicListRecord.ATTRIBUTE_NBMSGSRECEIVESINCECREATION,
            Application.messages.topicWidget_nbMsgsReceivesSinceCreationFieldD_title());
    DetailViewerField nbMsgsSentToDMQSinceCreationFieldD = new DetailViewerField(
            TopicListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.topicWidget_nbMsgsSentSinceCreationFieldD_title());
    DetailViewerField periodFieldD = new DetailViewerField(TopicListRecord.ATTRIBUTE_PERIOD,
            Application.messages.topicWidget_periodFieldD_title());
    DetailViewerField rightsFieldD = new DetailViewerField(TopicListRecord.ATTRIBUTE_RIGHTS,
            Application.messages.topicWidget_rightsFieldD_title());
    DetailViewerField freeReadingFieldD = new DetailViewerField(TopicListRecord.ATTRIBUTE_FREEREADING,
            Application.messages.topicWidget_freeReadingFieldD_title());
    DetailViewerField freeWritingFieldD = new DetailViewerField(TopicListRecord.ATTRIBUTE_FREEWRITING,
            Application.messages.topicWidget_freeWritingFieldD_title());
    freeReadingFieldD.setValueMap(etat);
    freeWritingFieldD.setValueMap(etat);

    topicDetail.setFields(nameFieldD, creationDateFieldD, subscriberIdsFieldD, DMQIdFieldD, destinationIdFieldD,
            nbMsgsDeliverSinceCreationFieldD, nbMsgsReceiveSinceCreationFieldD,
            nbMsgsSentToDMQSinceCreationFieldD, periodFieldD, rightsFieldD, freeReadingFieldD,
            freeWritingFieldD);

    chartWidth = (com.google.gwt.user.client.Window.getClientWidth() / 2) - 45;
    chart = new AnnotatedTimeLine(createTable(), createOptions(true), chartWidth + "px", "200px");

    columnForm = new DynamicForm();
    columnForm.setNumCols(6);

    showReceivedBox = new CheckboxItem();
    showReceivedBox.setTitle(Application.messages.common_received());
    showReceivedBox.setValue(true);
    showReceivedBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showReceived = showReceivedBox.getValueAsBoolean().booleanValue();
            if (showReceived) {
                chart.showDataColumns(0);
            } else {
                chart.hideDataColumns(0);
            }
            enableDisableCheckbox();
        }
    });

    showDeliveredBox = new CheckboxItem();
    showDeliveredBox.setTitle(Application.messages.common_delivered());
    showDeliveredBox.setValue(true);
    showDeliveredBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showDelivered = showDeliveredBox.getValueAsBoolean().booleanValue();
            if (showDelivered) {
                chart.showDataColumns(1);
            } else {
                chart.hideDataColumns(1);
            }
            enableDisableCheckbox();
        }
    });

    showSentDMQBox = new CheckboxItem();
    showSentDMQBox.setTitle(Application.messages.common_sentDMQ());
    showSentDMQBox.setValue(true);
    showSentDMQBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showSentDMQ = showSentDMQBox.getValueAsBoolean().booleanValue();
            if (showSentDMQ) {
                chart.showDataColumns(2);
            } else {
                chart.hideDataColumns(2);
            }
            enableDisableCheckbox();
        }
    });

    columnForm.setFields(showReceivedBox, showDeliveredBox, showSentDMQBox);

    topicChart = new VLayout();
    topicChart.setMargin(2);
    topicChart.setPadding(5);
    topicChart.setWidth("50%");
    topicChart.setHeight(220);
    topicChart.setAlign(Alignment.CENTER);
    topicChart.setAlign(VerticalAlignment.TOP);
    topicChart.setShowEdges(Boolean.TRUE);
    topicChart.setEdgeSize(1);
    topicChart.addMember(columnForm);
    topicChart.addMember(chart);
    topicChart.addDrawHandler(new DrawHandler() {
        @Override
        public void onDraw(DrawEvent event) {
            redrawChart = true;
        }
    });

    topicView = new HLayout();
    topicView.setMargin(2);
    topicView.setPadding(2);
    topicView.addMember(topicDetail);
    topicView.addMember(topicChart);

    // Section stack of the topic list
    listStackSection = new SectionStackSection(Application.messages.topicWidget_listStackSection_title());
    listStackSection.setExpanded(Boolean.TRUE);
    listStackSection.addItem(topicList);

    // Section stack of the view (details & buttons)
    viewSectionSection = new SectionStackSection(Application.messages.topicWidget_viewSectionSection_title());
    viewSectionSection.setExpanded(Boolean.TRUE);
    viewSectionSection.addItem(topicView);
    viewSectionSection.setCanReorder(Boolean.TRUE);

    topicStack.addSection(buttonSection);
    topicStack.addSection(listStackSection);
    topicStack.addSection(viewSectionSection);
    topicStack.setCanResizeSections(Boolean.TRUE);

    return topicStack;

}

From source file:com.scalagent.appli.client.widget.UserDetailWidget.java

License:Open Source License

@Override
public Widget asWidget() {

    mainStack = new SectionStack();
    mainStack.setVisibilityMode(VisibilityMode.MULTIPLE);
    mainStack.setWidth100();/*from  w  ww.j  av  a 2s  .  c om*/
    mainStack.setHeight100();

    refreshButton = new IButton();
    refreshButton.setAutoFit(Boolean.TRUE);
    refreshButton.setIcon("refresh.gif");
    refreshButton.setTitle(Application.messages.queueWidget_buttonRefresh_title());
    refreshButton.setPrompt(Application.messages.queueWidget_buttonRefresh_prompt());
    refreshButton.addClickHandler(new RefreshAllClickHandler(presenter));

    //    newSubButton = new IButton();
    //    newSubButton.setMargin(0);
    //    newSubButton.setAutoFit(Boolean.TRUE);
    //    newSubButton.setIcon("new.png");
    //    newSubButton.setTitle(Application.messages.subscriptionWidget_buttonNewSubscription_title());
    //    newSubButton.setPrompt(Application.messages.subscriptionWidget_buttonNewSubscription_prompt());
    //    newSubButton.addClickHandler(new ClickHandler() {
    //      public void onClick(ClickEvent event) {
    //        drawForm(null);
    //      }
    //    });

    hlHeader = new HLayout();
    hlHeader.setHeight(22);
    hlHeader.setPadding(5);
    hlHeader.setMembersMargin(5);
    hlHeader.addMember(refreshButton);
    //    hlHeader.addMember(newSubButton);

    DetailViewerField nameFieldD = new DetailViewerField(UserListRecord.ATTRIBUTE_NAME,
            Application.messages.userWidget_nameFieldL_title());
    DetailViewerField periodFieldD = new DetailViewerField(UserListRecord.ATTRIBUTE_PERIOD,
            Application.messages.userWidget_periodFieldL_title());
    DetailViewerField nbMsgsSentToDMQSinceCreationFieldD = new DetailViewerField(
            UserListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.userWidget_msgsSentFieldL_title());
    DetailViewerField subscriptionNamesFieldD = new DetailViewerField(
            UserListRecord.ATTRIBUTE_SUBSCRIPTIONNAMES,
            Application.messages.userWidget_subscriptionFieldL_title());

    userDetail = new DetailViewer();
    userDetail.setMargin(2);
    userDetail.setWidth("50%");
    userDetail.setFields(nameFieldD, periodFieldD, nbMsgsSentToDMQSinceCreationFieldD, subscriptionNamesFieldD);
    userDetail.setLabelSuffix("");

    userDetail.setData(new Record[] { new UserListRecord(presenter.getUser()) });

    chartUserWidth = (com.google.gwt.user.client.Window.getClientWidth() / 2) - 35;
    chartUser = new AnnotatedTimeLine(createUserTable(), createOptions(), chartUserWidth + "px", "170px");

    columnForm = new DynamicForm();
    columnForm.setNumCols(4);

    showSentDMQBox = new CheckboxItem();
    showSentDMQBox.setTitle(Application.messages.common_sentDMQ());
    showSentDMQBox.setValue(true);
    showSentDMQBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showSentDMQ = showSentDMQBox.getValueAsBoolean().booleanValue();
            if (showSentDMQ) {
                chartUser.showDataColumns(0);
            } else {
                chartUser.hideDataColumns(0);
            }
            enableDisableCheckbox();
        }
    });

    showSubCountBox = new CheckboxItem();
    showSubCountBox.setTitle(Application.messages.common_subscription());
    showSubCountBox.setValue(true);
    showSubCountBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showSubCount = showSubCountBox.getValueAsBoolean().booleanValue();
            if (showSubCount) {
                chartUser.showDataColumns(1);
            } else {
                chartUser.hideDataColumns(1);
            }
            enableDisableCheckbox();
        }
    });

    columnForm.setFields(showSentDMQBox, showSubCountBox);

    usrChart = new VLayout();
    usrChart.setMargin(2);
    usrChart.setPadding(5);
    usrChart.setWidth("50%");
    usrChart.setHeight(175);
    usrChart.setAlign(Alignment.CENTER);
    usrChart.setAlign(VerticalAlignment.TOP);
    usrChart.setShowEdges(Boolean.TRUE);
    usrChart.setEdgeSize(1);
    usrChart.addMember(columnForm);
    usrChart.addMember(chartUser);
    usrChart.addDrawHandler(new DrawHandler() {
        public void onDraw(DrawEvent event) {
            redrawChart = true;
        }
    });

    hlHeader2 = new HLayout();
    hlHeader2.setMargin(0);
    hlHeader2.setPadding(2);
    hlHeader2.addMember(userDetail);
    hlHeader2.addMember(usrChart);

    vlHeader = new VLayout();
    vlHeader.setPadding(0);
    vlHeader.addMember(hlHeader);
    vlHeader.addMember(hlHeader2);

    headerSection = new SectionStackSection(Application.messages.userDetailsWidget_userDetailsSection_title());
    headerSection.setExpanded(Boolean.TRUE);
    headerSection.addItem(vlHeader);

    // Liste

    subscriptionList = new ListGrid() {

        @Override
        protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) {

            String fieldName = this.getFieldName(colNum);

            if (fieldName.equals("deleteField")) {

                IButton buttonDelete = new IButton();
                buttonDelete.setAutoFit(Boolean.TRUE);
                buttonDelete.setHeight(20);
                buttonDelete.setIconSize(13);
                buttonDelete.setIcon("remove.png");
                buttonDelete.setTitle(Application.messages.subscriptionWidget_buttonDelete_title());
                buttonDelete.setPrompt(Application.messages.queueWidget_buttonDelete_prompt());
                buttonDelete.addClickHandler(
                        new SubscriptionDeleteClickHandler(presenter, (SubscriptionListRecord) record));
                buttonDelete.setDisabled(true);

                return buttonDelete;

            } else if (fieldName.equals("editField")) {

                IButton buttonEdit = new IButton();
                buttonEdit.setAutoFit(Boolean.TRUE);
                buttonEdit.setHeight(20);
                buttonEdit.setIconSize(13);
                buttonEdit.setIcon("pencil.png");
                buttonEdit.setTitle(Application.messages.subscriptionWidget_buttonEdit_title());
                buttonEdit.setPrompt(Application.messages.subscriptionWidget_buttonEdit_prompt());
                buttonEdit.addClickHandler(new ClickHandler() {
                    public void onClick(ClickEvent event) {
                        drawForm((SubscriptionListRecord) record);
                    }
                });
                return buttonEdit;

            } else {
                return null;
            }
        }
    };

    subscriptionList.setRecordComponentPoolingMode(RecordComponentPoolingMode.VIEWPORT);
    subscriptionList.setAlternateRecordStyles(Boolean.TRUE);
    subscriptionList.setShowRecordComponents(Boolean.TRUE);
    subscriptionList.setShowRecordComponentsByCell(Boolean.TRUE);
    ListGridField nameFieldL = new ListGridField(SubscriptionListRecord.ATTRIBUTE_NAME,
            Application.messages.subscriptionWidget_nameFieldL_title());
    ListGridField activeFieldL = new ListGridField(SubscriptionListRecord.ATTRIBUTE_ACTIVE,
            Application.messages.subscriptionWidget_activeFieldL_title());
    ListGridField nbMsgsDeliveredSinceCreationFieldL = new ListGridField(
            SubscriptionListRecord.ATTRIBUTE_NBMSGSDELIVEREDSINCECREATION,
            Application.messages.subscriptionWidget_msgsDeliveredFieldL_title());
    ListGridField nbMsgsSentToDMQSinceCreationFieldL = new ListGridField(
            SubscriptionListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.subscriptionWidget_msgsSentFieldL_title());
    ListGridField pendingCountFieldL = new ListGridField(SubscriptionListRecord.ATTRIBUTE_PENDINGMESSAGECOUNT,
            Application.messages.subscriptionWidget_pendingFieldL_title());
    ListGridField editField = new ListGridField("editField",
            Application.messages.subscriptionWidget_editFieldL_title(), 110);
    editField.setAlign(Alignment.CENTER);
    ListGridField deleteField = new ListGridField("deleteField",
            Application.messages.subscriptionWidget_deleteFieldL_title(), 110);
    deleteField.setAlign(Alignment.CENTER);
    subscriptionList.setFields(nameFieldL, activeFieldL, nbMsgsDeliveredSinceCreationFieldL,
            nbMsgsSentToDMQSinceCreationFieldL, pendingCountFieldL, editField, deleteField);

    subscriptionList.addRecordClickHandler(new RecordClickHandler() {

        @Override
        public void onRecordClick(RecordClickEvent event) {
            subDetailLeft.setData(new Record[] { event.getRecord() });
            subDetailRight.setData(new Record[] { event.getRecord() });
            redrawChart();
        }
    });

    DetailViewerField nameFieldDSub = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_NAME,
            Application.messages.subscriptionWidget_nameFieldD_title());
    DetailViewerField activeFieldDSub = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_ACTIVE,
            Application.messages.subscriptionWidget_activeFieldD_title());
    DetailViewerField nbMaxMsgFieldDSub = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_NBMAXMSG,
            Application.messages.subscriptionWidget_nbMaxMsgsFieldD_title());
    DetailViewerField contextIDFieldDSub = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_CONTEXTID,
            Application.messages.subscriptionWidget_contextIdFieldD_title());
    DetailViewerField nbMsgsDeliveredSinceCreationFieldDSub = new DetailViewerField(
            SubscriptionListRecord.ATTRIBUTE_NBMSGSDELIVEREDSINCECREATION,
            Application.messages.subscriptionWidget_msgsDeliveredFieldD_title());
    DetailViewerField nbMsgsSentToDMQSinceCreationFieldDSub = new DetailViewerField(
            SubscriptionListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.subscriptionWidget_msgsSentFieldD_title());
    DetailViewerField pendingMessageCountFieldDSub = new DetailViewerField(
            SubscriptionListRecord.ATTRIBUTE_PENDINGMESSAGECOUNT,
            Application.messages.subscriptionWidget_pendingFieldD_title());
    DetailViewerField selectorFieldDSub = new DetailViewerField(SubscriptionListRecord.ATTRIBUTE_SELECTOR,
            Application.messages.subscriptionWidget_selectorFieldD_title());
    DetailViewerField subRequestIdFieldDSub = new DetailViewerField(
            SubscriptionListRecord.ATTRIBUTE_SUBREQUESTID,
            Application.messages.subscriptionWidget_subRequestFieldD_title());

    subDetailLeft = new DetailViewer();
    subDetailLeft.setMargin(2);
    subDetailLeft.setWidth("25%");
    subDetailLeft.setLabelSuffix("");
    subDetailLeft.setEmptyMessage(Application.messages.userDetailWidget_messageDetail_emptyMessage());
    subDetailLeft.setFields(nameFieldDSub, activeFieldDSub, nbMaxMsgFieldDSub, contextIDFieldDSub,
            nbMsgsDeliveredSinceCreationFieldDSub);

    subDetailRight = new DetailViewer();
    subDetailRight.setMargin(2);
    subDetailRight.setWidth("25%");
    subDetailRight.setLabelSuffix("");
    subDetailRight.setEmptyMessage(Application.messages.userDetailWidget_messageDetail_emptyMessage());
    subDetailRight.setFields(nbMsgsSentToDMQSinceCreationFieldDSub, pendingMessageCountFieldDSub,
            selectorFieldDSub, subRequestIdFieldDSub);

    chartSubWidth = (com.google.gwt.user.client.Window.getClientWidth() / 2) - 35;
    chartSub = new AnnotatedTimeLine(createSubTable(), createOptions(), chartSubWidth + "px", "170px");

    subChart = new VLayout();
    subChart.setMargin(2);
    subChart.setPadding(5);
    subChart.setWidth("50%");
    subChart.setHeight(175);
    subChart.setAlign(Alignment.CENTER);
    subChart.setAlign(VerticalAlignment.TOP);
    subChart.setShowEdges(Boolean.TRUE);
    subChart.setEdgeSize(1);
    subChart.addMember(chartSub);

    hlDetail = new HLayout();
    hlDetail.setMargin(0);
    hlDetail.setPadding(2);
    hlDetail.addMember(subDetailLeft);
    hlDetail.addMember(subDetailRight);
    hlDetail.addMember(subChart);

    // Section stack of the queue list
    listSection = new SectionStackSection(Application.messages.userDetailsWidget_subscriptionsSection_title());
    listSection.setExpanded(Boolean.TRUE);
    listSection.addItem(subscriptionList);

    // Section stack of the view (details & buttons)
    detailSection = new SectionStackSection(
            Application.messages.userDetailsWidget_subscriptionDetailsSection_title());
    detailSection.setExpanded(Boolean.TRUE);
    detailSection.addItem(hlDetail);
    detailSection.setCanReorder(Boolean.TRUE);

    mainStack.addSection(headerSection);
    mainStack.addSection(listSection);
    mainStack.addSection(detailSection);
    mainStack.setCanResizeSections(Boolean.TRUE);

    presenter.initList();

    return mainStack;

}

From source file:com.scalagent.appli.client.widget.UserListWidget.java

License:Open Source License

@Override
public Widget asWidget() {

    userStack = new SectionStack();
    userStack.setVisibilityMode(VisibilityMode.MULTIPLE);
    userStack.setWidth100();//from  w w w .j a  v a  2  s . c om
    userStack.setHeight100();

    refreshButton = new IButton();
    refreshButton.setAutoFit(Boolean.TRUE);
    refreshButton.setIcon("refresh.gif");
    refreshButton.setTitle(Application.messages.queueWidget_buttonRefresh_title());
    refreshButton.setPrompt(Application.messages.queueWidget_buttonRefresh_prompt());
    refreshButton.addClickHandler(new RefreshAllClickHandler(presenter));

    newUserButton = new IButton();
    newUserButton.setMargin(0);
    newUserButton.setAutoFit(Boolean.TRUE);
    newUserButton.setIcon("new.png");
    newUserButton.setTitle(Application.messages.userWidget_buttonNewUser_title());
    newUserButton.setPrompt(Application.messages.userWidget_buttonNewUser_prompt());
    newUserButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            drawForm(null);
        }
    });

    hl = new HLayout();
    hl.setHeight(22);
    hl.setPadding(5);
    hl.setMembersMargin(5);
    hl.addMember(refreshButton);
    hl.addMember(newUserButton);

    buttonSection = new SectionStackSection(Application.messages.userWidget_actionsSection_title());
    buttonSection.setExpanded(Boolean.TRUE);
    buttonSection.addItem(hl);

    // Liste
    userList = new ListGrid() {

        @Override
        protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) {

            String fieldName = this.getFieldName(colNum);
            if (fieldName.equals("browse")) {

                IButton buttonBrowse = new IButton();
                buttonBrowse.setAutoFit(Boolean.TRUE);
                buttonBrowse.setHeight(20);
                buttonBrowse.setIconSize(13);
                buttonBrowse.setIcon("view_right_p.png");
                buttonBrowse.setTitle(Application.messages.queueWidget_buttonBrowse_title());
                buttonBrowse.setPrompt(Application.messages.queueWidget_buttonBrowse_prompt());
                buttonBrowse.addClickHandler(new UserDetailsClickHandler(presenter, (UserListRecord) record));

                return buttonBrowse;

            } else if (fieldName.equals("deleteField")) {

                IButton buttonDelete = new IButton();
                buttonDelete.setAutoFit(Boolean.TRUE);
                buttonDelete.setHeight(20);
                buttonDelete.setIconSize(13);
                buttonDelete.setIcon("remove.png");
                buttonDelete.setTitle(Application.messages.queueWidget_buttonDelete_title());
                buttonDelete.setPrompt(Application.messages.queueWidget_buttonDelete_prompt());
                buttonDelete.addClickHandler(new UserDeleteClickHandler(presenter, (UserListRecord) record));

                return buttonDelete;

            } else if (fieldName.equals("editField")) {

                IButton buttonEdit = new IButton();
                buttonEdit.setAutoFit(Boolean.TRUE);
                buttonEdit.setHeight(20);
                buttonEdit.setIconSize(13);
                buttonEdit.setIcon("pencil.png");
                buttonEdit.setTitle(Application.messages.queueWidget_buttonEdit_title());
                buttonEdit.setPrompt(Application.messages.queueWidget_buttonEdit_prompt());
                buttonEdit.addClickHandler(new ClickHandler() {
                    public void onClick(ClickEvent event) {
                        drawForm((UserListRecord) record);
                    }
                });
                return buttonEdit;

            } else {
                return null;
            }
        }
    };

    userList.setRecordComponentPoolingMode(RecordComponentPoolingMode.VIEWPORT);
    userList.setAlternateRecordStyles(Boolean.TRUE);
    userList.setShowRecordComponents(Boolean.TRUE);
    userList.setShowRecordComponentsByCell(Boolean.TRUE);

    ListGridField nameFieldL = new ListGridField(UserListRecord.ATTRIBUTE_NAME,
            Application.messages.userWidget_nameFieldL_title());
    ListGridField periodFieldL = new ListGridField(UserListRecord.ATTRIBUTE_PERIOD,
            Application.messages.userWidget_periodFieldL_title());
    ListGridField nbMsgsSentToDMQSinceCreationFieldL = new ListGridField(
            UserListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.userWidget_msgsSentFieldL_title());
    ListGridField subscriptionNamesFieldL = new ListGridField(UserListRecord.ATTRIBUTE_SUBSCRIPTIONNAMES,
            Application.messages.userWidget_subscriptionFieldL_title());
    ListGridField browseFieldL = new ListGridField("browse", "Browse");
    browseFieldL.setAlign(Alignment.CENTER);
    ListGridField deleteFieldL = new ListGridField("deleteField", "Delete");
    deleteFieldL.setAlign(Alignment.CENTER);
    ListGridField editFieldL = new ListGridField("editField", "Edit");
    editFieldL.setAlign(Alignment.CENTER);

    userList.setFields(nameFieldL, periodFieldL, nbMsgsSentToDMQSinceCreationFieldL, subscriptionNamesFieldL,
            browseFieldL, editFieldL, deleteFieldL);

    userList.addRecordClickHandler(new RecordClickHandler() {

        @Override
        public void onRecordClick(RecordClickEvent event) {
            userDetail.setData(new Record[] { event.getRecord() });
            redrawChart(false);
        }
    });

    DetailViewerField nameFieldD = new DetailViewerField(UserListRecord.ATTRIBUTE_NAME,
            Application.messages.userWidget_nameFieldL_title());
    DetailViewerField periodFieldD = new DetailViewerField(UserListRecord.ATTRIBUTE_PERIOD,
            Application.messages.userWidget_periodFieldL_title());
    DetailViewerField nbMsgsSentToDMQSinceCreationFieldD = new DetailViewerField(
            UserListRecord.ATTRIBUTE_NBMSGSSENTTODMQSINCECREATION,
            Application.messages.userWidget_msgsSentFieldL_title());
    DetailViewerField subscriptionNamesFieldD = new DetailViewerField(
            UserListRecord.ATTRIBUTE_SUBSCRIPTIONNAMES,
            Application.messages.userWidget_subscriptionFieldL_title());

    userDetail = new DetailViewer();
    userDetail.setMargin(2);
    userDetail.setWidth("50%");
    userDetail.setLabelSuffix("");
    userDetail.setEmptyMessage(Application.messages.userWidget_userDetail_emptyMessage());
    userDetail.setFields(nameFieldD, periodFieldD, nbMsgsSentToDMQSinceCreationFieldD, subscriptionNamesFieldD);

    chartWidth = (com.google.gwt.user.client.Window.getClientWidth() / 2) - 45;
    chart = new AnnotatedTimeLine(createTable(), createOptions(true), chartWidth + "px", "200px");

    columnForm = new DynamicForm();
    columnForm.setNumCols(4);

    showSentDMQBox = new CheckboxItem();
    showSentDMQBox.setTitle(Application.messages.common_sentDMQ());
    showSentDMQBox.setValue(true);
    showSentDMQBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showSentDMQ = showSentDMQBox.getValueAsBoolean().booleanValue();
            if (showSentDMQ) {
                chart.showDataColumns(0);
            } else {
                chart.hideDataColumns(0);
            }
            enableDisableCheckbox();
        }
    });

    showSubCountBox = new CheckboxItem();
    showSubCountBox.setTitle(Application.messages.common_subscription());
    showSubCountBox.setValue(true);
    showSubCountBox.addChangedHandler(new ChangedHandler() {
        public void onChanged(ChangedEvent event) {
            showSubCount = showSubCountBox.getValueAsBoolean().booleanValue();
            if (showSubCount) {
                chart.showDataColumns(1);
            } else {
                chart.hideDataColumns(1);
            }
            enableDisableCheckbox();
        }
    });

    columnForm.setFields(showSentDMQBox, showSubCountBox);

    userChart = new VLayout();
    userChart.setMargin(2);
    userChart.setPadding(5);
    userChart.setWidth("50%");
    userChart.setHeight(220);
    userChart.setAlign(Alignment.CENTER);
    userChart.setAlign(VerticalAlignment.TOP);
    userChart.setShowEdges(Boolean.TRUE);
    userChart.setEdgeSize(1);
    userChart.addMember(columnForm);
    userChart.addMember(chart);
    userChart.addDrawHandler(new DrawHandler() {
        @Override
        public void onDraw(DrawEvent event) {
            redrawChart = true;
        }
    });

    userView = new HLayout();
    userView.setMargin(5);
    userView.setPadding(5);
    userView.addMember(userDetail);
    userView.addMember(userChart);

    //       Section stack of the queue list
    listStackSection = new SectionStackSection(Application.messages.userWidget_usersSection_title());
    listStackSection.setExpanded(Boolean.TRUE);
    listStackSection.addItem(userList);

    // Section stack of the view (details & buttons)
    viewSection = new SectionStackSection(Application.messages.userWidget_userDetailsSection_title());
    viewSection.setExpanded(Boolean.TRUE);
    viewSection.addItem(userView);
    viewSection.setCanReorder(Boolean.TRUE);

    userStack.addSection(buttonSection);
    userStack.addSection(listStackSection);
    userStack.addSection(viewSection);
    userStack.setCanResizeSections(Boolean.TRUE);

    return userStack;
}