Package cc.sketchchair.widgets

Source Code of cc.sketchchair.widgets.WidgetSlices

/*******************************************************************************
* This is part of SketchChair, an open-source tool for designing your own furniture.
*     www.sketchchair.cc
*    
*     Copyright (C) 2012, Diatom Studio ltd.  Contact: hello@diatom.cc
*
*     This program is free software: you can redistribute it and/or modify
*     it under the terms of the GNU General Public License as published by
*     the Free Software Foundation, either version 3 of the License, or
*     (at your option) any later version.
*
*     This program is distributed in the hope that it will be useful,
*     but WITHOUT ANY WARRANTY; without even the implied warranty of
*     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*     GNU General Public License for more details.
*
*     You should have received a copy of the GNU General Public License
*     along with this program.  If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
package cc.sketchchair.widgets;

import java.util.ArrayList;

import cc.sketchchair.core.CrossSliceSelection;
import cc.sketchchair.core.CrossSliceSelections;
import cc.sketchchair.core.GLOBAL;
import cc.sketchchair.core.LOGGER;
import cc.sketchchair.core.SETTINGS;
import cc.sketchchair.core.UITools;
import cc.sketchchair.geometry.SlicePlane;

import ModalGUI.GUIButton;
import ModalGUI.GUIComponent;
import ModalGUI.GUIComponentSet;
import ModalGUI.GUIComponents;
import ModalGUI.GUIEvent;
import ModalGUI.GUILabel;
import ModalGUI.GUINumberfield;
import ModalGUI.GUIPanel;
import ModalGUI.GUIRadioBox;
import ModalGUI.GUISlider;
import ModalGUI.GUITextfield;
import ModalGUI.GUIToggle;
import ModalGUI.ModalGUI;
import processing.core.PApplet;
import processing.core.PGraphics;

/**
* GUI widget used for changing properties of slices.
* @author gregsaul
*
*/
public class WidgetSlices extends GUIPanel {
  ModalGUI gui;
  public GUIPanel panel;
  GUIPanel scrollPanel;
  GUIPanel propertiesPanel;
  float XPos = 5;

  private String LANGUAGE;
  private GUIButton buttonAddPlane;
  GUIComponentSet radioSet = new GUIComponentSet();
  CrossSliceSelections sliceSelections = new CrossSliceSelections();
  CrossSliceSelection selectedSlice = null;
  private GUISlider sliderStart;
  private GUISlider sliderEnd;
  private GUISlider sliderSpacing;
  private int SliceCount = 0;
  GUIComponentSet toggleSetSlices = new GUIComponentSet();
  private int numberOfSlicesInPanel = -1;

  public WidgetSlices(float x, float y, float w, float h, ModalGUI gui) {
    super(x, y, w, h, gui);
    this.setController(gui);
    // TODO Auto-generated constructor stub
    this.gui = gui;
  }

  public void addNewSlicePlane(GUIEvent e) {

    if (GLOBAL.sketchChairs.getCurChair() != null)
      GLOBAL.sketchChairs.getCurChair().addNewSlicePlane();

  }

