Package org.gudy.azureus2.ui.swt.shells.GCStringPrinter

Examples of org.gudy.azureus2.ui.swt.shells.GCStringPrinter.URLInfo


 
  public static MenuItem addPluginInstallMenuItem(Menu menuParent) {
    return addMenuItem(menuParent, MENU_ID_PLUGINS_INSTALL,
        new Listener() {
          public void handleEvent(Event e) {
            new InstallPluginWizard();
      }
    });
  }
View Full Code Here


      /*
       * Add a listener to the reporter for a cancel event and cancel the update
       * check instance if the event is detected
       */
      updateReporter.addListener(new IProgressReporterListener() {

        public int report(IProgressReport progressReport) {
          if (progressReport.getReportType() == REPORT_TYPE_DONE
              || progressReport.getReportType() == REPORT_TYPE_ERROR) {
            return RETVAL_OK_TO_DISPOSE;
View Full Code Here

      }
    });

    Rectangle printArea = new Rectangle(BORDER_X, 0, WIDTH - (BORDER_X * 2),
        5000);
    spText = new GCStringPrinter(gc, text, printArea, true, false, SWT.WRAP);
    spText.setUrlColor(Colors.blues[Colors.FADED_DARKEST]);
    spText.calculateMetrics();

    gc.setFont(fontCount);
    String sCount = MessageText.getString("OpenTorrentWindow.xOfTotal",
        new String[] {
          "" + historyPosition + 1,
          "" + getWarningCount()
        });
    spCount = new GCStringPrinter(gc, sCount, printArea, true, false, SWT.WRAP);
    spCount.calculateMetrics();

    gc.setFont(fontTitle);
    spTitle = new GCStringPrinter(gc, title, printArea, true, false, SWT.WRAP);
    spTitle.calculateMetrics();

    gc.dispose();
    sizeText = spText.getCalculatedSize();
    sizeTitle = spTitle.getCalculatedSize();
    sizeCount = spCount.getCalculatedSize();

    FormData fd;

    Button btnDismiss = new Button(shell, SWT.PUSH);
    Messages.setLanguageText(btnDismiss, "Button.dismiss");
    final int btnHeight = btnDismiss.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;

    Button btnPrev = new Button(shell, SWT.PUSH);
    btnPrev.setText("<");

    Button btnNext = new Button(shell, SWT.PUSH);
    btnNext.setText(">");

    fd = new FormData();
    fd.bottom = new FormAttachment(100, -BORDER_Y1);
    fd.right = new FormAttachment(100, -BORDER_X);
    btnNext.setLayoutData(fd);

    fd = new FormData();
    fd.bottom = new FormAttachment(100, -BORDER_Y1);
    fd.right = new FormAttachment(btnNext, -BORDER_X);
    btnPrev.setLayoutData(fd);

    fd = new FormData();
    fd.bottom = new FormAttachment(100, -BORDER_Y1);
    fd.right = new FormAttachment(btnPrev, -BORDER_X);
    btnDismiss.setLayoutData(fd);

    height = BORDER_Y0 + sizeTitle.y + GAP_Y + sizeText.y + GAP_Y_TITLE_COUNT
        + sizeCount.y + GAP_BUTTON_Y + btnHeight + BORDER_Y1;

    Rectangle area = shell.computeTrim(ptBottomRight.x - WIDTH, ptBottomRight.y
        - height, WIDTH, height);
    shell.setBounds(area);
    shell.setLocation(ptBottomRight.x - area.width, ptBottomRight.y
        - area.height - 2);

    rectX = new Rectangle(area.width - BORDER_X - boundsClose.width, BORDER_Y0,
        boundsClose.width, boundsClose.height);

    shell.addMouseMoveListener(new MouseMoveListener() {
      int lastCursor = SWT.CURSOR_ARROW;

      public void mouseMove(MouseEvent e) {
        if (shell == null || shell.isDisposed()) {
          return;
        }
        URLInfo hitUrl = spText.getHitUrl(e.x, e.y);

        int cursor = (rectX.contains(e.x, e.y)) || hitUrl != null
            ? SWT.CURSOR_HAND : SWT.CURSOR_ARROW;
        if (cursor != lastCursor) {
          lastCursor = cursor;
          shell.setCursor(e.display.getSystemCursor(cursor));
        }
      }
    });

    shell.addMouseListener(new MouseListener() {
      public void mouseUp(MouseEvent e) {
        if (shell == null || shell.isDisposed()) {
          return;
        }
        if (rectX.contains(e.x, e.y)) {
          shell.dispose();
        }
        URLInfo hitUrl = spText.getHitUrl(e.x, e.y);
        if (hitUrl != null) {
          if (hitUrl.url.equals("details")) {
            MessageBoxShell mb = new MessageBoxShell(Constants.APP_NAME,
                logAlert.details, new String[] {
                  MessageText.getString("Button.ok")
                }, 0);
            mb.setUseTextBox(true);
            mb.setParent(Utils.findAnyShell());
            mb.open(null);
          } else {
            Utils.launch(hitUrl.url);
          }
        }
      }

      public void mouseDown(MouseEvent e) {
      }

      public void mouseDoubleClick(MouseEvent e) {
      }
    });

    shell.addPaintListener(new PaintListener() {
      public void paintControl(PaintEvent e) {
        e.gc.drawImage(imgClose, WIDTH - BORDER_X - boundsClose.width,
            BORDER_Y0);

        Rectangle printArea;
        printArea = new Rectangle(BORDER_X, BORDER_Y0 + sizeTitle.y + GAP_Y_TITLE_COUNT,
            WIDTH, 100);
        String sCount = MessageText.getString("OpenTorrentWindow.xOfTotal",
            new String[] {
              "" + (historyPosition + 1),
              "" + getWarningCount()
            });
        e.gc.setAlpha(180);
        Font lastFont = e.gc.getFont();
        e.gc.setFont(fontCount);
        spCount = new GCStringPrinter(e.gc, sCount, printArea, true, false,
            SWT.WRAP | SWT.TOP);
        spCount.printString();
        e.gc.setAlpha(255);
        sizeCount = spCount.getCalculatedSize();

View Full Code Here

      Image image = getImage();
      Rectangle imageBounds = null;
      if (image != null && !image.isDisposed()) {
        imageBounds = image.getBounds();
      }
      GCStringPrinter sp = new GCStringPrinter(e.gc, getText(), clientArea,
          true, true, SWT.CENTER);
      sp.calculateMetrics();
      Point textSize = sp.getCalculatedSize();

      if (imageBounds != null) {
        int pad = 2;
        int ofs = imageBounds.width + imageBounds.x;
        int xStartImage = (clientArea.width - textSize.x - ofs - pad) / 2;
        e.gc.drawImage(image, xStartImage,
            (clientArea.height / 2) - (imageBounds.height / 2));
        clientArea.x += xStartImage + ofs + pad;
        clientArea.width -= xStartImage + ofs + pad;
      } else {
        int ofs = (clientArea.width / 2) - (textSize.x / 2);
        clientArea.x += ofs;
        clientArea.width -= ofs;
      }
      sp.printString(e.gc, clientArea, SWT.LEFT);

      int x = clientArea.x + clientArea.width - 1;
      e.gc.setAlpha(20);
      e.gc.drawLine(x, 3, x, clientArea.height - 3);
    }
View Full Code Here

        lastSize.x += ofs;
        lastSize.y = bounds.height;
      }

      GC gc = new GC(this);
      GCStringPrinter sp = new GCStringPrinter(gc, getText(), new Rectangle(0,
          0, 10000, 20), true, true, SWT.LEFT);
      sp.calculateMetrics();
      Point lastTextSize = sp.getCalculatedSize();
      gc.dispose();

      lastSize.x += lastTextSize.x + 10;
      lastSize.y = Math.max(lastSize.y, lastTextSize.y);
View Full Code Here

      public void mouseMove(MouseEvent e) {
        if (shell == null || shell.isDisposed()) {
          return;
        }
        URLInfo hitUrl = spText.getHitUrl(e.x, e.y);

        int cursor = (rectX.contains(e.x, e.y)) || hitUrl != null
            ? SWT.CURSOR_HAND : SWT.CURSOR_ARROW;
        if (cursor != lastCursor) {
          lastCursor = cursor;
          shell.setCursor(e.display.getSystemCursor(cursor));
        }
      }
    });

    shell.addMouseListener(new MouseListener() {
      public void mouseUp(MouseEvent e) {
        if (shell == null || shell.isDisposed()) {
          return;
        }
        if (rectX.contains(e.x, e.y)) {
          shell.dispose();
        }
        URLInfo hitUrl = spText.getHitUrl(e.x, e.y);
        if (hitUrl != null) {
          if (hitUrl.url.equals("details")) {
            MessageBoxShell mb = new MessageBoxShell(Constants.APP_NAME,
                logAlert.details, new String[] {
                  MessageText.getString("Button.ok")
View Full Code Here

      private String lastDownURL;

      public void mouseUp(MouseEvent e) {
        mouseDown = false;
        if (lastStringPrinter != null) {
          URLInfo hitUrl = lastStringPrinter.getHitUrl(e.x, e.y);
          if (hitUrl != null) {

            SWTSkinObjectText_UrlClickedListener[] listeners = listUrlClickedListeners.toArray(new SWTSkinObjectText_UrlClickedListener[0]);
            for (SWTSkinObjectText_UrlClickedListener l : listeners) {
              if (l.urlClicked(hitUrl)) {
                return;
              }
            }

            String url = hitUrl.url;
            try {
              if (url.startsWith("/")) {
                url = ConstantsVuze.getDefaultContentNetwork().getExternalSiteRelativeURL(
                    url, true);
              }

              if (url.contains("?")) {
                url += "&";
              } else {
                url += "?";
              }
              url += "fromWeb=false&os.version="
                  + UrlUtils.encode(System.getProperty("os.version"))
                  + "&java.version=" + UrlUtils.encode(Constants.JAVA_VERSION);
            } catch (Throwable t) {
              // ignore
            }
            Utils.launch(url);
          }
        }
      }

      public void mouseDown(MouseEvent e) {
        mouseDown = true;
        if (lastStringPrinter != null) {
          URLInfo hitUrl = lastStringPrinter.getHitUrl(e.x, e.y);
          String curURL = hitUrl == null ? "" : hitUrl.url;
         
          if (curURL.equals(lastDownURL)) {
            lastDownURL = curURL;
            canvas.redraw();
          }
        }
      }

      public void mouseDoubleClick(MouseEvent e) {
      }
    });

    canvas.addMouseMoveListener(new MouseMoveListener() {
      public void mouseMove(MouseEvent e) {
        if (lastStringPrinter != null && lastStringPrinter.hasHitUrl()) {
          URLInfo hitUrl = lastStringPrinter.getHitUrl(e.x, e.y);
          canvas.setCursor(hitUrl == null ? null
              : canvas.getDisplay().getSystemCursor(SWT.CURSOR_HAND));
        }
      }
    });
View Full Code Here

    }
    if (colorUrl2 != null && mouseDown) {
      lastStringPrinter.calculateMetrics();
      Display display = Display.getCurrent();
      Point cursorLocation = canvas.toControl(display.getCursorLocation());
      URLInfo hitUrl = lastStringPrinter.getHitUrl(cursorLocation.x, cursorLocation.y);
      if (hitUrl != null) {
        hitUrl.urlColor = colorUrl2;
      }
    }
   
View Full Code Here

      sp.calculateMetrics();

      if (sp.hasHitUrl()) {
        URLInfo[] hitUrlInfo = sp.getHitUrlInfo();
        for (int i = 0; i < hitUrlInfo.length; i++) {
          URLInfo info = hitUrlInfo[i];
            // handle fake row when showing in column editor
         
          info.urlUnderline = cell.getTableRow() == null || cell.getTableRow().isSelected();
          if (info.urlUnderline) {
            info.urlColor = null;
          } else {
            info.urlColor = colorLinkNormal;
          }
        }
        int[] mouseOfs = cell.getMouseOffset();
        if (mouseOfs != null) {
          Rectangle realBounds = cell.getBounds();
          URLInfo hitUrl = sp.getHitUrl(mouseOfs[0] + realBounds.x, mouseOfs[1]
              + realBounds.y);
          if (hitUrl != null) {
            hitUrl.urlColor = colorLinkHover;
          }
        }
View Full Code Here

    } finally {
      gc.dispose();
    }

    if (sp != null) {
      URLInfo hitUrl = sp.getHitUrl(event.x + bounds.x, event.y + bounds.y);
      int newCursor;
      if (hitUrl != null) {
        if (event.eventType == TableCellMouseEvent.EVENT_MOUSEUP) {
          if (hitUrl.url.equals("download")) {
            String referal = null;
View Full Code Here

TOP

Related Classes of org.gudy.azureus2.ui.swt.shells.GCStringPrinter.URLInfo

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.