13 #ifndef QmitkPipInstallDialog_h
14 #define QmitkPipInstallDialog_h
71 enum class Mode { Install, Update };
82 void OnInstallClicked();
83 void OnAdvancedSettingsClicked();
84 void OnToggleDetailsClicked();
86 void OnVirtualEnvCreationStarted();
87 void OnPipUpgradeStarted();
88 void OnResolveStarted();
90 void OnPostInstallStepStarted(
const QString& displayName);
91 void OnInstallFinished(
bool success);
92 void OnProgressChanged(
int current,
int total);
93 void OnErrorOccurred(
const QString& message);
94 void OnOutputReceived(
const QString& text,
bool isError);
99 void SetUiInstalling();
100 void SetUiFinished(
bool success);
102 void SetDetailsVisible(
bool show);
104 void SetStatus(
const QString& text);
105 void SetTerminalStatus(
const QString& text);
107 std::unique_ptr<Ui::QmitkPipInstallDialog> m_Ui;
110 Mode m_Mode = Mode::Install;
111 QTimer* m_DotTimer =
nullptr;
112 QString m_PackageLabelBaseText;
114 int m_CurrentStep = 0;
115 int m_TotalSteps = 0;
116 int m_CompactHeight = 0;
117 int m_ExpandedHeight = 0;
118 bool m_HeightsCaptured =
false;
119 bool m_IsCancelling =
false;
120 bool m_TerminalStatusSet =
false;
#define MITKPYTHONINSTALLERUI_EXPORT
Reusable dialog for installing Python packages via pip.
QmitkPipInstallDialog(const mitk::PipInstallSpec &spec, QWidget *parent=nullptr, Mode mode=Mode::Install)
~QmitkPipInstallDialog() override
Mode
Whether the dialog presents a fresh install or an in-place update.
void closeEvent(QCloseEvent *event) override
void showEvent(QShowEvent *event) override
Headless pip installer with structured progress reporting.
PackageStatus
Status of a single package during installation.
Full specification for a pip installation run.