use of com.google.gwt.event.dom.client.ChangeHandler in project rstudio by rstudio.
the class NewConnectionSnippetHost method createParameterizedUI.
private Grid createParameterizedUI(final NewConnectionInfo info) {
final ArrayList<NewConnectionSnippetParts> snippetParts = parseSnippet(info.getSnippet());
int visibleRows = snippetParts.size();
int visibleParams = Math.min(visibleRows, maxRows_);
// If we have a field that shares the first row, usually port:
boolean hasSecondaryHeaderField = false;
if (visibleParams >= 2 && snippetParts.get(0).getOrder() == snippetParts.get(1).getOrder()) {
visibleRows--;
visibleParams++;
hasSecondaryHeaderField = true;
}
boolean showAdvancedButton = visibleRows > maxRows_;
visibleRows = Math.min(visibleRows, maxRows_);
final ArrayList<NewConnectionSnippetParts> secondarySnippetParts = new ArrayList<NewConnectionSnippetParts>(snippetParts.subList(visibleParams, snippetParts.size()));
final Grid connGrid = new Grid(visibleRows + (showAdvancedButton ? 1 : 0), 4);
connGrid.addStyleName(RES.styles().grid());
connGrid.getCellFormatter().setWidth(0, 0, "150px");
connGrid.getCellFormatter().setWidth(0, 1, "180px");
connGrid.getCellFormatter().setWidth(0, 2, "60px");
connGrid.getCellFormatter().setWidth(0, 3, "74px");
for (int idxParams = 0, idxRow = 0; idxRow < visibleRows; idxParams++, idxRow++) {
connGrid.getRowFormatter().setStyleName(idxRow, RES.styles().gridRow());
final String key = snippetParts.get(idxParams).getKey();
Label label = new Label(key + ":");
label.addStyleName(RES.styles().label());
connGrid.setWidget(idxRow, 0, label);
connGrid.getRowFormatter().setVerticalAlign(idxRow, HasVerticalAlignment.ALIGN_TOP);
String textboxStyle = RES.styles().textbox();
if (idxRow == 0 && hasSecondaryHeaderField) {
textboxStyle = RES.styles().firstTextbox();
} else {
connGrid.getCellFormatter().getElement(idxRow, 1).setAttribute("colspan", "4");
}
final TextBoxBase textboxBase;
if (key.toLowerCase() == "parameters") {
TextArea textarea = new TextArea();
textarea.setVisibleLines(7);
textarea.addStyleName(RES.styles().textarea());
connGrid.setWidget(idxRow, 1, textarea);
textboxBase = textarea;
} else {
TextBox textbox = new TextBox();
textbox.setText(snippetParts.get(idxParams).getValue());
textbox.addStyleName(textboxStyle);
textboxBase = textbox;
}
connGrid.setWidget(idxRow, 1, textboxBase);
textboxBase.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent arg0) {
partsKeyValues_.put(key, textboxBase.getValue());
updateCodePanel();
}
});
if (idxRow == 0 && hasSecondaryHeaderField) {
idxParams++;
final String secondKey = snippetParts.get(idxParams).getKey();
Label secondLabel = new Label(secondKey + ":");
secondLabel.addStyleName(RES.styles().secondLabel());
connGrid.setWidget(idxRow, 2, secondLabel);
connGrid.getRowFormatter().setVerticalAlign(idxRow, HasVerticalAlignment.ALIGN_TOP);
final TextBox secondTextbox = new TextBox();
secondTextbox.setText(snippetParts.get(idxParams).getValue());
secondTextbox.addStyleName(RES.styles().secondTextbox());
connGrid.setWidget(idxRow, 3, secondTextbox);
connGrid.getCellFormatter().getElement(idxRow, 3).setAttribute("colspan", "2");
secondTextbox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent arg0) {
partsKeyValues_.put(secondKey, secondTextbox.getValue());
updateCodePanel();
}
});
}
}
if (showAdvancedButton) {
ThemedButton pushButton = new ThemedButton("Advanced Options...", new ClickHandler() {
public void onClick(ClickEvent event) {
new NewConnectionSnippetDialog(new OperationWithInput<HashMap<String, String>>() {
@Override
public void execute(final HashMap<String, String> result) {
for (String key : result.keySet()) {
partsKeyValues_.put(key, result.get(key));
}
updateCodePanel();
}
}, secondarySnippetParts, info).showModal();
}
});
connGrid.getRowFormatter().setStyleName(visibleRows, RES.styles().lastRow());
connGrid.getCellFormatter().getElement(visibleRows, 1).setAttribute("colspan", "4");
connGrid.setWidget(visibleRows, 1, pushButton);
}
return connGrid;
}
use of com.google.gwt.event.dom.client.ChangeHandler in project rstudio by rstudio.
the class DataImportOptionsUiCsv method initEvents.
void initEvents() {
ValueChangeHandler<String> valueChangeHandler = new ValueChangeHandler<String>() {
@Override
public void onValueChange(ValueChangeEvent<String> arg0) {
updateEnabled();
triggerChange();
}
};
ChangeHandler changeHandler = new ChangeHandler() {
@Override
public void onChange(ChangeEvent arg0) {
updateEnabled();
triggerChange();
}
};
ChangeHandler delimChangeHandler = new ChangeHandler() {
@Override
public void onChange(ChangeEvent arg0) {
if (delimiterListBox_.getSelectedValue() == "other") {
globalDisplay_.promptForTextWithOption("Other Delimiter", "Please enter a single character delimiter.", "", false, "", false, new ProgressOperationWithInput<PromptWithOptionResult>() {
private void dismissAndUpdate(ProgressIndicator indicator, int newSelectIndex) {
lastDelimiterListBoxIndex_ = newSelectIndex;
delimiterListBox_.setSelectedIndex(newSelectIndex);
indicator.onCompleted();
updateEnabled();
triggerChange();
}
@Override
public void execute(PromptWithOptionResult result, ProgressIndicator indicator) {
String otherDelimiter = result.input;
if (otherDelimiter.length() != 1) {
globalDisplay_.showErrorMessage("Incorrect Delimiter", "The specified delimiter is not valid.");
} else {
for (int idxDelimiter = 0; idxDelimiter < delimiterListBox_.getItemCount(); idxDelimiter++) {
if (delimiterListBox_.getValue(idxDelimiter) == otherDelimiter) {
dismissAndUpdate(indicator, idxDelimiter);
return;
}
}
int selectedIndex = delimiterListBox_.getSelectedIndex();
delimiterListBox_.insertItem("Character " + otherDelimiter, otherDelimiter, selectedIndex - 1);
dismissAndUpdate(indicator, selectedIndex - 1);
}
}
}, new Operation() {
@Override
public void execute() {
delimiterListBox_.setSelectedIndex(lastDelimiterListBoxIndex_);
updateEnabled();
triggerChange();
}
});
} else {
lastDelimiterListBoxIndex_ = delimiterListBox_.getSelectedIndex();
updateEnabled();
triggerChange();
}
}
};
ValueChangeHandler<Boolean> booleanValueChangeHandler = new ValueChangeHandler<Boolean>() {
@Override
public void onValueChange(ValueChangeEvent<Boolean> arg0) {
updateEnabled();
triggerChange();
}
};
nameTextBox_.addValueChangeHandler(valueChangeHandler);
delimiterListBox_.addChangeHandler(delimChangeHandler);
quotesListBox_.addChangeHandler(changeHandler);
escapeListBox_.addChangeHandler(changeHandler);
columnNamesCheckBox_.addValueChangeHandler(booleanValueChangeHandler);
trimSpacesCheckBox_.addValueChangeHandler(booleanValueChangeHandler);
openDataViewerCheckBox_.addValueChangeHandler(booleanValueChangeHandler);
naListBox_.addChangeHandler(changeHandler);
commentListBox_.addChangeHandler(changeHandler);
skipTextBox_.addValueChangeHandler(valueChangeHandler);
localeButton_.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
new DataImportOptionsUiCsvLocale(new OperationWithInput<DataImportOptionsCsvLocale>() {
@Override
public void execute(final DataImportOptionsCsvLocale result) {
localeInfo_ = result;
updateEnabled();
triggerChange();
}
}, localeInfo_).showModal();
}
});
}
use of com.google.gwt.event.dom.client.ChangeHandler in project rstudio by rstudio.
the class DataImportOptionsUiSav method initEvents.
void initEvents() {
ValueChangeHandler<String> valueChangeHandler = new ValueChangeHandler<String>() {
@Override
public void onValueChange(ValueChangeEvent<String> arg0) {
updateEnabled();
triggerChange();
}
};
ChangeHandler changeHandler = new ChangeHandler() {
@Override
public void onChange(ChangeEvent arg0) {
updateEnabled();
triggerChange();
}
};
ValueChangeHandler<Boolean> booleanValueChangeHandler = new ValueChangeHandler<Boolean>() {
@Override
public void onValueChange(ValueChangeEvent<Boolean> arg0) {
updateEnabled();
triggerChange();
}
};
nameTextBox_.addValueChangeHandler(valueChangeHandler);
formatListBox_.addChangeHandler(changeHandler);
openDataViewerCheckBox_.addValueChangeHandler(booleanValueChangeHandler);
}
use of com.google.gwt.event.dom.client.ChangeHandler in project rstudio by rstudio.
the class ImportFileSettingsDialog method hookChangeEvents.
private void hookChangeEvents() {
ValueChangeHandler<Boolean> valueChangeHandler = new ValueChangeHandler<Boolean>() {
public void onValueChange(ValueChangeEvent<Boolean> booleanValueChangeEvent) {
updateOutput();
}
};
headingYes_.addValueChangeHandler(valueChangeHandler);
headingNo_.addValueChangeHandler(valueChangeHandler);
ChangeHandler changeHandler = new ChangeHandler() {
public void onChange(ChangeEvent event) {
updateOutput();
}
};
separator_.addChangeHandler(changeHandler);
decimal_.addChangeHandler(changeHandler);
quote_.addChangeHandler(changeHandler);
encoding_.addChangeHandler(changeHandler);
comment_.addChangeHandler(changeHandler);
}
use of com.google.gwt.event.dom.client.ChangeHandler in project perun by CESNET.
the class VoApplicationsTabItem method draw.
public Widget draw() {
// request
final GetApplicationsForVo applicationsRequest = new GetApplicationsForVo(vo.getId());
final JsonCallbackEvents events = JsonCallbackEvents.refreshTableEvents(applicationsRequest);
applicationsRequest.setCheckable(false);
this.titleWidget.setText(Utils.getStrippedStringWithEllipsis(vo.getName()) + ": " + "applications");
// MAIN PANEL
VerticalPanel firstTabPanel = new VerticalPanel();
firstTabPanel.setSize("100%", "100%");
// HORIZONTAL MENU
TabMenu menu = new TabMenu();
firstTabPanel.add(menu);
firstTabPanel.setCellHeight(menu, "30px");
// refresh
menu.addWidget(UiElements.getRefreshButton(this));
/*
// verify button
final CustomButton verify = TabMenu.getPredefinedButton(ButtonType.VERIFY, ButtonTranslation.INSTANCE.verifyApplication());
verify.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
ArrayList<Application> list = applicationsRequest.getTableSelectedList();
if (UiElements.cantSaveEmptyListDialogBox(list)) {
for (int i=0; i<list.size(); i++) {
if (i != list.size()-1) {
HandleApplication request = new HandleApplication(JsonCallbackEvents.disableButtonEvents(verify));
request.verifyApplication(list.get(i).getId());
} else {
// refresh table on last call
HandleApplication request = new HandleApplication(JsonCallbackEvents.disableButtonEvents(verify, events));
request.verifyApplication(list.get(i).getId());
}
}
}
}
});
// accept button
final CustomButton approve = TabMenu.getPredefinedButton(ButtonType.APPROVE, ButtonTranslation.INSTANCE.approveApplication());
approve.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
ArrayList<Application> list = applicationsRequest.getTableSelectedList();
if (UiElements.cantSaveEmptyListDialogBox(list)) {
for (int i=0; i<list.size(); i++) {
if (i != list.size()-1) {
HandleApplication request = new HandleApplication(JsonCallbackEvents.disableButtonEvents(approve));
request.approveApplication(list.get(i));
} else {
// refresh table on last call
HandleApplication request = new HandleApplication(JsonCallbackEvents.disableButtonEvents(approve, events));
request.approveApplication(list.get(i));
}
}
}
}
});
//reject button
final CustomButton reject = TabMenu.getPredefinedButton(ButtonType.REJECT, ButtonTranslation.INSTANCE.rejectApplication());
reject.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
final ArrayList<Application> list = applicationsRequest.getTableSelectedList();
if (UiElements.cantSaveEmptyListDialogBox(list)) {
// confirm content
FlexTable content = new FlexTable();
content.setCellSpacing(10);
content.setHTML(0, 0, "Please specify reason of rejection to let user know why was application rejected.");
content.getFlexCellFormatter().setColSpan(0, 0, 2);
final TextArea reason = new TextArea();
reason.setSize("300px", "150px");
content.setHTML(1, 0, "<strong>Reason: </strong>");
content.setWidget(1, 1, reason);
Confirm c = new Confirm("Specify reason", content, new ClickHandler(){
public void onClick(ClickEvent event) {
for (int i=0; i<list.size(); i++) {
if (i != list.size()-1) {
HandleApplication request = new HandleApplication(JsonCallbackEvents.disableButtonEvents(reject));
request.rejectApplication(list.get(i).getId(), reason.getText());
} else {
// refresh table on last call
HandleApplication request = new HandleApplication(JsonCallbackEvents.disableButtonEvents(reject, events));
request.rejectApplication(list.get(i).getId(), reason.getText());
}
}
}
}, true);
c.show();
}
}
});
// delete button
final CustomButton delete = TabMenu.getPredefinedButton(ButtonType.DELETE, ButtonTranslation.INSTANCE.deleteApplication());
delete.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
ArrayList<Application> list = applicationsRequest.getTableSelectedList();
if (UiElements.cantSaveEmptyListDialogBox(list)) {
for (int i=0; i<list.size(); i++) {
if (i != list.size()-1) {
HandleApplication request = new HandleApplication(JsonCallbackEvents.disableButtonEvents(delete));
request.deleteApplication(list.get(i).getId());
} else {
// refresh table on last call
HandleApplication request = new HandleApplication(JsonCallbackEvents.disableButtonEvents(delete, events));
request.deleteApplication(list.get(i).getId());
}
}
}
}
});
menu.addWidget(verify);
menu.addWidget(approve);
menu.addWidget(reject);
menu.addWidget(delete);
*/
// FILTER
menu.addWidget(new HTML("<strong>State: </strong>"));
// state
final ListBox stateListBox = new ListBox();
stateListBox.addItem(WidgetTranslation.INSTANCE.listboxAll(), "");
stateListBox.addItem(ObjectTranslation.INSTANCE.applicationStateNew(), "NEW");
stateListBox.addItem(ObjectTranslation.INSTANCE.applicationStateVerified(), "VERIFIED");
stateListBox.addItem("Pending", "NEW,VERIFIED");
stateListBox.addItem(ObjectTranslation.INSTANCE.applicationStateApproved(), "APPROVED");
stateListBox.addItem(ObjectTranslation.INSTANCE.applicationStateRejected(), "REJECTED");
stateListBox.setSelectedIndex(selectedIndex);
menu.addWidget(stateListBox);
stateListBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent changeEvent) {
selectedIndex = stateListBox.getSelectedIndex();
applicationsRequest.setState(stateListBox.getValue(stateListBox.getSelectedIndex()));
applicationsRequest.clearTable();
applicationsRequest.retrieveData();
}
});
// FILTER 2
menu.addWidget(new HTML("<strong>Submitted by: </strong>"));
menu.addFilterWidget(new ExtendedSuggestBox(applicationsRequest.getOracle()), new PerunSearchEvent() {
@Override
public void searchFor(String text) {
applicationsRequest.filterTable(text);
}
}, ButtonTranslation.INSTANCE.filterApplications());
// TABLE
applicationsRequest.setState(stateListBox.getValue(stateListBox.getSelectedIndex()));
CellTable<Application> table = applicationsRequest.getTable(new FieldUpdater<Application, String>() {
public void update(int index, Application object, String value) {
session.getTabManager().addTabToCurrentTab(new ApplicationDetailTabItem(object), true);
}
});
table.addStyleName("perun-table");
ScrollPanel sp = new ScrollPanel(table);
sp.addStyleName("perun-tableScrollPanel");
/*
verify.setEnabled(false);
approve.setEnabled(false);
reject.setEnabled(false);
delete.setEnabled(false);
if (session.isVoAdmin(voId)) {
JsonUtils.addTableManagedButton(applicationsRequest, table, approve);
JsonUtils.addTableManagedButton(applicationsRequest, table, reject);
JsonUtils.addTableManagedButton(applicationsRequest, table, delete);
}
if (session.isPerunAdmin()) {
JsonUtils.addTableManagedButton(applicationsRequest, table, verify);
}
*/
session.getUiElements().resizePerunTable(sp, 100);
firstTabPanel.add(sp);
this.contentWidget.setWidget(firstTabPanel);
return getWidget();
}
Aggregations