package com.cxy.redisclient.presentation.component; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.TabFolder; import com.cxy.redisclient.integration.I18nFile; import com.cxy.redisclient.presentation.RedisClient; import com.cxy.redisclient.service.NodeService; public class UpdateTTLTabItem extends TTLTabItem { private NodeService service = new NodeService(); private Button btnApplyButton; public UpdateTTLTabItem(TabFolder parent, final int id, final int db, final String key) { super(parent); new Label(composite, SWT.NONE); btnApplyButton = new Button(composite, SWT.NONE); btnApplyButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { service.expire(id, db, key, getTTL()); btnApplyButton.setEnabled(false); } }); btnApplyButton.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); btnApplyButton.setText(RedisClient.i18nFile.getText(I18nFile.APPLY)); btnApplyButton.setEnabled(false); btnExpire.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if(btnExpire.getSelection()){ labelTTL.setEnabled(true); ttl.setEnabled(true); ttl.selectAll(); ttl.setFocus(); btnApplyButton.setEnabled(true); }else { labelTTL.setEnabled(false); ttl.setEnabled(false); btnApplyButton.setEnabled(true); } } }); ttl.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { btnApplyButton.setEnabled(true); } }); setTTL((int) service.getTTL(id, db, key)); } public void setTTL(int ttl){ if(ttl == -1){ btnExpire.setSelection(false); this.ttl.setEnabled(false); } else{ btnExpire.setSelection(true); labelTTL.setEnabled(true); this.ttl.setEnabled(true); this.ttl.setText(String.valueOf(ttl)); btnApplyButton.setEnabled(false); } } public Button getBtnApplyButton() { return btnApplyButton; } }