File: Container.h

package info (click to toggle)
sear 0.5.0-5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,408 kB
  • ctags: 2,580
  • sloc: cpp: 14,902; sh: 10,890; makefile: 172
file content (36 lines) | stat: -rw-r--r-- 793 bytes parent folder | download
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
28
29
30
31
32
33
34
35
36
// This file may be redistributed and modified only under the terms of
// the GNU General Public License (See COPYING for details).
// Copyright (C) 2004 Alistair Riddoch

#ifndef SEAR_GUI_CONTAINER_H
#define SEAR_GUI_CONTAINER_H

#include "gui/Widget.h"

#include <set>

namespace Sear {

/// Higher level class defining any part in the gui.
/// They key difference is that some widgets may not have a visible component.
class Container : public Widget {
private:
  // Private and unimplemented to prevent slicing
  Container(const Container &);
  const Container & operator=(const Container &);
protected:
  std::set<Widget *> m_children;

  Container();

  void addChild(Widget *);

public:
  virtual ~Container();

  void showAll();
};

} // namespace Sear

#endif // SEAR_GUI_CONTAINER_H