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;
69 struct PythonEditorControlEntry {
78 void restoreTabs(
const std::filesystem::path& loaddir,
const std::string& jsonfile);
80 static bool write_control_file(
const std::filesystem::path& savedir,
const std::vector<PythonEditorControlEntry>& tabinfo);
84 std::string
serialize(
Netlist* netlist,
const std::filesystem::path& savedir,
bool isAutosave);
90 std::string
serialize_control(
const std::filesystem::path& savedir = std::filesystem::path(),
bool isAutosave =
false);
164 virtual void clear()
override;
717 QString getSnapshotDirectory(
const bool create_if_non_existent =
true);
724 void updateSnapshots();
732 void clearAllSnapshots(
bool remove_dir =
false);
750 void setSnapshotContent(
const int idx,
const QString snapshot_content);
760 bool askLoadSnapshot(
const QString original_path,
const QString original_content,
const QString snapshot_content)
const;
785 QString getDefaultPath()
const;
797 Action* mActionToggleMinimap;
817 QString mToggleMinimapIconStyle;
818 QString mToggleMinimapIconPath;
822 QString mSearchActiveIconStyle;
825 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)
QString toggleMinimapIconPath() const
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
QString disabledIconStyle() const
void handleActionCloseTab()
QString openIconStyle() const
void setSaveAsIconPath(const QString &path)
void forwardError(const QString &output)
void forwardStdout(const QString &output)
PythonCodeEditor * getPythonEditor(int tabIndex)
void setDisabledIconStyle(const QString &style)
void handleActionSaveFileAs()
QString runIconPath() const
void handleThreadFinished()
void setSaveIconStyle(const QString &style)
QString newFileIconPath() const
QString toggleMinimapIconStyle() const
void setSaveAsIconStyle(const QString &style)
QTabWidget * getTabWidget()
QString searchIconPath() const
void handleFileOpened(QString fileName)
void handleActionCloseRightTabs()
PythonEditor(QWidget *parent=nullptr)
QString saveAsIconStyle() const
void handleBaseFileModifiedReload()
QString openIconPath() const
virtual void setupToolbar(Toolbar *Toolbar) override
void setSearchIconPath(const QString &path)
void handleFileAboutToClose(const QString &fileName)
void setSaveIconPath(const QString &path)
QString searchIconStyle() const
QString searchActiveIconStyle() const
QString newFileIconStyle() const
QString saveIconPath() const
void setToggleMinimapIconPath(const QString &path)
virtual void handleError(const QString &output) override
bool eventFilter(QObject *obj, QEvent *event) override
void handleActionCloseAllTabs()
void handleActionTabMenu()
QString saveAsIconPath() const
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)
QString saveIconStyle() const
void saveAllTabs(const QString &genericPath, bool isAutosave)
void handleBaseFileModifiedOk()
void handleActionCloseLeftTabs()
QString autosaveFilename(int index)
QString unnamedFilename(int index) const
void handleActionShowFile()
QString runIconStyle() const
void setOpenIconPath(const QString &path)
void handleActionToggleMinimap()
void setNewFileIconPath(const QString &path)
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