  void addRow(CrossSliceSelection sliceSelection) {

    sliceSelections.add(sliceSelection);
    SliceCount++;

    String iconFile = "";

    if (sliceSelection.type == CrossSliceSelection.SINGLE_SLICE)
      iconFile = "gui/GUI_SLICE_SLICE_ICON.png";

    if (sliceSelection.type == CrossSliceSelection.PLANE_ON_EDGE
        || sliceSelection.type == CrossSliceSelection.PLANE)
      iconFile = "gui/GUI_SLICE_SLAT_ICON.png";

    if (sliceSelection.type == CrossSliceSelection.SLICES)
      iconFile = "gui/GUI_SLICE_MULTISLICE_ICON.png";

    if (sliceSelection.type == CrossSliceSelection.LEG)
      iconFile = "gui/GUI_SLICE_LEG_ICON.png";

    //default
    if (iconFile == "")
      iconFile = "gui/GUI_SLICE_MULTISLICE_ICON.png";

    GUIToggle toggle = new GUIToggle(XPos, 30, 35, 35, iconFile, gui);
    toggle.setComponentSet(toggleSetSlices);
    toggle.addActionListener(this, "selectSlice", sliceSelections.size());

    toggle.setLabel(Integer.toString(SliceCount));
    toggle.label.align = GUILabel.CENTRE;
    toggle.label.layout = GUILabel.UNDER_COMPONENT;

    this.scrollPanel.add(toggle);

    XPos += 35;

    //GUILabel labelToggle = new GUILabel((int) 40f, 0,"flip");
    //this.scrollPanel.add(labelToggle);

    // labelToggle = new GUILabel((int) 70f, 0,"constrain");
    // this.scrollPanel.add(labelToggle);

    /*
    GUINumberfield numFieldStart = new GUINumberfield(50, YPos, 15,15);
    this.scrollPanel.addComponent(numFieldStart);
   
   
    GUINumberfield numFieldEnd = new GUINumberfield(70, YPos, 15,15);
    this.scrollPanel.addComponent(numFieldEnd);
   
    GUINumberfield numFieldspace = new GUINumberfield(90, YPos, 15,15);
    this.scrollPanel.addComponent(numFieldspace);
    */
    /*
   
    GUIToggle flipSide = new GUIToggle(40f, YPos, 15f,15f);
    flipSide.addActionListener(sliceSelection, "flipSide",
        UITools.LEG_TOOL);
   
    flipSide.setState(sliceSelection.flipSide);
    this.scrollPanel.add(flipSide);
   
   
   
    GUIToggle constrainToshape = new GUIToggle(70f, YPos, 15f,15f);
    constrainToshape.addActionListener(sliceSelection, "toggleConstrainToshape",
        UITools.LEG_TOOL);
    this.scrollPanel.add(constrainToshape);
    constrainToshape.setState(sliceSelection.cropToCurrentShape);
    //this.scrollPanel.add(labelButton);
   

    GUIToggle chnageMode = new GUIToggle(90f, YPos, 15f,15f);
    chnageMode.addActionListener(sliceSelection, "toggleSliceMode",
        UITools.LEG_TOOL);
    this.scrollPanel.add(chnageMode);
    //this.scrollPanel.add(labelButton);
   
   
     
    GUIButton editButton = new GUIButton(130f, YPos, 40f,15f, "edit");
    editButton.addActionListener(sliceSelection, "edit",UITools.SELECT_TOOL);
    scrollPanel.add(editButton);

   
    GUIButton buttonDeletePlane = new GUIButton(200f, YPos-3, "gui/GUI_PLANE_REMOVE_UP.png",
        "gui/GUI_PLANE_REMOVE_DOWN.png");
    buttonDeletePlane.addActionListener(sliceSelection, "destroy",UITools.LEG_TOOL);
   
    //buttonDeletePlane.addToolTip(GLOBAL.applet,"gui/GUI_PLANE_REMOVE_TOOLTIP", LANGUAGE);

    scrollPanel.add(buttonDeletePlane);
    */

  }

  public void rebuild(CrossSliceSelections sliceSelections) {

    //check to see if we really need to rebuild?
    if (sliceSelections.size() != this.numberOfSlicesInPanel)
      this.numberOfSlicesInPanel = sliceSelections.size();
    else
      return;

    if (SETTINGS.EXPERT_MODE)
      this.scrollPanel.clear();

    this.sliceSelections.clear();

    XPos = 5;
    SliceCount = 0;

    toggleSetSlices = new GUIComponentSet();
    if (SETTINGS.EXPERT_MODE) {
      for (int i = 0; i < sliceSelections.l.size(); i++) {
        CrossSliceSelection creossSelection = (CrossSliceSelection) sliceSelections.l
            .get(i);
        if (!creossSelection.destroy) {
          this.addRow(creossSelection);
        }
      }
    }

    GLOBAL.gui.update();

  }

  public void rebuildChair(GUIEvent e) {
    if (GLOBAL.sketchChairs.getCurChair() != null)
      GLOBAL.sketchChairs.getCurChair().build();
  }

  public void removeRow(CrossSliceSelection crossSliceSelection) {
    if (GLOBAL.sketchChairs.getCurChair() != null)
      this.rebuild(GLOBAL.sketchChairs.getCurChair().crossSliceSelections);

  }

  public void removeSliceCleanup(GUIEvent e) {
    this.scrollPanel.clear();

    numberOfSlicesInPanel = numberOfSlicesInPanel + 1 * 2;//force rebuild
    this.propertiesPanel.clear();

    if (GLOBAL.sketchChairs.getCurChair() != null)
      this.rebuild(GLOBAL.sketchChairs.getCurChair().crossSliceSelections);

  }

 
  public void editSlice(GUIEvent e) {
    editSlice(sliceSelections.get((int) (e.val )));
  }
 
