Esempio n. 1
0
  private TabPanel buildPanel() throws IOException {
    final TabPanel panel = new TabPanel();
    panel.setPrefWidth(300);
    panel.setPrefHeight(250);

    setupColorTab(panel);
    setupSwatchTab(panel);
    setupRGBTab(panel);
    setupGradientTab(panel);
    setupPatternTab(panel);

    // TODO: is this popup event really working?
    EventBus.getSystem()
        .addListener(
            panel,
            MouseEvent.MouseAll,
            new Callback<MouseEvent>() {
              public void call(MouseEvent event) {
                if (event.getType() == MouseEvent.MouseDragged) {
                  if (!popup.isVisible()) return;
                  Control control = panel.getSelected();
                  if (control instanceof ListView) {
                    ListView lv = (ListView) control;
                    Object item = lv.getItemAt(event.getPointInNodeCoords(lv));
                    if (item instanceof Paint) {
                      setSelectedFill((Paint) item);
                    }
                  }
                }
                if (event.getType() == MouseEvent.MouseReleased) {
                  Point2D pt = event.getPointInNodeCoords(panel);
                  pt =
                      new Point2D.Double(
                          pt.getX() + panel.getTranslateX(), pt.getY() + panel.getTranslateY());
                  if (panel.getVisualBounds().contains(pt)) {
                    popup.setVisible(false);
                  }
                }
              }
            });

    return panel;
  }