Ejemplo n.º 1
0
 public void refreshPreview() {
   XHTMLCodeEditor xhtmlCodeEditor = (XHTMLCodeEditor) currentEditor.getValue();
   if (xhtmlCodeEditor != null && currentXHTMLResource.get() != null) {
     try {
       currentXHTMLResource.get().setData(xhtmlCodeEditor.getCode().getBytes("UTF-8"));
     } catch (UnsupportedEncodingException e) {
       // never happens
     }
     needsRefresh.setValue(true);
     needsRefresh.setValue(false);
   }
 }
  private void handlePrimaryClick() {
    final int currentClicks = ++clicks;
    manager.submitTask(() -> manager.findReferingNodes(node, false));

    if (isExpanded.get()) {
      getMaterial().setDiffuseMap(Resources.SPINNER);
      manager.submitTask(
          () ->
              manager.collapseNode(
                  node,
                  () -> {
                    if (clicks == currentClicks) collapseNodeCallback();
                  }));
    } else {
      getMaterial().setDiffuseMap(Resources.SPINNER);
      manager.submitTask(
          () ->
              manager.expandNode(
                  node,
                  () -> {
                    if (clicks == currentClicks) expandNodeCallback();
                  }));
    }
    isExpanded.setValue(!isExpanded.get());
  }
Ejemplo n.º 3
0
 @Override
 public void messagePosted(final Message event) {
   Platform.runLater(
       () -> {
         switch (event.getEvent()) {
           case FILE_LOAD_SUCCESS:
             disabled.setValue(false);
             break;
           case FILE_CLOSING:
             closeAllWindows();
             disabled.setValue(true);
             break;
           default:
             break;
         }
       });
 }
Ejemplo n.º 4
0
  private void createStatusBar() {
    statusBar = new StatusBar();
    statusBar.setText("Alerts");

    Button alertsButton = new Button();
    alertsButton.textProperty().bind(numberOfAlerts);
    alertsButton.setBackground(
        new Background(new BackgroundFill(Color.ORANGE, new CornerRadii(2), new Insets(4))));
    alertsButton.setOnAction(
        event -> {
          isDetailNodeVisible.setValue(true);
          detailPane.getSelectionModel().select(0);
        });

    statusBar.getLeftItems().add(alertsButton);
    statusBar.progressProperty().bind(webEngine.getLoadWorker().progressProperty());
  }
Ejemplo n.º 5
0
  public boolean splitXHTMLFile() {
    boolean result = false;
    if (currentEditor.getValue().getMediaType().equals(MediaType.XHTML)) {
      XHTMLCodeEditor xhtmlCodeEditor = (XHTMLCodeEditor) currentEditor.getValue();
      EditorPosition pos = xhtmlCodeEditor.getEditorCursorPosition();
      XMLTagPair pair =
          xhtmlCodeEditor.findSurroundingTags(
              token -> {
                String type = token.getType();
                if ("tag".equals(type)) {
                  String content = token.getContent();
                  if ("head".equals(content) || "body".equals(content) || "html".equals(content)) {
                    return true;
                  }
                }
                return false;
              });
      if (pair == null
          || "head".equals(pair.getTagName())
          || "html".equals(pair.getTagName())
          || StringUtils.isEmpty(pair.getTagName())) {
        Dialogs.create()
            .owner(tabPane)
            .title("Teilung nicht möglich")
            .message(
                "Kann Datei nicht an dieser Position teilen. Eine Teilung ist nur innerhalb des XHTML-Bodys möglich.")
            .showWarning();
        return false;
      }
      logger.debug("umgebendes pair " + pair);
      // wir sind innerhalb des Body
      int index = xhtmlCodeEditor.getIndexFromPosition(pos);
      try {
        String originalCode = xhtmlCodeEditor.getCode();
        org.jdom2.Document originalDocument = XHTMLUtils.parseXHTMLDocument(originalCode);
        List<Content> originalHeadContent = getOriginalHeadContent(originalDocument);

        byte[] frontPart = originalCode.substring(0, index).getBytes("UTF-8");
        Resource oldResource = currentXHTMLResource.getValue();
        oldResource.setData(frontPart);
        HtmlCleanerBookProcessor processor = new HtmlCleanerBookProcessor();
        processor.processResource(oldResource);
        xhtmlCodeEditor.setCode(new String(oldResource.getData(), "UTF-8"));

        byte[] backPart =
            originalCode.substring(index, originalCode.length() - 1).getBytes("UTF-8");
        String fileName = book.getNextStandardFileName(MediaType.XHTML);
        Resource resource = MediaType.XHTML.getResourceFactory().createResource("Text/" + fileName);
        byte[] backPartXHTML = XHTMLUtils.repairWithHead(backPart, originalHeadContent);
        resource.setData(backPartXHTML);

        int spineIndex = book.getSpine().getResourceIndex(oldResource);
        book.addSpineResource(resource, spineIndex + 1);
        openFileInEditor(resource, MediaType.XHTML);

        bookBrowserManager.refreshBookBrowser();
        needsRefresh.setValue(true);
        needsRefresh.setValue(false);
      } catch (IOException | JDOMException | ResourceDataException e) {
        logger.error("", e);
        Dialogs.create()
            .owner(tabPane)
            .title("Teilung nicht möglich")
            .message("Kann Datei nicht teilen. Bitte Fehlermeldung an den Hersteller übermitteln.")
            .showException(e);
      }

      result = true;
    }
    return result;
  }
 public void setLiveUpdate(boolean value) {
   liveUpdate.setValue(value);
 }
Ejemplo n.º 7
0
  public ResizeIcon(double _width, double _height) {
    width = new SimpleDoubleProperty();
    height = new SimpleDoubleProperty();

    width.set(_width);
    height.set(_height);

    isClicked = new SimpleBooleanProperty();
    isClicked.setValue(false);

    //		this.radiusProperty().set(5);
    //		this.setFill(javafx.scene.paint.Paint.valueOf("99CCFF"));

    //		this = new Polygon();
    this.getPoints().addAll(new Double[] {-5.0, 5.0, 5.0, -5.0, 5.0, 5.0});
    javafx.scene.paint.Paint tailColor = javafx.scene.paint.Paint.valueOf("000000");
    this.setFill(tailColor);

    // EventListener for MousePressed
    onMousePressedProperty()
        .set(
            new EventHandler<MouseEvent>() {

              public void handle(MouseEvent event) {
                // record the current mouse X and Y position on Node
                mouseX = event.getSceneX();
                mouseY = event.getSceneY();

                isClicked.setValue(true);
              }
            });

    // so the nodes does not move while we resize
    onMouseReleasedProperty()
        .set(
            new EventHandler<MouseEvent>() {

              public void handle(MouseEvent event) {
                isClicked.setValue(false);
              }
            });

    // Event Listener for MouseDragged
    onMouseDraggedProperty()
        .set(
            new EventHandler<MouseEvent>() {

              public void handle(MouseEvent event) {
                // calculate the new width and height
                double newWidth = width.getValue() + (event.getSceneX() - mouseX);
                double newHeight = height.getValue() + (event.getSceneY() - mouseY);

                width.setValue(newWidth);
                height.setValue(newHeight);

                // again set current Mouse x AND y position
                mouseX = event.getSceneX();
                mouseY = event.getSceneY();
                // }
              }
            });
  }
Ejemplo n.º 8
0
 /**
  * Lock or unlock this Grid.
  *
  * @param lock
  */
 public void setLocked(Boolean lock) {
   locked.setValue(lock);
 }