  public void editSlice(CrossSliceSelection crossSliceSelection) {
    GLOBAL.sketchChairs.getCurChair().creossSelectionTempOver = crossSliceSelection;
    GLOBAL.sketchChairs.getCurChair().creossSelectionTempOver.edit(null);
    GLOBAL.sketchChairs.getCurChair().creossSelectionTempOver.tempSlice = true;
    GLOBAL.sketchChairs.getCurChair().crossSliceSelections.l.remove(crossSliceSelection);
  }
 
 
  public void selectSlice(GUIEvent e) {
    selectSlice(sliceSelections.get((int) (e.val - 1)));
  }


  public void selectSlice(CrossSliceSelection crossSliceSelection) {

    if (this.scrollPanel == null)
      return;

    for (int i = 0; i < this.scrollPanel.components.size(); i++) {
      GUIComponent component = (GUIComponent) this.scrollPanel.components
          .get(i);

      if (component.label.getLabelStr().startsWith(
          Integer.toString(((this.sliceSelections.l
              .indexOf(crossSliceSelection) + 1))))) {
        ((GUIToggle) component).toggleDown();

      }
    }

    if (GLOBAL.sketchChairs.getCurChair() != null){
      GLOBAL.sketchChairs.getCurChair().crossSliceSelections.unselect();
      GLOBAL.sketchChairs.getCurChair().selectedPlanes.unselectAll();
      GLOBAL.sketchChairs.getCurChair().selectedPlanes.empty();
    }

    if (this.selectedSlice != null)
      this.selectedSlice.unselect();

    this.selectedSlice = crossSliceSelection;

    if (this.selectedSlice != null) {
      this.selectedSlice.select();

      this.setupPropertiesPanel(this.selectedSlice);
    }

    if (GLOBAL.sketchChairs.getCurChair() != null) {

      for (int i = 0; i < GLOBAL.sketchChairs.getCurChair().slicePlanesSlatSlices
          .size(); i++) {
        SlicePlane plane = GLOBAL.sketchChairs.getCurChair().slicePlanesSlatSlices
            .get(i);
        if (plane.getCrossSliceSelection() != null
            && plane.getCrossSliceSelection().selected) {
          plane.select();
          GLOBAL.sketchChairs.getCurChair().selectedPlanes.add(plane);

        }
      }

    }

   
  }

  public void setStart(GUIEvent e) {

  }

  public void setupButtons() {

    LANGUAGE = "JP";

    float panelX = 200;
    this.panel = new GUIPanel(0, 0, 300f, 100f, this.controller);
    //this.panel.setLabel("slices");
    this.panel.hideSelectBar = true;
    this.hideSelectBar = true;
    this.panel.renderBorder = false;
    this.renderBorder = false;
   
    this.add(this.panel);

    this.scrollPanel = new GUIPanel(0, 0, 190f, 100f, this.gui);
    this.scrollPanel.setParentPanel(panel);
    this.scrollPanel.isDraggable = false;
    this.scrollPanel.useScroolBarX = true;
    this.scrollPanel.hideSelectBar = true;
    this.scrollPanel.useCanvas = true;
    this.scrollPanel.renderBorder = false;

    this.add(this.scrollPanel);

    this.propertiesPanel = new GUIPanel(190, 0, 900f, 100f, this.gui);
    this.propertiesPanel.setParentPanel(this);
    this.propertiesPanel.isDraggable = false;
    this.propertiesPanel.useScroolBarX = true;
    this.propertiesPanel.hideSelectBar = true;
    this.propertiesPanel.useCanvas = true;
    this.propertiesPanel.renderBorder = false;
    this.add(this.propertiesPanel);

    /*
    buttonAddPlane = new GUIButton(150, 0, "gui/GUI_PLANE_ADD_UP.png",
        "gui/GUI_PLANE_ADD_DOWN.png", this.controller);
    buttonAddPlane.addActionListener(this, "addNewSlicePlane",
        UITools.LEG_TOOL);

    panel.add(buttonAddPlane);
   
   
    buttonAddPlane.setParentPanel(this.panel);
*/
    if (GLOBAL.sketchChairs.getCurChair() != null)
      this.rebuild(GLOBAL.sketchChairs.getCurChair().crossSliceSelections);

  }

