Reduce number of leakes ui handles per editor instance, #3937
This commit is contained in:
@@ -849,13 +849,15 @@ bool MyExpander::get_expanded()
|
|||||||
return expBox ? expBox->get_visible() : false;
|
return expBox ? expBox->get_visible() : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyExpander::add (Gtk::Container& widget)
|
void MyExpander::add (Gtk::Container& widget, bool setChild)
|
||||||
{
|
{
|
||||||
child = &widget;
|
if(setChild) {
|
||||||
|
child = &widget;
|
||||||
|
}
|
||||||
expBox = Gtk::manage (new ExpanderBox (child));
|
expBox = Gtk::manage (new ExpanderBox (child));
|
||||||
expBox->add (*child);
|
expBox->add (widget);
|
||||||
pack_start(*expBox, Gtk::PACK_SHRINK, 0);
|
pack_start(*expBox, Gtk::PACK_SHRINK, 0);
|
||||||
child->show();
|
widget.show();
|
||||||
expBox->hideBox();
|
expBox->hideBox();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -889,11 +891,6 @@ bool MyExpander::on_toggle(GdkEventButton* event)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Gtk::Container* MyExpander::getChild()
|
|
||||||
{
|
|
||||||
return child;
|
|
||||||
}
|
|
||||||
|
|
||||||
// used to connect a function to the enabled_toggled signal
|
// used to connect a function to the enabled_toggled signal
|
||||||
MyExpander::type_signal_enabled_toggled MyExpander::signal_enabled_toggled()
|
MyExpander::type_signal_enabled_toggled MyExpander::signal_enabled_toggled()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -265,9 +265,6 @@ public:
|
|||||||
return headerWidget ? headerWidget : label;
|
return headerWidget ? headerWidget : label;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get the widget shown/hidden by the expander
|
|
||||||
Gtk::Container* getChild();
|
|
||||||
|
|
||||||
/// Set the collapsed/expanded state of the expander
|
/// Set the collapsed/expanded state of the expander
|
||||||
void set_expanded( bool expanded );
|
void set_expanded( bool expanded );
|
||||||
|
|
||||||
@@ -276,7 +273,7 @@ public:
|
|||||||
|
|
||||||
/// Add a Gtk::Container for the content of the expander
|
/// Add a Gtk::Container for the content of the expander
|
||||||
/// Warning: do not manually Show/Hide the widget, because this parameter is handled by the click on the Expander's title
|
/// Warning: do not manually Show/Hide the widget, because this parameter is handled by the click on the Expander's title
|
||||||
void add (Gtk::Container& widget);
|
void add (Gtk::Container& widget, bool setChild = true);
|
||||||
|
|
||||||
void updateVScrollbars(bool hide);
|
void updateVScrollbars(bool hide);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ Retinex::Retinex () : FoldableToolPanel (this, "retinex", M ("TP_RETINEX_LABEL")
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
expsettings = new MyExpander (false, M ("TP_RETINEX_SETTINGS"));
|
expsettings = Gtk::manage(new MyExpander(false, M ("TP_RETINEX_SETTINGS")));
|
||||||
setExpandAlignProperties (expsettings, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
setExpandAlignProperties (expsettings, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
||||||
expsettings->signal_button_release_event().connect_notify ( sigc::bind ( sigc::mem_fun (this, &Retinex::foldAllButMe), expsettings) );
|
expsettings->signal_button_release_event().connect_notify ( sigc::bind ( sigc::mem_fun (this, &Retinex::foldAllButMe), expsettings) );
|
||||||
|
|
||||||
@@ -474,7 +474,7 @@ Retinex::Retinex () : FoldableToolPanel (this, "retinex", M ("TP_RETINEX_LABEL")
|
|||||||
|
|
||||||
//--------------------------
|
//--------------------------
|
||||||
|
|
||||||
expsettings->add (*settingsGrid);
|
expsettings->add (*settingsGrid, false);
|
||||||
expsettings->setLevel (2);
|
expsettings->setLevel (2);
|
||||||
pack_start (*expsettings);
|
pack_start (*expsettings);
|
||||||
|
|
||||||
|
|||||||
@@ -132,15 +132,15 @@ Wavelet::Wavelet() :
|
|||||||
wavLabels(Gtk::manage(new Gtk::Label("---", Gtk::ALIGN_CENTER))),
|
wavLabels(Gtk::manage(new Gtk::Label("---", Gtk::ALIGN_CENTER))),
|
||||||
labmC(Gtk::manage(new Gtk::Label(M("TP_WAVELET_CTYPE") + ":"))),
|
labmC(Gtk::manage(new Gtk::Label(M("TP_WAVELET_CTYPE") + ":"))),
|
||||||
labmNP(Gtk::manage(new Gtk::Label(M("TP_WAVELET_NPTYPE") + ":"))),
|
labmNP(Gtk::manage(new Gtk::Label(M("TP_WAVELET_NPTYPE") + ":"))),
|
||||||
expchroma(new MyExpander(true, M("TP_WAVELET_LEVCH"))),
|
expchroma(Gtk::manage(new MyExpander(true, M("TP_WAVELET_LEVCH")))),
|
||||||
expcontrast(new MyExpander(true, M("TP_WAVELET_LEVF"))),
|
expcontrast(Gtk::manage(new MyExpander(true, M("TP_WAVELET_LEVF")))),
|
||||||
expedge(new MyExpander(true, M("TP_WAVELET_EDGE"))),
|
expedge(Gtk::manage(new MyExpander(true, M("TP_WAVELET_EDGE")))),
|
||||||
expfinal(new MyExpander(true, M("TP_WAVELET_FINAL"))),
|
expfinal(Gtk::manage(new MyExpander(true, M("TP_WAVELET_FINAL")))),
|
||||||
expgamut(new MyExpander(false, M("TP_WAVELET_CONTR"))),
|
expgamut(Gtk::manage(new MyExpander(false, M("TP_WAVELET_CONTR")))),
|
||||||
expnoise(new MyExpander(true, M("TP_WAVELET_NOISE"))),
|
expnoise(Gtk::manage(new MyExpander(true, M("TP_WAVELET_NOISE")))),
|
||||||
expresid(new MyExpander(true, M("TP_WAVELET_RESID"))),
|
expresid(Gtk::manage(new MyExpander(true, M("TP_WAVELET_RESID")))),
|
||||||
expsettings(new MyExpander(false, M("TP_WAVELET_SETTINGS"))),
|
expsettings(Gtk::manage(new MyExpander(false, M("TP_WAVELET_SETTINGS")))),
|
||||||
exptoning(new MyExpander(true, M("TP_WAVELET_TON"))),
|
exptoning(Gtk::manage(new MyExpander(true, M("TP_WAVELET_TON")))),
|
||||||
neutrHBox(Gtk::manage(new Gtk::HBox()))
|
neutrHBox(Gtk::manage(new Gtk::HBox()))
|
||||||
{
|
{
|
||||||
CurveListener::setMulti(true);
|
CurveListener::setMulti(true);
|
||||||
@@ -838,39 +838,39 @@ Wavelet::Wavelet() :
|
|||||||
|
|
||||||
//-----------------------------
|
//-----------------------------
|
||||||
|
|
||||||
expsettings->add(*settingsBox);
|
expsettings->add(*settingsBox, false);
|
||||||
expsettings->setLevel(2);
|
expsettings->setLevel(2);
|
||||||
pack_start (*expsettings);
|
pack_start (*expsettings);
|
||||||
|
|
||||||
expcontrast->add(*levBox);
|
expcontrast->add(*levBox, false);
|
||||||
expcontrast->setLevel(2);
|
expcontrast->setLevel(2);
|
||||||
pack_start (*expcontrast);
|
pack_start (*expcontrast);
|
||||||
|
|
||||||
expchroma->add(*chBox);
|
expchroma->add(*chBox, false);
|
||||||
expchroma->setLevel(2);
|
expchroma->setLevel(2);
|
||||||
pack_start (*expchroma);
|
pack_start (*expchroma);
|
||||||
|
|
||||||
exptoning->add(*tonBox);
|
exptoning->add(*tonBox, false);
|
||||||
exptoning->setLevel(2);
|
exptoning->setLevel(2);
|
||||||
pack_start (*exptoning);
|
pack_start (*exptoning);
|
||||||
|
|
||||||
expnoise->add(*noiseBox);
|
expnoise->add(*noiseBox, false);
|
||||||
expnoise->setLevel(2);
|
expnoise->setLevel(2);
|
||||||
pack_start (*expnoise);
|
pack_start (*expnoise);
|
||||||
|
|
||||||
expedge->add(*edgBox);
|
expedge->add(*edgBox, false);
|
||||||
expedge->setLevel(2);
|
expedge->setLevel(2);
|
||||||
pack_start (*expedge);
|
pack_start (*expedge);
|
||||||
|
|
||||||
expgamut->add(*conBox);
|
expgamut->add(*conBox, false);
|
||||||
expgamut->setLevel(2);
|
expgamut->setLevel(2);
|
||||||
pack_start (*expgamut);
|
pack_start (*expgamut);
|
||||||
|
|
||||||
expresid->add(*resBox);
|
expresid->add(*resBox, false);
|
||||||
expresid->setLevel(2);
|
expresid->setLevel(2);
|
||||||
pack_start(*expresid);
|
pack_start(*expresid);
|
||||||
|
|
||||||
expfinal->add(*finalBox);
|
expfinal->add(*finalBox, false);
|
||||||
expfinal->setLevel(2);
|
expfinal->setLevel(2);
|
||||||
pack_start(*expfinal);
|
pack_start(*expfinal);
|
||||||
}
|
}
|
||||||
@@ -887,6 +887,7 @@ Wavelet::~Wavelet ()
|
|||||||
delete curveEditorG;
|
delete curveEditorG;
|
||||||
delete opacityCurveEditorW;
|
delete opacityCurveEditorW;
|
||||||
delete opacityCurveEditorWL;
|
delete opacityCurveEditorWL;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Wavelet::wavChanged (double nlevel)
|
void Wavelet::wavChanged (double nlevel)
|
||||||
|
|||||||
Reference in New Issue
Block a user