Package org.eclipse.swt.layout

Examples of org.eclipse.swt.layout.GridData


      shellForChildren = parent;
  }

  private void openWindow(Shell parent) {
    boolean bTorrentInClipboard = false;
    GridData gridData;
    Label label;
    Composite cArea;

    shell = ShellFactory.createShell(parent, SWT.RESIZE | SWT.DIALOG_TRIM);

    shellForChildren = shell;

    shell.setText(MessageText.getString("OpenTorrentWindow.title"));
    Utils.setShellIcon(shell);

    GridLayout layout = FixupLayout(new GridLayout(), false);
    shell.setLayout(layout);
    shell.addListener(SWT.Resize, new Listener() {
      public void handleEvent(Event e) {
        resizeTables(3);
      }
    });

    Clipboard clipboard = new Clipboard(shell.getDisplay());

    String sClipText = (String) clipboard.getContents(TextTransfer.getInstance());
    if (sClipText != null)
      bTorrentInClipboard = addTorrentsFromTextList(sClipText, true) > 0;

    //    label = new Label(shell, SWT.BORDER | SWT.WRAP);
    //    Messages.setLanguageText(label, "OpenTorrentWindow.message");
    //    gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    //    label.setLayoutData(gridData);

    // Torrents
    // ========

    Composite cButtons = new Composite(shell, SWT.NONE);
    RowLayout rLayout = new RowLayout(SWT.HORIZONTAL);
    rLayout.marginBottom = 0;
    rLayout.marginLeft = 0;
    rLayout.marginRight = 0;
    rLayout.marginTop = 0;
    cButtons.setLayout(rLayout);

    // Buttons for tableTorrents

    Button browseTorrent = new Button(cButtons, SWT.PUSH);
    Messages.setLanguageText(browseTorrent, "OpenTorrentWindow.addFiles");
    browseTorrent.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        FileDialog fDialog = new FileDialog(shell, SWT.OPEN | SWT.MULTI);
        fDialog.setFilterExtensions(new String[] {
          "*.torrent",
          "*.tor",
          Constants.FILE_WILDCARD
        });
        fDialog.setFilterNames(new String[] {
          "*.torrent",
          "*.tor",
          Constants.FILE_WILDCARD
        });
        fDialog.setFilterPath(TorrentOpener.getFilterPathTorrent());
        fDialog.setText(MessageText.getString("MainWindow.dialog.choose.file"));
        String fileName = TorrentOpener.setFilterPathTorrent(fDialog.open());
        if (fileName != null) {
          addTorrents(fDialog.getFilterPath(), fDialog.getFileNames());
        }
      }
    });

    Utils.setGridData(cButtons, GridData.FILL_HORIZONTAL, browseTorrent,
        MIN_BUTTON_HEIGHT);

    Button browseURL = new Button(cButtons, SWT.PUSH);
    Messages.setLanguageText(browseURL, "OpenTorrentWindow.addFiles.URL");
    browseURL.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        browseURL();
      }
    });

    Button browseFolder = new Button(cButtons, SWT.PUSH);
    Messages.setLanguageText(browseFolder, "OpenTorrentWindow.addFiles.Folder");
    browseFolder.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        DirectoryDialog fDialog = new DirectoryDialog(shell, SWT.NULL);
        fDialog.setFilterPath(TorrentOpener.getFilterPathTorrent());
        fDialog.setMessage(MessageText.getString("MainWindow.dialog.choose.folder"));
        String path = TorrentOpener.setFilterPathTorrent(fDialog.open());
        if (path != null) {
          addTorrents(path, null);
        }
      }
    });

    if (bTorrentInClipboard) {
      Button pasteOpen = new Button(cButtons, SWT.PUSH);
      Messages.setLanguageText(pasteOpen,
          "OpenTorrentWindow.addFiles.Clipboard");
      pasteOpen.setToolTipText(sClipText);
      pasteOpen.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
          Clipboard clipboard = new Clipboard(shell.getDisplay());

          String sClipText = (String) clipboard.getContents(TextTransfer.getInstance());
          if (sClipText != null) {
            addTorrentsFromTextList(sClipText.trim(), false);
          }
        }
      });
    }

    Group gTorrentsArea = new Group(shell, SWT.NONE);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gTorrentsArea.setLayoutData(gridData);
    layout = FixupLayout(new GridLayout(), true);
    gTorrentsArea.setLayout(layout);
    Messages.setLanguageText(gTorrentsArea, "OpenTorrentWindow.torrentLocation");

    Composite cTorrentList = new Composite(gTorrentsArea, SWT.NONE);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    cTorrentList.setLayoutData(gridData);

    createTorrentListArea(cTorrentList);

    Composite cTorrentOptions = new Composite(gTorrentsArea, SWT.NONE);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    cTorrentOptions.setLayoutData(gridData);
    layout = FixupLayout(new GridLayout(), true);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    cTorrentOptions.setLayout(layout);

    label = new Label(cTorrentOptions, SWT.NONE);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    label.setLayoutData(gridData);
    Messages.setLanguageText(label, "OpenTorrentWindow.torrent.options");

    int userMode = COConfigurationManager.getIntParameter("User Mode");
    if (userMode > 0) {
      Composite cTorrentModes = new Composite(cTorrentOptions, SWT.NONE);
      gridData = new GridData(GridData.FILL_HORIZONTAL);
      cTorrentModes.setLayoutData(gridData);
      layout = new GridLayout();
      layout.numColumns = 4;
      layout.marginWidth = 0;
      layout.marginHeight = 0;
      cTorrentModes.setLayout(layout);

      label = new Label(cTorrentModes, SWT.NONE);
      gridData = new GridData(GridData.VERTICAL_ALIGN_CENTER);
      label.setLayoutData(gridData);
      Messages.setLanguageText(label, "OpenTorrentWindow.startMode");

      cmbStartMode = new Combo(cTorrentModes, SWT.BORDER | SWT.READ_ONLY);
      gridData = new GridData(GridData.FILL_HORIZONTAL);
      cmbStartMode.setLayoutData(gridData);
      updateStartModeCombo();
      cmbStartMode.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
          setSelectedStartMode(cmbStartMode.getSelectionIndex());
        }
      });

      label = new Label(cTorrentModes, SWT.NONE);
      gridData = new GridData(GridData.VERTICAL_ALIGN_CENTER);
      label.setLayoutData(gridData);
      Messages.setLanguageText(label, "OpenTorrentWindow.addPosition");

      cmbQueueLocation = new Combo(cTorrentModes, SWT.BORDER | SWT.READ_ONLY);
      gridData = new GridData(GridData.FILL_HORIZONTAL);
      cmbQueueLocation.setLayoutData(gridData);
      updateQueueLocationCombo();
      cmbQueueLocation.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
          setSelectedQueueLocation(cmbQueueLocation.getSelectionIndex());
        }
      });
    }

    // Save To..
    // =========

    cSaveTo = new Composite(cTorrentOptions, SWT.NONE);
    layout = FixupLayout(new GridLayout(), false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.verticalSpacing = 0;
    layout.numColumns = 2;
    cSaveTo.setLayout(layout);

    Label lblDataDir = new Label(cSaveTo, SWT.NONE);
    gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    gridData.horizontalSpan = 2;
    lblDataDir.setLayoutData(gridData);
    Messages.setLanguageText(lblDataDir, "OpenTorrentWindow.dataLocation");

    cmbDataDir = new Combo(cSaveTo, SWT.BORDER);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    cmbDataDir.setLayoutData(gridData);

    cmbDataDir.addModifyListener(new ModifyListener() {
      public void modifyText(ModifyEvent e) {
        cmbDataDirChanged();
      }
    });
    cmbDataDir.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        cmbDataDirChanged();
      }
    });

    updateDataDirCombo();
    dirList = COConfigurationManager.getStringListParameter("saveTo_list");
    StringIterator iter = dirList.iterator();
    while (iter.hasNext()) {
      String s = iter.next();
      if (!s.equals(sDestDir)) {
        cmbDataDir.add(s);
      }
    }

    Button browseData = new Button(cSaveTo, SWT.PUSH);
    Messages.setLanguageText(browseData, "ConfigView.button.browse");

    browseData.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        String sSavePath;
        String sDefPath = cmbDataDir.getText();

        File f = new File(sDefPath);
        if (sDefPath.length() > 0) {
          while (!f.exists()) {
            f = f.getParentFile();
            if (f == null) {
              f = new File(sDefPath);
              break;
            }
          }
        }

        DirectoryDialog dDialog = new DirectoryDialog(shell, SWT.SYSTEM_MODAL);
        dDialog.setFilterPath(f.getAbsolutePath());
        dDialog.setMessage(MessageText.getString("MainWindow.dialog.choose.savepath_forallfiles"));
        sSavePath = dDialog.open();

        if (sSavePath != null) {
          cmbDataDir.setText(sSavePath);
        }
      }
    });

    gridData = new GridData(GridData.FILL_HORIZONTAL);
    cSaveTo.setLayoutData(gridData);

    // File List
    // =========

    Group gFilesArea = new Group(shell, SWT.NONE);
    gridData = new GridData(GridData.FILL_BOTH);
    gFilesArea.setLayoutData(gridData);
    layout = FixupLayout(new GridLayout(), true);
    gFilesArea.setLayout(layout);
    Messages.setLanguageText(gFilesArea, "OpenTorrentWindow.fileList");

    createTableDataFiles(gFilesArea);

    // Ok, cancel

    cArea = new Composite(shell, SWT.NULL);
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.numColumns = 2;
    cArea.setLayout(layout);

    ok = new Button(cArea, SWT.PUSH);
    Messages.setLanguageText(ok, "Button.ok");
    gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
    gridData.widthHint = 70;
    ok.setLayoutData(gridData);
    shell.setDefaultButton(ok);
    ok.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        okPressed();
      }
    });

    checkSeedingMode();

    Button cancel = new Button(cArea, SWT.PUSH);
    Messages.setLanguageText(cancel, "Button.cancel");
    gridData = new GridData();
    gridData.widthHint = 70;
    cancel.setLayoutData(gridData);
    cancel.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        close(true, true);
