File: widgets_auto_cleaner.cpp

package info (click to toggle)
mysql-workbench 6.3.8%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 113,932 kB
  • ctags: 87,814
  • sloc: ansic: 955,521; cpp: 427,465; python: 59,728; yacc: 59,129; xml: 54,204; sql: 7,091; objc: 965; makefile: 638; sh: 613; java: 237; perl: 30; ruby: 6; php: 1
file content (27 lines) | stat: -rw-r--r-- 814 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "widgets_auto_cleaner.h"
#include <gtkmm/widget.h>

//------------------------------------------------------------------------------
WidgetsAutoCleaner::~WidgetsAutoCleaner()
{
  delete_widgets();
}

//------------------------------------------------------------------------------
void WidgetsAutoCleaner::add(Gtk::Widget* w)
{	
  if (_widgets.end() != std::find(_widgets.begin(), _widgets.end(), w))
    _widgets.push_back(w);
}

//------------------------------------------------------------------------------
void WidgetsAutoCleaner::delete_widgets()
{
  const int n = _widgets.size();
  for ( int i = n - 1; i >= 0; --i )
  {
    delete _widgets[i];
    _widgets[i] = 0;
  }
  _widgets.clear();
}