mirror of
https://github.com/huderlem/porymap.git
synced 2026-08-25 10:05:46 -05:00
Update Collision tab UI
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
#ifndef COLLISIONPIXMAPITEM_H
|
||||
#define COLLISIONPIXMAPITEM_H
|
||||
|
||||
#include <QSpinBox>
|
||||
|
||||
#include "metatileselector.h"
|
||||
#include "movementpermissionsselector.h"
|
||||
#include "mappixmapitem.h"
|
||||
#include "map.h"
|
||||
#include "settings.h"
|
||||
@@ -10,13 +11,15 @@
|
||||
class CollisionPixmapItem : public MapPixmapItem {
|
||||
Q_OBJECT
|
||||
public:
|
||||
CollisionPixmapItem(Map *map, MovementPermissionsSelector *movementPermissionsSelector, MetatileSelector *metatileSelector, Settings *settings, qreal *opacity)
|
||||
CollisionPixmapItem(Map *map, QSpinBox * selectedCollision, QSpinBox * selectedElevation, MetatileSelector *metatileSelector, Settings *settings, qreal *opacity)
|
||||
: MapPixmapItem(map, metatileSelector, settings){
|
||||
this->movementPermissionsSelector = movementPermissionsSelector;
|
||||
this->selectedCollision = selectedCollision;
|
||||
this->selectedElevation = selectedElevation;
|
||||
this->opacity = opacity;
|
||||
map->setCollisionItem(this);
|
||||
}
|
||||
MovementPermissionsSelector *movementPermissionsSelector;
|
||||
QSpinBox * selectedCollision;
|
||||
QSpinBox * selectedElevation;
|
||||
qreal *opacity;
|
||||
void updateMovementPermissionSelection(QGraphicsSceneMouseEvent *event);
|
||||
virtual void paint(QGraphicsSceneMouseEvent*);
|
||||
@@ -28,6 +31,7 @@ public:
|
||||
private:
|
||||
unsigned actionId_ = 0;
|
||||
QPoint previousPos;
|
||||
void updateSelection(QPoint pos);
|
||||
|
||||
signals:
|
||||
void mouseEvent(QGraphicsSceneMouseEvent *, CollisionPixmapItem *);
|
||||
|
||||
@@ -6,15 +6,19 @@
|
||||
class MovementPermissionsSelector: public SelectablePixmapItem {
|
||||
Q_OBJECT
|
||||
public:
|
||||
MovementPermissionsSelector(int cellWidth, int cellHeight, QPixmap basePixmap) :
|
||||
SelectablePixmapItem(cellWidth, cellHeight, 1, 1),
|
||||
basePixmap(basePixmap) {
|
||||
MovementPermissionsSelector(QPixmap basePixmap)
|
||||
: SelectablePixmapItem(MovementPermissionsSelector::CellWidth, MovementPermissionsSelector::CellHeight, 1, 1) {
|
||||
this->basePixmap = basePixmap;
|
||||
setAcceptHoverEvents(true);
|
||||
}
|
||||
void draw();
|
||||
uint16_t getSelectedCollision();
|
||||
uint16_t getSelectedElevation();
|
||||
void select(uint16_t collision, uint16_t elevation);
|
||||
void setBasePixmap(QPixmap pixmap);
|
||||
|
||||
static const int CellWidth;
|
||||
static const int CellHeight;
|
||||
|
||||
protected:
|
||||
void hoverMoveEvent(QGraphicsSceneHoverEvent*);
|
||||
@@ -22,7 +26,7 @@ protected:
|
||||
|
||||
private:
|
||||
void setSelectedMovementPermissions(QPointF);
|
||||
const QPixmap basePixmap;
|
||||
QPixmap basePixmap;
|
||||
|
||||
signals:
|
||||
void hoveredMovementPermissionChanged(uint16_t, uint16_t);
|
||||
|
||||
@@ -35,6 +35,9 @@ protected:
|
||||
void mouseMoveEvent(QGraphicsSceneMouseEvent*);
|
||||
void mouseReleaseEvent(QGraphicsSceneMouseEvent*);
|
||||
virtual void drawSelection();
|
||||
|
||||
signals:
|
||||
void selectionChanged(int, int, int, int);
|
||||
};
|
||||
|
||||
#endif // SELECTABLEPIXMAPITEM_H
|
||||
|
||||
Reference in New Issue
Block a user