  void setupPropertiesPanel(CrossSliceSelection sliceSelection) {

    this.propertiesPanel.clear();


    float yPos = 25;
    GUIButton button = new GUIButton(10f, yPos, 45, 45,
        "gui/GUI_SLICE_EDIT_BUTTOM.png", null, this.controller);
    button.addActionListener(this, "editSlice", this.sliceSelections.l.indexOf(sliceSelection));
    button.setLabel("edit");
    button.label.align = GUILabel.CENTRE;
    button.label.layout = GUILabel.UNDER_COMPONENT;
    this.propertiesPanel.add(button);
    //yp+= 20;

    button = new GUIButton(50f, yPos, 45, 45,
        "gui/GUI_SLICE_DELETE_BUTTON.png", null, this.controller);
    button.addActionListener(sliceSelection, "destroy", UITools.LEG_TOOL);
    button.addActionListener(this, "removeSliceCleanup", null);

    button.setLabel("delete");
    button.label.align = GUILabel.CENTRE;
    button.label.layout = GUILabel.UNDER_COMPONENT;
    this.propertiesPanel.add(button);

    GUIToggle toggle = null;

    float xPos = 95;
    GUIComponentSet toggleSet = new GUIComponentSet();

     xPos += 20;
     yPos = 10;

   
    GUILabel label = new GUILabel(xPos, yPos-10,"cap\nstyle",this.controller);
    this.propertiesPanel.add(label);
    xPos += 35;

    toggle = new GUIToggle(xPos, yPos, "gui/GUI_SLICE_CAP_WING.png",this.controller);
    toggle.setComponentSet(radioSet);
    toggle.addActionListener(sliceSelection, "setCapType",
        CrossSliceSelection.CAP_CURVE);
    toggle.addActionListener(this, "rebuildChair",
        CrossSliceSelection.CAP_CURVE);
   
    /*toggle.setLabel("cap\ncurve");
    toggle.label.align = GUILabel.CENTRE;
    toggle.label.layout = GUILabel.UNDER_COMPONENT;*/
    this.propertiesPanel.add(toggle);
    toggle.setState((sliceSelection.getCapType() == CrossSliceSelection.CAP_CURVE));

    xPos += 30;
    toggle = new GUIToggle(xPos, yPos, "gui/GUI_SLICE_CAP_SQUARE.png", this.controller);
    toggle.setComponentSet(radioSet);
    toggle.addActionListener(sliceSelection, "setCapType",
        CrossSliceSelection.CAP_BUTT);
    toggle.addActionListener(this, "rebuildChair",
        CrossSliceSelection.CAP_CURVE);
    /*toggle.setLabel("cap\nsquare");
    toggle.label.align = GUILabel.CENTRE;
    toggle.label.layout = GUILabel.UNDER_COMPONENT;*/
    this.propertiesPanel.add(toggle);
    toggle.setState((sliceSelection.getCapType() == CrossSliceSelection.CAP_BUTT));

    xPos += 30;
    toggle = new GUIToggle(xPos, yPos, "gui/GUI_SLICE_CUTOFF.png", this.controller);
    toggle.setComponentSet(radioSet);
    toggle.addActionListener(sliceSelection, "setCapType",
        CrossSliceSelection.CAP_INSIDE);
    toggle.addActionListener(this, "rebuildChair",
        CrossSliceSelection.CAP_CURVE);

    /*toggle.setLabel("cap\ninside");
    toggle.label.align = GUILabel.CENTRE;
    toggle.label.layout = GUILabel.UNDER_COMPONENT;*/
    this.propertiesPanel.add(toggle);
    toggle.setState((sliceSelection.getCapType() == CrossSliceSelection.CAP_INSIDE));

    xPos += 30;
    toggle = new GUIToggle(xPos, yPos, "gui/GUI_SLICE_CAP_ROUNDRECT.png", this.controller);
    toggle.setComponentSet(radioSet);
    toggle.addActionListener(sliceSelection, "setCapType",
        CrossSliceSelection.CAP_ROUND_SQUARE);
    toggle.addActionListener(this, "rebuildChair",
        CrossSliceSelection.CAP_ROUND_SQUARE);
    /*toggle.setLabel("corner\nradius");
    toggle.label.align = GUILabel.CENTRE;
    toggle.label.layout = GUILabel.UNDER_COMPONENT;*/
    this.propertiesPanel.add(toggle);
    toggle.setState((sliceSelection.getCapType() == CrossSliceSelection.CAP_ROUND_SQUARE));

   
   
   
    xPos -= 90;
    yPos = 60;
   
    toggle = new GUIToggle(xPos, yPos,"gui/GUI_MATERIAL_THROUGHALL_SLOT.png", this.controller);
    toggle.addActionListener(sliceSelection, "toggleConstrainToshape",
        UITools.LEG_TOOL);
    toggle.setLabel("through\nall");
    toggle.label.align = GUILabel.CENTRE;
    toggle.label.layout = GUILabel.UNDER_COMPONENT;
    this.propertiesPanel.add(toggle);
    toggle.setState(!sliceSelection.cropToCurrentShape);
    xPos += 45;

   
    toggle = new GUIToggle(xPos, yPos, "gui/GUI_SLOT_ROTATE_DOWN.png","gui/GUI_SLOT_ROTATE_UP.png", this.controller);
    toggle.setController(this.controller);
    toggle.addActionListener(sliceSelection, "flipSide",
        CrossSliceSelection.CAP_INSIDE);
    toggle.addActionListener(this, "rebuildChair",
        CrossSliceSelection.CAP_CURVE);
    toggle.setLabel("flip\nslots");
    toggle.label.align = GUILabel.CENTRE;
    toggle.label.layout = GUILabel.UNDER_COMPONENT;
    toggle.setState(sliceSelection.flipSide);
    this.propertiesPanel.add(toggle);

    xPos += 45;
    toggle = new GUIToggle(xPos, yPos, "gui/GUI_SLICE_SMOOTHED.png", this.controller);
    toggle.setController(this.controller);
    toggle.addActionListener(sliceSelection, "smooth",
        CrossSliceSelection.CAP_INSIDE);
    toggle.addActionListener(this, "rebuildChair",
        CrossSliceSelection.CAP_CURVE);
    toggle.setLabel("smooth");
    toggle.label.align = GUILabel.CENTRE;
    toggle.label.layout = GUILabel.UNDER_COMPONENT;
    toggle.setState(sliceSelection.smooth);
    this.propertiesPanel.add(toggle);

    xPos += 45;
    toggle = new GUIToggle(xPos, yPos, "gui/GUI_SLICE_FOLLOW_EDGE.png", this.controller);
    toggle.setController(this.controller);
    toggle.addActionListener(sliceSelection, "generateFlushTops",
        CrossSliceSelection.CAP_INSIDE);
    toggle.addActionListener(this, "rebuildChair",
        CrossSliceSelection.CAP_CURVE);
    toggle.setLabel("flush\ntops");
    toggle.label.align = GUILabel.CENTRE;
    toggle.label.layout = GUILabel.UNDER_COMPONENT;
    toggle.setState(sliceSelection.smooth);
    this.propertiesPanel.add(toggle);

    xPos += 45;
   
    if(sliceSelection.tieToLeg){
     
      toggle = new GUIToggle(xPos, yPos, "gui/GUI_SLICE_FOLLOW_EDGE.png", this.controller);
      toggle.setController(this.controller);
     
 
      toggle.addActionListener(this, "rebuildChair",
          CrossSliceSelection.CAP_CURVE);
   
     
      toggle.addActionListener(sliceSelection, "extendLegSliceToTopOfLeg",
          CrossSliceSelection.CAP_INSIDE);
     
     
     
     
      toggle.setLabel("extend\nto top");
      toggle.label.align = GUILabel.CENTRE;
      toggle.label.layout = GUILabel.UNDER_COMPONENT;
      toggle.setState(sliceSelection.extendLegSliceToTopOfLeg);
      this.propertiesPanel.add(toggle);
    }

    if (sliceSelection.type == CrossSliceSelection.SLICES
        || sliceSelection.type == CrossSliceSelection.SINGLE_SLICE
        || sliceSelection.type == CrossSliceSelection.SLATSLICES) {
      GUINumberfield slatHeight = new GUINumberfield(xPos, yPos, 30, 15,
          this.controller);
      slatHeight.addActionListener(sliceSelection, "slatHeight");
      String sHeight = Float.toString(sliceSelection.getSlatHeight());
      if (sliceSelection.getSlatHeight() == 0)
        sHeight = "";

      slatHeight.setText(sHeight);
      slatHeight.setLabel("slice\nheight");
      slatHeight.label.align = GUILabel.CENTRE;
      slatHeight.label.layout = GUILabel.UNDER_COMPONENT;
      this.propertiesPanel.add(slatHeight);
    }

    if (sliceSelection.type == CrossSliceSelection.SLATSLICES
        || sliceSelection.type == CrossSliceSelection.PLANE_ON_EDGE) {

      GUINumberfield slatHeight = new GUINumberfield(230, 45, 60, 15,
          this.controller);
      slatHeight.addActionListener(sliceSelection, "teethCount");
      String sHeight = Float.toString(sliceSelection.teethCount);
      slatHeight.setText(sHeight);
      slatHeight.setLabel("teeth count");
      this.propertiesPanel.add(slatHeight);

      GUINumberfield fingerTollerance = new GUINumberfield(230, 65, 60,
          15, this.controller);
      fingerTollerance.addActionListener(sliceSelection,
          "fingerTollerance");
      String fingetTol = Float.toString(sliceSelection.fingerTollerance);
      fingerTollerance.setText(fingetTol);
      fingerTollerance.setLabel("finger tollerance");
      this.propertiesPanel.add(fingerTollerance);
    }
    //this.scrollPanel.add(labelButton);

    /*
     
      GUISlider sliderStart = new GUISlider(10, yp, 60, 0, 1);
        sliderStart.setVal(sliceSelection.start);
        sliderStart.setLabel("start");
        sliderStart.addActionListener(sliceSelection , "start");
      this.propertiesPanel.add(sliderStart);

      yp+= 20;
     
      GUISlider sliderEnd = new GUISlider(10, yp, 60, 0, 1);
        sliderEnd.setVal(sliceSelection.end);
        sliderEnd.setLabel("end");
        sliderEnd.addActionListener(sliceSelection , "end");
      this.propertiesPanel.add(sliderEnd);

      yp+= 20;
     
      GUISlider sliderSpacing = new GUISlider(10, yp, 60, -100, 100);
        sliderSpacing.setVal(sliceSelection.spacing);
        sliderSpacing.setLabel("spacing");
        sliderSpacing.addActionListener(sliceSelection , "spacing");
      this.propertiesPanel.add(sliderSpacing);

      yp+= 20;
     
     
     
      GUISlider sliderboarderX = new GUISlider(10, yp, 60, 0, 100);
      sliderboarderX.setVal(sliceSelection.boarderX);
      sliderboarderX.setLabel("boarderX");
      sliderboarderX.addActionListener(sliceSelection , "boarderX");
      this.propertiesPanel.add(sliderboarderX);

      yp+= 20;
     
      GUISlider sliderboarderY = new GUISlider(10, yp, 60, 0, 100);
      sliderboarderY.setVal(sliceSelection.boarderX);
      sliderboarderY.setLabel("boarderY");
      sliderboarderY.addActionListener(sliceSelection , "boarderY");
      this.propertiesPanel.add(sliderboarderY);

      yp+= 20;
     
      */
    /*
    GUIToggle flipSide = new GUIToggle(10f, yp, 15f,15f);
    flipSide.addActionListener(sliceSelection, "flipSide",
        UITools.LEG_TOOL);
    flipSide.setLabel("flip side");
   
    flipSide.setState(sliceSelection.flipSide);
    this.propertiesPanel.add(flipSide);
    yp+= 20;
   
   
    GUIToggle chnageMode = new GUIToggle(10f, yp, 15f,15f);
    chnageMode.addActionListener(sliceSelection, "toggleSliceMode",
        UITools.LEG_TOOL);
    this.propertiesPanel.add(chnageMode);
    //this.scrollPanel.add(labelButton);
    yp+= 20;
    */

  }

  public void unselectAll() {
    // TODO Auto-generated method stub

  }
 
  @Override
  public void render(PGraphics g) {

    if (!this.visible)
      return;

    g.stroke(0);
    g.strokeWeight(1);
    g.line(getX(), getY() + 10, getX(), getY() + getHeight() - 10);

    g.line(getX()+this.scrollPanel.getWidth(), getY() + 10, getX()+this.scrollPanel.getWidth(), getY() + getHeight() - 10);

   
   
   
   
    super.render(g);
  }

}
TOP

Related Classes of cc.sketchchair.widgets.WidgetSlices

TOP
Copyright © 2018 www.massapi.com. 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.