view edmain.h @ 382:371edff7dc3d

Fix extern variables to match what are actually declared in dmengine.c
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 17 Oct 2012 18:15:53 +0300
parents 71c830840691
children e5220ff48bc8
line wrap: on
line source

#ifndef EDMAIN_H
#define EDMAIN_H

// Program name etc
#define PROGRAM_NAME      "DMPE Editor"
#define PROGRAM_VERSION   "0.1"

// Defaults
#define DOC_DEF_FILENAME  "Untitled"
#define DOC_UNDO_MAX	  15

enum
{
    CTRL_REWIND,
    CTRL_PLAY_START,
    CTRL_PLAY_CURRENT,
    CTRL_PAUSE
};

#define CTRL_ICON_SIZE   32

#include "edtlobj.h"
#include <QDebug>
#include <QFile>
#include <QApplication>
#include <QMainWindow>
#include <QTableView>
#include <QAction>
#include <QActionGroup>
#include <QSlider>
#include <QMessageBox>
#include <QCheckBox>


class DemoEditor : public QMainWindow
{
    Q_OBJECT

public:
    DemoEditor();
    ~DemoEditor();

    void settingsRestore();
    void settingsSave();


private slots:
    void actionFileNew();
    void actionFileOpen();
    void actionFileSave();
    void actionFileSaveAs();

    void actionAboutBox();
    
    //void actionCut();
    //void actionCopy();
    //void actionPaste();
    //void actionDelete();
    
    void performUndo();
    void performRedo();

    void actionControlChanged(QAction *);

private:
    QTableView *effectTable;
    QAction *menuActUndo, *menuActRedo, *menuActOpen, *menuActSave, *menuActSaveAs;
//    QAction *menuActCut, *menuActCopy, *menuActPaste, *menuActDelete;
    QActionGroup *actGroupControls;

    QAction * createToolButton(QActionGroup *group, QString name, QIcon icon, QString statustip, QVariant data);
    QAction * createMenuAction(QString name, const QKeySequence &shortcut, QString tooltip);
    QAction * createMenuGroupAction(QMenu *, QActionGroup *, QString name, const QKeySequence &shortcut, QString tooltip, QVariant data);
    void setActionGroupChecked(QActionGroup *group, QVariant data);


    void showFileErrorDialog(QString operation, int code);
    QMessageBox::StandardButton showDocumentModifiedDialog();
    void statusMsg(QString message);
    void closeEvent(QCloseEvent *event);
    void createMainGUI();
    void updateMenuStates();

    int initEffectsAndResources();
    void shutdownEffectsAndResources();
    int reopenResources();
    int loadResources();
    bool initializeVideo();
    

    void createNewFile();
    void readFromFile(QString filename);
    void saveToFile(QString filename);


    bool changed, initSDL;
    TimelineObject *tl;
    DMEngineData engine;

    QList<TimelineObject *> undoHistory;
    int undoHistoryPos, undoHistoryMax;

    void historyReset();
    void historyPush(QString description);
    void historyTop();
    void historyPop();
};


#endif // EDMAIN_H