mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 00:11:14 +02:00
Forms/header/clock: implement slot into OnBeforeRePaint
This commit is contained in:
@@ -344,6 +344,9 @@ void CComponentsForm::paintForm(bool do_save_bg)
|
||||
|
||||
void CComponentsForm::paint(bool do_save_bg)
|
||||
{
|
||||
if(is_painted)
|
||||
OnBeforeRePaint();
|
||||
OnBeforePaint();
|
||||
paintForm(do_save_bg);
|
||||
}
|
||||
|
||||
|
@@ -68,7 +68,9 @@ class CComponentsForm : public CComponentsItem
|
||||
///force repaint of all possible text items
|
||||
void forceItemsPaint(bool force);
|
||||
///slot for background paint event, reserved for forceItemsPaint()
|
||||
sigc::slot0<void> sl_repaint;
|
||||
sigc::slot0<void> sl_items_repaint;
|
||||
///slot for repaint event, reserved for actions before repaint if paint() already was done.
|
||||
sigc::slot0<void> sl_form_repaint;
|
||||
|
||||
public:
|
||||
CComponentsForm( const int x_pos = 0, const int y_pos = 0, const int w = 800, const int h = 600,
|
||||
|
@@ -101,7 +101,7 @@ CComponentsFrmClock::CComponentsFrmClock( const int& x_pos,
|
||||
cl_sl_show = sigc::mem_fun0(*this, &CComponentsFrmClock::ShowTime);
|
||||
|
||||
//init slot to ensure paint segments after painted background
|
||||
sl_repaint = sigc::bind<0>(sigc::mem_fun1(*this, &CComponentsFrmClock::forceItemsPaint), true);
|
||||
sl_items_repaint = sigc::bind(sigc::mem_fun(*this, &CComponentsFrmClock::forceItemsPaint), true);
|
||||
|
||||
//run clock already if required
|
||||
if (activ)
|
||||
@@ -304,7 +304,7 @@ void CComponentsFrmClock::initCCLockItems()
|
||||
if(!OnAfterPaintBg.empty())
|
||||
OnAfterPaintBg.clear();
|
||||
//init slot to handle repaint of segments if background was repainted
|
||||
OnAfterPaintBg.connect(sl_repaint);
|
||||
OnAfterPaintBg.connect(sl_items_repaint);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -115,7 +115,7 @@ void CComponentsExtTextForm::initVarExtTextForm(const int& x_pos, const int& y_p
|
||||
ccx_label_align = ccx_text_align = CTextBox::NO_AUTO_LINEBREAK;
|
||||
|
||||
//init slot to ensure paint text items after painted background
|
||||
sl_repaint = sigc::bind<0>(sigc::mem_fun1(*this, &CComponentsExtTextForm::forceItemsPaint), true);
|
||||
sl_items_repaint = sigc::bind(sigc::mem_fun(*this, &CComponentsExtTextForm::forceItemsPaint), true);
|
||||
|
||||
initParent(parent);
|
||||
|
||||
@@ -226,7 +226,7 @@ void CComponentsExtTextForm::initCCTextItems()
|
||||
if(!OnAfterPaintBg.empty())
|
||||
OnAfterPaintBg.clear();
|
||||
//init slot to handle repaint of text if background was repainted
|
||||
OnAfterPaintBg.connect(sl_repaint);
|
||||
OnAfterPaintBg.connect(sl_items_repaint);
|
||||
}
|
||||
|
||||
void CComponentsExtTextForm::setLabelWidthPercent(const uint8_t& percent_val)
|
||||
|
@@ -136,8 +136,13 @@ void CComponentsHeader::initVarHeader( const int& x_pos, const int& y_pos, const
|
||||
cch_cl_sec_format = cch_cl_format;
|
||||
cch_cl_enable_run = false;
|
||||
|
||||
//init slot to ensure paint segments after painted background
|
||||
sl_repaint = sigc::bind<0>(sigc::mem_fun1(*this, &CComponentsHeader::forceItemsPaint), true);
|
||||
//init slot to ensure paint items after painted background
|
||||
sl_items_repaint = sigc::bind(sigc::mem_fun(*this, &CComponentsHeader::forceItemsPaint), true);
|
||||
OnAfterPaintBg.connect(sl_items_repaint);
|
||||
|
||||
//init slot before re paint of header, paint() is already done
|
||||
sl_form_repaint = sigc::bind(sigc::mem_fun(*this, &CComponentsHeader::kill), col_body, -1, CC_FBDATA_TYPES, false);
|
||||
OnBeforeRePaint.connect(sl_form_repaint);
|
||||
|
||||
addContextButton(buttons);
|
||||
initCCItems();
|
||||
@@ -523,11 +528,6 @@ void CComponentsHeader::initCaption()
|
||||
*/
|
||||
//height = max(height, cch_text_obj->getHeight());
|
||||
}
|
||||
|
||||
if(!OnAfterPaintBg.empty())
|
||||
OnAfterPaintBg.clear();
|
||||
//init slot to handle repaint of text if background was repainted
|
||||
OnAfterPaintBg.connect(sl_repaint);
|
||||
}
|
||||
|
||||
void CComponentsHeader::initCCItems()
|
||||
|
Reference in New Issue
Block a user