Search in sources :

Example 56 with MouseEvent

use of org.eclipse.swt.events.MouseEvent in project translationstudio8 by heartsome.

the class GridCopyEnable method initListener.

private void initListener() {
    gridTable.addListener(SWT.MouseDown, new Listener() {

        public void handleEvent(Event e) {
            if ((e.button != 1) || (IS_MAC && (e.stateMask & SWT.MOD4) != 0)) {
                return;
            }
            clickCount = e.count;
            doMouseLocationChange(e.x, e.y, false);
        }
    });
    gridTable.addListener(SWT.MouseUp, new Listener() {

        public void handleEvent(Event e) {
            clickCount = 0;
        }
    });
    gridTable.addMouseMoveListener(new MouseMoveListener() {

        public void mouseMove(MouseEvent e) {
            if (clickCount > 0) {
                gridTable.update();
                doMouseLocationChange(e.x, e.y, true);
            }
        }
    });
    gridTable.addListener(SWT.KeyDown, new Listener() {

        public void handleEvent(Event event) {
            int t = event.keyCode | event.stateMask;
            if (t == ('C' | SWT.MOD1) || t == ('c' | SWT.MOD1)) {
                // copy event
                doAction(ST.COPY);
            }
        }
    });
    gridTable.getVerticalBar().addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event event) {
            handleVerticalScroll(event);
        }
    });
    gridTable.addDisposeListener(new DisposeListener() {

        public void widgetDisposed(DisposeEvent e) {
            if (clipboard != null) {
                clipboard.dispose();
            }
            if (defaultCaret != null) {
                defaultCaret.dispose();
            }
        }
    });
}
Also used : MouseMoveListener(org.eclipse.swt.events.MouseMoveListener) DisposeListener(org.eclipse.swt.events.DisposeListener) MouseMoveListener(org.eclipse.swt.events.MouseMoveListener) DisposeListener(org.eclipse.swt.events.DisposeListener) Listener(org.eclipse.swt.widgets.Listener) MouseEvent(org.eclipse.swt.events.MouseEvent) DisposeEvent(org.eclipse.swt.events.DisposeEvent) Event(org.eclipse.swt.widgets.Event) MouseEvent(org.eclipse.swt.events.MouseEvent) DisposeEvent(org.eclipse.swt.events.DisposeEvent)

Example 57 with MouseEvent

use of org.eclipse.swt.events.MouseEvent in project cogtool by cogtool.

the class WebCrawlImportDialog method buildDialog.

