void SettingsPanel::setLaserPreview3d( LaserPreview3D* laserPreview3D ){
    mLaserPreview3D = laserPreview3D;

    Gwen::Controls::Base* pSlider;
    Gwen::Controls::Base* pCheckBox;
//    Gwen::Controls::Base* pLabel;

    pSlider = addSlider(mLaserCat, getBounds(mLaserCatElements), "Laser Angle", mLaserPreview3D->getLaserAngle(), 0, 90 );
    mLaserCatElements.push_back(pSlider);
    
    
    pCheckBox = addCheckBox(mLaserPreviewCat, getBounds(mLaserPreviewCatElements), "Show Frame", mLaserPreview3D->paramsView.showFrame );
    mLaserPreviewCatElements.push_back(pCheckBox);
    
    pCheckBox = addCheckBox(mLaserPreviewCat, getBounds(mLaserPreviewCatElements), "Show Dots on Gauze", mLaserPreview3D->paramsView.showDotsOnGauze );
    mLaserPreviewCatElements.push_back(pCheckBox);

    pCheckBox = addCheckBox(mLaserPreviewCat, getBounds(mLaserPreviewCatElements), "Show Lines on Gauze", mLaserPreview3D->paramsView.showLinesOnGauze );
    mLaserPreviewCatElements.push_back(pCheckBox);

    pCheckBox = addCheckBox(mLaserPreviewCat, getBounds(mLaserPreviewCatElements), "Show Rays", mLaserPreview3D->paramsView.showRays );
    mLaserPreviewCatElements.push_back(pCheckBox);

    pCheckBox = addCheckBox(mLaserPreviewCat, getBounds(mLaserPreviewCatElements), "Show Fans", mLaserPreview3D->paramsView.showFans );
    mLaserPreviewCatElements.push_back(pCheckBox);
    
    pSlider = addSlider(mLaserPreviewCat, getBounds(mLaserPreviewCatElements), "Fans Intensity", mLaserPreview3D->paramsView.fansIntensity*100.0f, 0, 100 );
    mLaserPreviewCatElements.push_back(pSlider);


    
}
  virtual HandleRequestReply process(const RequestInfo& requestInfo, RequestOutput& requestOutput) {
    std::string buff(contentStart);

    buff << "<form action='/msgBackground' method='post'>"
	 << "<h1>Background Message</h1><p>";

    buff << "<br/>Index (0-";
    INT2BUFF(BACKGROUND_MESSAGE_COUNT - 1);
    buff << "): <input type='range' min='0' max='";
    INT2BUFF(BACKGROUND_MESSAGE_COUNT - 1);
    buff << "' value=0 name='index'>";

    buff << "<br/>Msg: <input type='text' size='16' name='msg'>";

    buff << "<br/>Enabled: ";
    addCheckBox(buff, "enabled", "yes", "", true);
    buff << "  Clear all: ";
    addCheckBox(buff, "clearAll", "yes", "", false);

    addFormFont(buff);
    addFormColor(buff, false /*includeAlternate*/);
    addXYCoordinatesInput(buff);
    addAnimationStepInput(buff);
    
    buff << "</p><input type='submit' value='Submit'/></form>";

    ADD_BODY(buff + contentStop);
    return replyOk;
  }
