#pragma once

#include <QDialog>
#include <QString>

class FunctionListPanel;

// ---------------------------------------------------------------------------
// FunctionListDialog – Eigenständiges Fenster für die Projektfunktionen.
// Bleibt offen während man im Editor arbeitet (non-modal).
// ---------------------------------------------------------------------------
class FunctionListDialog : public QDialog
{
    Q_OBJECT

public:
    explicit FunctionListDialog(QWidget *parent = nullptr);

    void setProjectRoot(const QString &path);
    void refresh();

protected:
    void closeEvent(QCloseEvent *event) override;

signals:
    void fileLineRequested(const QString &filePath, int line);

private:
    FunctionListPanel *m_panel = nullptr;
};