View Full Code Here


      torrentList.clear();
    }
  }

  private void createTorrentListArea(Composite cArea) {
    GridData gridData;
    TableColumn tc;

    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.numColumns = 2;
    cArea.setLayout(layout);

    torrentTable = new Table(cArea, SWT.MULTI | SWT.BORDER
        | SWT.FULL_SELECTION | SWT.VIRTUAL);
    gridData = new GridData(GridData.FILL_HORIZONTAL
        | GridData.VERTICAL_ALIGN_FILL);
    gridData.heightHint = 50;
    gridData.widthHint = 450;
    torrentTable.setLayoutData(gridData);

    tc = new TableColumn(torrentTable, SWT.NULL);
    Messages.setLanguageText(tc, "OpenTorrentWindow.torrentTable.name");
    tc.setWidth(150);
    tc = new TableColumn(torrentTable, SWT.NULL);
    Messages.setLanguageText(tc, "OpenTorrentWindow.torrentTable.saveLocation");
    tc.setWidth(150);
    tc = new TableColumn(torrentTable, SWT.NULL);
    Messages.setLanguageText(tc, "OpenTorrentWindow.startMode");
    tc.setWidth(70);
    tc = new TableColumn(torrentTable, SWT.NULL);
    Messages.setLanguageText(tc, "OpenTorrentWindow.addPosition");
    tc.setWidth(80);

    if (Utils.LAST_TABLECOLUMN_EXPANDS)
      tc.setData("Width", new Long(80));

    torrentTable.addListener(SWT.SetData, new Listener() {
      public void handleEvent(Event event) {
        if (bClosed)
          return;

        TableItem item = (TableItem) event.item;
        int index = torrentTable.indexOf(item);
        if (index < 0)
          return;

        TorrentInfo info = (TorrentInfo) torrentList.get(index);

        item.setText(new String[] {
          info.getTorrentName(),
          info.getDataDir(),
          MessageText.getString("OpenTorrentWindow.startMode."
              + startModes[info.iStartID]),
          MessageText.getString("OpenTorrentWindow.addPosition."
              + queueLocations[info.iQueueLocation])
        });
        if (!info.isValid) {
          item.setForeground(Colors.red);
          Font font = item.getFont();
          FontData[] fd = font.getFontData();
          for (int i = 0; i < fd.length; i++) {
            fd[i].setStyle(SWT.ITALIC);
          }
          font = new Font(item.getDisplay(), fd);
          disposeList.add(font);
          item.setFont(font);
        }
        Utils.alternateRowBackground(item);
      }
    });

    torrentTable.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        dataFiles.clear();
        int[] indexes = torrentTable.getSelectionIndices();
        for (int i = 0; i < indexes.length; i++) {
          TorrentInfo info = (TorrentInfo) torrentList.get(indexes[i]);
          TorrentFileInfo[] files = info.getFiles();
          dataFiles.addAll(Arrays.asList(files));
        }

        updateDataDirCombo();
        updateStartModeCombo();
        updateQueueLocationCombo();

        dataFileTable.setItemCount(dataFiles.size());
        dataFileTable.clearAll();
        editCell(-1);
        updateSize();
        resizeTables(2);
      }
    });

    torrentTable.addKeyListener(new KeyAdapter() {
      public void keyPressed(KeyEvent e) {
        if (e.character == SWT.DEL) {
          deleteSelected(torrentTable, torrentList);
          e.doit = false;
        }
      }
    });

    torrentTable.setHeaderVisible(true);

    // Menu for tableTorrents

    String sTitle;
    Menu menu = new Menu(torrentTable.getShell());
    MenuItem item;
    sTitle = MessageText.getString("OpenTorrentWindow.startMode");

    int userMode = COConfigurationManager.getIntParameter("User Mode");
    for (int i = 0; i < startModes.length; i++) {
      if (i == STARTMODE_FORCESTARTED && userMode == 0)
        continue;

      item = new MenuItem(menu, SWT.PUSH);
      item.setData("Value", new Long(i));
      item.setText(sTitle
          + ": "
          + MessageText.getString("OpenTorrentWindow.startMode."
              + startModes[i]));

      item.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
          Long l = (Long) e.widget.getData("Value");
          if (l != null) {
            setSelectedStartMode(l.intValue());
            checkSeedingMode();
          }
        }
      });
    }

    item = new MenuItem(menu, SWT.SEPARATOR);
    sTitle = MessageText.getString("OpenTorrentWindow.addPosition");

    for (int i = 0; i < queueLocations.length; i++) {
      item = new MenuItem(menu, SWT.PUSH);
      item.setData("Value", new Long(i));
      item.setText(sTitle
          + ": "
          + MessageText.getString("OpenTorrentWindow.addPosition."
              + queueLocations[i]));

      item.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
          Long l = (Long) e.widget.getData("Value");
          if (l != null) {
            setSelectedQueueLocation(l.intValue());
          }
        }
      });
    }

    item = new MenuItem(menu, SWT.SEPARATOR);

    item = new MenuItem(menu, SWT.PUSH);
    // steal text
    Messages.setLanguageText(item, "MyTorrentsView.menu.remove");
    item.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        deleteSelected(torrentTable, torrentList);
      }
    });

    item = new MenuItem(menu, SWT.PUSH);
    Messages.setLanguageText(item,
        "OpenTorrentWindow.fileList.changeDestination");
    item.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        int[] indexes = torrentTable.getSelectionIndices();
        String sDefPath = sDestDir;

        for (int i = 0; i < indexes.length; i++) {
          TorrentInfo info = (TorrentInfo) torrentList.get(indexes[i]);

          TorrentFileInfo[] files = info.getFiles();
          if (files.length == 1 && info.torrent.isSimpleTorrent()) {
            changeFileDestination(new int[] {
              0
            });
          } else {
            DirectoryDialog dDialog = new DirectoryDialog(shellForChildren,
                SWT.SYSTEM_MODAL);

            dDialog.setFilterPath(sDefPath);
            dDialog.setMessage(MessageText.getString("MainWindow.dialog.choose.savepath")
                + " (" + info.getTorrentName() + ")");
            String sNewDir = dDialog.open();

            if (sNewDir == null)
              return;

            File newDir = new File(sNewDir).getAbsoluteFile();
           
            if(newDir.isDirectory())
              sDefPath = sNewDir;

            info.sDestDir = newDir.getParent();
            if (info.sDestDir == null)
              info.sDestDir = newDir.getPath();
            info.sDestSubDir = newDir.getName();

            for (int j = 0; j < files.length; j++) {
              TorrentFileInfo fileInfo = files[j];
              fileInfo.setDestFileName(null);
            }
          }

        } // for i

        checkSeedingMode();
        updateDataDirCombo();
        diskFreeInfoRefreshPending = true;
      }
    });

    torrentTable.setMenu(menu);

    Composite cTorrentListRight = new Composite(cArea, SWT.NONE);
    gridData = new GridData();
    cTorrentListRight.setLayoutData(gridData);
    RowLayout rLayout = new RowLayout(SWT.VERTICAL);
    rLayout.marginBottom = 0;
    rLayout.marginLeft = 0;
    rLayout.marginRight = 0;