void
CQGnuPlotLoadFileDialog::
createWidgets(QWidget *)
{
  addField("Style", new CQEnumCombo(this, enum_, "plotStyle"));

  dimensionGroup_ = addRadioButtons("Dimension", {"2D", "3D"}, this, SLOT(dimensionSlot()));

  binaryCheck_ = addCheckBox("Binary", this, SLOT(binarySlot()));

  parametricCheck_ = addCheckBox("Parametric", this, SLOT(parametricSlot()));

  file_ = new CQGnuPlotFilename;

  addField("Filename", file_);

  addField("XMin", (xminEdit_ = new CQRealSpin));
  addField("XMax", (xmaxEdit_ = new CQRealSpin));

  addField("Using", (usingEdit_ = new QLineEdit));

  addField("Line Type", (lineTypeEdit_ = new CQIntegerSpin));

  xminEdit_    ->setValue(-10);
  xmaxEdit_    ->setValue(10);
  lineTypeEdit_->setValue(1);

  addStretch();
}
Example #4
0
    void MappingParameters::setup()
    {
      clear();
      if (!mapping_) return;

      this->locked([&]() 
      {
        auto applyRotation = [&](mapping::Rotatable* _rotatable)
        {
          rotation_ = addRotationWidget("Rotation");
          rotation_->setX(_rotatable->roll().degrees());
          rotation_->setY(_rotatable->pitch().degrees());
          rotation_->setZ(_rotatable->yaw().degrees());
        };

        if (mapping_->getTypeId() == "Equirectangular")
        {
          // Set slider values for Equirectangular mapping
          auto* _equirectangular = static_cast<mapping::Equirectangular*>(mapping_);
          applyRotation(_equirectangular);
          auto* _stripTop = addOffsetWidget("Strip Top",_equirectangular->stripTop(),0.0,1.0);
          auto* _stripBottom = addOffsetWidget("Strip Bottom",_equirectangular->stripBottom(),0.0,1.0);

        } else
        if (mapping_->getTypeId() == "Fisheye")
        {
          // Set slider values for Fisheye mapping
          auto* _fisheye = static_cast<mapping::Fisheye*>(mapping_);
          applyRotation(_fisheye);
          auto* _stretch = addOffsetWidget("Stretch",0.0,0.0,1.0);
          _stretch->setValue(_fisheye->stretch());
        } else
        if (mapping_->getTypeId() == "CubeMap")
        {
          // Set slider values for Cube mapping
          auto* _cubemap = static_cast<mapping::CubeMap*>(mapping_);
          applyRotation(_cubemap);
        } else
        if (mapping_->getTypeId() == "Planar")
        {
          // Set slider values for Planar mapping
          auto* _planar = static_cast<mapping::Planar*>(mapping_);
          auto* _offsetX = addOffsetWidget("Offset X",0.0,-1.0,1.0);
          auto* _offsetY = addOffsetWidget("Offset Y",0.0,-1.0,1.0);
          auto* _stretchX = addOffsetWidget("Stretch X",1.0,0.0,1.0);
          auto* _stretchY = addOffsetWidget("Stretch Y",1.0,0.0,1.0);
          _offsetX->setValue(_planar->offset().x());
          _offsetY->setValue(_planar->offset().y());
          _stretchX->setValue(_planar->stretch().x());
          _stretchY->setValue(_planar->stretch().y());
        }
        
        addCheckBox("Flip horizontal",mapping_->flipHorizontal());
        addCheckBox("Flip vertical",mapping_->flipVertical());
      });
    }
QScriptValue UniversalInputDialogScript::add(const QScriptValue& def, const QScriptValue& description, const QScriptValue& id){
	QWidget* w = 0;
	if (def.isArray()) {
		QStringList options;
		QScriptValueIterator it(def);
		while (it.hasNext()) {
			it.next();
			if (it.flags() & QScriptValue::SkipInEnumeration)
				continue;
			if (it.value().isString() || it.value().isNumber()) options << it.value().toString();
			else engine->currentContext()->throwError("Invalid default value in array (must be string or number): "+it.value().toString());
		}
		w = addComboBox(ManagedProperty::fromValue(options), description.toString());
	} else if (def.isBool()) {
		w = addCheckBox(ManagedProperty::fromValue(def.toBool()), description.toString());
	} else if (def.isNumber()) {
		w = addDoubleSpinBox(ManagedProperty::fromValue(def.toNumber()), description.toString());
	} else if (def.isString()) {
		w = addLineEdit(ManagedProperty::fromValue(def.toString()), description.toString());
	} else {	
		
		engine->currentContext()->throwError(tr("Invalid default value: %1").arg(def.toString()));
		return QScriptValue();
	}
	if (id.isValid()) properties.last().name = id.toString();
	return engine->newQObject(w);
}
  virtual HandleRequestReply process(const RequestInfo& requestInfo, RequestOutput& requestOutput) {
    std::string buff(contentStart);

    buff << "<form action='/msgMode' method='post'>"
	 << "<h1>Display Message</h1><p>"
	 << "<input type='text' size='";
    INT2BUFF(FORM_MSG_BOX_LEN);  // not the max len of content, just size of form
    buff << "' name='msg'><br/>";
    addFormFont(buff);
    buff << "<br/>Alternate font: ";
    addCheckBox(buff, "alternateFont", "yes", "", false);

    buff << "<br/>Confetti: ";
    addCheckBox(buff, "confetti", "15", "", false);

    buff << "<br/>Bounce: ";
    addCheckBox(buff, "bounce", "yes", "", false);

    buff << "<br/>NoScroll: ";
    addCheckBox(buff, "noScroll", "yes", "", false);

    buff << "<br/>Blink: ";
    addCheckBox(buff, "blink", "yes", "", false);

    addFormColor(buff, true /*includeAlternate*/);
    
    buff << "<br/>Scroll Repeat: ";
    addRadioButton(buff, "repeats", "0", "none", false);
    addRadioButton(buff, "repeats", "5", "5", false);
    addRadioButton(buff, "repeats", "10", "10", false);
    addRadioButton(buff, "repeats", "100", "100", true);

    buff << "<br/>Timeout (sec): ";
    addRadioButton(buff, "timeout", "3", "3", false);
    addRadioButton(buff, "timeout", "10", "10", false);
    addRadioButton(buff, "timeout", "60", "60", true);
    addRadioButton(buff, "timeout", "300", "300", false);
    
    addXYCoordinatesInput(buff);

    buff << "</p><input type='submit' value='Submit'/></form>";

    ADD_BODY(buff + contentStop);
    return replyOk;
  }