@Override
protected void buildDialog() {
    dialog.setLayout(new FillLayout());
    // 525, 350
    dialog.setMinimumSize(485, 325);
    sc1 = new ScrolledComposite(dialog, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    sc1.setLayout(new FillLayout());
    comp = new Composite(sc1, SWT.NONE);
    comp.setLayout(new FormLayout());
    //different images needed to match the different backgrounds of the dialog box
    questionImage = GraphicsUtil.getImageFromResource("edu/cmu/cs/hcii/cogtool/resources/question_button.jpg");
    questionImageMac = GraphicsUtil.getImageFromResource("edu/cmu/cs/hcii/cogtool/resources/question_button_mac.jpg");
    questionImageMacShadow = GraphicsUtil.getImageFromResource("edu/cmu/cs/hcii/cogtool/resources/question_button_shadow.jpg");
    imagePlus = GraphicsUtil.getImageFromResource("edu/cmu/cs/hcii/cogtool/resources/plus_sign.jpg");
    imagePlusMac = GraphicsUtil.getImageFromResource("edu/cmu/cs/hcii/cogtool/resources/plus_sign_mac.jpg");
    imagePlusMacDisabled = GraphicsUtil.getImageFromResource("edu/cmu/cs/hcii/cogtool/resources/plus_sign_mac_disabled.jpg");
    imageMinus = GraphicsUtil.getImageFromResource("edu/cmu/cs/hcii/cogtool/resources/minus_sign.jpg");
    imageMinusMac = GraphicsUtil.getImageFromResource("edu/cmu/cs/hcii/cogtool/resources/minus_sign_mac.jpg");
    imageMinusMacDisabled = GraphicsUtil.getImageFromResource("edu/cmu/cs/hcii/cogtool/resources/minus_sign_mac_disabled.jpg");
    Label dialogTitle = new Label(comp, SWT.NONE);
    dialogTitle.setText(IMPORT_WEB_CRAWL_TITLE);
    dialogTitle.setFont(TITLE_FONT);
    Label intoDesignLbl = new Label(comp, SWT.NONE);
    intoDesignLbl.setText(INTO_DESIGN_LABEL);
    designCombo = new ComboWithEnableFix(comp, SWT.DROP_DOWN | SWT.READ_ONLY);
    designCombo.add(CREATE_NEW_DESIGN);
    Iterator<Design> designs = project.getDesigns().iterator();
    while (designs.hasNext()) {
        Design design = designs.next();
        designCombo.add(SWTStringUtil.insertEllipsis(design.getName(), StringUtil.EQUAL, designCombo.getFont()));
    // TODO: We'll need to observe Design name changes if
    // it ever becomes possible to change a design name other than
    // through the Project editor -- remember to remove the handler
    // when this dialog box gets disposed!
    }
    designCombo.select(0);
    designCombo.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            String selectedName = designCombo.getText();
            Design design = project.getDesign(selectedName);
            if (design != null) {
                if (sameURLGroup == null) {
                    buildSameURLGroup();
                }
                //insert the name of the selected Design into the Group Label
                int index = SAME_URL_GROUP.indexOf("Design") + 6;
                String titleGroup = SAME_URL_GROUP.substring(0, index);
                titleGroup += " (" + design.getName() + ")";
                titleGroup += SAME_URL_GROUP.substring(index);
                sameURLGroup.setText(titleGroup);
                displaySameURLGroup(true);
            } else if (sameURLGroup != null) {
                displaySameURLGroup(false);
            }
            repaint();
        }
    });
    designCombo.addTraverseListener(new TraverseListener() {

        public void keyTraversed(TraverseEvent evt) {
            if (evt.detail == SWT.TRAVERSE_TAB_NEXT) {
                evt.detail = SWT.TRAVERSE_NONE;
                urlText.forceFocus();
            }
        }
    });
    useSelectionGroup = new Group(comp, SWT.SHADOW_NONE);
    useSelectionGroup.setText(URL_SELECTION_GROUP);
    useSelectionGroup.setLayout(new FormLayout());
    typeHTMLGroup = new Group(useSelectionGroup, SWT.SHADOW_NONE);
    typeHTMLGroup.setText("Starting URL #1");
    typeHTMLGroup.setLayout(new FormLayout());
    urlText = new TextWithEnableFix(typeHTMLGroup, SWT.BORDER | SWT.SINGLE);
    urlText.setText("http://");
    urlText.addTraverseListener(new TraverseListener() {

        public void keyTraversed(TraverseEvent e) {
            if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
                e.detail = SWT.TRAVERSE_NONE;
                designCombo.forceFocus();
            }
        }
    });
    addGroupListener = new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            if (numOfGroups == 1) {
                if (urlText2 == null) {
                    buildSecondGroup();
                }
                displaySecondGroup(true);
                FormData formData = new FormData();
                formData.top = new FormAttachment(typeHTMLGroup, 5, SWT.BOTTOM);
                formData.left = new FormAttachment(typeHTMLGroup, 0, SWT.LEFT);
                formData.right = new FormAttachment(100, -6);
                typeHTMLGroup2.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(typeHTMLGroup2, 5, SWT.TOP);
                formData.left = new FormAttachment(urlText, 0, SWT.LEFT);
                formData.right = new FormAttachment(urlText, 350, SWT.LEFT);
                urlText2.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(urlText2, 1, SWT.TOP);
                formData.left = new FormAttachment(urlText2, 5, SWT.RIGHT);
                plusButton2.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(plusButton2, 5, SWT.TOP);
                formData.left = new FormAttachment(plusButton2, 10, SWT.RIGHT);
                minusButton2.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(urlText2, 5, SWT.BOTTOM);
                formData.left = new FormAttachment(urlText2, 10, SWT.LEFT);
                maximumDepthToCrawlLabel2.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(maximumDepthToCrawlLabel2, 0, SWT.TOP);
                formData.left = new FormAttachment(maximumDepthToCrawlLabel2, 3, SWT.RIGHT);
                questionMarkButtonDepth2.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(maximumDepthToCrawlLabel2, 0, SWT.TOP);
                formData.left = new FormAttachment(questionMarkButtonDepth2, 10, SWT.RIGHT);
                maxDepthCombo2.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(maximumDepthToCrawlLabel2, 15, SWT.BOTTOM);
                formData.left = new FormAttachment(urlText2, 10, SWT.LEFT);
                restrictDomainLabel2.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(restrictDomainLabel2, 0, SWT.TOP);
                formData.left = new FormAttachment(restrictDomainLabel2, 3, SWT.RIGHT);
                questionMarkButtonDomain2.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(restrictDomainLabel2, 10, SWT.BOTTOM);
                formData.left = new FormAttachment(0, 25);
                useHTML4.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(useHTML4, 0, SWT.TOP);
                formData.left = new FormAttachment(useHTML4, 0, SWT.RIGHT);
                urlPath4.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(useHTML4, 8, SWT.BOTTOM);
                formData.left = new FormAttachment(useHTML4, 0, SWT.LEFT);
                useHTML5.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(useHTML5, 0, SWT.TOP);
                formData.left = new FormAttachment(useHTML5, 0, SWT.RIGHT);
                urlPath5.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(useHTML5, 8, SWT.BOTTOM);
                formData.left = new FormAttachment(useHTML5, 0, SWT.LEFT);
                useHTML6.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(useHTML6, 0, SWT.TOP);
                formData.left = new FormAttachment(useHTML6, 0, SWT.RIGHT);
                urlPath6.setLayoutData(formData);
                formData = new FormData();
                formData.left = new FormAttachment(urlPath6, 0, SWT.RIGHT);
                formData.top = new FormAttachment(urlPath6, 0, SWT.TOP);
                urlPath6b.setLayoutData(formData);
                minusButton.setEnabled(true);
                if (OSUtils.MACOSX) {
                    minusButton.getItem(0).setImage(imageMinusMac);
                }
                numOfGroups++;
                repaint();
            } else if (numOfGroups == 2) {
                if (urlText3 == null) {
                    buildThirdGroup();
                }
                displayThirdGroup(true);
                FormData formData = new FormData();
                formData.top = new FormAttachment(typeHTMLGroup2, 5, SWT.BOTTOM);
                formData.left = new FormAttachment(typeHTMLGroup2, 0, SWT.LEFT);
                formData.right = new FormAttachment(100, -6);
                typeHTMLGroup3.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(typeHTMLGroup3, 5, SWT.TOP);
                formData.left = new FormAttachment(urlText2, 0, SWT.LEFT);
                formData.right = new FormAttachment(urlText2, 350, SWT.LEFT);
                urlText3.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(urlText3, 1, SWT.TOP);
                formData.left = new FormAttachment(urlText3, 5, SWT.RIGHT);
                plusButton3.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(plusButton3, 4, SWT.TOP);
                formData.left = new FormAttachment(plusButton3, 10, SWT.RIGHT);
                minusButton3.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(urlText3, 5, SWT.BOTTOM);
                formData.left = new FormAttachment(urlText3, 10, SWT.LEFT);
                maximumDepthToCrawlLabel3.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(maximumDepthToCrawlLabel3, 0, SWT.TOP);
                formData.left = new FormAttachment(maximumDepthToCrawlLabel3, 3, SWT.RIGHT);
                questionMarkButtonDepth3.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(maximumDepthToCrawlLabel3, 0, SWT.TOP);
                formData.left = new FormAttachment(questionMarkButtonDepth3, 10, SWT.RIGHT);
                maxDepthCombo3.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(maximumDepthToCrawlLabel3, 15, SWT.BOTTOM);
                formData.left = new FormAttachment(urlText3, 10, SWT.LEFT);
                restrictDomainLabel3.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(restrictDomainLabel3, 0, SWT.TOP);
                formData.left = new FormAttachment(restrictDomainLabel3, 3, SWT.RIGHT);
                questionMarkButtonDomain3.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(restrictDomainLabel3, 10, SWT.BOTTOM);
                formData.left = new FormAttachment(0, 25);
                useHTML7.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(useHTML7, 0, SWT.TOP);
                formData.left = new FormAttachment(useHTML7, 0, SWT.RIGHT);
                urlPath7.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(useHTML7, 8, SWT.BOTTOM);
                formData.left = new FormAttachment(useHTML7, 0, SWT.LEFT);
                useHTML8.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(useHTML8, 0, SWT.TOP);
                formData.left = new FormAttachment(useHTML8, 0, SWT.RIGHT);
                urlPath8.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(useHTML8, 8, SWT.BOTTOM);
                formData.left = new FormAttachment(useHTML8, 0, SWT.LEFT);
                useHTML9.setLayoutData(formData);
                formData = new FormData();
                formData.top = new FormAttachment(useHTML9, 0, SWT.TOP);
                formData.left = new FormAttachment(useHTML9, 0, SWT.RIGHT);
                urlPath9.setLayoutData(formData);
                formData = new FormData();
                formData.left = new FormAttachment(urlPath9, 0, SWT.RIGHT);
                formData.top = new FormAttachment(urlPath9, 0, SWT.TOP);
                urlPath9b.setLayoutData(formData);
                numOfGroups++;
                repaint();
            }
        }
    };
    minusGroupListener1 = new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            if (numOfGroups > 1) {
                moveGroupTwoToOne();
                minusGroupTwo();
            }
        }
    };
    plusButton = makeToolBarButton(typeHTMLGroup, addGroupListener, questionImages.PLUS_IMAGE);
    minusButton = makeToolBarButton(typeHTMLGroup, minusGroupListener1, questionImages.MINUS_IMAGE);
    minusButton.setEnabled(false);
    if (OSUtils.MACOSX) {
        minusButton.getItem(0).setImage(imageMinusMacDisabled);
    }
    maximumDepthToCrawlLabel = new Label(typeHTMLGroup, SWT.NONE);
    maximumDepthToCrawlLabel.setText("Maximum Depth To Crawl: ");
    depthListener = new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            messageBox("Select 0 to import only the page at the URL you entered.\n" + "Select 1 to import that page and all pages a user could " + "get to by clicking one link.\n" + "Select 2 to import that page and all pages a user could " + "get to by clicking two links.\n" + "Etc.\n" + "Select Unlimited to allow any page accessible from the " + "URL you entered, no matter how many links need to be " + "clicked to get there. However, to avoid importing the " + "entire Web, consider restricting the domain or entering " + "a maximum number of pages to import.", SWT.ICON_INFORMATION);
        }
    };
    questionMarkButtonDepth = makeToolBarButton(typeHTMLGroup, depthListener, questionImages.QUESTION_SHADOW);
    maxDepthCombo = new ComboWithEnableFix(typeHTMLGroup, SWT.DROP_DOWN | SWT.READ_ONLY);
    maxDepthCombo.add("Unlimited");
    for (int i = 0; i < 100; i++) {
        maxDepthCombo.add("" + i);
    }
    maxDepthCombo.select(2);
    maxDepthCombo.setVisibleItemCount(21);
    maximumDepth = 1;
    maximumDepth2 = 1;
    maximumDepth3 = 1;
    comboListener = new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            maximumDepth = Integer.MAX_VALUE;
            if (!maxDepthCombo.getText().equals("Unlimited")) {
                maximumDepth = Integer.parseInt(maxDepthCombo.getText());
            }
            if ((maxDepthCombo2 != null) && (maxDepthCombo2.getVisible())) {
                maximumDepth2 = Integer.MAX_VALUE;
                if (!maxDepthCombo2.getText().equals("Unlimited")) {
                    maximumDepth2 = Integer.parseInt(maxDepthCombo2.getText());
                }
            }
            if ((maxDepthCombo3 != null) && (maxDepthCombo3.getVisible())) {
                maximumDepth3 = Integer.MAX_VALUE;
                if (!maxDepthCombo3.getText().equals("Unlimited")) {
                    maximumDepth3 = Integer.parseInt(maxDepthCombo3.getText());
                }
            }
        }
    };
    maxDepthCombo.addSelectionListener(comboListener);
    restrictDomainLabel = new Label(typeHTMLGroup, SWT.NONE);
    restrictDomainLabel.setText("Restrict Domain: ");
    domainHelpListener = new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            messageBox("Select Unlimited to import any pages that could be reached " + "from the URL entered above. " + "The radio buttons reflect the host name and path name of the URL " + "entered above. Select a more restrictive radio button to only import " + "pages whose URL begins as shown.\n\n" + "It is useful to restrict the domain when you want to evaluate a " + "particular site, but that site points out to other places on the Web.", SWT.ICON_INFORMATION);
        }
    };
    questionMarkButtonDomain = makeToolBarButton(typeHTMLGroup, domainHelpListener, questionImages.QUESTION_SHADOW);
    questionMarkButtonDomain.addTraverseListener(new TraverseListener() {

        public void keyTraversed(TraverseEvent e) {
            if (e.detail == SWT.TRAVERSE_TAB_NEXT) {
                if (numOfGroups > 1) {
                    e.detail = SWT.TRAVERSE_NONE;
                    urlText2.forceFocus();
                }
            }
        }
    });
    minusGroupListener2 = new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            minusGroupTwo();
        }
    };
    minusGroupListener3 = new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            numOfGroups--;
            displayThirdGroup(false);
            repaint();
        }
    };
    useHTML1 = new Button(typeHTMLGroup, SWT.RADIO);
    useHTML1.setSelection(true);
    domainListener = new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            if (useHTML1.getSelection()) {
                restrictedDomain = "Unrestricted ";
            } else if (useHTML2.getSelection()) {
                restrictedDomain = urlPath2.getText();
            } else {
                restrictedDomain = urlPath3.getText();
            }
            if ((useHTML4 != null) && (useHTML4.getSelection())) {
                restrictedDomain2 = "Unrestricted ";
            } else if ((useHTML5 != null) && (useHTML5.getSelection())) {
                restrictedDomain2 = urlPath5.getText();
            } else if (useHTML6 != null) {
                restrictedDomain2 = urlPath6.getText();
            }
            if ((useHTML7 != null) && (useHTML7.getSelection())) {
                restrictedDomain3 = "Unrestricted ";
            } else if ((useHTML8 != null) && (useHTML8.getSelection())) {
                restrictedDomain3 = urlPath8.getText();
            } else if (useHTML9 != null) {
                restrictedDomain3 = urlPath9.getText();
            }
        }
    };
    useHTML1.addSelectionListener(domainListener);
    useHTML1.setSelection(true);
    useHTML2 = new Button(typeHTMLGroup, SWT.RADIO);
    useHTML2.addSelectionListener(domainListener);
    useHTML2.setEnabled(false);
    useHTML3 = new Button(typeHTMLGroup, SWT.RADIO);
    useHTML3.addSelectionListener(domainListener);
    useHTML3.setEnabled(false);
    urlPath1 = new Label(typeHTMLGroup, SWT.NONE);
    urlPath1.setText("Unrestricted");
    urlPath2 = new Label(typeHTMLGroup, SWT.NONE);
    urlPath2.setText("http://www.host_name/");
    urlPath2.setFont(URL_PATH_FONT);
    urlPath3 = new Label(typeHTMLGroup, SWT.NONE);
    urlPath3.setText("http://www.host_name/path");
    urlPath3.setFont(URL_PATH_FONT);
    urlPath3b = new Label(typeHTMLGroup, SWT.NONE);
    urlPath3b.setText("path");
    urlPath3b.setFont(URL_PATH_FONT);
    urlPath3b.setVisible(false);
    urlText.addFocusListener(new TextFocusListener(urlText, urlPath2, urlPath3, useHTML1, useHTML2, useHTML3, 1));
    capturePageImagesOption = new Button(comp, SWT.CHECK);
    capturePageImagesOption.setText(CAPTURE_IMAGES_LABEL);
    capturePageImagesOption.setSelection(capturePageImages);
    SelectionListener imageListener = new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            messageBox("Check this box to set a picture of each page as the background of " + "its frame. The picture will be the size of the browser width and " + "height set below, so it will not be of the entire page if the user " + "would have to scroll to see it all.\n\n" + "It is useful to capture pictures to convey the look of the site in " + "presentations, but CogTool predictions will not be affected by " + "having a picture or not. Having pictures increases the size of " + "CogTool project files and having many of them may slow down interaction.", SWT.ICON_INFORMATION);
        }
    };
    questionMarkButtonCaptureImage = makeToolBarButton(comp, imageListener, questionImages.QUESTION_IMAGE);
    maxPagesToImport = new IntegerEntry(comp, SWT.BORDER);
    maxPagesToImport.setAllowNegative(false);
    maxPagesToImport.setText(USE_SYSTEM_DEFAULT_VALUE);
    maxPagesToImport.setText("500");
    maxPagesToImport.addFocusListener(new ManageSystemDefault(maxPagesToImport, 500, Integer.MAX_VALUE));
    maxPagesLabel = new Label(comp, SWT.NONE);
    maxPagesLabel.setText(MAX_PAGES_LABEL);
    SelectionListener pagesListener = new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            messageBox("Use this field to limit the number of pages imported into a design. " + "It is especially important to use a reasonable maximum when you have " + "not restricted the domain and have specified a maximum depth greater " + "than 2. " + "The default, 500 pages, is sufficient for most projects, but leave " + "the field empty to have no restriction at all", SWT.ICON_INFORMATION);
        }
    };
    questionMarkButtonMaxPages = makeToolBarButton(comp, pagesListener, questionImages.QUESTION_IMAGE);
    Label browserWidthLbl = new Label(comp, SWT.NONE);
    browserWidthLbl.setText(BROWSER_WIDTH_LABEL);
    Label browserHeightLbl = new Label(comp, SWT.NONE);
    browserHeightLbl.setText(BROWSER_HEIGHT_LABEL);
    browserWidthEntry = new IntegerEntry(comp, SWT.BORDER);
    browserWidthEntry.setAllowNegative(false);
    browserWidthEntry.setText(USE_SYSTEM_DEFAULT_VALUE);
    browserWidthEntry.setText("900");
    browserWidthEntry.addFocusListener(new ManageSystemDefault(browserWidthEntry, 900, 2100));
    browserHeightEntry = new IntegerEntry(comp, SWT.BORDER);
    browserHeightEntry.setAllowNegative(false);
    browserHeightEntry.setText(USE_SYSTEM_DEFAULT_VALUE);
    browserHeightEntry.setText("600");
    browserHeightEntry.addFocusListener(new ManageSystemDefault(browserHeightEntry, 600, 1200));
    okButton = new Button(comp, SWT.PUSH);
    okButton.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseUp(MouseEvent evt) {
            wasEditing = null;
        }
    });
    okButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            Text textBox = null;
            String text = null;
            String errorText = "";
            int count = 1;
            boolean proceed = false;
            isValidURL = false;
            isValidURL2 = false;
            isValidURL3 = false;
            HashMap<Integer, String> errorMap = new HashMap<Integer, String>();
            errorMap.put(SITE_VALID, "");
            errorMap.put(SITE_INVALID, "The given URL for URL #");
            errorMap.put(SITE_BAD_EXTENSION, "The given extension for URL # ");
            errorMap.put(SITE_EXCEPTION, "");
            /*
				 * The while loop checks all three of the given URLs, the loop
				 * breaks if the user has not entered up to 3 urls
				 */
            boolean exception = false;
            while (count < 4) {
                textBox = null;
                proceed = false;
                if (count == 1) {
                    /*
						 * Trim is needed to ensure all leading and trailing
						 * spaces are eliminated. checkProtocol(text, boolean)
						 * checks to make sure that there is valid protocol
						 */
                    textBox = urlText;
                    text = urlText.getText().trim();
                    proceed = checkProtocol(text, true);
                } else if (count == 2) {
                    if (numOfGroups > 1) {
                        textBox = urlText2;
                        text = textBox.getText().trim();
                        proceed = checkProtocol(text, true);
                    } else {
                        break;
                    }
                } else if (count == 3) {
                    if (numOfGroups > 2) {
                        textBox = urlText3;
                        text = textBox.getText().trim();
                        proceed = checkProtocol(text, true);
                    } else {
                        break;
                    }
                }
                /* There was not a valid protocol at the
					 * first try so now append http:// at the beginning so there
					 * will be a valid protocol. For example, if the user enters
					 * www.cmu.edu, http:// is appended here because a protocol
					 * is needed to check to see if the url is valid.
					 */
                if (!proceed) {
                    try {
                        proceed = checkProtocol(URLCrawlEntry.ensureAbsolute(text), true);
                        if (proceed) {
                            textBox.setText("http://" + text);
                        }
                    } catch (Exception ex) {
                    }
                }
                if (proceed) {
                    String givenURL = textBox.getText().trim();
                    if ("".equals(givenURL)) {
                        textBox.setText(USE_SYSTEM_DEFAULT_VALUE);
                        textBox.setForeground(DISABLED_TEXT_COLOR);
                    }
                    String st = givenURL.substring(givenURL.indexOf("//") + 2);
                    if (!givenURL.startsWith("file:")) {
                        int exist = exists(givenURL);
                        for (int pow = 3; pow >= 0; pow--) {
                            int getError = (int) Math.pow(2, pow);
                            if (exist >= getError) {
                                errorText += errorMap.get(getError);
                                if (getError == SITE_VALID) {
                                    validURLS(count);
                                } else if (getError == SITE_INVALID) {
                                    errorText += count + " is not a valid URL.\n";
                                } else if (getError == SITE_BAD_EXTENSION) {
                                    errorText += count + " is not valid.\n";
                                } else if (getError == SITE_EXCEPTION) {
                                    exception = true;
                                }
                                exist -= getError;
                            }
                        }
                    /*
							 * if(exist == SITE_VALID){
							 * System.out.println("it exists");
							 * validURLS(count); }
							 *
							 * else if(exist == SITE_INVALID){ errorText+=
							 * "The given URL caught for URL #" + count+
							 * " is not a valid URL."; } else
							 * if(exist==SITE_EXCEPTION) { errorText+=
							 * "There may be no internet connectivity at the moment."
							 * ; }
							 */
                    }
                } else {
                    errorText += "The given URL for URL #" + count + " must start with either \"http://\", \"https://\", or \"file://\".\n";
                }
                count++;
            }
            if (exception) {
                errorText += "There may be no internet connectivity at the moment.\n";
            }
            if (!errorText.equals("")) {
                boolean tryAgain = messageBox(errorText, SWT.ICON_ERROR);
                if (tryAgain) {
                    if (!isValidURL) {
                        urlText.forceFocus();
                    } else if (!isValidURL2) {
                        urlText2.forceFocus();
                    } else {
                        urlText3.forceFocus();
                    }
                }
            } else {
                saveSettings();
                userResponse = OK;
                dialog.close();
            }
        }
    });
    cancelButton = new Button(comp, SWT.PUSH);
    cancelButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent evt) {
            userResponse = CANCEL;
            dialog.close();
        }
    });
    if (buttonFont != null) {
        okButton.setFont(buttonFont);
        cancelButton.setFont(buttonFont);
    }
    okButton.setText(L10N.get("B.OK", "OK"));
    cancelButton.setText(L10N.get("B.CANCEL", "Cancel"));
    dialog.setDefaultButton(okButton);
    FormData formData = new FormData();
    formData.left = new FormAttachment(0, 5);
    formData.top = new FormAttachment(0, 5);
    dialogTitle.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(dialogTitle, 20, SWT.BOTTOM);
    formData.left = new FormAttachment(0, 100);
    intoDesignLbl.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(intoDesignLbl, 0, SWT.CENTER);
    formData.left = new FormAttachment(intoDesignLbl, 5, SWT.RIGHT);
    designCombo.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(intoDesignLbl, 13, SWT.BOTTOM);
    formData.left = new FormAttachment(0, 6);
    formData.right = new FormAttachment(100, -6);
    useSelectionGroup.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(0, 3);
    formData.left = new FormAttachment(0, 3);
    formData.right = new FormAttachment(100, -3);
    typeHTMLGroup.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(typeHTMLGroup, 10, SWT.BOTTOM);
    formData.left = new FormAttachment(typeHTMLGroup, 0, SWT.LEFT);
    formData.right = new FormAttachment(typeHTMLGroup, 350, SWT.LEFT);
    urlText.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(urlText, 1, SWT.TOP);
    formData.left = new FormAttachment(urlText, 5, SWT.RIGHT);
    plusButton.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(plusButton, 5, SWT.TOP);
    formData.left = new FormAttachment(plusButton, 10, SWT.RIGHT);
    minusButton.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(urlText, 5, SWT.BOTTOM);
    formData.left = new FormAttachment(urlText, 10, SWT.LEFT);
    maximumDepthToCrawlLabel.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(maximumDepthToCrawlLabel, 0, SWT.TOP);
    formData.left = new FormAttachment(maximumDepthToCrawlLabel, 3, SWT.RIGHT);
    questionMarkButtonDepth.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(maximumDepthToCrawlLabel, 0, SWT.TOP);
    formData.left = new FormAttachment(questionMarkButtonDepth, 10, SWT.RIGHT);
    maxDepthCombo.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(maximumDepthToCrawlLabel, 15, SWT.BOTTOM);
    formData.left = new FormAttachment(urlText, 10, SWT.LEFT);
    restrictDomainLabel.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(restrictDomainLabel, 0, SWT.TOP);
    formData.left = new FormAttachment(restrictDomainLabel, 3, SWT.RIGHT);
    questionMarkButtonDomain.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(restrictDomainLabel, 10, SWT.BOTTOM);
    formData.left = new FormAttachment(0, 25);
    useHTML1.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(useHTML1, 0, SWT.TOP);
    formData.left = new FormAttachment(useHTML1, 0, SWT.RIGHT);
    urlPath1.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(useHTML1, 8, SWT.BOTTOM);
    formData.left = new FormAttachment(useHTML1, 0, SWT.LEFT);
    useHTML2.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(useHTML2, 0, SWT.TOP);
    formData.left = new FormAttachment(useHTML2, 0, SWT.RIGHT);
    urlPath2.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(useHTML2, 8, SWT.BOTTOM);
    formData.left = new FormAttachment(useHTML2, 0, SWT.LEFT);
    useHTML3.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(useHTML3, 0, SWT.TOP);
    formData.left = new FormAttachment(useHTML3, 0, SWT.RIGHT);
    urlPath3.setLayoutData(formData);
    formData = new FormData();
    formData.left = new FormAttachment(urlPath3, 0, SWT.RIGHT);
    formData.top = new FormAttachment(urlPath3, 0, SWT.TOP);
    urlPath3b.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(useSelectionGroup, 7, SWT.BOTTOM);
    formData.left = new FormAttachment(maxPagesLabel, 0, SWT.LEFT);
    capturePageImagesOption.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(capturePageImagesOption, 0, SWT.TOP);
    formData.left = new FormAttachment(capturePageImagesOption, 3, SWT.RIGHT);
    questionMarkButtonCaptureImage.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(capturePageImagesOption, 15, SWT.BOTTOM);
    formData.right = new FormAttachment(intoDesignLbl, 0, SWT.RIGHT);
    maxPagesLabel.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(maxPagesLabel, 0, SWT.CENTER);
    formData.left = new FormAttachment(maxPagesLabel, 5, SWT.RIGHT);
    formData.right = new FormAttachment(maxPagesLabel, 140, SWT.RIGHT);
    maxPagesToImport.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(maxPagesToImport, 0, SWT.TOP);
    formData.left = new FormAttachment(maxPagesToImport, 3, SWT.RIGHT);
    questionMarkButtonMaxPages.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(maxPagesLabel, 11, SWT.BOTTOM);
    formData.right = new FormAttachment(maxPagesLabel, 0, SWT.RIGHT);
    browserWidthLbl.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(browserWidthLbl, 0, SWT.CENTER);
    formData.left = new FormAttachment(browserWidthLbl, 5, SWT.RIGHT);
    formData.right = new FormAttachment(browserWidthLbl, 140, SWT.RIGHT);
    browserWidthEntry.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(browserWidthLbl, 11, SWT.BOTTOM);
    formData.right = new FormAttachment(browserWidthLbl, 0, SWT.RIGHT);
    browserHeightLbl.setLayoutData(formData);
    formData = new FormData();
    formData.top = new FormAttachment(browserHeightLbl, 0, SWT.CENTER);
    formData.left = new FormAttachment(browserHeightLbl, 5, SWT.RIGHT);
    formData.right = new FormAttachment(browserHeightLbl, 140, SWT.RIGHT);
    browserHeightEntry.setLayoutData(formData);
    Composite spacer = new Composite(comp, SWT.NONE);
    formData = new FormData();
    formData.top = new FormAttachment(browserHeightEntry, 13, SWT.BOTTOM);
    formData.bottom = new FormAttachment(okButton, 0, SWT.TOP);
    spacer.setLayoutData(formData);
    formData = new FormData();
    formData.right = new FormAttachment(100, -13);
    formData.bottom = new FormAttachment(100, -13);
    formData.left = new FormAttachment(100, -95);
    formData.top = new FormAttachment(browserHeightEntry, 10, SWT.BOTTOM);
    Button other;
    if (OSUtils.MACOSX) {
        okButton.setLayoutData(formData);
        other = okButton;
    } else {
        cancelButton.setLayoutData(formData);
        other = cancelButton;
    }
    formData = new FormData();
    formData.right = new FormAttachment(other, -13, SWT.LEFT);
    formData.bottom = new FormAttachment(100, -13);
    formData.left = new FormAttachment(other, -95, SWT.LEFT);
    formData.top = new FormAttachment(browserHeightEntry, 10, SWT.BOTTOM);
    if (OSUtils.MACOSX) {
        cancelButton.setLayoutData(formData);
    } else {
        okButton.setLayoutData(formData);
    }
    sc1.setContent(comp);
    sc1.layout();
    // dialog.pack();
    repaint();
}
Also used : Group(org.eclipse.swt.widgets.Group) TraverseEvent(org.eclipse.swt.events.TraverseEvent) HashMap(java.util.HashMap) Label(org.eclipse.swt.widgets.Label) Design(edu.cmu.cs.hcii.cogtool.model.Design) Button(org.eclipse.swt.widgets.Button) TextWithEnableFix(edu.cmu.cs.hcii.cogtool.util.TextWithEnableFix) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) ComboWithEnableFix(edu.cmu.cs.hcii.cogtool.util.ComboWithEnableFix) FormAttachment(org.eclipse.swt.layout.FormAttachment) IntegerEntry(edu.cmu.cs.hcii.cogtool.util.IntegerEntry) FormLayout(org.eclipse.swt.layout.FormLayout) FormData(org.eclipse.swt.layout.FormData) MouseEvent(org.eclipse.swt.events.MouseEvent) Composite(org.eclipse.swt.widgets.Composite) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) TraverseListener(org.eclipse.swt.events.TraverseListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) MouseAdapter(org.eclipse.swt.events.MouseAdapter) Text(org.eclipse.swt.widgets.Text) FillLayout(org.eclipse.swt.layout.FillLayout) Point(org.eclipse.swt.graphics.Point) MalformedURLException(java.net.MalformedURLException) IOException(java.io.IOException) UnknownHostException(java.net.UnknownHostException) SelectionListener(org.eclipse.swt.events.SelectionListener)

