Esempio n. 1
0
    @Override
    public void widgetSelected(SelectionEvent e) {
      button.setEnabled(false);

      UpdateJob complianceStartJob =
          new UpdateJob("合规开关") {
            @Override
            protected Object heavyWork() throws Exception {
              boolean reverseStatus = getStatus() == false;
              return setStatus(reverseStatus);
            }

            @Override
            protected void runInUIThread(Object alertInfo) {
              if (alertInfo != null) {
                MessageDialog.openWarning(
                    getSite().getShell(), getPartName(), "操作成功\n" + alertInfo);
              } else {
                MessageDialog.openInformation(getSite().getShell(), getPartName(), "操作成功");
              }
            }

            @Override
            protected void allwaysDo() {
              button.setEnabled(true);
              button.setText(getButtonText(getStatus()));
              label.setText(getLabelText(getStatus()));
            }
          };
      complianceStartJob.setUser(true);
      complianceStartJob.schedule();
    }