View Full Code Here

  private static final int EDIT_COLUMN_INDEX = 1;
 
 
  private void createTableDataFiles(Composite cArea) {
    GridData gridData;
    TableColumn tc;

    dataFileTable = new Table(cArea, SWT.BORDER | SWT.CHECK
        | SWT.FULL_SELECTION | SWT.VIRTUAL | SWT.MULTI);
    dataFileTableEditor = new TableEditor(dataFileTable);
    dataFileTableEditor.grabHorizontal = true;
    dataFileTableEditor.minimumWidth = 50;
   
    gridData = new GridData(GridData.FILL_BOTH);
    gridData.heightHint = 80;
    gridData.widthHint = 100;
    dataFileTable.setLayoutData(gridData);
   
   

    tc = new TableColumn(dataFileTable, SWT.NULL);
    Messages.setLanguageText(tc, "OpenTorrentWindow.fileTable.fileName");
    tc.setWidth(150);
    tc = new TableColumn(dataFileTable, SWT.NULL);
    Messages.setLanguageText(tc, "OpenTorrentWindow.fileTable.destinationName");
    tc.setWidth(140);
    tc = new TableColumn(dataFileTable, SWT.NULL);
    Messages.setLanguageText(tc, "OpenTorrentWindow.fileTable.size");
    tc.setAlignment(SWT.TRAIL);
    tc.setWidth(90);

    if (Utils.LAST_TABLECOLUMN_EXPANDS)
      tc.setData("Width", new Long(90));

    dataFileTable.addListener(SWT.SetData, new Listener() {
      public void handleEvent(Event event) {
        if (bClosed)
          return;
       
        final TableItem item = (TableItem) event.item;
       
        int index = dataFileTable.indexOf(item);
        final TorrentFileInfo file = (TorrentFileInfo) dataFiles.get(index);

        item.setText(new String[] {
          file.orgFullName,
          file.isLinked() ? file.getDestFileFullName().toString() : file.getDestFileName(),
          DisplayFormatters.formatByteCountToKiBEtc(file.lSize)
        });
        if (!file.isValid) {
          item.setForeground(Colors.red);
          Font font = item.getFont();
          FontData[] fd = font.getFontData();
          for (int i = 0; i < fd.length; i++) {
            fd[i].setStyle(SWT.ITALIC);
          }
          font = new Font(item.getDisplay(), fd);
          disposeList.add(font);
          item.setFont(font);
        }
        Utils.alternateRowBackground(item);
        Utils.setCheckedInSetData(item, file.bDownload);

        item.setGrayed(!file.okToDisable());
      }
    });

    dataFileTable.addSelectionListener(new SelectionAdapter() {

      public void widgetSelected(SelectionEvent event) {
        if (event.detail == SWT.CHECK) {
          TableItem item = (TableItem) event.item;
          int index = dataFileTable.indexOf(item);
          TorrentFileInfo file = (TorrentFileInfo) dataFiles.get(index);
          // don't allow disabling of small files
          // XXX Maybe warning prompt instead?
          if (!item.getChecked() && !file.okToDisable())
            item.setChecked(true);
          else
            file.bDownload = item.getChecked();

          updateSize();
        }
      }

    });
   
    dataFileTable.addMouseListener(new MouseAdapter() {
      public void mouseDown(MouseEvent e) {
        editCell(-1); // cleanup
        if(e.button != 1)
          return;

        TableItem[] items = dataFileTable.getItems();
        boolean found = false;
        int i;
        outer: for (i = 0; i < items.length; i++)
        {
          TableItem item = items[i];
          Rectangle rect = item.getBounds();
          if (e.y < rect.y || (rect.y + rect.height) < e.y)
            continue;
          for (int j = 0; j < dataFileTable.getColumnCount(); j++)
          {
            if (!item.getBounds(j).contains(e.x, e.y))
              continue;
            found = j == EDIT_COLUMN_INDEX;
            break outer;
          }
        }
        if(found)
          editCell(i);
      }
    });
   
   

    dataFileTable.setHeaderVisible(true);

    Menu menu = new Menu(dataFileTable);
    dataFileTable.setMenu(menu);

    MenuItem item;

    item = new MenuItem(menu, SWT.PUSH);
    Messages.setLanguageText(item,
        "OpenTorrentWindow.fileList.changeDestination");
    item.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        int[] indexes = dataFileTable.getSelectionIndices();
        changeFileDestination(indexes);
      }
    });

    Composite cBottomArea = new Composite(cArea, SWT.NONE);
    GridLayout gLayout = new GridLayout();
    gLayout.marginHeight = 0;
    gLayout.marginWidth = 0;
    gLayout.numColumns = 2;
    gLayout.verticalSpacing = 0;
    cBottomArea.setLayout(gLayout);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    cBottomArea.setLayoutData(gridData);

    Composite cButtons = new Composite(cBottomArea, SWT.NONE);
    RowLayout rLayout = new RowLayout(SWT.HORIZONTAL);
    rLayout.wrap = false;
    rLayout.marginBottom = 0;
    rLayout.marginLeft = 0;
    rLayout.marginRight = 0;
    rLayout.marginTop = 0;
    cButtons.setLayout(rLayout);
    gridData = new GridData(SWT.END, SWT.BEGINNING, false, false);
    gridData.verticalSpan = 2;
    cButtons.setLayoutData(gridData);

    Button btnSelectAll = new Button(cButtons, SWT.PUSH);
    Messages.setLanguageText(btnSelectAll, "Button.selectAll");
    btnSelectAll.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        dataFileTable.selectAll();
      }
    });

    Button btnMarkSelected = new Button(cButtons, SWT.PUSH);
    Messages.setLanguageText(btnMarkSelected, "Button.markSelected");
    btnMarkSelected.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        int[] indexes = dataFileTable.getSelectionIndices();
        for (int i = 0; i < indexes.length; i++) {
          TorrentFileInfo file = (TorrentFileInfo) dataFiles.get(indexes[i]);
          file.bDownload = true;
        }
        dataFileTable.clearAll();
        updateSize();
      }
    });

    Button btnUnmarkSelected = new Button(cButtons, SWT.PUSH);
    Messages.setLanguageText(btnUnmarkSelected, "Button.unmarkSelected");
    btnUnmarkSelected.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        int[] indexes = dataFileTable.getSelectionIndices();
        for (int i = 0; i < indexes.length; i++) {
          TorrentFileInfo file = (TorrentFileInfo) dataFiles.get(indexes[i]);
          if (file.okToDisable())
            file.bDownload = false;
        }
        dataFileTable.clearAll();
        updateSize();
      }
    });

    dataFileTableLabel = new Label(cBottomArea, SWT.WRAP);
    dataFileTableLabel.setAlignment(SWT.RIGHT);
    gridData = new GridData(SWT.END, SWT.BEGINNING, true, false);
    dataFileTableLabel.setLayoutData(gridData);

    diskspaceComp = new Composite(cBottomArea, SWT.NONE);
    gLayout = new GridLayout(2, false);
    gLayout.marginHeight = gLayout.marginWidth = 1;
    gLayout.verticalSpacing = 0;
    gLayout.horizontalSpacing = 15;
    diskspaceComp.setLayout(gLayout);
    gridData = new GridData(SWT.END, SWT.BEGINNING, true, false);
    diskspaceComp.setLayoutData(gridData);

  }