Example 58 with MouseEvent

use of org.eclipse.swt.events.MouseEvent in project translationstudio8 by heartsome.

the class InnerTag method init.

// 初始化组件。
private void init() {
    addPaintListener(new PaintListener() {

        public void paintControl(PaintEvent e) {
            tagRender.draw(e.gc, innerTagBean, 0, 0);
        }
    });
    addMouseListener(new MouseAdapter() {

        @Override
        public void mouseDown(MouseEvent e) {
            Control parent = getParent();
            if (parent instanceof StyledText) {
                StyledText text = (StyledText) parent;
                Point size = getSize();
                Point p = getLocation();
                int offset = text.getOffsetAtLocation(p);
                int mouseX = e.x;
                if (mouseX > size.x / 2) {
                    text.setCaretOffset(offset + 1);
                } else {
                    text.setCaretOffset(offset);
                }
            }
        }
    });
}
Also used : Control(org.eclipse.swt.widgets.Control) PaintEvent(org.eclipse.swt.events.PaintEvent) MouseEvent(org.eclipse.swt.events.MouseEvent) StyledText(org.eclipse.swt.custom.StyledText) PaintListener(org.eclipse.swt.events.PaintListener) MouseAdapter(org.eclipse.swt.events.MouseAdapter) Point(org.eclipse.swt.graphics.Point)

