⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commands.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
字号:
/******************************************************************************** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.**** This file is part of the demonstration applications of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "commands.h"static const int setShapeRectCommandId = 1;static const int setShapeColorCommandId = 2;/******************************************************************************** AddShapeCommand*/AddShapeCommand::AddShapeCommand(Document *doc, const Shape &shape, QUndoCommand *parent)    : QUndoCommand(parent){    m_doc = doc;    m_shape = shape;}void AddShapeCommand::undo(){    m_doc->deleteShape(m_shapeName);}void AddShapeCommand::redo(){    // A shape only gets a name when it is inserted into a document    m_shapeName = m_doc->addShape(m_shape);    setText(QObject::tr("Add %1").arg(m_shapeName));}/******************************************************************************** RemoveShapeCommand*/RemoveShapeCommand::RemoveShapeCommand(Document *doc, const QString &shapeName,                                        QUndoCommand *parent)    : QUndoCommand(parent){    setText(QObject::tr("Remove %1").arg(shapeName));    m_doc = doc;    m_shape = doc->shape(shapeName);    m_shapeName = shapeName;}void RemoveShapeCommand::undo(){    m_shapeName = m_doc->addShape(m_shape);}void RemoveShapeCommand::redo(){    m_doc->deleteShape(m_shapeName);}/******************************************************************************** SetShapeColorCommand*/SetShapeColorCommand::SetShapeColorCommand(Document *doc, const QString &shapeName,                                            const QColor &color, QUndoCommand *parent)    : QUndoCommand(parent){    setText(QObject::tr("Set %1's color").arg(shapeName));    m_doc = doc;    m_shapeName = shapeName;    m_oldColor = doc->shape(shapeName).color();    m_newColor = color;}void SetShapeColorCommand::undo(){    m_doc->setShapeColor(m_shapeName, m_oldColor);}void SetShapeColorCommand::redo(){    m_doc->setShapeColor(m_shapeName, m_newColor);}bool SetShapeColorCommand::mergeWith(const QUndoCommand *command){    if (command->id() != setShapeColorCommandId)        return false;    const SetShapeColorCommand *other = static_cast<const SetShapeColorCommand*>(command);    if (m_shapeName != other->m_shapeName)        return false;    m_newColor = other->m_newColor;    return true;}int SetShapeColorCommand::id() const{    return setShapeColorCommandId;}/******************************************************************************** SetShapeRectCommand*/SetShapeRectCommand::SetShapeRectCommand(Document *doc, const QString &shapeName,                                            const QRect &rect, QUndoCommand *parent)    : QUndoCommand(parent){    setText(QObject::tr("Change %1's geometry").arg(shapeName));    m_doc = doc;    m_shapeName = shapeName;    m_oldRect = doc->shape(shapeName).rect();    m_newRect = rect;}void SetShapeRectCommand::undo(){    m_doc->setShapeRect(m_shapeName, m_oldRect);}void SetShapeRectCommand::redo(){    m_doc->setShapeRect(m_shapeName, m_newRect);}bool SetShapeRectCommand::mergeWith(const QUndoCommand *command){    if (command->id() != setShapeRectCommandId)        return false;    const SetShapeRectCommand *other = static_cast<const SetShapeRectCommand*>(command);    if (m_shapeName != other->m_shapeName)        return false;    m_newRect = other->m_newRect;    return true;}int SetShapeRectCommand::id() const{    return setShapeRectCommandId;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -