Pencil2D Animation
Download
Community
News
Docs
Contribute
Overview
Articles
Code
Class List
Class Index
Class Hierarchy
Class Members
File List
Loading...
Searching...
No Matches
core_lib
src
managers
basemanager.h
1
/*
2
3
Pencil2D - Traditional Animation Software
4
Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5
Copyright (C) 2012-2020 Matthew Chiawen Chang
6
7
This program is free software; you can redistribute it and/or
8
modify it under the terms of the GNU General Public License
9
as published by the Free Software Foundation; version 2 of the License.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
*/
17
18
#ifndef BASEMANAGER_H
19
#define BASEMANAGER_H
20
21
#include <QObject>
22
#include "pencilerror.h"
23
24
class
Object
;
25
class
Layer
;
26
class
Editor
;
27
28
class
BaseManager
:
public
QObject
29
{
30
Q_OBJECT
31
protected
:
32
explicit
BaseManager
(
Editor
* editor,
const
QString
& name);
33
virtual
~BaseManager
();
34
35
public
:
36
Editor
* editor()
const
{
return
mEditor; }
37
Object
* object()
const
;
38
39
virtual
bool
init() = 0;
40
virtual
Status
load(
Object
* o) = 0;
41
virtual
Status
save(
Object
* o) = 0;
42
virtual
void
workingLayerChanged(
Layer
*) {}
43
44
private
:
45
Editor
* mEditor =
nullptr
;
46
};
47
48
#endif
// BASEMANAGER_H
BaseManager
Definition:
basemanager.h:29
Editor
Definition:
editor.h:70
Layer
Definition:
layer.h:33
Object
Definition:
object.h:42
Status
Definition:
pencilerror.h:40
QObject
QObject::Q_OBJECT
Q_OBJECTQ_OBJECT
QString