Example 59 with MouseEvent

use of org.eclipse.swt.events.MouseEvent in project translationstudio8 by heartsome.

the class AboutComposite method init.

/**
	 * 初始化界面
	 *  ;
	 */
private void init() {
    Color white = Display.getDefault().getSystemColor(SWT.COLOR_WHITE);
    parent.setBackground(white);
    GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL);
    Label lblName = new Label(parent, SWT.CENTER);
    lblName.setText(name);
    lblName.setLayoutData(data);
    lblName.setBackground(white);
    Image image = new Image(Display.getDefault(), imagePath);
    Label lblImage = new Label(parent, SWT.CENTER);
    lblImage.setImage(image);
    lblImage.setLayoutData(new GridData(GridData.FILL_BOTH));
    lblImage.setBackground(white);
    Label lblVersion = new Label(parent, SWT.CENTER);
    lblVersion.setText(version);
    lblVersion.setLayoutData(data);
    lblVersion.setBackground(white);
    new Label(parent, SWT.None).setForeground(white);
    Label lblCopyRight = new Label(parent, SWT.CENTER);
    lblCopyRight.setText(PluginConstants.PLUGIN_COPY_RIGHT);
    lblCopyRight.setLayoutData(data);
    lblCopyRight.setBackground(white);
    Label lblWebSite = new Label(parent, SWT.CENTER);
    lblWebSite.setText(PluginConstants.PLUGIN_WEB_SITE);
    lblWebSite.setLayoutData(data);
    lblWebSite.setBackground(white);
    lblWebSite.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
    lblWebSite.setCursor(cursorHand);
    lblWebSite.addMouseListener(new MouseListener() {

        public void mouseUp(MouseEvent e) {
        }

        public void mouseDown(MouseEvent e) {
            Program.launch(PluginConstants.PLUGIN_WEB_SITE);
        }

        public void mouseDoubleClick(MouseEvent e) {
        }
    });
}
Also used : MouseListener(org.eclipse.swt.events.MouseListener) MouseEvent(org.eclipse.swt.events.MouseEvent) Color(org.eclipse.swt.graphics.Color) GridData(org.eclipse.swt.layout.GridData) Label(org.eclipse.swt.widgets.Label) Image(org.eclipse.swt.graphics.Image)

