Changed raw border from spinbox to adjuster
This commit is contained in:
parent
a3d932786e
commit
00cc9372d8
@ -47,15 +47,15 @@ BayerProcess::BayerProcess () : FoldableToolPanel(this, "bayerprocess", M("TP_RA
|
|||||||
pack_start( *hb1, Gtk::PACK_SHRINK, 4);
|
pack_start( *hb1, Gtk::PACK_SHRINK, 4);
|
||||||
|
|
||||||
Gtk::HBox* borderbox = Gtk::manage (new Gtk::HBox ());
|
Gtk::HBox* borderbox = Gtk::manage (new Gtk::HBox ());
|
||||||
border = Gtk::manage (new MySpinButton ());
|
border = Gtk::manage (new Adjuster (M("TP_RAW_BORDER"), 0, 16, 1, 4 ));
|
||||||
borderbox->set_spacing(3);
|
border->setAdjusterListener (this);
|
||||||
borderbox->pack_start (*Gtk::manage (new Gtk::Label (M("TP_RAW_BORDER"))), Gtk::PACK_SHRINK, 0);
|
|
||||||
borderbox->pack_start (*border);
|
|
||||||
border->set_digits (0);
|
|
||||||
border->set_increments (1, 2);
|
|
||||||
border->set_value (4);
|
|
||||||
border->set_range (0, 16);
|
|
||||||
|
|
||||||
|
if (border->delay < options.adjusterMaxDelay) {
|
||||||
|
border->delay = options.adjusterMaxDelay;
|
||||||
|
}
|
||||||
|
|
||||||
|
border->show();
|
||||||
|
borderbox->pack_start (*border);
|
||||||
pack_start( *borderbox, Gtk::PACK_SHRINK, 4);
|
pack_start( *borderbox, Gtk::PACK_SHRINK, 4);
|
||||||
|
|
||||||
imageNumberBox = Gtk::manage (new Gtk::HBox ());
|
imageNumberBox = Gtk::manage (new Gtk::HBox ());
|
||||||
@ -247,7 +247,6 @@ BayerProcess::BayerProcess () : FoldableToolPanel(this, "bayerprocess", M("TP_RA
|
|||||||
imageNumber->connect(imageNumber->signal_changed().connect( sigc::mem_fun(*this, &BayerProcess::imageNumberChanged) ));
|
imageNumber->connect(imageNumber->signal_changed().connect( sigc::mem_fun(*this, &BayerProcess::imageNumberChanged) ));
|
||||||
pixelShiftMotionMethod->connect(pixelShiftMotionMethod->signal_changed().connect( sigc::mem_fun(*this, &BayerProcess::pixelShiftMotionMethodChanged) ));
|
pixelShiftMotionMethod->connect(pixelShiftMotionMethod->signal_changed().connect( sigc::mem_fun(*this, &BayerProcess::pixelShiftMotionMethodChanged) ));
|
||||||
pixelShiftDemosaicMethod->connect(pixelShiftDemosaicMethod->signal_changed().connect( sigc::mem_fun(*this, &BayerProcess::pixelShiftDemosaicMethodChanged) ));
|
pixelShiftDemosaicMethod->connect(pixelShiftDemosaicMethod->signal_changed().connect( sigc::mem_fun(*this, &BayerProcess::pixelShiftDemosaicMethodChanged) ));
|
||||||
borderconn = border->signal_value_changed().connect ( sigc::mem_fun(*this, &BayerProcess::borderChanged), true);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -257,11 +256,10 @@ void BayerProcess::read(const rtengine::procparams::ProcParams* pp, const Params
|
|||||||
disableListener ();
|
disableListener ();
|
||||||
method->block (true);
|
method->block (true);
|
||||||
imageNumber->block (true);
|
imageNumber->block (true);
|
||||||
borderconn.block(true);
|
|
||||||
pixelShiftDemosaicMethod->block(true);
|
pixelShiftDemosaicMethod->block(true);
|
||||||
//allEnhconn.block (true);
|
//allEnhconn.block (true);
|
||||||
|
|
||||||
border->set_value (pp->raw.bayersensor.border);
|
border->setValue(pp->raw.bayersensor.border);
|
||||||
imageNumber->set_active(pp->raw.bayersensor.imageNum);
|
imageNumber->set_active(pp->raw.bayersensor.imageNum);
|
||||||
|
|
||||||
for (size_t i = 0; i < procparams::RAWParams::BayerSensor::getMethodStrings().size(); ++i) {
|
for (size_t i = 0; i < procparams::RAWParams::BayerSensor::getMethodStrings().size(); ++i) {
|
||||||
@ -311,6 +309,7 @@ void BayerProcess::read(const rtengine::procparams::ProcParams* pp, const Params
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(pedited) {
|
if(pedited) {
|
||||||
|
border->setEditedState (pedited->raw.bayersensor.border ? Edited : UnEdited);
|
||||||
ccSteps->setEditedState (pedited->raw.bayersensor.ccSteps ? Edited : UnEdited);
|
ccSteps->setEditedState (pedited->raw.bayersensor.ccSteps ? Edited : UnEdited);
|
||||||
dcbIterations->setEditedState ( pedited->raw.bayersensor.dcbIterations ? Edited : UnEdited);
|
dcbIterations->setEditedState ( pedited->raw.bayersensor.dcbIterations ? Edited : UnEdited);
|
||||||
dcbEnhance->setEdited (pedited->raw.bayersensor.dcbEnhance);
|
dcbEnhance->setEdited (pedited->raw.bayersensor.dcbEnhance);
|
||||||
@ -373,7 +372,6 @@ void BayerProcess::read(const rtengine::procparams::ProcParams* pp, const Params
|
|||||||
|
|
||||||
method->block (false);
|
method->block (false);
|
||||||
imageNumber->block (false);
|
imageNumber->block (false);
|
||||||
borderconn.block (false);
|
|
||||||
pixelShiftDemosaicMethod->block(false);
|
pixelShiftDemosaicMethod->block(false);
|
||||||
//allEnhconn.block (false);
|
//allEnhconn.block (false);
|
||||||
|
|
||||||
@ -385,7 +383,7 @@ void BayerProcess::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pe
|
|||||||
pp->raw.bayersensor.ccSteps = ccSteps->getIntValue();
|
pp->raw.bayersensor.ccSteps = ccSteps->getIntValue();
|
||||||
pp->raw.bayersensor.dcb_iterations = dcbIterations->getIntValue();
|
pp->raw.bayersensor.dcb_iterations = dcbIterations->getIntValue();
|
||||||
pp->raw.bayersensor.dcb_enhance = dcbEnhance->getLastActive ();
|
pp->raw.bayersensor.dcb_enhance = dcbEnhance->getLastActive ();
|
||||||
pp->raw.bayersensor.border = border->get_value ();
|
pp->raw.bayersensor.border = border->getIntValue();
|
||||||
pp->raw.bayersensor.lmmse_iterations = lmmseIterations->getIntValue();
|
pp->raw.bayersensor.lmmse_iterations = lmmseIterations->getIntValue();
|
||||||
pp->raw.bayersensor.dualDemosaicContrast = dualDemosaicContrast->getValue();
|
pp->raw.bayersensor.dualDemosaicContrast = dualDemosaicContrast->getValue();
|
||||||
pp->raw.bayersensor.pixelShiftMotionCorrectionMethod = (RAWParams::BayerSensor::PSMotionCorrectionMethod)pixelShiftMotionMethod->get_active_row_number();
|
pp->raw.bayersensor.pixelShiftMotionCorrectionMethod = (RAWParams::BayerSensor::PSMotionCorrectionMethod)pixelShiftMotionMethod->get_active_row_number();
|
||||||
@ -419,6 +417,7 @@ void BayerProcess::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pe
|
|||||||
|
|
||||||
|
|
||||||
if (pedited) {
|
if (pedited) {
|
||||||
|
pedited->raw.bayersensor.border = border->getEditedState ();
|
||||||
pedited->raw.bayersensor.ccSteps = ccSteps->getEditedState ();
|
pedited->raw.bayersensor.ccSteps = ccSteps->getEditedState ();
|
||||||
pedited->raw.bayersensor.method = method->get_active_text() != M("GENERAL_UNCHANGED");
|
pedited->raw.bayersensor.method = method->get_active_text() != M("GENERAL_UNCHANGED");
|
||||||
pedited->raw.bayersensor.imageNum = imageNumber->get_active_text() != M("GENERAL_UNCHANGED");
|
pedited->raw.bayersensor.imageNum = imageNumber->get_active_text() != M("GENERAL_UNCHANGED");
|
||||||
@ -446,6 +445,7 @@ void BayerProcess::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pe
|
|||||||
|
|
||||||
void BayerProcess::setAdjusterBehavior (bool falsecoloradd, bool iteradd, bool dualdemozecontrastadd, bool pssigmaadd, bool pssmoothadd, bool pseperisoadd)
|
void BayerProcess::setAdjusterBehavior (bool falsecoloradd, bool iteradd, bool dualdemozecontrastadd, bool pssigmaadd, bool pssmoothadd, bool pseperisoadd)
|
||||||
{
|
{
|
||||||
|
border->setAddMode(false);
|
||||||
ccSteps->setAddMode(falsecoloradd);
|
ccSteps->setAddMode(falsecoloradd);
|
||||||
dcbIterations->setAddMode(iteradd);
|
dcbIterations->setAddMode(iteradd);
|
||||||
lmmseIterations->setAddMode(iteradd);
|
lmmseIterations->setAddMode(iteradd);
|
||||||
@ -457,6 +457,7 @@ void BayerProcess::setAdjusterBehavior (bool falsecoloradd, bool iteradd, bool d
|
|||||||
|
|
||||||
void BayerProcess::trimValues (rtengine::procparams::ProcParams* pp)
|
void BayerProcess::trimValues (rtengine::procparams::ProcParams* pp)
|
||||||
{
|
{
|
||||||
|
border->trimValue(pp->raw.bayersensor.border);
|
||||||
ccSteps->trimValue(pp->raw.bayersensor.ccSteps);
|
ccSteps->trimValue(pp->raw.bayersensor.ccSteps);
|
||||||
dcbIterations->trimValue(pp->raw.bayersensor.dcb_iterations);
|
dcbIterations->trimValue(pp->raw.bayersensor.dcb_iterations);
|
||||||
lmmseIterations->trimValue(pp->raw.bayersensor.lmmse_iterations);
|
lmmseIterations->trimValue(pp->raw.bayersensor.lmmse_iterations);
|
||||||
@ -477,6 +478,7 @@ void BayerProcess::setBatchMode(bool batchMode)
|
|||||||
imageNumber->append (M("GENERAL_UNCHANGED"));
|
imageNumber->append (M("GENERAL_UNCHANGED"));
|
||||||
imageNumber->set_active_text (M("GENERAL_UNCHANGED"));
|
imageNumber->set_active_text (M("GENERAL_UNCHANGED"));
|
||||||
ToolPanel::setBatchMode (batchMode);
|
ToolPanel::setBatchMode (batchMode);
|
||||||
|
border->showEditedCB ();
|
||||||
ccSteps->showEditedCB ();
|
ccSteps->showEditedCB ();
|
||||||
dcbIterations->showEditedCB ();
|
dcbIterations->showEditedCB ();
|
||||||
lmmseIterations->showEditedCB ();
|
lmmseIterations->showEditedCB ();
|
||||||
@ -492,6 +494,7 @@ void BayerProcess::setDefaults(const rtengine::procparams::ProcParams* defParams
|
|||||||
dualDemosaicContrast->setDefault( defParams->raw.bayersensor.dualDemosaicContrast);
|
dualDemosaicContrast->setDefault( defParams->raw.bayersensor.dualDemosaicContrast);
|
||||||
pixelShiftEperIso->setDefault( defParams->raw.bayersensor.pixelShiftEperIso);
|
pixelShiftEperIso->setDefault( defParams->raw.bayersensor.pixelShiftEperIso);
|
||||||
pixelShiftSigma->setDefault( defParams->raw.bayersensor.pixelShiftSigma);
|
pixelShiftSigma->setDefault( defParams->raw.bayersensor.pixelShiftSigma);
|
||||||
|
border->setDefault (defParams->raw.bayersensor.border);
|
||||||
ccSteps->setDefault (defParams->raw.bayersensor.ccSteps);
|
ccSteps->setDefault (defParams->raw.bayersensor.ccSteps);
|
||||||
|
|
||||||
if (pedited) {
|
if (pedited) {
|
||||||
@ -500,6 +503,7 @@ void BayerProcess::setDefaults(const rtengine::procparams::ProcParams* defParams
|
|||||||
dualDemosaicContrast->setDefaultEditedState( pedited->raw.bayersensor.dualDemosaicContrast ? Edited : UnEdited);
|
dualDemosaicContrast->setDefaultEditedState( pedited->raw.bayersensor.dualDemosaicContrast ? Edited : UnEdited);
|
||||||
pixelShiftEperIso->setDefaultEditedState( pedited->raw.bayersensor.pixelShiftEperIso ? Edited : UnEdited);
|
pixelShiftEperIso->setDefaultEditedState( pedited->raw.bayersensor.pixelShiftEperIso ? Edited : UnEdited);
|
||||||
pixelShiftSigma->setDefaultEditedState( pedited->raw.bayersensor.pixelShiftSigma ? Edited : UnEdited);
|
pixelShiftSigma->setDefaultEditedState( pedited->raw.bayersensor.pixelShiftSigma ? Edited : UnEdited);
|
||||||
|
border->setDefaultEditedState(pedited->raw.bayersensor.border ? Edited : UnEdited);
|
||||||
ccSteps->setDefaultEditedState(pedited->raw.bayersensor.ccSteps ? Edited : UnEdited);
|
ccSteps->setDefaultEditedState(pedited->raw.bayersensor.ccSteps ? Edited : UnEdited);
|
||||||
} else {
|
} else {
|
||||||
dcbIterations->setDefaultEditedState( Irrelevant );
|
dcbIterations->setDefaultEditedState( Irrelevant );
|
||||||
@ -507,6 +511,7 @@ void BayerProcess::setDefaults(const rtengine::procparams::ProcParams* defParams
|
|||||||
dualDemosaicContrast->setDefaultEditedState( Irrelevant );
|
dualDemosaicContrast->setDefaultEditedState( Irrelevant );
|
||||||
pixelShiftEperIso->setDefaultEditedState( Irrelevant );
|
pixelShiftEperIso->setDefaultEditedState( Irrelevant );
|
||||||
pixelShiftSigma->setDefaultEditedState( Irrelevant );
|
pixelShiftSigma->setDefaultEditedState( Irrelevant );
|
||||||
|
border->setDefaultEditedState(Irrelevant);
|
||||||
ccSteps->setDefaultEditedState(Irrelevant );
|
ccSteps->setDefaultEditedState(Irrelevant );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -528,6 +533,8 @@ void BayerProcess::adjusterChanged (Adjuster* a, double newval)
|
|||||||
listener->panelChanged (EvPixelShiftSigma, a->getTextValue() );
|
listener->panelChanged (EvPixelShiftSigma, a->getTextValue() );
|
||||||
} else if (a == pixelShiftSmooth) {
|
} else if (a == pixelShiftSmooth) {
|
||||||
listener->panelChanged (EvPixelShiftSmooth, a->getTextValue() );
|
listener->panelChanged (EvPixelShiftSmooth, a->getTextValue() );
|
||||||
|
} else if (a == border) {
|
||||||
|
listener->panelChanged (EvDemosaicBorder, a->getTextValue() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -724,7 +731,3 @@ void BayerProcess::FrameCountChanged(int n, int frameNum)
|
|||||||
// imageNumber->block (false);
|
// imageNumber->block (false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BayerProcess::borderChanged ()
|
|
||||||
{
|
|
||||||
listener->panelChanged (EvDemosaicBorder, Glib::ustring::format (border->get_value_as_int()));
|
|
||||||
}
|
|
@ -32,7 +32,7 @@ protected:
|
|||||||
|
|
||||||
MyComboBoxText* method;
|
MyComboBoxText* method;
|
||||||
Gtk::HBox *imageNumberBox;
|
Gtk::HBox *imageNumberBox;
|
||||||
MySpinButton* border;
|
Adjuster* border;
|
||||||
MyComboBoxText* imageNumber;
|
MyComboBoxText* imageNumber;
|
||||||
Adjuster* ccSteps;
|
Adjuster* ccSteps;
|
||||||
Gtk::VBox *dcbOptions;
|
Gtk::VBox *dcbOptions;
|
||||||
@ -61,7 +61,6 @@ protected:
|
|||||||
int oldMethod;
|
int oldMethod;
|
||||||
|
|
||||||
IdleRegister idle_register;
|
IdleRegister idle_register;
|
||||||
sigc::connection borderconn;
|
|
||||||
|
|
||||||
rtengine::ProcEvent EvDemosaicBorder;
|
rtengine::ProcEvent EvDemosaicBorder;
|
||||||
rtengine::ProcEvent EvDemosaicContrast;
|
rtengine::ProcEvent EvDemosaicContrast;
|
||||||
@ -84,7 +83,6 @@ public:
|
|||||||
void pixelShiftMotionMethodChanged();
|
void pixelShiftMotionMethodChanged();
|
||||||
void pixelShiftDemosaicMethodChanged();
|
void pixelShiftDemosaicMethodChanged();
|
||||||
void FrameCountChanged(int n, int frameNum);
|
void FrameCountChanged(int n, int frameNum);
|
||||||
void borderChanged();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user