Search in sources :

Example 1 with Toggle

use of controlP5.Toggle in project sirix by sirixdb.

the class SunburstGUI method setup.

@Override
protected void setup() {
    mOldSelectedRev = mDb.getRevisionNumber();
    final Toggle toggleArc = getControlP5().addToggle("mUseArc", mUseArc, LEFT + 0, TOP + mPosY + 60, 15, 15);
    toggleArc.setCaptionLabel("Arc / Rect");
    mToggles.add(toggleArc);
    final Toggle toggleFisheye = getControlP5().addToggle("mFisheye", mFisheye, LEFT + 0, TOP + mPosY + 80, 15, 15);
    toggleFisheye.setCaptionLabel("Fisheye lense");
    mToggles.add(toggleFisheye);
    final Toggle togglePruning = getControlP5().addToggle("mUsePruning", mUsePruning, LEFT + 0, TOP + mPosY + 100, 15, 15);
    togglePruning.setValue(true);
    togglePruning.setCaptionLabel("Pruning");
    mToggles.add(togglePruning);
    final Toggle useAttribute = getControlP5().addToggle("mUseAttribute", mUseAttribute, LEFT + 0, TOP + mPosY + 120, 15, 15);
    useAttribute.setCaptionLabel("Use attribute value");
    mToggles.add(useAttribute);
    final Toggle useMoveDetection = getControlP5().addToggle("mUseMoveDetection", mUseMoveDetection, LEFT + 0, TOP + mPosY + 140, 15, 15);
    useMoveDetection.setCaptionLabel("Use move detection");
    mToggles.add(useMoveDetection);
    mXPathField = getControlP5().addTextfield("xpath", mParent.width - 250, TOP + 20, 200, 20);
    mXPathField.setCaptionLabel("XPath expression");
    mXPathField.setFocus(false);
    mXPathField.setAutoClear(false);
    // black
    mXPathField.setColorBackground(mParent.color(0));
    // white
    mXPathField.setColorForeground(mParent.color(255));
    mXPathField.setId(50);
    mXPathField.plugTo(this);
    // Add textfield for XML fragment input.
    mCtrl = getControlP5().addGroup("add XML fragment", 150, 25, 115);
    mCtrl.setVisible(false);
    mCtrl.close();
    mTextArea = getControlP5().addTextfield("Add XML fragment", 0, 20, 400, 100);
    // black
    mTextArea.setColorBackground(mParent.color(0));
    // white
    mTextArea.setColorForeground(mParent.color(255));
    mTextArea.setGroup(mCtrl);
    final Button submit = getControlP5().addButton("submit", 20, 0, 140, 80, 19);
    submit.plugTo(this);
    submit.setGroup(mCtrl);
    final Button commit = getControlP5().addButton("commit", 20, 120, 140, 80, 19);
    commit.plugTo(this);
    commit.setGroup(mCtrl);
    final Button cancel = getControlP5().addButton("cancel", 20, 240, 140, 80, 19);
    cancel.plugTo(this);
    cancel.setGroup(mCtrl);
}
Also used : Button(controlP5.Button) Toggle(controlP5.Toggle)

Example 2 with Toggle

use of controlP5.Toggle in project sirix by sirixdb.

the class AbstractSunburstControl method controlEvent.

/**
 * Called on every change of the GUI.
 *
 * @param paramControlEvent
 *          the {@link ControlEvent}
 */
