public LevelsDialog()
{
this.Build ();
this.Levels = new UnaryPixelOps.Level ();
mask = new bool[] {true, true, true};
this.HasSeparator = false;
//hack allowing adding hbox with rgb checkboxes into dialog action area
VBox.Remove (hboxBottom);
AddActionWidget (hboxBottom, ResponseType.None);
UpdateInputHistogram ();
Reset ();
UpdateLevels ();
checkRed.Toggled += HandleCheckRedToggled;
checkGreen.Toggled += HandleCheckGreenToggled;
checkBlue.Toggled += HandleCheckBlueToggled;
buttonReset.Clicked += HandleButtonResetClicked;
buttonAuto.Clicked += HandleButtonAutoClicked;
buttonCancel.Clicked += HandleButtonCancelClicked;
buttonOk.Clicked += HandleButtonOkClicked;
spinInLow.ValueChanged += HandleSpinInLowValueChanged;
spinInHigh.ValueChanged += HandleSpinInHighValueChanged;
spinOutLow.ValueChanged += HandleSpinOutLowValueChanged;
spinOutGamma.ValueChanged += HandleSpinOutGammaValueChanged;
spinOutHigh.ValueChanged += HandleSpinOutHighValueChanged;
gradientInput.ValueChanged += HandleGradientInputValueChanged;
gradientOutput.ValueChanged += HandleGradientOutputValueChanged;
gradientInput.ButtonReleaseEvent += HandleGradientButtonReleaseEvent;
gradientOutput.ButtonReleaseEvent += HandleGradientButtonReleaseEvent;
gradientInput.ButtonPressEvent += HandleGradientButtonPressEvent;
gradientOutput.ButtonPressEvent += HandleGradientButtonPressEvent;
colorpanelInLow.ButtonPressEvent += HandleColorPanelButtonPressEvent;
colorpanelInHigh.ButtonPressEvent += HandleColorPanelButtonPressEvent;
colorpanelOutLow.ButtonPressEvent += HandleColorPanelButtonPressEvent;
colorpanelOutHigh.ButtonPressEvent += HandleColorPanelButtonPressEvent;
}