View Full Code Here

        Label l;
        l = new Label(diskspaceComp, SWT.NONE);
        l.setForeground(filesTooBig ? Colors.colorError : null);
        l.setText(part.root.getPath());
        l.setLayoutData(new GridData(SWT.END, SWT.TOP, false, false));
        l = new Label(diskspaceComp, SWT.NONE);
        l.setForeground(filesTooBig ? Colors.colorError : null);
        l.setText(MessageText.getString("OpenTorrentWindow.diskUsage",
            new String[] {
              DisplayFormatters.formatByteCountToKiBEtc(part.bytesToConsume),
              DisplayFormatters.formatByteCountToKiBEtc(part.freeSpace)
            }));
        l.setLayoutData(new GridData(SWT.END, SWT.TOP, false, false));
      }

      diskspaceComp.update();
      diskspaceComp.getParent().getParent().getParent().layout(true, true);
View Full Code Here

    GridLayout layout = new GridLayout();
    layout.numColumns = 1;
    rootPanel.setLayout(layout);
 
    Composite panel = new Composite(rootPanel, SWT.NULL);
    GridData gridData = new GridData(GridData.VERTICAL_ALIGN_CENTER | GridData.FILL_HORIZONTAL);
    panel.setLayoutData(gridData);
    layout = new GridLayout();
    layout.numColumns = 3;
    panel.setLayout(layout);

    Label label = new Label(panel, SWT.WRAP);
    gridData = new GridData();
    gridData.horizontalSpan = 3;
    gridData.widthHint = 380;
    label.setLayoutData(gridData);
    Messages.setLanguageText(label, "exportTorrentWizard.exportfile.message");
 
    label = new Label(panel,SWT.NULL);
    Messages.setLanguageText(label, "exportTorrentWizard.exportfile.path");
 
    final Text textPath = new Text(panel,SWT.BORDER);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    textPath.setLayoutData(gridData);
    textPath.setText(((ExportTorrentWizard)wizard).getExportFile());
 
    Button browse = new Button(panel,SWT.PUSH);
    Messages.setLanguageText(browse, "exportTorrentWizard.exportfile.browse");
