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);
}
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);
}
}
}
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();
}
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);
}
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;
}
}
}
}
Aggregations