@Override
public void controlEvent(final ControlEvent paramControlEvent) {
    assert paramControlEvent != null;
    if (paramControlEvent.isController()) {
        if (paramControlEvent.getController().getId() == 50) {
            mModel.evaluateXPath(paramControlEvent.getController().getStringValue());
        } else {
            if (paramControlEvent.getController() instanceof Toggle) {
                final Toggle toggle = (Toggle) paramControlEvent.getController();
                switch(paramControlEvent.getController().getId()) {
                    case 0:
                        mGUI.setShowArcs(toggle.getState());
                        break;
                    case 1:
                        mGUI.setShowLines(toggle.getState());
                        break;
                    case 2:
                        mGUI.setUseBezierLine(toggle.getState());
                        break;
                }
            } else if (paramControlEvent.getController() instanceof Slider) {
                switch(paramControlEvent.getController().getId()) {
                    case 0:
                        mGUI.setInnerNodeArcScale(paramControlEvent.getController().getValue());
                        break;
                    case 1:
                        mGUI.setLeafArcScale(paramControlEvent.getController().getValue());
                        break;
                    case 2:
                        mGUI.setModificationWeight(paramControlEvent.getController().getValue());
                        break;
                    case 3:
                        mGUI.setDotSize(paramControlEvent.getController().getValue());
                        break;
                    case 4:
                        mGUI.setDotBrightness(paramControlEvent.getController().getValue());
                        break;
                    case 5:
                        mGUI.setBackgroundBrightness(paramControlEvent.getController().getValue());
                        break;
                }
            } else if (paramControlEvent.getController() instanceof Range) {
                final float[] f = paramControlEvent.getController().getArrayValue();
                switch(paramControlEvent.getController().getId()) {
                    case 0:
                        mGUI.setHueStart(f[0]);
                        mGUI.setHueEnd(f[1]);
                        break;
                    case 1:
                        mGUI.setSaturationStart(f[0]);
                        mGUI.setSaturationEnd(f[1]);
                        break;
                    case 2:
                        mGUI.setBrightnessStart(f[0]);
                        mGUI.setBrightnessEnd(f[1]);
                        break;
                    case 3:
                        mGUI.setInnerNodeBrightnessStart(f[0]);
                        mGUI.setInnerNodeBrightnessEnd(f[1]);
                        break;
                    case 4:
                        mGUI.setInnerNodeStrokeBrightnessStart(f[0]);
                        mGUI.setInnerNodeStrokeBrightnessEnd(f[1]);
                        break;
                    case 5:
                        mGUI.setStrokeWeightStart(f[0]);
                        mGUI.setStrokeWeightEnd(f[1]);
                        break;
                }
            }
            mGUI.update(EResetZoomer.YES);
        }
    }
}
Also used : Slider(controlP5.Slider) Toggle(controlP5.Toggle) Range(controlP5.Range)

Example 3 with Toggle

use of controlP5.Toggle in project sirix by sirixdb.

the class AbstractSunburstGUI method setupGUI.

/**
 * Initial setup of the GUI.
 */
