Dateien, die als Parameter übergeben werden, werden nach dem Start direkt geladen
This commit is contained in:
43
barecode/src/editor/VariableCompleter.h
Normal file
43
barecode/src/editor/VariableCompleter.h
Normal file
@@ -0,0 +1,43 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QListWidget>
|
||||
#include <QStringList>
|
||||
#include <QRegularExpression>
|
||||
|
||||
class CodeEditor;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// VariableCompleter – Zeigt ein Popup mit passenden Variablennamen
|
||||
// wenn der Nutzer $ tippt und weiter eingibt.
|
||||
//
|
||||
// Kein Autocomplete — nur Anzeige. Klick oder Enter übernimmt.
|
||||
// Escape oder Weiterschreiben ohne Treffer schließt das Popup.
|
||||
// ---------------------------------------------------------------------------
|
||||
class VariableCompleter : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit VariableCompleter(CodeEditor *editor);
|
||||
|
||||
// Muss nach jedem Tastendruck aufgerufen werden
|
||||
void handleKeyPress(QKeyEvent *event);
|
||||
|
||||
// Muss aufgerufen werden, wenn der Editor den Fokus verliert
|
||||
// (z. B. beim Wechsel des Tabs) — schließt ein evtl. offenes Popup,
|
||||
// damit es nicht als "Geisterfenster" stehen bleibt.
|
||||
void notifyFocusLost();
|
||||
|
||||
private slots:
|
||||
void onItemActivated(QListWidgetItem *item);
|
||||
|
||||
private:
|
||||
void updatePopup();
|
||||
void hidePopup();
|
||||
QStringList collectVariables() const;
|
||||
QString currentPrefix() const; // "$me" etc. links vom Cursor
|
||||
|
||||
CodeEditor *m_editor = nullptr;
|
||||
QListWidget *m_popup = nullptr;
|
||||
};
|
||||
Reference in New Issue
Block a user