void SetWidget::onTileChosen() { auto* p_tileWidget = qobject_cast<TileWidget*>(sender()); if (p_tileWidget) { qDebug() << "SetWidget emit tile Chosen"; emit tileChosen(p_tileWidget); } }
TilesetEditor::TilesetEditor(ProjectWidget *projectWidget, QWidget *parent) : QWidget(parent) { m_projectWidget = projectWidget; QHBoxLayout *layout = new QHBoxLayout; setLayout(layout); m_scene = new GraphicsTilesetScene; m_scene->setAllowedDragWidget(projectWidget); wm_view = new QGraphicsView(m_scene); wm_view->scale(2, 2); //wm_view->setFrameShape(QFrame::NoFrame); layout->addWidget(wm_view); oldTilesHeight = 16; oldTilesWidth = 16; tileSelectedId = 0; wm_selector = new TileSelector(m_projectWidget); //Layout des paramètres : QVBoxLayout *l_settings = new QVBoxLayout; layout->addLayout(l_settings); //GroupBox concernant les tiles : groupTiles = new QGroupBox(tr("Tiles")); QVBoxLayout *l_groupTiles = new QVBoxLayout; groupTiles->setLayout(l_groupTiles); //Layout de la largeur : QHBoxLayout *l_width = new QHBoxLayout; wm_tilesWidth = new QSpinBox; wm_tilesWidth->setKeyboardTracking(false); wm_tilesWidth->setMinimum(1); wm_tilesWidth->setMaximum(32); wm_tilesWidth->setValue(16); wm_tilesWidth->setSuffix(tr(" pixel")); labelWidth = new QLabel(tr("Largeur : ")); l_width->addWidget(labelWidth); l_width->addWidget(wm_tilesWidth); l_width->addStretch(); l_groupTiles->addLayout(l_width); //Layout de la hauteur : QHBoxLayout *l_height = new QHBoxLayout; wm_tilesHeight = new QSpinBox; wm_tilesHeight->setKeyboardTracking(false); wm_tilesHeight->setMinimum(1); wm_tilesHeight->setMaximum(32); wm_tilesHeight->setValue(16); wm_tilesHeight->setSuffix(tr(" pixel")); labelHeight = new QLabel(tr("Hauteur : ")); l_height->addWidget(labelHeight); l_height->addWidget(wm_tilesHeight); l_height->addStretch(); l_groupTiles->addLayout(l_height); //l_settings->addStretch(); l_settings->addWidget(groupTiles); //l_settings->addStretch(); //GroupBox concernant le tileset: groupTileset = new QGroupBox(tr("Tileset")); QVBoxLayout *l_groupTileset = new QVBoxLayout; groupTileset->setLayout(l_groupTileset); //Layout du nombre de tiles : QHBoxLayout *l_numberTiles = new QHBoxLayout; wm_numberOfTiles = new QSpinBox; wm_numberOfTiles->setKeyboardTracking(false); wm_numberOfTiles->setMinimum(0); wm_numberOfTiles->setMaximum(255); wm_numberOfTiles->setValue(0); labelNumber = new QLabel(tr("Nombre de tiles : ")); l_numberTiles->addWidget(labelNumber); l_numberTiles->addWidget(wm_numberOfTiles); l_groupTileset->addLayout(l_numberTiles); //CheckBox de visualisation des propriétés : displayProperties = new QCheckBox(tr("Afficher les propriétés")); displayProperties->setChecked(true); l_groupTileset->addWidget(displayProperties); //Label du nom : labelName = new QLabel(tr("Nom du tileset :")); l_groupTileset->addWidget(labelName); //LineEdit du nom : name = new QLineEdit; l_groupTileset->addWidget(name); l_settings->addWidget(groupTileset); l_settings->addStretch(); layout->addStretch(); connect(wm_numberOfTiles, SIGNAL(valueChanged(int)), this, SLOT(numberOfTilesChanged(int))); connect(wm_tilesHeight, SIGNAL(valueChanged(int)), this, SLOT(setTilesHeight(int))); connect(wm_tilesWidth, SIGNAL(valueChanged(int)), this, SLOT(setTilesWidth(int))); connect(wm_selector, SIGNAL(tileChosen(QPersistentModelIndex)), this, SLOT(changeSelectedTile(QPersistentModelIndex))); connect(m_scene, SIGNAL(tileModified(GraphicsTileItem*)), this, SLOT(refreshTileId(GraphicsTileItem*))); connect(m_scene, SIGNAL(tileSelectorRequested(GraphicsTileItem*,QPoint)), this, SLOT(showTileSelector(GraphicsTileItem*,QPoint))); connect(displayProperties, SIGNAL(toggled(bool)), this, SLOT(setDisplayProperties(bool))); connect(name, SIGNAL(textEdited(QString)), this, SLOT(setTilesetName(QString))); }