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;
|
||||
}
|
||||
|
||||
void MyExpander::add (Gtk::Container& widget)
|
||||
void MyExpander::add (Gtk::Container& widget, bool setChild)
|
||||
{
|
||||
if(setChild) {
|
||||
child = &widget;
|
||||
}
|
||||
expBox = Gtk::manage (new ExpanderBox (child));
|
||||
expBox->add (*child);
|
||||
expBox->add (widget);
|
||||
pack_start(*expBox, Gtk::PACK_SHRINK, 0);
|
||||
child->show();
|
||||
widget.show();
|
||||
expBox->hideBox();
|
||||
}
|
||||
|
||||
@@ -889,11 +891,6 @@ bool MyExpander::on_toggle(GdkEventButton* event)
|
||||
return false;
|
||||
}
|
||||
|
||||
Gtk::Container* MyExpander::getChild()
|
||||
{
|
||||
return child;
|
||||
}
|
||||
|
||||
// used to connect a function to the enabled_toggled signal
|
||||
MyExpander::type_signal_enabled_toggled MyExpander::signal_enabled_toggled()
|
||||
{
|
||||
|
||||
@@ -265,9 +265,6 @@ public:
|
||||
return headerWidget ? headerWidget : label;
|
||||
}
|
||||
|
||||
/// Get the widget shown/hidden by the expander
|
||||
Gtk::Container* getChild();
|
||||
|
||||
/// Set the collapsed/expanded state of the expander
|
||||
void set_expanded( bool expanded );
|
||||
|
||||
@@ -276,7 +273,7 @@ public:
|
||||
|
||||
/// 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
|
||||
void add (Gtk::Container& widget);
|
||||
void add (Gtk::Container& widget, bool setChild = true);
|
||||
|
||||
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);
|
||||
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);
|
||||
pack_start (*expsettings);
|
||||
|
||||
|
||||
@@ -132,15 +132,15 @@ Wavelet::Wavelet() :
|
||||
wavLabels(Gtk::manage(new Gtk::Label("---", Gtk::ALIGN_CENTER))),
|
||||
labmC(Gtk::manage(new Gtk::Label(M("TP_WAVELET_CTYPE") + ":"))),
|
||||
labmNP(Gtk::manage(new Gtk::Label(M("TP_WAVELET_NPTYPE") + ":"))),
|
||||
expchroma(new MyExpander(true, M("TP_WAVELET_LEVCH"))),
|
||||
expcontrast(new MyExpander(true, M("TP_WAVELET_LEVF"))),
|
||||
expedge(new MyExpander(true, M("TP_WAVELET_EDGE"))),
|
||||
expfinal(new MyExpander(true, M("TP_WAVELET_FINAL"))),
|
||||
expgamut(new MyExpander(false, M("TP_WAVELET_CONTR"))),
|
||||
expnoise(new MyExpander(true, M("TP_WAVELET_NOISE"))),
|
||||
expresid(new MyExpander(true, M("TP_WAVELET_RESID"))),
|
||||
expsettings(new MyExpander(false, M("TP_WAVELET_SETTINGS"))),
|
||||
exptoning(new MyExpander(true, M("TP_WAVELET_TON"))),
|
||||
expchroma(Gtk::manage(new MyExpander(true, M("TP_WAVELET_LEVCH")))),
|
||||
expcontrast(Gtk::manage(new MyExpander(true, M("TP_WAVELET_LEVF")))),
|
||||
expedge(Gtk::manage(new MyExpander(true, M("TP_WAVELET_EDGE")))),
|
||||
expfinal(Gtk::manage(new MyExpander(true, M("TP_WAVELET_FINAL")))),
|
||||
expgamut(Gtk::manage(new MyExpander(false, M("TP_WAVELET_CONTR")))),
|
||||
expnoise(Gtk::manage(new MyExpander(true, M("TP_WAVELET_NOISE")))),
|
||||
expresid(Gtk::manage(new MyExpander(true, M("TP_WAVELET_RESID")))),
|
||||
expsettings(Gtk::manage(new MyExpander(false, M("TP_WAVELET_SETTINGS")))),
|
||||
exptoning(Gtk::manage(new MyExpander(true, M("TP_WAVELET_TON")))),
|
||||
neutrHBox(Gtk::manage(new Gtk::HBox()))
|
||||
{
|
||||
CurveListener::setMulti(true);
|
||||
@@ -838,39 +838,39 @@ Wavelet::Wavelet() :
|
||||
|
||||
//-----------------------------
|
||||
|
||||
expsettings->add(*settingsBox);
|
||||
expsettings->add(*settingsBox, false);
|
||||
expsettings->setLevel(2);
|
||||
pack_start (*expsettings);
|
||||
|
||||
expcontrast->add(*levBox);
|
||||
expcontrast->add(*levBox, false);
|
||||
expcontrast->setLevel(2);
|
||||
pack_start (*expcontrast);
|
||||
|
||||
expchroma->add(*chBox);
|
||||
expchroma->add(*chBox, false);
|
||||
expchroma->setLevel(2);
|
||||
pack_start (*expchroma);
|
||||
|
||||
exptoning->add(*tonBox);
|
||||
exptoning->add(*tonBox, false);
|
||||
exptoning->setLevel(2);
|
||||
pack_start (*exptoning);
|
||||
|
||||
expnoise->add(*noiseBox);
|
||||
expnoise->add(*noiseBox, false);
|
||||
expnoise->setLevel(2);
|
||||
pack_start (*expnoise);
|
||||
|
||||
expedge->add(*edgBox);
|
||||
expedge->add(*edgBox, false);
|
||||
expedge->setLevel(2);
|
||||
pack_start (*expedge);
|
||||
|
||||
expgamut->add(*conBox);
|
||||
expgamut->add(*conBox, false);
|
||||
expgamut->setLevel(2);
|
||||
pack_start (*expgamut);
|
||||
|
||||
expresid->add(*resBox);
|
||||
expresid->add(*resBox, false);
|
||||
expresid->setLevel(2);
|
||||
pack_start(*expresid);
|
||||
|
||||
expfinal->add(*finalBox);
|
||||
expfinal->add(*finalBox, false);
|
||||
expfinal->setLevel(2);
|
||||
pack_start(*expfinal);
|
||||
}
|
||||
@@ -887,6 +887,7 @@ Wavelet::~Wavelet ()
|
||||
delete curveEditorG;
|
||||
delete opacityCurveEditorW;
|
||||
delete opacityCurveEditorWL;
|
||||
|
||||
}
|
||||
|
||||
void Wavelet::wavChanged (double nlevel)
|
||||
|
||||
Reference in New Issue
Block a user