You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
1.9 KiB
105 lines
1.9 KiB
#ifndef _PreviewLoadBase_H
|
|
#define _PreviewLoadBase_H
|
|
|
|
#include <kdialogbase.h>
|
|
|
|
#include <qframe.h>
|
|
|
|
#include "Tileset.h"
|
|
#include "BoardLayout.h"
|
|
#include "Background.h"
|
|
|
|
class QComboBox;
|
|
class QPixmap;
|
|
|
|
class FrameImage: public QFrame
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
FrameImage(QWidget *parent=NULL, const char *name = NULL);
|
|
~FrameImage();
|
|
void setGeometry(int x, int y, int w, int h);
|
|
QPixmap *getPreviewPixmap() {return thePixmap;}
|
|
void setRect(int x, int y, int w, int h, int ss, int type);
|
|
signals:
|
|
void mousePressed(QMouseEvent *e);
|
|
void mouseMoved(QMouseEvent *e);
|
|
protected:
|
|
void mousePressEvent(QMouseEvent *e);
|
|
void mouseMoveEvent(QMouseEvent *e);
|
|
void paintEvent( QPaintEvent* pa );
|
|
private:
|
|
QPixmap *thePixmap;
|
|
int rx;
|
|
int ry;
|
|
int rw;
|
|
int rh;
|
|
int rs;
|
|
int rt;
|
|
};
|
|
|
|
|
|
|
|
class Preview: public KDialogBase
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
enum PreviewType {background, tileset, board, theme};
|
|
|
|
Preview(QWidget* parent);
|
|
~Preview();
|
|
|
|
void initialise(const PreviewType type);
|
|
void saveTheme();
|
|
|
|
protected:
|
|
void markUnchanged();
|
|
void markChanged();
|
|
bool isChanged();
|
|
QPixmap *getPreviewPixmap() {return m_drawFrame->getPreviewPixmap(); }
|
|
virtual void drawPreview();
|
|
void applyChange() ;
|
|
void renderBackground(const QString &bg);
|
|
void renderTiles(const QString &file, const QString &layout);
|
|
void paintEvent( QPaintEvent* pa );
|
|
|
|
signals:
|
|
void boardRedraw(bool);
|
|
void loadTileset(const QString &);
|
|
void loadBackground(const QString &, bool);
|
|
void loadBoard(const QString &);
|
|
void layoutChange();
|
|
|
|
public slots:
|
|
void selectionChanged(int which);
|
|
|
|
protected slots:
|
|
void slotApply();
|
|
void slotOk();
|
|
|
|
private slots:
|
|
void load();
|
|
|
|
protected:
|
|
FrameImage *m_drawFrame;
|
|
QComboBox *m_combo;
|
|
|
|
QString m_selectedFile;
|
|
Tileset m_tiles;
|
|
BoardLayout m_boardLayout;
|
|
Background m_back;
|
|
|
|
private:
|
|
QString m_fileSelector;
|
|
bool m_changed;
|
|
QStringList m_fileList;
|
|
PreviewType m_previewType;
|
|
|
|
QString m_themeBack;
|
|
QString m_themeLayout;
|
|
QString m_themeTileset;
|
|
};
|
|
|
|
#endif
|