Example #7
0
 /* Wrapper for adding different children: */
 void addWidget(QWidget *pWidget, const QVariant &data)
 {
     /* Add radio-button: */
     if (QRadioButton *pRadioButton = qobject_cast<QRadioButton*>(pWidget))
         addRadioButton(pRadioButton, data);
     /* Add check-box: */
     if (QCheckBox *pCheckBox = qobject_cast<QCheckBox*>(pWidget))
         addCheckBox(pCheckBox, data);
 }
Example #8
0
void CreaTexts()
{

 //Step1
 hwT0 = addLabel("Copy/paste script source here,  or open a js/html file", 10,50,WINW3,30);
 hwSrcEdit = addMLEdit(ID_SRCEDIT,10, 80, WINW2, 450);
 hwTp0 = addLabel("", 400,50,100,30);

 //Step2
 hwT1 = addLabel("Set options for javascript minifier:", 10,50,WINW3,30);
 hwM0 = addCheckBox("remove redundant spaces and tabs", 10,90,WINW3,30, TRUE);
 hwM1 = addCheckBox("reduce linebreaks", 10,120,WINW3,30, TRUE);
 hwM2 = addCheckBox("remove comments", 10,150,WINW3,30, TRUE);
 hwM3 = addCheckBox("some other", 10,180,WINW3,30, TRUE);
 BtMinfy  = addButton(ID_MINFY, "Minify", 10,220,100,30);

 //Step3
 hwT2 = addLabel("Minified result:", 10,50,WINW3,30);
 hwMResEdit = addMLEdit(ID_MRESEDIT,10, 80, WINW2, 450);
 hwTp1 = addLabel("", 400,50,100,30);

 //Step4
 hwT3 = addLabel("Set options for javascript obfuscator:", 10,50,WINW3,30);
 hwO0 = addCheckBox("functions", 10,90,WINW3,30, TRUE);
 hwO1 = addCheckBox("variables", 10,120,WINW3,30, TRUE);
 hwTa = addLabel("minimal length of keywords", 56,164,WINW3,30);
 hwO2 = addCheckBox("also in html", 10,200,WINW3,30, FALSE);
 hwO3 = addCheckBox("all keywords", 10,230,WINW3,30, FALSE);
 hwOLen = addInputField("3", 10,160,40, FontSize+8  );
 BtPrepKw  = addButton(ID_PREOKW, "Prepare keywords", 10,270,180,30);
 
 //Step5
 hwT4 = addLabel("Clear/edit the \"new\" generated name, then obfuscate.", 10,50,WINW3,30);
 hwTb = addLabel("", 400,50,WINW3,100);
 hwKwGrid = addGrid(ID_KWDGRID,10, 100, WINW2, 450);
 CreateColumn(hwKwGrid,0,"new", 50);
 CreateColumn(hwKwGrid,1,"keyword", 220);
 CreateColumn(hwKwGrid,2,"cnt", 60);
 CreateColumn(hwKwGrid,3,"description", 430);
 BtObfsc  = addButton(ID_OBFSC, "Obfuscate", 600,50,140,30);
 
 //Step6
 hwT5 = addLabel("Obfuscated result:", 10,50,WINW3,30);
 hwOResEdit = addMLEdit(ID_ORESEDIT,10, 80, WINW2, 450);
 hwTp2 = addLabel("", 400,50,100,30);
  
 PostMessage(hwnd, WM_NOTIFY, 0, 0);        // display and hide
}
  virtual HandleRequestReply process(const RequestInfo& requestInfo, RequestOutput& requestOutput) {
    std::string buff(contentStart);

    buff << "<form action='/imgBackground' method='post'>"
	 << "<h1>Background Img</h1><p>";

    buff << "<br/>Index (0-";
    INT2BUFF(BACKGROUND_IMG_COUNT - 1);
    buff << "): <input type='range' min='0' max='";
    INT2BUFF(BACKGROUND_IMG_COUNT - 1);
    buff << "' value=0 name='index'>";

#ifdef BG_IMG_ART_SELECT_BY_NUMBER
    buff << "<br/>ImgArt Number (0-"; INT2BUFF(imgArtLast - 1);
    buff << "): <input type='range' min='0' max='"; INT2BUFF(imgArtLast - 1);
    buff << "' value=0 name='imgArt'>";
#else   // ifdef BG_IMG_ART_SELECT_BY_NUMBER
    buff << "<br/>ImgArt Name: ";
    addRadioButton(buff, "imgArt", -1, "default", true);
    for (int i=0; i < imgArtLast; ++i) {
      addRadioButton(buff, "imgArt", i, imgArtStr[i] + imgArtStrUniqueOffset, false);
    }
#endif  // ifdef BG_IMG_ART_SELECT_BY_NUMBER
    
    buff << "<br/>Enabled: ";
    addCheckBox(buff, "enabled", "yes", "", true);
    buff << "  Clear all: ";
    addCheckBox(buff, "clearAll", "yes", "", false);

    addFormColor(buff, false /*includeAlternate*/);
    addXYCoordinatesInput(buff);
    addAnimationStepInput(buff);
    
    buff << "</p><input type='submit' value='Submit'/></form>";

    ADD_BODY(buff + contentStop);
    return replyOk;
  }
  virtual HandleRequestReply process(const RequestInfo& requestInfo, RequestOutput& requestOutput) {
    std::string buff(contentStart);

    buff << "<form action='/ledStrip' method='post'>"
	 << "<h1>Led Strip Config</h1><p>";

    buff << "Pixels (0 to "; INT2BUFF(LedStrip::numberOfLeds - 1);
    buff << ") formatting:" << "<input type='text' size='";
    INT2BUFF(FORM_MSG_BOX_LEN);  // not the max len of content, just size of form
    buff << "' name='rawFormat'> e.g: pixels 3,4,5 with color R,G,B and pixel 9 with a 21bit color ==> 3-5:127,45,0 ; 9:762";

    buff << "<br/>Extra Param: <input type='text' size='5' name='" << ledStripParamExtra << "'>";

    buff << "<br/>Clear all Pixels: ";
    addCheckBox(buff, ledStripParamClearAllPixels, "yes", "", false);

    buff << "<br/> Mode: ";
    LedStrip& ledStrip = LedStrip::bind();
    for (int i=0; i < ledStripModeCount; ++i) {
      addRadioButton(buff, ledStripParamLedStripMode, i, ledStrip.getLedStripModeStr( (LedStripMode)i ), i == ledStripModeManual);
    }
    
    buff << "<p>Default Color (used whan it was not specified in pixel format):"
	 << "<br/>"
	 << "Red (0-127): <input type='range' size=3 min=0 max=127 value=0 name='red'>"
	 << "  Green (0-127): <input type='range' size=3 min=0 max=127 value=0 name='green'>"
	 << "  Blue (0-127): <input type='range' size=3 min=0 max=127 value=0 name='blue'>";
    
    buff << "<br/>Timeout (sec): ";
    addRadioButton(buff, ledStripParamTimeout, "3", "3", true);
    addRadioButton(buff, ledStripParamTimeout, "10", "10", false);
    addRadioButton(buff, ledStripParamTimeout, "60", "60", false);
    addRadioButton(buff, ledStripParamTimeout, "300", "300", false);
    addRadioButton(buff, ledStripParamTimeout, "-1", "never", false);

    buff << "</p><input type='submit' value='Submit'/></form>";
    
    ADD_BODY(buff + contentStop);
    return replyOk;
  }
