]> Shamusworld >> Repos - architektonas/blob - src/container.h
Fixed delete key to delete selected objects.
[architektonas] / src / container.h
1 #ifndef __CONTAINER_H__
2 #define __CONTAINER_H__
3
4 #include <vector>
5 #include "object.h"
6
7 class Container: public Object
8 {
9         public:
10 //              Container(void);
11                 Container(Vector, Object * p = 0);
12                 Container(const Container &);
13                 ~Container();
14
15                 Container & operator=(const Container &);
16                 virtual void Draw(Painter *);
17                 virtual Vector Center(void);
18                 virtual bool Collided(Vector);
19                 virtual void PointerMoved(Vector);
20                 virtual void PointerReleased(void);
21                 virtual bool NeedsUpdate(void);
22                 virtual void Add(Object *);
23                 virtual void Enumerate(FILE *);
24 //              virtual ObjectType Type(void);
25                 void Delete(Object *);
26                 void DeleteSelectedItems(void);
27                 void Clear(void);
28                 void SelectAll(void);
29                 void DeselectAll(void);
30                 int ItemsSelected(void);
31 //              ObjectType SelectedItemType(unsigned int);
32                 Object * SelectedItem(unsigned int);
33 //              void ReparentContentsTo(Object *);
34                 void MoveContentsTo(Container *);
35                 void MoveSelectedContentsTo(Container *);
36
37         protected:
38                 Vector oldPoint;                                        // Used for dragging
39
40         public:
41                 std::vector<Object *> objects;
42         private:
43                 bool dragging;
44                 bool draggingHandle1;
45                 bool draggingHandle2;
46 //              bool needUpdate;
47                 bool objectWasDragged;
48 };
49
50 #endif  // __CONTAINER_H__