karbon
vlayercmd.h
00001 /* This file is part of the KDE project 00002 Copyright (C) 2001, The Karbon Developers 00003 Copyright (C) 2002, The Karbon Developers 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 * Boston, MA 02110-1301, USA. 00019 */ 00020 00021 #ifndef __VLAYERCMD_H__ 00022 #define __VLAYERCMD_H__ 00023 00024 #include "vcommand.h" 00025 #include "vobject.h" 00026 00027 00028 class VDocument; 00029 class VLayer; 00030 00031 00032 class VLayerCmd : public VCommand 00033 { 00034 public: 00038 enum VLayerCmdType 00039 { 00040 addLayer, 00041 raiseLayer, 00042 lowerLayer, 00043 deleteLayer 00044 }; 00045 00046 VLayerCmd( VDocument* doc, const QString& name, VLayer* layer, VLayerCmdType order ); 00047 virtual ~VLayerCmd() {} 00048 00049 virtual void execute(); 00050 virtual void unexecute(); 00051 00052 protected: 00053 VLayer* m_layer; 00054 VLayerCmdType m_cmdType; 00055 VObject::VState m_oldState; 00056 }; 00057 00058 #endif 00059