add splitter filters to ui

This commit is contained in:
2026-04-25 21:27:39 +02:00
parent b21fc352b4
commit 134f23d69b
4 changed files with 177 additions and 0 deletions

View File

@@ -3,6 +3,7 @@
#include <string>
#include <vector>
#include <QPoint>
#include <QWidget>
#include "Building.h"
@@ -15,6 +16,7 @@
class Simulation;
class QLabel;
class QComboBox;
class QListWidget;
class QPushButton;
class QVBoxLayout;
@@ -33,6 +35,7 @@ public slots:
private slots:
void onRecipeChanged(int comboIndex);
void onClearBelt();
void onSplitterFilterChanged();
private:
void rebuild();
@@ -41,8 +44,10 @@ private:
void buildSingle(EntityId id);
void buildMulti(const std::vector<EntityId>& ids);
void refreshBuffers(const Building* b);
void buildSplitterFilters(QPoint splitterTile);
const RecipeDef* findRecipe(const Building* b) const;
const ShipDef* findShipDef(const std::string& id) const;
std::vector<std::string> allItemIds() const;
Simulation* m_sim;
const GameConfig* m_config;
@@ -52,8 +57,13 @@ private:
QLabel* m_titleLabel;
QComboBox* m_recipeCombo;
QPushButton* m_clearBeltBtn;
QLabel* m_filterALabel;
QListWidget* m_filterAList;
QLabel* m_filterBLabel;
QListWidget* m_filterBList;
QLabel* m_buffersLabel;
EntityId m_singleId;
QPoint m_splitterTile;
std::string m_currentRecipeId;
};