summaryrefslogtreecommitdiffstats
path: root/examples/animation/stickman/editor/animationdialog.h
blob: c144fd82f0c7696f76a15f24fa1f53ae54bbb8a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef ANIMATIONDIALOG_H
#define ANIMATIONDIALOG_H

#include <QDialog>
#include <QMessageBox>

class QSpinBox;
class QLineEdit;
class StickMan;
class Animation;
class AnimationDialog: public QDialog
{
    Q_OBJECT
public:
    AnimationDialog(StickMan *stickMan, QWidget *parent = 0);
    ~AnimationDialog();

public slots:    
    void currentFrameChanged(int currentFrame);
    void totalFramesChanged(int totalFrames);
    void setCurrentAnimationName(const QString &name);

    void newAnimation();
    void saveAnimation();
    void loadAnimation();

private:
    void saveCurrentFrame();
    void stickManFromCurrentFrame();
    void initFromAnimation();
    void initUi();
    QMessageBox::StandardButton maybeSave();

    QSpinBox *m_currentFrame;
    QSpinBox *m_totalFrames;
    QLineEdit *m_name;
    Animation *m_animation;
    StickMan *m_stickman;
};
 
#endif