paysages3d/src/interface/desktop/baseformlayer.h

44 lines
1 KiB
C++

#ifndef _PAYSAGES_QT_BASEFORMLAYER_H_
#define _PAYSAGES_QT_BASEFORMLAYER_H_
/* Base form, with automatic layer control */
#include "baseform.h"
#include "Layers.h"
class BaseFormLayer:public BaseForm
{
Q_OBJECT
public:
BaseFormLayer(QWidget* parent, Layers* layers=NULL);
~BaseFormLayer();
public slots:
virtual void revertConfig();
virtual void applyConfig();
protected:
void setLayers(Layers* layers);
virtual void layerReadCurrentFrom(void* layer_definition) = 0;
virtual void layerWriteCurrentTo(void* layer_definition) = 0;
virtual void afterLayerAdded(void* layer_definition);
private:
virtual QStringList getLayers();
virtual void layerAddedEvent();
virtual void layerDeletedEvent(int layer);
virtual void layerMovedEvent(int layer, int new_position);
virtual void layerRenamedEvent(int layer, QString new_name);
virtual void layerSelectedEvent(int layer);
protected slots:
virtual void configChangeEvent();
private:
Layers* _layers_original;
Layers* _layers_modified;
};
#endif