1
/***************************************************************************
2
* Project TUPI: Magia 2D *
3
* Project Contact: info@maefloresta.com *
4
* Project Website: http://www.maefloresta.com *
5
* Project Leader: Gustav Gonzalez <info@maefloresta.com> *
9
* Gustavo Gonzalez / xtingray *
20
* Copyright (C) 2010 Gustav Gonzalez - http://www.maefloresta.com *
22
* This program is free software; you can redistribute it and/or modify *
23
* it under the terms of the GNU General Public License as published by *
24
* the Free Software Foundation; either version 3 of the License, or *
25
* (at your option) any later version. *
27
* This program is distributed in the hope that it will be useful, *
28
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
29
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
30
* GNU General Public License for more details. *
32
* You should have received a copy of the GNU General Public License *
33
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
34
***************************************************************************/
36
#include "ktprojectresponse.h"
39
// This class returns information about data structure of a Tupi project
40
// It is used from signals in the KTProject class to send data to anothers classes
42
class KTProjectResponse::Private
45
Private(int part, int action) : part(part), action(action), isExternal(false) {}
49
KTProjectRequestArgument arg;
56
KTProjectResponse::KTProjectResponse(int part, int action) : k(new Private(part, action))
60
KTProjectResponse::~KTProjectResponse()
65
int KTProjectResponse::part() const
70
int KTProjectResponse::action() const
72
if (k->mode == Undo) {
75
case KTProjectRequest::Add:
77
return KTProjectRequest::Remove;
80
case KTProjectRequest::AddSymbolToProject:
82
return KTProjectRequest::RemoveSymbolFromProject;
85
case KTProjectRequest::EditNodes:
89
case KTProjectRequest::View:
93
case KTProjectRequest::Select:
97
case KTProjectRequest::Transform:
101
case KTProjectRequest::SetTween:
105
case KTProjectRequest::Lock:
109
case KTProjectRequest::Ungroup:
111
return KTProjectRequest::Group;
114
case KTProjectRequest::Rename:
118
case KTProjectRequest::Move:
122
case KTProjectRequest::Convert:
126
case KTProjectRequest::Remove:
128
return KTProjectRequest::Add;
131
case KTProjectRequest::Group:
133
return KTProjectRequest::Ungroup;
136
case KTProjectRequest::Paste:
142
tFatal() << "KTProjectResponse::action() : Unhandled action -> " << k->action;
151
int KTProjectResponse::originalAction() const
156
void KTProjectResponse::setMode(Mode mode)
161
void KTProjectResponse::setExternal(bool e)
166
bool KTProjectResponse::external() const
168
return k->isExternal;
171
KTProjectResponse::Mode KTProjectResponse::mode() const
176
void KTProjectResponse::setArg(const QString &value)
181
void KTProjectResponse::setData(const QByteArray &data)
186
KTProjectRequestArgument KTProjectResponse::arg() const
191
QByteArray KTProjectResponse::data() const
198
KTSceneResponse::KTSceneResponse(int part, int action) : KTProjectResponse(part, action), m_sceneIndex(-1)
202
KTSceneResponse::~KTSceneResponse()
206
int KTSceneResponse::sceneIndex() const
211
void KTSceneResponse::setSceneIndex(int index)
213
m_sceneIndex = index;
216
void KTSceneResponse::setState(const QString &state)
221
QString KTSceneResponse::state() const
226
void KTSceneResponse::setScenes(Scenes scenes)
233
KTLayerResponse::KTLayerResponse(int part, int action) : KTSceneResponse(part, action), m_layerIndex(-1)
237
KTLayerResponse::~KTLayerResponse()
241
int KTLayerResponse::layerIndex() const
246
void KTLayerResponse::setLayerIndex(int index)
248
m_layerIndex = index;
253
KTFrameResponse::KTFrameResponse(int part, int action) : KTLayerResponse(part, action), m_frameIndex(-1)
257
KTFrameResponse::~KTFrameResponse()
261
int KTFrameResponse::frameIndex() const
266
void KTFrameResponse::setFrameIndex(int index)
268
m_frameIndex = index;
271
bool KTFrameResponse::frameIsEmpty()
276
void KTFrameResponse::setFrameState(bool state)
283
KTItemResponse::KTItemResponse(int part, int action) : KTFrameResponse(part, action), m_itemIndex(-1)
287
KTItemResponse::~KTItemResponse()
291
int KTItemResponse::itemIndex() const
296
void KTItemResponse::setItemIndex(int index)
301
KTLibraryObject::Type KTItemResponse::itemType() const
306
void KTItemResponse::setItemType(KTLibraryObject::Type type)
311
QPointF KTItemResponse::position()
313
return QPointF(m_x, m_y);
316
void KTItemResponse::setPosX(double coord)
321
void KTItemResponse::setPosY(double coord)
326
KTProject::Mode KTItemResponse::spaceMode()
331
void KTItemResponse::setSpaceMode(KTProject::Mode mode)
336
bool KTItemResponse::frameIsEmpty()
341
void KTItemResponse::setFrameState(bool state)
346
KTLibraryResponse::KTLibraryResponse(int part, int action) : KTFrameResponse(part, action)
350
KTLibraryResponse::~KTLibraryResponse()
354
void KTLibraryResponse::setSymbolType(KTLibraryObject::Type symtype)
356
m_symbolType = symtype;
359
KTLibraryObject::Type KTLibraryResponse::symbolType() const
364
void KTLibraryResponse::setParent(const QString top)
369
QString KTLibraryResponse::parent() const
374
KTProject::Mode KTLibraryResponse::spaceMode()
379
void KTLibraryResponse::setSpaceMode(KTProject::Mode mode)
384
bool KTLibraryResponse::frameIsEmpty()
389
void KTLibraryResponse::setFrameState(bool state)
391
tFatal() << "KTLibraryResponse::setFrameState() - Setting state: " << state;
395
KTProjectResponseFactory::KTProjectResponseFactory()
399
KTProjectResponseFactory::~KTProjectResponseFactory()
403
KTProjectResponse *KTProjectResponseFactory::create(int part, int action)
406
case KTProjectRequest::Scene:
408
return new KTSceneResponse(part, action);
411
case KTProjectRequest::Layer:
413
return new KTLayerResponse(part, action);
416
case KTProjectRequest::Frame:
418
return new KTFrameResponse(part, action);
421
case KTProjectRequest::Item:
423
return new KTItemResponse(part, action);
426
case KTProjectRequest::Library:
428
return new KTLibraryResponse(part, action);
433
qFatal("Unknown PART"); // TODO: REMOVE ME
438
return new KTProjectResponse(part, action);