private void setupGUI() {
    mParent.textFont(mFont);
    mParent.smooth();
    mParent.background(255f);
    final int activeColor = mParent.color(0, 130, 164);
    mControlP5.setColorActive(activeColor);
    mControlP5.setColorBackground(mParent.color(170));
    mControlP5.setColorForeground(mParent.color(50));
    mControlP5.setColorLabel(mParent.color(50));
    mControlP5.setColorValue(mParent.color(255));
    final int len = 300;
    final Range hueRange = mControlP5.addRange("leaf node hue range", 0, 360, getHueStart(), getHueEnd(), LEFT, TOP + mPosY + 0, len, 15);
    mRanges.add(hueRange);
    final Range saturationRange = mControlP5.addRange("leaf node saturation range", 0, 100, getSaturationStart(), getSaturationEnd(), LEFT, TOP + mPosY + 20, len, 15);
    mRanges.add(saturationRange);
    final Range brightnessRange = mControlP5.addRange("leaf node brightness range", 0, 100, getBrightnessStart(), getBrightnessEnd(), LEFT, TOP + mPosY + 40, len, 15);
    mRanges.add(brightnessRange);
    mPosY += 70;
    final Range innerNodebrightnessRange = mControlP5.addRange("inner node brightness range", 0, 100, getInnerNodeBrightnessStart(), getInnerNodeBrightnessEnd(), LEFT, TOP + mPosY + 0, len, 15);
    mRanges.add(innerNodebrightnessRange);
    final Range innerNodeStrokeBrightnessRange = mControlP5.addRange("inner node stroke brightness range", 0, 100, getInnerNodeStrokeBrightnessStart(), getInnerNodeStrokeBrightnessEnd(), LEFT, TOP + mPosY + 20, len, 15);
    mRanges.add(innerNodeStrokeBrightnessRange);
    mPosY += 50;
    // name, minimum, maximum, default value (float), x, y, width, height
    final Slider innerNodeArcScale = mControlP5.addSlider("setInnerNodeArcScale", 0, 1, getInnerNodeArcScale(), LEFT, TOP + mPosY + 0, len, 15);
    innerNodeArcScale.setCaptionLabel("innerNodeArcScale");
    mSliders.add(innerNodeArcScale);
    final Slider leafNodeArcScale = mControlP5.addSlider("setLeafArcScale", 0, 1, getLeafArcScale(), LEFT, TOP + mPosY + 20, len, 15);
    leafNodeArcScale.setCaptionLabel("leafNodeArcScale");
    mSliders.add(leafNodeArcScale);
    mPosY += 50;
    final Slider modWeight = mControlP5.addSlider("setModificationWeight", 0, 1, getModificationWeight(), LEFT, TOP + mPosY + 0, len, 15);
    modWeight.setCaptionLabel("modification weight");
    mSliders.add(modWeight);
    mPosY += 50;
    final Range strokeWeight = mControlP5.addRange("stroke weight range", 0, 10, getStrokeWeightStart(), getStrokeWeightEnd(), LEFT, TOP + mPosY + 0, len, 15);
    mRanges.add(strokeWeight);
    mPosY += 30;
    final Slider dotSize = mControlP5.addSlider("setDotSize", 0, 10, mDotSize, LEFT, TOP + mPosY + 0, len, 15);
    dotSize.setCaptionLabel("dot size");
    mSliders.add(dotSize);
    final Slider dotBrightness = mControlP5.addSlider("setDotBrightness", 0, 100, mDotBrightness, LEFT, TOP + mPosY + 20, len, 15);
    dotBrightness.setCaptionLabel("dot brightness");
    mSliders.add(dotBrightness);
    mPosY += 50;
    final Slider backgroundBrightness = mControlP5.addSlider("setBackgroundBrightness", 0, 100, getBackgroundBrightness(), LEFT, TOP + mPosY + 0, len, 15);
    backgroundBrightness.setCaptionLabel("background brightness");
    mSliders.add(backgroundBrightness);
    mPosY += 50;
    final Toggle showArcs = mControlP5.addToggle("isShowArcs", isShowArcs(), LEFT + 0, TOP + mPosY, 15, 15);
    showArcs.setCaptionLabel("show arcs");
    mToggles.add(showArcs);
    final Toggle showLines = mControlP5.addToggle("isShowLines", isShowLines(), LEFT + 0, TOP + mPosY + 20, 15, 15);
    showLines.setCaptionLabel("show lines");
    mToggles.add(showLines);
    final Toggle useBezier = mControlP5.addToggle("isUseBezierLine", isUseBezierLine(), LEFT + 0, TOP + mPosY + 40, 15, 15);
    useBezier.setCaptionLabel("Bezier / Line");
    mToggles.add(useBezier);
    setup();
    style();
}
Also used : Slider(controlP5.Slider) Toggle(controlP5.Toggle) Range(controlP5.Range)

Example 4 with Toggle

use of controlP5.Toggle in project sirix by sirixdb.

the class AbstractSunburstGUI method style.

/**
 * Style menu.
 */