Example #11
0
QWidget* GUIBuilder::buildGUI(model::gui::Element* root, QWidget *parent )
{
    QWidget* widget = NULL;

    if( widget == NULL ) {
        model::gui::TabLayout* tab_layout = dynamic_cast<model::gui::TabLayout*>( root );
        if( tab_layout != NULL ) {
            widget = addTabLayout( tab_layout, parent );
        }
    }
    if( widget == NULL ) {
        model::gui::Grid* grid = dynamic_cast<model::gui::Grid*>( root );
        if( grid != NULL ) {
            widget = addGrid( grid, parent );
        }
    }
    if( widget == NULL ) {
        model::gui::TextInput* text_input = dynamic_cast<model::gui::TextInput*>( root );
        if( text_input != NULL ) {
            widget = new QLineEdit( parent );
            new StringController( widget,
                                  m_model,
                                  text_input->key(),
                                  true );
        }
    }
    if( widget == NULL ) {
        model::gui::Canvas* canvas = dynamic_cast<model::gui::Canvas*>( root );
        if( canvas != NULL ) {
            widget = addCanvas( canvas, parent );
        }
    }
    if( widget == NULL ) {
        model::gui::Label* label = dynamic_cast<model::gui::Label*>( root );
        if( label != NULL ) {
            widget = new QLabel( parent );
            new StringController( widget,
                                  m_model,
                                  label->key(),
                                  label->showValue() );
        }
    }
    if( widget == NULL ) {
        model::gui::ComboBox* combobox = dynamic_cast<model::gui::ComboBox*>( root );
        if( combobox != NULL ) {
            widget = addCombobox( combobox, parent);
        }
    }
    if( widget == NULL ) {
        model::gui::ElementGroup* element_group = dynamic_cast<model::gui::ElementGroup*>( root );
        if( element_group != NULL ) {
            widget = addElementGroup( element_group, parent);
        }
    }
    if( widget == NULL ) {
        model::gui::RadioButtons* radio_buttons = dynamic_cast<model::gui::RadioButtons*>( root );
        if( radio_buttons != NULL ) {
            widget = addRadiobuttons( radio_buttons, parent);
        }
    }
    if( widget == NULL ) {
        model::gui::SpinBox* spin_box = dynamic_cast<model::gui::SpinBox*>( root );
        if( spin_box != NULL ) {
            widget = addSpinBox( spin_box, parent);
        }
    }
    if( widget == NULL ) {
        model::gui::CheckBox* check_box = dynamic_cast<model::gui::CheckBox*>( root );
        if( check_box != NULL ) {
            widget = addCheckBox( check_box, parent);
        }
    }
    if( widget == NULL ) {
        model::gui::Button* button = dynamic_cast<model::gui::Button*>( root );
        if( button != NULL ) {
            widget = addButton( button, parent);
        }
    }
    if( widget == NULL ) {
        model::gui::HorizontalSlider* horizontal_slider = dynamic_cast<model::gui::HorizontalSlider*>( root );
        if( horizontal_slider != NULL ) {
            widget = addHorizontalSlider( horizontal_slider, parent);
        }
    }
    if( widget == NULL ) {
        model::gui::HorizontalLayout* horizontal_layout = dynamic_cast<model::gui::HorizontalLayout*>( root );
        if( horizontal_layout != NULL ) {
            widget = addHorizontalLayout( horizontal_layout, parent);
        }
    }
    if( widget == NULL ) {
        model::gui::VerticalLayout* vertical_layout = dynamic_cast<model::gui::VerticalLayout*>( root );
        if( vertical_layout != NULL ) {
            widget = addVerticalLayout( vertical_layout, parent);
        }
    }
    if( widget == NULL ) {
        model::gui::DoubleSpinBox* double_spinbox = dynamic_cast<model::gui::DoubleSpinBox*>( root );
        if( double_spinbox != NULL ) {
            widget = addDoubleSpinBox( double_spinbox, parent);
        }
    }
    if( widget == NULL ) {
        model::gui::PopupButton* popup_button = dynamic_cast<model::gui::PopupButton*>( root );
        if( popup_button != NULL ) {
            widget = addPopupButton( popup_button, parent );
        }
    }
    if(widget == NULL ) {
       model::gui::FileDialogButton* file_dialog_button = dynamic_cast<model::gui::FileDialogButton*>( root );
       if(file_dialog_button != NULL)
       {
          widget = addFileDialogButton(file_dialog_button, parent);
       }
    }

    if( widget != NULL ) {

        if( !root->visibilityKey().empty() ) {
            new VisibilityController( widget,
                                      m_model,
                                      root->visibilityKey(),
                                      root->visibilityInverted() );
        }
        if( !root->enabledKey().empty() ) {
            new EnabledController( widget,
                                   m_model,
                                   root->enabledKey(),
                                   root->enabledInverted() );
        }
    }

    return widget;
}
Example #12
0
GtkWidget* Dialog::addCheckBox(GtkWidget* vbox, const char* name, const char* flag, bool& data)
{
  return addCheckBox(vbox, name, flag, BoolImportCaller(data), BoolExportCaller(data));
}
Example #13
0
void SettingsPanel::setIldaFrame(ciilda::Frame* frame){
    mIldaFrame = frame;
    
    Gwen::Controls::Base* pSlider;
    Gwen::Controls::Base* pCheckBox;
    Gwen::Controls::Base* pLabel;

    
    pLabel = addProperty(mLaserCat, getBounds(mLaserCatElements), "Scanner Angle Total", mIldaFrame->params.output.scannerAngleX);
    mLaserCatElements.push_back(pLabel);

    float val = mIldaFrame->params.output.transform.scale.x * mIldaFrame->params.output.scannerAngleX ;
    pLabel = addProperty(mLaserCat, getBounds(mLaserCatElements), "Scanner Angle Max Input", val);
    mLaserCatElements.push_back(pLabel);

    
    pSlider = addSlider(mLaserCat, getBounds(mLaserCatElements), "Target Points Count", mIldaFrame->params.output.targetPointCount, 1, 3000 );
    mLaserCatElements.push_back(pSlider);
    
    pSlider= addSlider(mLaserCat, getBounds(mLaserCatElements), "Blank Count", mIldaFrame->params.output.blankCount, 0, 100 );
    mLaserCatElements.push_back(pSlider);
    
    pSlider = addSlider(mLaserCat, getBounds(mLaserCatElements), "End Count", mIldaFrame->params.output.endCount, 0, 100 );
    mLaserCatElements.push_back(pSlider);

    pCheckBox = addCheckBox(mLaserCat, getBounds(mLaserCatElements), "Draw Lines", mIldaFrame->params.draw.lines );
    mLaserCatElements.push_back(pCheckBox);
    
    pCheckBox = addCheckBox(mLaserCat, getBounds(mLaserCatElements), "Draw Points", mIldaFrame->params.draw.points );
    mLaserCatElements.push_back(pCheckBox);
    
    pLabel = addProperty(mLaserStatsCat, getBounds(mLaserStatsCatElements), "Points Count", 0);
    mLaserStatsCatElements.push_back(pLabel);
    
    pLabel = addProperty(mLaserStatsCat, getBounds(mLaserStatsCatElements), "Length Blank", 0);
    mLaserStatsCatElements.push_back(pLabel);

    pLabel = addProperty(mLaserStatsCat, getBounds(mLaserStatsCatElements), "Length Visible", 0);
    mLaserStatsCatElements.push_back(pLabel);
    
    pLabel = addProperty(mLaserStatsCat, getBounds(mLaserStatsCatElements), "Length Total", 0);
    mLaserStatsCatElements.push_back(pLabel);
    
    pLabel = addProperty(mLaserStatsCat, getBounds(mLaserStatsCatElements), "Contour Count", 0);
    mLaserStatsCatElements.push_back(pLabel);
    
    pLabel = addProperty(mLaserStatsCat, getBounds(mLaserStatsCatElements), "Segment Count", 0);
    mLaserStatsCatElements.push_back(pLabel);

    
    bIldaFrameSet = true;
    
    
//    ColourCorrectionWindow *control = new ColourCorrectionWindow( window );
//    control->setup();
//	control->SetPos( 0, 0 );
//    control->SetPadding(Gwen::Padding(0,0,0,0));
//	control->Dock( Gwen::Pos::Fill );
//    pColourControl = control;

    
    Rectf r = getBounds(mLaserCatElements);
    ColourCorrectionWindow *control = new ColourCorrectionWindow( mLaserColourCorCat );
    control->setup();
    control->SetBounds( 10, 30, r.getWidth(), 200 );
    control->SetPadding(Gwen::Padding(0,0,0,0));

}
void MappingParameters::addFlipParameters() {
    if (!mapping()) return;
    addCheckBox("Flip horizontal",mapping()->flipHorizontal());
    addCheckBox("Flip vertical",mapping()->flipVertical());
}