Update Collision tab UI

This commit is contained in:
GriffinR
2023-12-07 13:45:08 -05:00
parent d5210cf230
commit 4f0e8716f2
15 changed files with 263 additions and 99 deletions

View File

@@ -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 *);

View File

@@ -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);

View File

@@ -35,6 +35,9 @@ protected:
void mouseMoveEvent(QGraphicsSceneMouseEvent*);
void mouseReleaseEvent(QGraphicsSceneMouseEvent*);
virtual void drawSelection();
signals:
void selectionChanged(int, int, int, int);
};
#endif // SELECTABLEPIXMAPITEM_H