protected void style() {
    final Group ctrl = mControlP5.addGroup("menu", 15, 25, 35);
    ctrl.setColorLabel(mParent.color(255));
    ctrl.setColorBackground(mParent.color(100));
    ctrl.close();
    mParent.colorMode(PConstants.RGB, 255, 255, 255);
    final int backgroundColor = 0x99ffffff;
    int i = 0;
    for (final Slider slider : mSliders) {
        slider.setGroup(ctrl);
        slider.setId(i);
        final Label label = slider.getCaptionLabel();
        label.toUpperCase(true);
        label.setColor(mParent.color(0));
        label.setColorBackground(backgroundColor);
        final ControllerStyle style = label.getStyle();
        style.padding(4, 0, 1, 3);
        style.marginTop = -4;
        style.marginLeft = 0;
        style.marginRight = -14;
        slider.plugTo(mControl);
        i++;
    }
    i = 0;
    for (final Range range : mRanges) {
        range.setGroup(ctrl);
        range.setId(i);
        final Label label = range.getCaptionLabel();
        label.toUpperCase(true);
        label.setColor(mParent.color(0));
        label.setColorBackground(backgroundColor);
        final ControllerStyle style = label.getStyle();
        style.padding(4, 0, 1, 3);
        style.marginTop = -4;
        range.plugTo(mControl);
        i++;
    }
    i = 0;
    for (final Toggle toggle : mToggles) {
        toggle.setGroup(ctrl);
        toggle.setId(i);
        final Label label = toggle.getCaptionLabel();
        label.setColor(mParent.color(0));
        label.setColorBackground(backgroundColor);
        final ControllerStyle style = label.getStyle();
        style.padding(4, 3, 1, 3);
        style.marginTop = -19;
        style.marginLeft = 18;
        style.marginRight = 5;
        toggle.plugTo(mControl);
        i++;
    }
    mParent.colorMode(PConstants.HSB, 360, 100, 100);
    mParent.textLeading(14);
    mParent.textAlign(PConstants.LEFT, PConstants.TOP);
    mParent.cursor(PConstants.CROSS);
}
Also used : Group(controlP5.Group) ControllerStyle(controlP5.ControllerStyle) Slider(controlP5.Slider) Toggle(controlP5.Toggle) Label(controlP5.Label) Range(controlP5.Range)

Example 5 with Toggle

use of controlP5.Toggle in project sirix by sirixdb.

the class SunburstControl method controlEvent.

@Override
public void controlEvent(final ControlEvent pControlEvent) {
    super.controlEvent(pControlEvent);
    if (pControlEvent.isGroup()) {
        if (pControlEvent.getGroup().getName().equals("Compare revision")) {
            mSunburstGUI.mParent.noLoop();
            mSunburstGUI.mSelectedRev = (int) pControlEvent.getGroup().getValue();
            final int selectedRev = mSunburstGUI.mSelectedRev;
            mModel = new SunburstCompareModel(mSunburstGUI.mParent, mSunburstGUI.mDb);
            mModel.addPropertyChangeListener(mSunburstGUI);
            final SunburstContainer container = new SunburstContainer(mSunburstGUI, mModel);
            if (mSunburstGUI.mUsePruning) {
                container.setPruning(Pruning.DIFF);
            } else {
                container.setPruning(Pruning.NO);
            }
            container.setMoveDetection(mSunburstGUI.mUseMoveDetection);
            mModel.traverseTree(container.setRevision(selectedRev).setModWeight(mSunburstGUI.getModificationWeight()));
            mSunburstGUI.mUseDiffView = ViewType.DIFF;
            mSunburstGUI.mUseDiffView.setValue(true);
            final SunburstView view = (SunburstView) ((Embedded) mSunburstGUI.mParent).getView();
            final ViewNotifier notifier = view.getNotifier();
            mDb.setCompareRevisionNumber(selectedRev);
            notifier.init(view);
        }
    } else if (pControlEvent.isController()) {
        if (pControlEvent.getController() instanceof Toggle) {
            final Toggle toggle = (Toggle) pControlEvent.getController();
            final boolean state = toggle.getState();
            switch(toggle.getId()) {
                case 3:
                    mSunburstGUI.setUseArc(state);
                    break;
                case 4:
                    mSunburstGUI.setFisheye(state);
                    break;
                case 5:
                    if (state) {
                        mRefresh = true;
                    }
                    mSunburstGUI.setUsePruning(state);
                    break;
                case 6:
                    mSunburstGUI.setUseAttribute(state);
                    break;
                case 7:
                    mSunburstGUI.setUseMoveDetection(state);
                    break;
            }
        }
    }
}
Also used : SunburstCompareModel(org.sirix.gui.view.sunburst.model.SunburstCompareModel) ViewNotifier(org.sirix.gui.view.ViewNotifier) Toggle(controlP5.Toggle)

Aggregations

Toggle (controlP5.Toggle)5 Range (controlP5.Range)3 Slider (controlP5.Slider)3 Button (controlP5.Button)1 ControllerStyle (controlP5.ControllerStyle)1 Group (controlP5.Group)1 Label (controlP5.Label)1 ViewNotifier (org.sirix.gui.view.ViewNotifier)1 SunburstCompareModel (org.sirix.gui.view.sunburst.model.SunburstCompareModel)1