38 #include <QFileSystemWatcher>
40 #include <QMessageBox>
41 #include <QPushButton>
42 #include <QtCore/QFileInfo>
55 class PythonCodeEditor;
57 class SettingsItemCheckbox;
58 class SettingsItemKeybind;
59 class SettingsItemSpinbox;
63 struct PythonEditorControlEntry {
72 void restoreTabs(
const std::filesystem::path& loaddir,
const std::string& jsonfile);
74 static bool write_control_file(
const std::filesystem::path& savedir,
const std::vector<PythonEditorControlEntry>& tabinfo);
84 std::string
serialize_control(
const std::filesystem::path& savedir = std::filesystem::path(),
bool isAutosave =
false);
158 virtual void clear()
override;
710 QString getSnapshotDirectory(
const bool create_if_non_existent =
true);
717 void updateSnapshots();
725 void clearAllSnapshots(
bool remove_dir =
false);
743 void setSnapshotContent(
const int idx,
const QString snapshot_content);
753 bool askLoadSnapshot(
const QString original_path,
const QString original_content,
const QString snapshot_content)
const;
778 QString getDefaultPath()
const;
790 Action* mActionToggleMinimap;
810 QString mToggleMinimapIconStyle;
811 QString mToggleMinimapIconPath;
815 QString mSearchActiveIconStyle;
818 int mTabRightclicked = -1;
Provides an interface for triggerable functionality that can be inserted into widgets and also connec...
Abstract class for Widgets within HAL's ContentArea.
A dialog in form of a bar to let the user decide how to handle file changes outside of HAL.
Code editor to write python code.
Interface for handling python outputs.
Main widget that combines all neccessary functionality to develop in python (for hal).
void handleActionNewTab()
virtual void clear() override
void handleActionOpenFile()
void handleBaseFileModifiedIgnore()
void setToggleMinimapIconStyle(const QString &style)
void handleCurrentTabChanged(int index)
void tabLoadFile(u32 index, QString fileName)
bool handleDeserializationFromHalFile(const std::filesystem::path &path, Netlist *netlist, rapidjson::Document &document)
void handleSearchbarTextEdited(const QString &text, SearchOptions opts)
void handleActionSaveFile()
QTextDocument::FindFlags getFindFlags()
void setSearchActiveIconStyle(const QString &style)
void handleActionCloseOtherTabs()
void handleTabCloseRequested(int index)
void handleTabFileChanged(QString path)
void setRunIconStyle(const QString &style)
void setRunIconPath(const QString &path)
bool confirmDiscardForRange(int start, int end, int exclude=-1)
void discardTab(int index)
virtual QList< QShortcut * > createShortcuts() override
void handleActionCloseTab()
void setSaveAsIconPath(const QString &path)
void forwardError(const QString &output)
void forwardStdout(const QString &output)
PythonCodeEditor * getPythonEditor(int tabIndex)
void setDisabledIconStyle(const QString &style)
QString searchActiveIconStyle
void handleActionSaveFileAs()
void handleThreadFinished()
void setSaveIconStyle(const QString &style)
void setSaveAsIconStyle(const QString &style)
QTabWidget * getTabWidget()
void handleFileOpened(QString fileName)
QString toggleMinimapIconPath
void handleActionCloseRightTabs()
PythonEditor(QWidget *parent=nullptr)
void handleBaseFileModifiedReload()
virtual void setupToolbar(Toolbar *Toolbar) override
void setSearchIconPath(const QString &path)
void handleFileAboutToClose(const QString &fileName)
void setSaveIconPath(const QString &path)
void setToggleMinimapIconPath(const QString &path)
virtual void handleError(const QString &output) override
bool eventFilter(QObject *obj, QEvent *event) override
void handleActionCloseAllTabs()
void handleActionTabMenu()
void setSearchIconStyle(const QString &style)
void setNewFileIconStyle(const QString &style)
virtual void handleStdout(const QString &output) override
bool saveFile(bool isAutosave, QueryFilenamePolicy queryPolicy, int index=-1)
void setOpenIconStyle(const QString &style)
void setToolbarButtonsEnabled(bool enable)
void saveAllTabs(const QString &genericPath, bool isAutosave)
void handleBaseFileModifiedOk()
QString toggleMinimapIconStyle
void handleActionCloseLeftTabs()
QString autosaveFilename(int index)
QString unnamedFilename(int index) const
void handleActionShowFile()
void setOpenIconPath(const QString &path)
void handleActionToggleMinimap()
void setNewFileIconPath(const QString &path)
QString disabledIconStyle
std::string serialize(Netlist *netlist, const std::filesystem::path &savedir, bool isAutosave)
static std::string sControlFileName
QString getDirectory() const
void deserialize(Netlist *netlist, const std::filesystem::path &loaddir)
std::string serialize_control(const std::filesystem::path &savedir=std::filesystem::path(), bool isAutosave=false)
static QString sPythonRelDir
A QFrame with a QLineEdit that can be used to input a substring to search for.
A SettingsItem representing a Checkbox.
A SettingsItem to modify keybinds.
A SettingsItem that represents a spinbox.
A QSplitter that can be checked if it is unused or not.
QObject * parent() const const