1 #ifndef __LAYERLIST_H__
2 #define __LAYERLIST_H__
8 //class RS_LayerListListener;
13 * @author Andrew Mustun
19 virtual ~RS_LayerList();
23 RS_Layer * at(uint i);
24 void activate(const QString & name, bool notify = false);
25 void activate(RS_Layer * layer, bool notify = false);
26 RS_Layer * getActive();
27 virtual void add(RS_Layer * layer);
28 virtual void remove(RS_Layer * layer);
29 virtual void edit(RS_Layer * layer, const RS_Layer & source);
30 RS_Layer * find(const QString & name);
31 int getIndex(const QString & name);
32 int getIndex(RS_Layer * layer);
33 void toggle(const QString & name);
34 void toggle(RS_Layer * layer);
35 void toggleLock(RS_Layer * layer);
36 void freezeAll(bool freeze);
37 // void addListener(RS_LayerListListener * listener);
38 // void removeListener(RS_LayerListListener * listener);
39 void setModified(bool m);
40 virtual bool isModified() const;
42 friend std::ostream & operator<<(std::ostream & os, RS_LayerList & l);
45 //! layers in the graphic
46 QList<RS_Layer *> layers;
47 //! List of registered LayerListListeners
48 // QList<RS_LayerListListener *> layerListListeners;
49 //! Currently active layer
50 RS_Layer * activeLayer;
51 /** Flag set if the layer list was modified and not yet saved. */