コード例 #1
0
ファイル: CatForm.java プロジェクト: utamons/tm2-swt
  private void setContent() {
    CatFormInit init = new CatFormInit(cfg);

    Label lblName = init.lblName(this);
    txtName = init.txtName(this, lblName);
    Label lblAbbrev = init.lblAbbrev(this, lblName);
    txtAbbrev = init.txtAbbrev(this, lblAbbrev);
    virtCheck = init.virtCheck(this, txtAbbrev);
    Label lblRate = init.lblRate(this, lblAbbrev);

    Composite tableContainer = new Composite(this, SWT.SHADOW_ETCHED_IN);
    rateViewer = init.catRateViewer(tableContainer, getShell(), contentProvider);
    init.tableContainer(lblRate, tableContainer);
    tblRate = rateViewer.getTable();

    addBtn = init.addBtn(this, lblRate, tableContainer);
    delBtn = init.delBtn(this, lblRate, tableContainer);
    Label lblComment = init.lblComment(this, tableContainer);
    txtComment = init.txtComment(this, lblComment);

    txtName.addFocusListener(new RefreshFocusLsnr());
    txtAbbrev.addFocusListener(new RefreshFocusLsnr());
    txtComment.addFocusListener(new RefreshFocusLsnr());

    virtCheck.addListener(
        SWT.Selection,
        new Listener() {
          public void handleEvent(Event event) {
            tblRate.setEnabled(!virtCheck.getSelection());
            addBtn.setEnabled(!virtCheck.getSelection());
            delBtn.setEnabled(!virtCheck.getSelection());
            refreshListener.refresh(); // освежим данные в дереве и в базе
          }
        });

    addBtn.addListener(
        SWT.Selection,
        new Listener() {
          public void handleEvent(Event event) {
            contentProvider.append();
            rateViewer.refresh();
          }
        });

    delBtn.addListener(
        SWT.Selection,
        new Listener() {
          public void handleEvent(Event event) {
            int selIdx = rateViewer.getTable().getSelectionIndex();
            if (selIdx >= 0) {
              contentProvider.deleteAt(selIdx);
            }
            rateViewer.refresh();
            Table table = rateViewer.getTable();
            int lastPos = table.getItemCount() - 1;
            table.setSelection(lastPos);
          }
        });
  }