View Full Code Here

  public void configSectionDelete() {
  }

  public Composite configSectionCreate(final Composite parent) {
    GridData gridData;
    GridLayout layout;

    Composite cSection = new Composite(parent, SWT.NULL);

    gridData = new GridData(GridData.VERTICAL_ALIGN_FILL
        | GridData.HORIZONTAL_ALIGN_FILL);
    cSection.setLayoutData(gridData);
    layout = new GridLayout();
    layout.numColumns = 2;
    cSection.setLayout(layout);

    int userMode = COConfigurationManager.getIntParameter("User Mode");
    if (userMode < REQUIRED_MODE) {
      Label label = new Label(cSection, SWT.WRAP);
      gridData = new GridData();
      gridData.horizontalSpan = 2;
      label.setLayoutData(gridData);

      final String[] modeKeys = { "ConfigView.section.mode.beginner",
          "ConfigView.section.mode.intermediate",
          "ConfigView.section.mode.advanced" };

      String param1, param2;
      if (REQUIRED_MODE < modeKeys.length)
        param1 = MessageText.getString(modeKeys[REQUIRED_MODE]);
      else
        param1 = String.valueOf(REQUIRED_MODE);
         
      if (userMode < modeKeys.length)
        param2 = MessageText.getString(modeKeys[userMode]);
      else
        param2 = String.valueOf(userMode);

      label.setText(MessageText.getString("ConfigView.notAvailableForMode",
          new String[] { param1, param2 } ));

      return cSection;
    }

    //////////////////////  PROXY GROUP /////////////////
   
    Group gProxyTracker = new Group(cSection, SWT.NULL);
    Messages.setLanguageText(gProxyTracker, CFG_PREFIX + "group.tracker");
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    gProxyTracker.setLayoutData(gridData);
    layout = new GridLayout();
    layout.numColumns = 2;
    gProxyTracker.setLayout(layout);
   
    final BooleanParameter enableProxy = new BooleanParameter(gProxyTracker,
        "Enable.Proxy", CFG_PREFIX + "enable_proxy");
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    enableProxy.setLayoutData(gridData);

    final BooleanParameter enableSocks = new BooleanParameter(gProxyTracker,
        "Enable.SOCKS", CFG_PREFIX + "enable_socks");
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    enableSocks.setLayoutData(gridData);

    Label lHost = new Label(gProxyTracker, SWT.NULL);
    Messages.setLanguageText(lHost, CFG_PREFIX + "host");
    StringParameter pHost = new StringParameter(gProxyTracker, "Proxy.Host", "");
    gridData = new GridData();
    gridData.widthHint = 105;
    pHost.setLayoutData(gridData);

    Label lPort = new Label(gProxyTracker, SWT.NULL);
    Messages.setLanguageText(lPort, CFG_PREFIX + "port");
    StringParameter pPort = new StringParameter(gProxyTracker, "Proxy.Port", "");
    gridData = new GridData();
    gridData.widthHint = 40;
    pPort.setLayoutData(gridData);

    Label lUser = new Label(gProxyTracker, SWT.NULL);
    Messages.setLanguageText(lUser, CFG_PREFIX + "username");
    StringParameter pUser = new StringParameter(gProxyTracker, "Proxy.Username" );
    gridData = new GridData();
    gridData.widthHint = 105;
    pUser.setLayoutData(gridData);

    Label lPass = new Label(gProxyTracker, SWT.NULL);
    Messages.setLanguageText(lPass, CFG_PREFIX + "password");
    StringParameter pPass = new StringParameter(gProxyTracker, "Proxy.Password", "");
    gridData = new GridData();
    gridData.widthHint = 105;
    pPass.setLayoutData(gridData);

    ////////////////////////////////////////////////
   
    Group gProxyPeer = new Group(cSection, SWT.NULL);
    Messages.setLanguageText(gProxyPeer, CFG_PREFIX + "group.peer");
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    gProxyPeer.setLayoutData(gridData);
    layout = new GridLayout();
    layout.numColumns = 2;
    gProxyPeer.setLayout(layout);

    final BooleanParameter enableSocksPeer = new BooleanParameter(gProxyPeer,
        "Proxy.Data.Enable", CFG_PREFIX + "enable_socks.peer");
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    enableSocksPeer.setLayoutData(gridData);

    final BooleanParameter socksPeerInform = new BooleanParameter(gProxyPeer,
        "Proxy.Data.SOCKS.inform", CFG_PREFIX + "peer.informtracker");
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    socksPeerInform.setLayoutData(gridData);

    Label lSocksVersion = new Label(gProxyPeer, SWT.NULL);
    Messages.setLanguageText(lSocksVersion, CFG_PREFIX + "socks.version");
    String[] socks_types = { "V4", "V4a", "V5" };
    String dropLabels[] = new String[socks_types.length];
    String dropValues[] = new String[socks_types.length];
    for (int i = 0; i < socks_types.length; i++) {
      dropLabels[i] = socks_types[i];
      dropValues[i] = socks_types[i];
    }
    final StringListParameter socksType = new StringListParameter(gProxyPeer,
        "Proxy.Data.SOCKS.version", "V4", dropLabels, dropValues);

    final BooleanParameter sameConfig = new BooleanParameter(gProxyPeer,
        "Proxy.Data.Same", CFG_PREFIX + "peer.same");
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    sameConfig.setLayoutData(gridData);

    Label lDataHost = new Label(gProxyPeer, SWT.NULL);
    Messages.setLanguageText(lDataHost, CFG_PREFIX + "host");
    StringParameter pDataHost = new StringParameter(gProxyPeer,
        "Proxy.Data.Host", "");
    gridData = new GridData();
    gridData.widthHint = 105;
    pDataHost.setLayoutData(gridData);

    Label lDataPort = new Label(gProxyPeer, SWT.NULL);
    Messages.setLanguageText(lDataPort, CFG_PREFIX + "port");
    StringParameter pDataPort = new StringParameter(gProxyPeer,
        "Proxy.Data.Port", "");
    gridData = new GridData();
    gridData.widthHint = 40;
    pDataPort.setLayoutData(gridData);

    Label lDataUser = new Label(gProxyPeer, SWT.NULL);
    Messages.setLanguageText(lDataUser, CFG_PREFIX + "username");
    StringParameter pDataUser = new StringParameter(gProxyPeer,
        "Proxy.Data.Username");
    gridData = new GridData();
    gridData.widthHint = 105;
    pDataUser.setLayoutData(gridData);

    Label lDataPass = new Label(gProxyPeer, SWT.NULL);
    Messages.setLanguageText(lDataPass, CFG_PREFIX + "password");
    StringParameter pDataPass = new StringParameter(gProxyPeer,
        "Proxy.Data.Password", "");
    gridData = new GridData();
    gridData.widthHint = 105;
    pDataPass.setLayoutData(gridData);

    final Control[] proxy_controls = new Control[] { enableSocks.getControl(),
        lHost, pHost.getControl(), lPort, pPort.getControl(), lUser,
        pUser.getControl(), lPass, pPass.getControl(), };

    IAdditionalActionPerformer proxy_enabler = new GenericActionPerformer(
        new Control[] {}) {
      public void performAction() {
        for (int i = 0; i < proxy_controls.length; i++) {

          proxy_controls[i].setEnabled(enableProxy.isSelected());
        }
      }
    };

    final Control[] proxy_peer_controls = new Control[] { lDataHost,
        pDataHost.getControl(), lDataPort, pDataPort.getControl(), lDataUser,
        pDataUser.getControl(), lDataPass, pDataPass.getControl() };

    final Control[] proxy_peer_details = new Control[] {
        sameConfig.getControl(), socksPeerInform.getControl(),
        socksType.getControl(), lSocksVersion };

    IAdditionalActionPerformer proxy_peer_enabler = new GenericActionPerformer(
        new Control[] {}) {
      public void performAction() {
        for (int i = 0; i < proxy_peer_controls.length; i++) {

          proxy_peer_controls[i].setEnabled(enableSocksPeer.isSelected()
              && !sameConfig.isSelected());
        }

        for (int i = 0; i < proxy_peer_details.length; i++) {

          proxy_peer_details[i].setEnabled(enableSocksPeer.isSelected());
        }
      }
    };

    enableSocks.setAdditionalActionPerformer(proxy_enabler);
    enableProxy.setAdditionalActionPerformer(proxy_enabler);
    enableSocksPeer.setAdditionalActionPerformer(proxy_peer_enabler);
    sameConfig.setAdditionalActionPerformer(proxy_peer_enabler);

    final BooleanParameter checkOnStart = new BooleanParameter(cSection,
        "Proxy.Check.On.Start", CFG_PREFIX + "check.on.start");
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    checkOnStart.setLayoutData(gridData);

    Label label = new Label(cSection, SWT.WRAP);
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    label.setLayoutData(gridData);
    label.setText(MessageText.getString(CFG_PREFIX+"username.info" ));
   
    return cSection;
View Full Code Here

        GridLayout layout = new GridLayout();
        layout.numColumns = 1;
        rootPanel.setLayout(layout);

        Composite panel = new Composite(rootPanel, SWT.NULL);
        GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
        panel.setLayoutData(gridData);

        layout = new GridLayout();
        layout.numColumns = 4;
        panel.setLayout(layout);

        Label explain = new Label(panel, SWT.WRAP);
        gridData = new GridData(GridData.FILL_HORIZONTAL);
        gridData.horizontalSpan = 4;
        explain.setLayoutData(gridData);
        Messages.setLanguageText(explain,"SpeedTestWizard.set.upload.panel.explain");

        //spacer line
        Label spacer = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.horizontalSpan = 4;
        spacer.setLayoutData(gridData);

        Label spacer1 = new Label(panel, SWT.NULL);
        gridData = new GridData();
        spacer1.setLayoutData(gridData);

        Label bytesCol = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.widthHint=80;
        bytesCol.setLayoutData(gridData);
        Messages.setLanguageText(bytesCol,"SpeedTestWizard.set.upload.bytes.per.sec");

        Label bitsCol = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.widthHint=80;
        bitsCol.setLayoutData(gridData);
        Messages.setLanguageText(bitsCol,"SpeedTestWizard.set.upload.bits.per.sec");

        Label confLevel = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.widthHint=80;
        confLevel.setLayoutData(gridData);
        Messages.setLanguageText(confLevel,"SpeedTestWizard.set.limit.conf.level");

        //upload limit label.
        Label ul = new Label(panel, SWT.NULL );
        gridData = new GridData();
        ul.setLayoutData(gridData);
        Messages.setLanguageText(
            ul,
                "SpeedView.stats.estupcap",
                new String[] { DisplayFormatters.getRateUnit(DisplayFormatters.UNIT_KB)});

        final Text uploadLimitSetting = new Text(panel, SWT.BORDER );
        gridData = new GridData(GridData.BEGINNING);
        gridData.widthHint=80;
        uploadLimitSetting.setLayoutData(gridData);

        int uploadCapacity = determineRateSettingEx(measuredUploadKbps,uploadTestRan,true);

        //don't accept any value less the 20 kb/s
        if(uploadCapacity<20)
            uploadCapacity=20;

        uploadLimitSetting.setText( ""+uploadCapacity );
        uploadLimitSetting.addListener(SWT.Verify, new NumberListener(uploadLimitSetting));


        //echo
        final Label echo = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.horizontalSpan = 1;
        gridData.widthHint = 80;
        echo.setLayoutData(gridData);
        echo.setText( DisplayFormatters.formatByteCountToBitsPerSec(uploadCapacity*1024) );
        //This space has a change listener the updates in bits/sec.

        //want a change listener to update the echo label which has the value in bits/sec.
        uploadLimitSetting.addListener(SWT.Modify, new ByteConversionListener(echo,uploadLimitSetting));

        //confidence setting.
        final String[] confName = helper.getSettableTypes();
        final String[] confValue = helper.getSettableTypes();

        //upload confidence setting.
        int uploadDropIndex = setDefaultConfidenceLevelEx(measuredUploadKbps,uploadTestRan,true,confValue);
        upConfLevelCombo = new Combo(panel, SWT.READ_ONLY );
        addDropElements(upConfLevelCombo,confName);
        upConfLevelCombo.select(uploadDropIndex);


        //download limit label.
        Label dl = new Label( panel, SWT.NULL );
        gridData = new GridData();
        dl.setLayoutData(gridData);
        Messages.setLanguageText(
                dl,
                "SpeedView.stats.estdowncap",
                new String[] { DisplayFormatters.getRateUnit(DisplayFormatters.UNIT_KB)});

        final Text downloadLimitSetting = new Text(panel, SWT.BORDER);
        gridData = new GridData(GridData.BEGINNING);
        gridData.widthHint=80;
        downloadLimitSetting.setLayoutData(gridData);

        int bestDownloadSetting = determineRateSettingEx(measuredDownloadKbps,downloadTestRan,false);

        downloadLimitSetting.setText( ""+bestDownloadSetting );
        downloadLimitSetting.addListener(SWT.Verify, new NumberListener(downloadLimitSetting) );

        //echo
        final Label downEcho = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.horizontalSpan = 1;
        gridData.widthHint = 80;
        downEcho.setLayoutData(gridData);
        downEcho.setText( DisplayFormatters.formatByteCountToBitsPerSec(bestDownloadSetting*1024) );

        //convert bytes to bits on the fly for user.
        downloadLimitSetting.addListener(SWT.Modify, new ByteConversionListener(downEcho, downloadLimitSetting) );
        int downIndex = setDefaultConfidenceLevelEx(measuredDownloadKbps,downloadTestRan,false,confValue);

        downConfLevelCombo = new Combo(panel, SWT.READ_ONLY );
        addDropElements(downConfLevelCombo,confName);
        downConfLevelCombo.select(downIndex);

        //spacer col
        Label c1 = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.horizontalSpan = 1;
        gridData.widthHint = 80;
        c1.setLayoutData(gridData);

        SpeedManager sm = AzureusCoreFactory.getSingleton().getSpeedManager();

        if ( uploadTestRan ){

            //Since cable modems can over estimate upload need to drop type setting to estimate.
            sm.setEstimatedUploadCapacityBytesPerSec(
              measuredUploadKbps*1024,
              uploadHitLimit?
                SpeedManagerLimitEstimate.TYPE_ESTIMATED :SpeedManagerLimitEstimate.TYPE_ESTIMATED);
        }

        if ( downloadTestRan ){
         
          sm.setEstimatedDownloadCapacityBytesPerSec(
              measuredDownloadKbps*1024,
              downloadHitLimit?
                SpeedManagerLimitEstimate.TYPE_MEASURED_MIN :SpeedManagerLimitEstimate.TYPE_MEASURED);
        }

        apply = new Button(panel, SWT.PUSH);
        Messages.setLanguageText(apply, "SpeedTestWizard.set.upload.button.apply" );
        gridData = new GridData();
        gridData.widthHint = 70;
        apply.setLayoutData(gridData);
        apply.addListener(SWT.Selection, new Listener(){
            public void handleEvent(Event event){

                //Turn the string into an int and make it kbps.
                int uploadLimitKBPS = Integer.parseInt( uploadLimitSetting.getText() );
                int downlaodLimitKBPS = Integer.parseInt( downloadLimitSetting.getText() );
                //No value less then 20 kpbs should be allowed.
                if(uploadLimitKBPS<20){
                    uploadLimitKBPS=20;
                }

                //download value can never be less then upload.
                if( downlaodLimitKBPS < uploadLimitKBPS ){
                    downlaodLimitKBPS = uploadLimitKBPS;
                }

                //set upload limits
                COConfigurationManager.setParameter( "AutoSpeed Max Upload KBs", uploadLimitKBPS );
                COConfigurationManager.setParameter( TransferSpeedValidator.UPLOAD_CONFIGKEY, uploadLimitKBPS );
                COConfigurationManager.setParameter( TransferSpeedValidator.UPLOAD_SEEDING_CONFIGKEY , uploadLimitKBPS );
                // - Do we set these?
                //COConfigurationManager.setParameter( TransferSpeedValidator.DOWNLOAD_CONFIGKEY, downlaodLimitKBPS );

                if(downloadTestRan){
                    int dIndex = downConfLevelCombo.getSelectionIndex();
                    float downEstType = helper.textToType( confValue[dIndex] );
                    speedManager.setEstimatedUploadCapacityBytesPerSec( downlaodLimitKBPS , downEstType );
                }
                if(uploadTestRan){
                    int uIndex = upConfLevelCombo.getSelectionIndex();
                    float upEstType = helper.textToType( confValue[uIndex] );
                    speedManager.setEstimatedUploadCapacityBytesPerSec( uploadLimitKBPS , upEstType );
                }

                wizard.setFinishEnabled(true);
                wizard.setPreviousEnabled(false);
            }
        });


        //spacer col
        Label c3 = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.horizontalSpan = 1;
        c3.setLayoutData(gridData);

        //spacer line
        Label spacer2 = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.horizontalSpan = 3;
        spacer2.setLayoutData(gridData);

        //switch column width to 5 columns.
        Composite resultsPanel = new Composite(rootPanel, SWT.NULL);
        gridData = new GridData( GridData.VERTICAL_ALIGN_END | GridData.FILL_HORIZONTAL );
        resultsPanel.setLayoutData(gridData);

        layout = new GridLayout();
        layout.numColumns = 5;
        layout.makeColumnsEqualWidth=true;
View Full Code Here

     * occured in the test then the units are not printed out.
     * @param panel -
     * @param hadError - true if the test had an error.
     */
    private void createResultLabels(Composite panel,boolean hadError){
        GridData gridData;

        //spacer column
        Label c1 = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.horizontalSpan = 1;
        c1.setLayoutData(gridData);

        //label
        Label c2 = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.horizontalSpan = 1;
        gridData.horizontalAlignment = GridData.END;
        c2.setLayoutData(gridData);
        c2.setText( MessageText.getString("SpeedTestWizard.set.upload.result") );


        //bytes
        Label c3 = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.horizontalSpan = 1;
        gridData.horizontalAlignment = GridData.CENTER;
        c3.setLayoutData(gridData);
        if(!hadError){
            c3.setText( MessageText.getString("SpeedTestWizard.set.upload.bytes.per.sec") );
        }

        //bits
        Label c4 = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.horizontalSpan = 1;
        gridData.horizontalAlignment = GridData.CENTER;
        c4.setLayoutData(gridData);
        if(!hadError){
            c4.setText( MessageText.getString("SpeedTestWizard.set.upload.bits.per.sec") );
        }

        //spacer column
        Label c5 = new Label(panel, SWT.NULL);
        gridData = new GridData();
        gridData.horizontalSpan = 1;
        c5.setLayoutData(gridData);

    }
View Full Code Here

    // ----------------------
    // Any Look & Feel settings that don't really change the way the user
    // normally interacts
    Label label;
    GridLayout layout;
    GridData gridData;
    Composite cSection = new Composite(parent, SWT.NULL);
    cSection.setLayoutData(new GridData(GridData.FILL_BOTH));
    layout = new GridLayout();
    layout.numColumns = 1;
    cSection.setLayout(layout);

    new BooleanParameter(cSection, "Show Download Basket", MSG_PREFIX
        + "showdownloadbasket");

    if (!isAZ3) {
      new BooleanParameter(cSection, "IconBar.enabled", MSG_PREFIX
          + "showiconbar");
    }

    Group cStatusBar = new Group(cSection, SWT.NULL);
    Messages.setLanguageText(cStatusBar, MSG_PREFIX + "status");
    layout = new GridLayout();
    layout.numColumns = 1;
    cStatusBar.setLayout(layout);
    cStatusBar.setLayoutData(new GridData());

    new BooleanParameter(cStatusBar, "Status Area Show SR", MSG_PREFIX  + "status.show_sr");
    new BooleanParameter(cStatusBar, "Status Area Show NAT",  MSG_PREFIX + "status.show_nat");
    new BooleanParameter(cStatusBar, "Status Area Show DDB", MSG_PREFIX + "status.show_ddb");
    new BooleanParameter(cStatusBar, "Status Area Show IPF", MSG_PREFIX + "status.show_ipf");
    new BooleanParameter(cStatusBar, "status.rategraphs", MSG_PREFIX + "status.show_rategraphs");
   
    new BooleanParameter(cSection, "Add URL Silently", MSG_PREFIX  + "addurlsilently");

    new BooleanParameter(cSection, "suppress_file_download_dialog", "ConfigView.section.interface.display.suppress.file.download.dialog");

    new BooleanParameter(cSection, "show_torrents_menu", "Menu.show.torrent.menu");

    if (Constants.isWindowsXP) {
      final Button enableXPStyle = new Button(cSection, SWT.CHECK);
      Messages.setLanguageText(enableXPStyle, MSG_PREFIX + "enableXPStyle");

      boolean enabled = false;
      boolean valid = false;
      try {
        File f = new File(System.getProperty("java.home")
            + "\\bin\\javaw.exe.manifest");
        if (f.exists()) {
          enabled = true;
        }
        f = FileUtil.getApplicationFile("javaw.exe.manifest");
        if (f.exists()) {
          valid = true;
        }
      } catch (Exception e) {
        Debug.printStackTrace(e);
        valid = false;
      }
      enableXPStyle.setEnabled(valid);
      enableXPStyle.setSelection(enabled);
      enableXPStyle.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event arg0) {
          //In case we enable the XP Style
          if (enableXPStyle.getSelection()) {
            try {
              File fDest = new File(System.getProperty("java.home")
                  + "\\bin\\javaw.exe.manifest");
              File fOrigin = new File("javaw.exe.manifest");
              if (!fDest.exists() && fOrigin.exists()) {
                FileUtil.copyFile(fOrigin, fDest);
              }
            } catch (Exception e) {
              Debug.printStackTrace(e);
            }
          } else {
            try {
              File fDest = new File(System.getProperty("java.home")
                  + "\\bin\\javaw.exe.manifest");
              fDest.delete();
            } catch (Exception e) {
              Debug.printStackTrace(e);
            }
          }
        }
      });
    }

    if (Constants.isOSX) {
      new BooleanParameter(cSection, "enable_small_osx_fonts", MSG_PREFIX
          + "osx_small_fonts");
    }

    if (userMode > 0) {
      Group cUnits = new Group(cSection, SWT.NULL);
      Messages.setLanguageText(cUnits, MSG_PREFIX + "units");
      layout = new GridLayout();
      layout.numColumns = 1;
      cUnits.setLayout(layout);
      cUnits.setLayoutData(new GridData());

      new BooleanParameter(cUnits, "config.style.useSIUnits", MSG_PREFIX
          + "useSIUnits");

      new BooleanParameter(cUnits, "config.style.forceSIValues", MSG_PREFIX
          + "forceSIValues");

      new BooleanParameter(cUnits, "config.style.useUnitsRateBits", MSG_PREFIX
          + "useUnitsRateBits");

      new BooleanParameter(cUnits, "config.style.doNotUseGB", MSG_PREFIX
          + "doNotUseGB");

      new BooleanParameter(cUnits, "config.style.dataStatsOnly", MSG_PREFIX
          + "dataStatsOnly");

      new BooleanParameter(cUnits, "config.style.separateProtDataStats",
          MSG_PREFIX + "separateProtDataStats");
    }
   
    if( userMode > 1 ) {
      final BooleanParameter fMoz = new BooleanParameter(cSection, "swt.forceMozilla",MSG_PREFIX + "forceMozilla");
      Composite pArea = new Composite(cSection,SWT.NULL);
      pArea.setLayout(new GridLayout(3,false));
      pArea.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
      Messages.setLanguageText(new Label(pArea,SWT.NONE), MSG_PREFIX+"xulRunnerPath");
      final Parameter xulDir = new DirectoryParameter(pArea, "swt.xulRunner.path","");
      fMoz.setAdditionalActionPerformer(new ChangeSelectionActionPerformer(xulDir.getControls(), false));
    }
   
    Composite cArea = new Composite(cSection, SWT.NULL);
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.numColumns = 2;
    cArea.setLayout(layout);
    cArea.setLayoutData(new GridData());
   
    label = new Label(cArea, SWT.NULL);
    Messages.setLanguageText(label, MSG_PREFIX + "guiUpdate");
    int[] values = { 100, 250, 500, 1000, 2000, 5000, 10000, 15000 };
    String[] labels = { "100 ms", "250 ms", "500 ms", "1 s", "2 s", "5 s", "10 s", "15 s" };
    new IntListParameter(cArea, "GUI Refresh", 1000, labels, values);
   
    label = new Label(cArea, SWT.NULL);
    Messages.setLanguageText(label, MSG_PREFIX + "inactiveUpdate");
    gridData = new GridData();
    IntParameter inactiveUpdate = new IntParameter(cArea, "Refresh When Inactive", 1,  -1);
    inactiveUpdate.setLayoutData(gridData);

    label = new Label(cArea, SWT.NULL);
    Messages.setLanguageText(label, MSG_PREFIX + "graphicsUpdate");
    gridData = new GridData();
    IntParameter graphicUpdate = new IntParameter(cArea, "Graphics Update", 1,  -1);
    graphicUpdate.setLayoutData(gridData);

   
    // Reuse the labels of the other menu actions.
    if (PlatformManagerFactory.getPlatformManager().hasCapability(PlatformManagerCapabilities.ShowFileInBrowser)) {
      BooleanParameter bp = new BooleanParameter(cSection, "MyTorrentsView.menu.show_parent_folder_enabled", MSG_PREFIX
          + "use_show_parent_folder");
      Messages.setLanguageText(bp.getControl(), "ConfigView.section.style.use_show_parent_folder", new String[] {
        MessageText.getString("MyTorrentsView.menu.open_parent_folder"),
        MessageText.getString("MyTorrentsView.menu.explore"),
      });
     
      if (Constants.isOSX) {
        new BooleanParameter(cSection, "FileBrowse.usePathFinder",
            MSG_PREFIX + "usePathFinder");
      }
    }
   
    if ( Constants.isOSX_10_5_OrHigher ){
     
      Composite cSWT = new Composite(cSection, SWT.NULL);
      layout = new GridLayout();
      layout.marginHeight = 0;
      layout.marginWidth = 0;
      layout.numColumns = 2;
      cSWT.setLayout(layout);
      cSWT.setLayoutData(new GridData());
     
      label = new Label(cSWT, SWT.NULL);
      label.setText( "SWT Library" );
      String[] swtLibraries = { "carbon", "cocoa" };
         
View Full Code Here

  public void configSectionDelete() {
  }

  public Composite configSectionCreate(final Composite parent) {
    GridData gridData;

    Composite cSection = new Composite(parent, SWT.NULL);

    gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL + GridData.VERTICAL_ALIGN_FILL);
    cSection.setLayoutData(gridData);
    GridLayout advanced_layout = new GridLayout();
    cSection.setLayout(advanced_layout);

    int userMode = COConfigurationManager.getIntParameter("User Mode");
    if (userMode < REQUIRED_MODE) {
      Label label = new Label(cSection, SWT.WRAP);
      gridData = new GridData();
      label.setLayoutData(gridData);

      final String[] modeKeys = { "ConfigView.section.mode.beginner",
          "ConfigView.section.mode.intermediate",
          "ConfigView.section.mode.advanced" };

      String param1, param2;
      if (REQUIRED_MODE < modeKeys.length)
        param1 = MessageText.getString(modeKeys[REQUIRED_MODE]);
      else
        param1 = String.valueOf(REQUIRED_MODE);
         
      if (userMode < modeKeys.length)
        param2 = MessageText.getString(modeKeys[userMode]);
      else
        param2 = String.valueOf(userMode);

      label.setText(MessageText.getString("ConfigView.notAvailableForMode",
          new String[] { param1, param2 } ));

      return cSection;
    }
   
    new LinkLabel(cSection, gridData, CFG_PREFIX
        + "info.link", MessageText.getString(CFG_PREFIX + "url"));

    ///////////////////////   ADVANCED SOCKET SETTINGS GROUP //////////
   
    Group gSocket = new Group(cSection, SWT.NULL);
    Messages.setLanguageText(gSocket, CFG_PREFIX + "socket.group");
    gridData = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.FILL_HORIZONTAL);
    gSocket.setLayoutData(gridData);
    GridLayout glayout = new GridLayout();
    glayout.numColumns = 2;
    gSocket.setLayout(glayout);

      // max simultaneous
   
    Label lmaxout = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(lmaxout, "ConfigView.section.connection.network.max.simultaneous.connect.attempts");
    gridData = new GridData();
    lmaxout.setLayoutData( gridData );

    IntParameter max_connects = new IntParameter(gSocket,
        "network.max.simultaneous.connect.attempts", 1, 100);   
    gridData = new GridData();
    max_connects.setLayoutData(gridData);

      // // max pending
   
    Label lmaxpout = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(lmaxpout, "ConfigView.section.connection.network.max.outstanding.connect.attempts");
    gridData = new GridData();
    lmaxpout.setLayoutData( gridData );

    IntParameter max_pending_connects = new IntParameter(gSocket,
        "network.tcp.max.connections.outstanding", 1, 65536 );   
    gridData = new GridData();
    max_pending_connects.setLayoutData(gridData);
   
   

      // bind ip
   
    Label lbind = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(lbind, "ConfigView.label.bindip" );
    lbind.setLayoutData(new GridData());
   
    StringParameter bindip = new StringParameter(gSocket, "Bind IP", "", false);
    gridData = new GridData();
    gridData.widthHint = 100;
    bindip.setLayoutData(gridData);

    Text lbind2 = new Text(gSocket, SWT.READ_ONLY | SWT.MULTI);
    lbind2.setTabs(8);
    Messages.setLanguageText(
        lbind2,
        "ConfigView.label.bindip.details",
        new String[] {NetworkAdmin.getSingleton().getNetworkInterfacesAsString() });
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    lbind2.setLayoutData(gridData);


    Label lpbind = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(lpbind, CFG_PREFIX + "bind_port");
    final IntParameter port_bind = new IntParameter(gSocket,
        "network.bind.local.port", 0, 65535);
    gridData = new GridData();
    port_bind.setLayoutData(gridData);
   
   
    Label lmtu = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(lmtu, CFG_PREFIX + "mtu");
    final IntParameter mtu_size = new IntParameter(gSocket,"network.tcp.mtu.size");
    mtu_size.setMaximumValue(512 * 1024);
    gridData = new GridData();
    mtu_size.setLayoutData(gridData);


    Label lsend = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(lsend, CFG_PREFIX + "SO_SNDBUF");
    final IntParameter SO_SNDBUF = new IntParameter(gSocket,  "network.tcp.socket.SO_SNDBUF");
    gridData = new GridData();
    SO_SNDBUF.setLayoutData(gridData);


    Label lreceiv = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(lreceiv, CFG_PREFIX + "SO_RCVBUF");
    final IntParameter SO_RCVBUF = new IntParameter(gSocket,  "network.tcp.socket.SO_RCVBUF");
    gridData = new GridData();
    SO_RCVBUF.setLayoutData(gridData);
   

    Label ltos = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(ltos, CFG_PREFIX + "IPDiffServ");
    final StringParameter IPDiffServ = new StringParameter(gSocket,  "network.tcp.socket.IPDiffServ");
    gridData = new GridData();
    gridData.widthHint = 100;
    IPDiffServ.setLayoutData(gridData);


    //do simple input verification, and registry key setting for TOS field
    IPDiffServ.addChangeListener(new ParameterChangeAdapter() {

      final Color obg = IPDiffServ.getControl().getBackground();

      final Color ofg = IPDiffServ.getControl().getForeground();

      public void parameterChanged(Parameter p, boolean caused_internally) {
        String raw = IPDiffServ.getValue();
        int value = -1;

        try {
          value = Integer.decode(raw).intValue();
        } catch (Throwable t) {
        }

        if (value < 0 || value > 255) { //invalid or no value entered
          ConfigurationManager.getInstance().removeParameter"network.tcp.socket.IPDiffServ");

          if (raw != null && raw.length() > 0) { //error state
            IPDiffServ.getControl().setBackground(Colors.red);
            IPDiffServ.getControl().setForeground(Colors.white);
          } else { //no value state
            IPDiffServ.getControl().setBackground(obg);
            IPDiffServ.getControl().setForeground(ofg);
          }

          enableTOSRegistrySetting(false); //disable registry setting if necessary
        } else { //passes test
          IPDiffServ.getControl().setBackground(obg);
          IPDiffServ.getControl().setForeground(ofg);

          enableTOSRegistrySetting(true); //enable registry setting if necessary
        }
      }
    });
   
      // read select
   
    Label lreadsel = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(lreadsel, CFG_PREFIX + "read_select", new String[]{ String.valueOf( COConfigurationManager.getDefault("network.tcp.read.select.time"))});
    final IntParameter read_select = new IntParameter(gSocket,  "network.tcp.read.select.time", 10, 250);
    gridData = new GridData();
    read_select.setLayoutData(gridData);
   
    Label lreadselmin = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(lreadselmin, CFG_PREFIX + "read_select_min", new String[]{ String.valueOf( COConfigurationManager.getDefault("network.tcp.read.select.min.time"))});
    final IntParameter read_select_min = new IntParameter(gSocket,  "network.tcp.read.select.min.time", 0, 100 );
    gridData = new GridData();
    read_select_min.setLayoutData(gridData);

      // write select
       
    Label lwritesel = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(lwritesel, CFG_PREFIX + "write_select", new String[]{ String.valueOf( COConfigurationManager.getDefault("network.tcp.write.select.time"))});
    final IntParameter write_select = new IntParameter(gSocket,  "network.tcp.write.select.time", 10, 250);
    gridData = new GridData();
    write_select.setLayoutData(gridData);
   
    Label lwriteselmin = new Label(gSocket, SWT.NULL);
    Messages.setLanguageText(lwriteselmin, CFG_PREFIX + "write_select_min", new String[]{ String.valueOf( COConfigurationManager.getDefault("network.tcp.write.select.min.time"))});
    final IntParameter write_select_min = new IntParameter(gSocket,  "network.tcp.write.select.min.time", 0, 100 );
    gridData = new GridData();
    write_select_min.setLayoutData(gridData);

    new BooleanParameter( cSection, "IPV6 Enable Support", "network.ipv6.enable.support"  );

   
View Full Code Here

TOP

Related Classes of org.eclipse.swt.layout.GridData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.