Example 60 with MouseEvent

use of org.eclipse.swt.events.MouseEvent in project translationstudio8 by heartsome.

the class CheckBoxCellEditor method activateCell.

/**
	 * As soon as the editor is activated, flip the current data value and commit it.<br/>
	 * The repaint will pick up the new value and flip the image.
	 */
@Override
protected Control activateCell(Composite parent, Object originalCanonicalValue, Character initialEditValue) {
    setCanonicalValue(originalCanonicalValue);
    checked = !checked;
    canvas = new Canvas(parent, SWT.NONE);
    canvas.addPaintListener(new PaintListener() {

        public void paintControl(PaintEvent paintEvent) {
            Rectangle bounds = canvas.getBounds();
            Rectangle rect = new Rectangle(0, 0, bounds.width, bounds.height);
            checkBoxCellPainter.paintIconImage(paintEvent.gc, rect, bounds.height / 2 - checkBoxCellPainter.getPreferredHeight(checked) / 2, checked);
        }
    });
    canvas.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseUp(MouseEvent e) {
            checked = !checked;
            canvas.redraw();
        }
    });
    commit(MoveDirectionEnum.NONE, false);
    return canvas;
}
Also used : PaintEvent(org.eclipse.swt.events.PaintEvent) MouseEvent(org.eclipse.swt.events.MouseEvent) PaintListener(org.eclipse.swt.events.PaintListener) Canvas(org.eclipse.swt.widgets.Canvas) Rectangle(org.eclipse.swt.graphics.Rectangle) MouseAdapter(org.eclipse.swt.events.MouseAdapter)

Aggregations

MouseEvent (org.eclipse.swt.events.MouseEvent)100 MouseAdapter (org.eclipse.swt.events.MouseAdapter)50 GridData (org.eclipse.swt.layout.GridData)37 MouseListener (org.eclipse.swt.events.MouseListener)32 SelectionEvent (org.eclipse.swt.events.SelectionEvent)32 Point (org.eclipse.swt.graphics.Point)32 KeyEvent (org.eclipse.swt.events.KeyEvent)27 Composite (org.eclipse.swt.widgets.Composite)26 GridLayout (org.eclipse.swt.layout.GridLayout)25 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)20 Button (org.eclipse.swt.widgets.Button)20 FocusEvent (org.eclipse.swt.events.FocusEvent)18 PaintEvent (org.eclipse.swt.events.PaintEvent)18 Event (org.eclipse.swt.widgets.Event)15 Label (org.eclipse.swt.widgets.Label)15 Text (org.eclipse.swt.widgets.Text)14 MouseMoveListener (org.eclipse.swt.events.MouseMoveListener)13 PaintListener (org.eclipse.swt.events.PaintListener)13 KeyListener (org.eclipse.swt.events.KeyListener)12 ModifyEvent (org.eclipse.swt.events.ModifyEvent)12