GUI improvment and re-introduce scale

This commit is contained in:
Desmis
2016-02-12 12:51:46 +01:00
parent b449e0827b
commit a21deef3de
10 changed files with 98 additions and 67 deletions

View File

@@ -54,6 +54,9 @@ Retinex::Retinex () : FoldableToolPanel(this, "retinex", M("TP_RETINEX_LABEL"),
dhbox->pack_start(*retinexcolorspace);
retinexVBox->pack_start(*dhbox);
Gtk::VBox *equalVBox = Gtk::manage (new Gtk::VBox());
equalFrame = Gtk::manage (new Gtk::Frame(M("TP_RETINEX_EQUAL")));
// Histogram equalizer Lab curve
curveEditorGD = new CurveEditorGroup (options.lastRetinexDir, M("TP_RETINEX_CONTEDIT_LAB"));
@@ -164,8 +167,8 @@ Retinex::Retinex () : FoldableToolPanel(this, "retinex", M("TP_RETINEX_LABEL"),
offs = Gtk::manage (new Adjuster (M("TP_RETINEX_OFFSET"), -1000, 5000, 1, 0));
// vart = Gtk::manage (new Adjuster (M("TP_RETINEX_VARIANCE"), 50, 500, 1, 125));
limd = Gtk::manage (new Adjuster (M("TP_RETINEX_THRESHOLD"), 2, 100, 1, 8));
baselog = Gtk::manage (new Adjuster (M("TP_RETINEX_BASELOG"), 1.1, 100., 0.001, 2.718));
// grbl = Gtk::manage (new Adjuster (M("TP_RETINEX_HIGHLIGHT3"), 1, 100, 1, 50));
baselog = Gtk::manage (new Adjuster (M("TP_RETINEX_BASELOG"), 1., 10., 1., 3.));
skal = Gtk::manage (new Adjuster (M("TP_RETINEX_SKAL"), 1, 10, 1, 3));
gain->set_tooltip_markup (M("TP_RETINEX_GAIN_TOOLTIP"));
scal->set_tooltip_markup (M("TP_RETINEX_SCALES_TOOLTIP"));
iter->set_tooltip_markup (M("TP_RETINEX_ITER_TOOLTIP"));
@@ -267,54 +270,68 @@ Retinex::Retinex () : FoldableToolPanel(this, "retinex", M("TP_RETINEX_LABEL"),
settingsVBox->pack_start (*transLabels2);
transLabels2->show ();
settingsVBox->pack_start (*curveEditorGD, Gtk::PACK_SHRINK, 4);
equalVBox->pack_start (*curveEditorGD, Gtk::PACK_SHRINK, 4);
curveEditorGD->show();
settingsVBox->pack_start (*curveEditorGDH, Gtk::PACK_SHRINK, 4);
equalVBox->pack_start (*curveEditorGDH, Gtk::PACK_SHRINK, 4);
curveEditorGDH->show();
settingsVBox->pack_start (*curveEditorGH, Gtk::PACK_SHRINK, 4);
equalVBox->pack_start (*curveEditorGH, Gtk::PACK_SHRINK, 4);
curveEditorGH->show();
gambox->pack_start(*gammaretinex);
settingsVBox->pack_start(*gambox);
equalVBox->pack_start(*gambox);
gammaretinex->show();
settingsVBox->pack_start (*gam);
equalVBox->pack_start (*gam);
gam->show ();
settingsVBox->pack_start (*slope);
equalVBox->pack_start (*slope);
slope->show ();
equalFrame->add(*equalVBox);
settingsVBox->pack_start (*equalFrame);
settingsVBox->pack_start (*iter);
Gtk::VBox *iterVBox = Gtk::manage (new Gtk::VBox());
iterFrame = Gtk::manage (new Gtk::Frame(M("TP_RETINEX_ITERF")));
iterVBox->pack_start (*iter);
iter->show ();
settingsVBox->pack_start (*scal);
iterVBox->pack_start (*scal);
scal->show ();
settingsVBox->pack_start (*grad);
iterVBox->pack_start (*grad);
grad->show ();
settingsVBox->pack_start (*grads);
iterVBox->pack_start (*grads);
grads->show ();
settingsVBox->pack_start (*limd);
limd->show ();
iterFrame->add(*iterVBox);
settingsVBox->pack_start (*iterFrame);
settingsVBox->pack_start( *transmissionCurveEditorG, Gtk::PACK_SHRINK, 2);
Gtk::VBox *tranVBox = Gtk::manage (new Gtk::VBox());
tranFrame = Gtk::manage (new Gtk::Frame(M("TP_RETINEX_TRANF")));
tranVBox->pack_start( *transmissionCurveEditorG, Gtk::PACK_SHRINK, 2);
transmissionCurveEditorG->show();
settingsVBox->pack_start (*medianmap);
tranVBox->pack_start (*skal);
skal->show ();
tranVBox->pack_start (*limd);
limd->show ();
tranVBox->pack_start (*medianmap);
medianmap->show ();
// settingsVBox->pack_start (*gain);
// gain->show ();
tranFrame->add(*tranVBox);
settingsVBox->pack_start (*tranFrame);
// settingsVBox->pack_start (*vart);
// vart->show ();
Gtk::VBox *gainBox = Gtk::manage (new Gtk::VBox());
Gtk::HSeparator *separator = Gtk::manage (new Gtk::HSeparator());
@@ -357,11 +374,9 @@ Retinex::Retinex () : FoldableToolPanel(this, "retinex", M("TP_RETINEX_LABEL"),
// settingsVBox->pack_start (*highl);
// highl->show ();
// settingsVBox->pack_start (*baselog);
// baselog->show ();
// settingsVBox->pack_start (*baselog);
// baselog->show ();
// settingsVBox->pack_start (*grbl);
// grbl->show ();
// settingsVBox->pack_start (*Gtk::manage (new Gtk::HSeparator()));
@@ -495,12 +510,12 @@ Retinex::Retinex () : FoldableToolPanel(this, "retinex", M("TP_RETINEX_LABEL"),
s_tonalwidth->delay = 200;
}
/* grbl->setAdjusterListener (this);
skal->setAdjusterListener (this);
if (skal->delay < 200) {
skal->delay = 200;
}
if (grbl->delay < 200) {
grbl->delay = 200;
}
*/
pack_start (*retinexVBox);
p1Frame->add(*p1VBox);
pack_start (*p1Frame, Gtk::PACK_EXPAND_WIDGET, 4);
@@ -685,7 +700,7 @@ void Retinex::read (const ProcParams* pp, const ParamsEdited* pedited)
limd->setEditedState (pedited->retinex.limd ? Edited : UnEdited);
highl->setEditedState (pedited->retinex.highl ? Edited : UnEdited);
baselog->setEditedState (pedited->retinex.baselog ? Edited : UnEdited);
// grbl->setEditedState (pedited->retinex.grbl ? Edited : UnEdited);
skal->setEditedState (pedited->retinex.skal ? Edited : UnEdited);
set_inconsistent (multiImage && !pedited->retinex.enabled);
medianmap->set_inconsistent (!pedited->retinex.medianmap);
radius->setEditedState (pedited->retinex.radius ? Edited : UnEdited);
@@ -745,7 +760,8 @@ void Retinex::read (const ProcParams* pp, const ParamsEdited* pedited)
shadows->setValue (pp->retinex.shadows);
s_tonalwidth->setValue (pp->retinex.stonalwidth);
// grbl->setValue (pp->retinex.grbl);
skal->setValue (pp->retinex.skal);
if(pp->retinex.iter == 1) {
grad->set_sensitive(false);
scal->set_sensitive(false);
@@ -864,7 +880,7 @@ void Retinex::write (ProcParams* pp, ParamsEdited* pedited)
pp->retinex.limd = (int)limd->getValue ();
pp->retinex.highl = (int)highl->getValue ();
pp->retinex.baselog = baselog->getValue ();
// pp->retinex.grbl = (int)grbl->getValue ();
pp->retinex.skal = (int)skal->getValue ();
pp->retinex.cdcurve = cdshape->getCurve ();
pp->retinex.lhcurve = lhshape->getCurve ();
pp->retinex.cdHcurve = cdshapeH->getCurve ();
@@ -902,7 +918,7 @@ void Retinex::write (ProcParams* pp, ParamsEdited* pedited)
pedited->retinex.limd = limd->getEditedState ();
pedited->retinex.highl = highl->getEditedState ();
pedited->retinex.baselog = baselog->getEditedState ();
// pedited->retinex.grbl = grbl->getEditedState ();
pedited->retinex.skal = skal->getEditedState ();
pedited->retinex.cdcurve = !cdshape->isUnChanged ();
pedited->retinex.cdHcurve = !cdshapeH->isUnChanged ();
pedited->retinex.transmissionCurve = !transmissionShape->isUnChanged ();
@@ -1164,7 +1180,7 @@ void Retinex::setDefaults (const ProcParams* defParams, const ParamsEdited* pedi
limd->setDefault (defParams->retinex.limd);
highl->setDefault (defParams->retinex.highl);
baselog->setDefault (defParams->retinex.baselog);
// grbl->setDefault (defParams->retinex.grbl);
skal->setDefault (defParams->retinex.skal);
gam->setDefault (defParams->retinex.gam);
slope->setDefault (defParams->retinex.slope);
@@ -1187,7 +1203,7 @@ void Retinex::setDefaults (const ProcParams* defParams, const ParamsEdited* pedi
limd->setDefaultEditedState (pedited->retinex.limd ? Edited : UnEdited);
highl->setDefaultEditedState (pedited->retinex.highl ? Edited : UnEdited);
baselog->setDefaultEditedState (pedited->retinex.baselog ? Edited : UnEdited);
// grbl->setDefaultEditedState (pedited->retinex.grbl ? Edited : UnEdited);
skal->setDefaultEditedState (pedited->retinex.skal ? Edited : UnEdited);
gam->setDefaultEditedState (pedited->retinex.gam ? Edited : UnEdited);
slope->setDefaultEditedState (pedited->retinex.slope ? Edited : UnEdited);
@@ -1205,7 +1221,7 @@ void Retinex::setDefaults (const ProcParams* defParams, const ParamsEdited* pedi
limd->setDefaultEditedState (Irrelevant);
highl->setDefaultEditedState (Irrelevant);
baselog->setDefaultEditedState (Irrelevant);
// grbl->setDefaultEditedState (Irrelevant);
skal->setDefaultEditedState (Irrelevant);
str->setDefaultEditedState (Irrelevant);
scal->setDefaultEditedState (Irrelevant);
iter->setDefaultEditedState (Irrelevant);
@@ -1278,8 +1294,8 @@ void Retinex::adjusterChanged (Adjuster* a, double newval)
listener->panelChanged (EvLhighl, highl->getTextValue());
} else if (a == baselog) {
listener->panelChanged (EvLbaselog, baselog->getTextValue());
// } else if (a == grbl) {
// listener->panelChanged (EvLgrbl, grbl->getTextValue());
} else if (a == skal) {
listener->panelChanged (EvLskal, skal->getTextValue());
} else if (a == gam) {
listener->panelChanged (EvLgam, gam->getTextValue());
} else if (a == slope) {
@@ -1446,7 +1462,7 @@ void Retinex::setBatchMode (bool batchMode)
shadows->showEditedCB ();
s_tonalwidth->showEditedCB ();
// grbl->showEditedCB ();
skal->showEditedCB ();
curveEditorGD->setBatchMode (batchMode);
curveEditorGDH->setBatchMode (batchMode);
transmissionCurveEditorG->setBatchMode (batchMode);